UNPKG

nest-puppeteer

Version:

Puppeteer (Headless Chrome) provider for Nest.js

41 lines (40 loc) 1.65 kB
import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; import type { LaunchOptions } from 'puppeteer'; /** * Options that ultimately need to be provided to create a Puppeteer instance */ export interface PuppeteerModuleOptions { instanceName?: string; launchOptions?: LaunchOptions; } export interface PuppeteerOptionsFactory { createPuppeteerOptions(): Promise<PuppeteerModuleOptions> | PuppeteerModuleOptions; } /** * Options available when creating the module asynchronously. You should use only one of the * useExisting, useClass, or useFactory options for creation. */ export interface PuppeteerModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> { /** A unique name for the instance. If not specified, a default one will be used. */ instanceName?: string; /** * If "true", registers `PuppeteerModule` as a global module. * See: https://docs.nestjs.com/modules#global-modules */ isGlobal?: boolean; /** Reuse an injectable factory class created in another module. */ useExisting?: Type<PuppeteerOptionsFactory>; /** * Use an injectable factory class to populate the module options, such as URI and database name. */ useClass?: Type<PuppeteerOptionsFactory>; /** * A factory function that will populate the module options, such as URI and database name. */ useFactory?: (...args: any[]) => Promise<PuppeteerModuleOptions> | PuppeteerModuleOptions; /** * Inject any dependencies required by the Puppeteer module, such as a configuration service * that supplies the options and instance name */ inject?: any[]; }