UNPKG

@buka/nestjs-config

Version:
31 lines (30 loc) 2.3 kB
import { DynamicModule } from '@nestjs/common'; import { Class } from 'type-fest'; import { ASYNC_OPTIONS_TYPE, ConfigurableModuleClass, OPTIONS_TYPE } from './config.module-definition.js'; import { AsyncOptions } from './types/async-options.js'; import { ConfigProvider } from './types/config-provider.interface.js'; import { AsyncOptionsOfModule, InjectedModule } from './types/injected-module.interface.js'; import { ConfigModuleOptions } from './types/config-module-options.interface.js'; export declare class ConfigModule extends ConfigurableModuleClass { private static config; private static providers; private static createConfigProvider; private static loadConfig; private static createConfigProviderFactory; private static createLoadedConfigProviderFactory; /** * Load config and provider before registering the module */ static preload(options?: ConfigModuleOptions): Promise<void>; /** * Get the loaded config */ static get<T extends ConfigProvider>(ConfigProviderClass: T): Promise<InstanceType<T> | undefined>; static getOrFail<T extends ConfigProvider>(ConfigProviderClass: T): Promise<InstanceType<T>>; static register(options: typeof OPTIONS_TYPE): DynamicModule; static registerAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule; static inject<M extends InjectedModule, AO extends AsyncOptionsOfModule<M>, O extends Awaited<ReturnType<AO['useFactory']>>, P extends Class<O>>(provider: P, module: M): DynamicModule; static inject<M extends InjectedModule, AO extends AsyncOptionsOfModule<M>, O extends Awaited<ReturnType<AO['useFactory']>>, P extends Class<any>>(provider: P, module: M, optionsFactory: (config: P['prototype']) => Promise<O> | O): DynamicModule; static inject<M extends InjectedModule, AO extends AsyncOptionsOfModule<M>, O extends Awaited<ReturnType<AO['useFactory']>>, P extends Class<O>>(provider: P, module: M, moduleAsyncOptions: Omit<AO, keyof AsyncOptions>): DynamicModule; static inject<M extends InjectedModule, AO extends AsyncOptionsOfModule<M>, O extends Awaited<ReturnType<AO['useFactory']>>, P extends Class<any>>(provider: P, module: M, moduleAsyncOptions: Omit<AO, keyof AsyncOptions>, optionsFactory: (config: P['prototype']) => Promise<O>): DynamicModule; }