Files
UHD_Media_Tool/packages/adapters/src/sites/index.ts
T

160 lines
4.0 KiB
TypeScript

export {
CHALLENGE_OUTCOME_HEADER,
CHALLENGE_PEEK_BYTES,
CHALLENGE_STATUSES,
type ChallengePageKind,
challengeGateRule,
challengeOutcomeText,
challengeRuleOfHeaders,
challengeRuleOfHtml,
challengeRuleOfOkPage,
challengeRuleOfUnrecognizedPage,
classifyChallengePage,
detectChallenge,
isPageRequest,
} from "./challenge.ts";
export {
audiencesDefinition,
BUILTIN_SITE_DEFINITIONS,
chdbitsDefinition,
DefinitionProvenanceSchema,
hhanclubDefinition,
IndexerDefinitionSchema,
loadIndexerDefinition,
loadSiteDefinition,
MteamDefinitionSchema,
parseIndexerDefinition,
parseMteamDefinition,
parseSpecializedSiteDefinition,
SpecializedSiteDefinitionSchema,
SpiderFieldSelectorSchema,
SpiderFilterSchema,
} from "./definitions/index.ts";
export type { SiteAdapterDeps } from "./deps.ts";
export {
cleanDescription,
DEFAULT_DESCRIPTION_RULES,
type DescriptionRules,
type DetailInfoItem,
type StructuredDescription,
stripMarkup,
structureDescription,
} from "./detail-description.ts";
export { type FormattedDetailPage, formatDetailPage } from "./detail-format.ts";
export {
buildFailureSample,
FAILURE_SAMPLE_MAX_BYTES,
redactPageHtml,
type SiteFailureSample,
type SiteRequestKind,
} from "./failure-sample.ts";
export {
type FeedMediaType,
normalizeSiteFeedItem,
type SiteFeedItemFields,
siteCategoryMediaType,
} from "./feed-item.ts";
export { buildFileTree, type FileRole, type FileTreeRow } from "./file-tree.ts";
export {
classifyLoginError,
loginFailureText,
loginNexusPhp,
type NexusLoginForm,
type NexusLoginInput,
type NexusLoginResult,
SiteLoginError,
type SiteLoginFailure,
totpCode,
} from "./login/nexusphp.ts";
export {
type MediaAudioTrack,
type MediaGeneral,
type MediaSummary,
type MediaTextTrack,
type MediaVideoTrack,
parseMediaSummary,
} from "./mediainfo.ts";
export { createMteamAdapter, mteamTorrentToRelease } from "./mteam/adapter.ts";
export { type MteamApiPath, mteamPost } from "./mteam/client.ts";
export { type MteamDefinition, mteamApiBase, mteamDefinition } from "./mteam/definition.ts";
export {
findImdbid,
getDownloadVolumeFactor,
getUploadVolumeFactor,
type MteamTorrentJson,
mteamSearchParams,
parseMteamResult,
} from "./mteam/spider.ts";
export {
createSharedSiteRateLimiter,
createSiteRateLimiter,
type RateLimiterOptions,
type SharedBucketPort,
type SharedRateLimiterOptions,
type SiteRateLimiter,
} from "./rate-limit.ts";
export {
createSiteAdapter,
getSiteAdapter,
getSiteDefinition,
listSiteDefinitions,
SITE_DEFINITIONS,
type SiteDefinition,
} from "./registry.ts";
export { clearSearchText, createSpiderSiteAdapter, judgeLoginPage } from "./spider/adapter.ts";
export { parseDetailPage } from "./spider/detail.ts";
export { promotionFromFactors, spiderTorrentToRelease } from "./spider/map.ts";
export { mcSelect } from "./spider/mc-selector.ts";
export type {
DefinitionProvenance,
IndexerDefinition,
SpiderCategoryConfig,
SpiderCategoryItem,
SpiderFieldSelector,
SpiderFields,
SpiderFilter,
UmtSiteExtension,
} from "./spider/schema.ts";
export {
combineUrl,
type MediaKind,
type MpMediaType,
parseSizeMp,
resolveCategoryMediaType,
SiteSpider,
type SiteSpiderQuery,
type SpiderTorrent,
selectMediaCategories,
} from "./spider/spider.ts";
export * from "./spiders/index.ts";
export {
type DownloadTarget,
type HitAndRun,
type PromotionType,
type SecretResolver,
type SiteAdapter,
type SiteCallOptions,
type SiteCapabilities,
type SiteCategory,
type SiteCredentialKind,
type SiteDetailFile,
type SiteDetailPage,
SiteError,
type SiteErrorKind,
type SiteHealth,
type SiteHealthDetail,
type SiteHealthStatus,
type SiteKind,
type SiteListFilters,
type SitePage,
type SitePromotion,
type SiteRelease,
type SiteReleaseDetail,
type SiteSubtitle,
type SiteSubtitleFile,
type SiteSubtitlePage,
staticSecretResolver,
} from "./types.ts";
export * from "./user-parsers/index.ts";
export { parseCount, parseSiteTime } from "./util.ts";