Files
providers/.docs/content/2.Api/1.ProviderControlsRunAll.md
2023-09-27 19:21:46 +02:00

1.3 KiB

ProviderControls.runAll

Run all providers one by one in order of their builtin ranking. You can attach events if you need to know what is going on while its processing.

Example

// media from TMDB
const media = {
  type: 'movie',
  title: "Hamilton",
  releaseYear: 2020,
  tmdbId: "556574"
}

// scrape a stream
const stream = await providers.runAll({
  media: media,
})

// scrape a stream, but prioritize flixhq above all
// (other scrapers are stil ran if flixhq fails, it just has priority)
const flixhqStream = await providers.runAll({
  media: media,
  sourceOrder: ['flixhq']
})

Type

function runAll(runnerOps: RunnerOptions): Promise<RunOutput | null>;

interface RunnerOptions {
  // overwrite the order of sources to run. list of ids
  // any omitted ids are in added to the end in order of rank (highest first)
  sourceOrder?: string[];

  // overwrite the order of embeds to run. list of ids
  // any omitted ids are in added to the end in order of rank (highest first)
  embedOrder?: string[];

  // object of event functions
  events?: FullScraperEvents;

  // the media you want to see sources from
  media: ScrapeMedia;
}

type RunOutput = {
  // source scraper id
  sourceId: string;

  // if from an embed, this is the embed scraper id
  embedId?: string;

  // the outputed stream
  stream: Stream;
};