Skip to content

Latest commit

 

History

History
342 lines (205 loc) · 8.98 KB

File metadata and controls

342 lines (205 loc) · 8.98 KB

downflux


downflux / BaseTransformer

Class: BaseTransformer<TExec, TResult>

Defined in: packages/base/BaseTransformer.ts:33

Fetches a target URL and converts parser output into execution metadata.

Remarks

Transformers sit between HTTP fetching and pipeline building. They combine common parser output with provider-specific parser output, then provider subclasses can map those raw fields into stable public result types.

Extended by

Type Parameters

TExec

TExec extends ExecutionArgs

TResult

TResult = DefaultExecutionResult

Constructors

Constructor

new BaseTransformer<TExec, TResult>(httpClient, progressManager): BaseTransformer<TExec, TResult>

Defined in: packages/base/BaseTransformer.ts:34

Parameters

httpClient

HttpClient

progressManager

ProgressManager

Returns

BaseTransformer<TExec, TResult>

Properties

httpClient

protected readonly httpClient: HttpClient

Defined in: packages/base/BaseTransformer.ts:35


progressManager

protected readonly progressManager: ProgressManager

Defined in: packages/base/BaseTransformer.ts:36

Methods

transform()

transform(url, request?): Promise<TResult>

Defined in: packages/base/BaseTransformer.ts:46

Fetches HTML and merges default metadata with provider-specific metadata.

Parameters

url

string

Target page to fetch.

request?

TExec

Execution request that identifies the provider and options.

Returns

Promise<TResult>

Parsed metadata ready for provider-specific output mapping.


requestData()

requestData(url, opts): Promise<any>

Defined in: packages/base/BaseTransformer.ts:66

Fetches JSON data for providers that expose API-backed metadata.

Parameters

url

string

API endpoint to request.

opts

DownloadOptions

HTTP and provider options.

Returns

Promise<any>

Parsed JSON response.


uniqueVideos()

protected uniqueVideos<T>(videos, options): VideoSourceOutput[]

Defined in: packages/base/BaseTransformer.ts:77

Removes duplicate video URLs while preserving quality information.

Type Parameters

T

T

Parameters

videos

T[]

Provider-specific video source records.

options

UniqueVideosProps<T>

URL and quality selectors.

Returns

VideoSourceOutput[]

Unique video sources in the shared shape.


unique()

protected unique<T>(arr): T[]

Defined in: packages/base/BaseTransformer.ts:94

Type Parameters

T

T

Parameters

arr

T[]

Returns

T[]


defaultFlashVarsVideoOutput()

protected defaultFlashVarsVideoOutput<T>(metadata): DefaultFlashVarsVideoOutput

Defined in: packages/base/BaseTransformer.ts:99

Type Parameters

T

T extends DefaultExecutionResult<DefaultFlashVarsVideoOutput>

Parameters

metadata

T

Returns

DefaultFlashVarsVideoOutput


mapSources()

protected mapSources(sources, quality?, filter?): VideosFormat

Defined in: packages/base/BaseTransformer.ts:119

Parameters

sources

string[]

quality?

string = VideoQuality.QUnknown

filter?

(src) => boolean

Returns

VideosFormat


defaultVideoOutput()

protected defaultVideoOutput<T>(metadata, options?): T

Defined in: packages/base/BaseTransformer.ts:137

Type Parameters

T

T extends Partial<DefaultVideoOutput> = Partial<DefaultVideoOutput>

Parameters

metadata

DefaultExecutionResult<Partial<T>>

options?
filter?

(src) => boolean

quality?

string

extraFields?

Partial<T>

Returns

T