source-scraper-jwplayer-runner
Version:
Provides the JWPlayerRunner class for scrapping.
116 lines (115 loc) • 3.34 kB
TypeScript
import { IRunner, IRunnerArgs, Runner } from 'source-scraper-core';
import { IPuppeteerRunner, IPuppeteerRunnerArgs, IPuppeteerRunnerOptions } from 'source-scraper-puppeteer-runner';
import { JSHandle } from 'puppeteer';
export interface IJWPlayerConfigSource {
default: boolean;
file: string;
label: string;
type: string;
preload: string;
}
export interface IJWPlayerTrack {
file: string;
default?: boolean;
kind: string;
}
export interface IJWPlayerCaptions {
color: string;
fontSize: number;
fontFamily: string;
backgroundOpacity: number;
}
export interface IJWPlayerSharing {
code: string;
link: string;
}
export interface IJWPlayerPlaylist {
sources: IJWPlayerConfigSource[];
tracks: IJWPlayerTrack[];
image: string;
preload: string;
allSources: IJWPlayerConfigSource[];
file: string;
}
export interface IJWPlayerCaptionsList {
id: string;
label: string;
}
export interface IJWPlayerProvider {
name: string;
}
export interface IJWPlayerDock {
tooltip: string;
id: string;
btnClass: string;
}
export interface IJWPlayerErrorEvent {
message: string;
}
export interface IJWPlayerConfig {
autostart: boolean;
controls: boolean;
displaytitle: boolean;
displaydescription: boolean;
mobilecontrols: boolean;
repeat: boolean;
castAvailable: boolean;
skin: string;
mute: boolean;
volume: number;
width: number;
height: number;
flashplayer: string;
sources: IJWPlayerConfigSource[];
dash: boolean;
image: string;
duration: number;
androidhls: boolean;
startparam: string;
preload: string;
'http.startparam': string;
primary: string;
tracks: IJWPlayerTrack[];
captions: IJWPlayerCaptions;
sharing: IJWPlayerSharing;
abouttext: string;
aboutlink: string;
id: string;
base: string;
playlist: IJWPlayerPlaylist[];
item?: any;
state: string;
flashBlocked: boolean;
fullscreen: boolean;
compactUI: boolean;
scrubbing: boolean;
position: number;
buffer: number;
'skin-loading': boolean;
key: string;
edition: string;
plugins: object;
mediaContainer: object;
flashPlugins: any[];
captionsList: IJWPlayerCaptionsList[];
captionsIndex: number;
captionsTrack?: any;
provider: IJWPlayerProvider;
containerWidth: number;
containerHeight: number;
dock: IJWPlayerDock[];
errorEvent: IJWPlayerErrorEvent;
}
export declare type IJWPlayerRunnerOptions = IPuppeteerRunnerOptions;
export interface IJWPlayerRunnerArgs extends IPuppeteerRunnerArgs, IRunnerArgs<IJWPlayerRunnerOptions> {
jwplayer: JSHandle;
config: IJWPlayerConfig;
sources: IJWPlayerConfigSource[];
poster: string;
}
export interface IJWPlayerRunner<T> extends IRunner<T, IJWPlayerRunnerOptions, IJWPlayerRunnerArgs> {
}
export declare class JWPlayerRunner<T> extends Runner<T, IJWPlayerRunnerOptions, IJWPlayerRunnerArgs> implements IJWPlayerRunner<T>, IPuppeteerRunner<T> {
defaultOptions: IJWPlayerRunnerOptions;
protected exec(url: string, scraper: (args: IJWPlayerRunnerArgs) => Promise<T>, options: IJWPlayerRunnerOptions): Promise<T>;
}