UNPKG

@nestjs-mod/common

Version:

A collection of utilities for unifying NestJS applications and modules

52 lines (51 loc) 5.46 kB
import { DynamicModule, INestApplication, InjectionToken, Provider, Type } from '@nestjs/common'; import { ConfigModelOptions } from '../config-model/types'; import { EnvModelOptions } from '../env-model/types'; import { defaultContextName } from '../utils/default-context-name'; import { DEFAULT_FOR_FEATURE_ASYNC_METHOD_NAME, DEFAULT_FOR_FEATURE_METHOD_NAME, DEFAULT_FOR_ROOT_ASYNC_METHOD_NAME, DEFAULT_FOR_ROOT_METHOD_NAME, DynamicNestModuleMetadata, ExportsWithStaticOptionsResponse, ForFeatureAsyncMethodOptions, ForFeatureMethodOptions, ForRootAsyncMethodOptions, ForRootMethodOptions, ImportsWithStaticOptionsResponse, NestModuleCategory, NestModuleMetadata, ProjectOptions } from './types'; export declare function getWrapModuleMetadataMethods(): ("wrapApplication" | "preWrapApplication" | "postWrapApplication")[]; export declare function getNestModuleInternalUtils({ moduleName }: { moduleName: string; }): { defaultContextName: typeof defaultContextName; createUniqProvider: () => { provide: string; useValue: `${string}-${string}-${string}-${string}-${string}`; }; getEnvironmentsLoaderToken: (contextName?: string) => InjectionToken; getStaticEnvironmentsLoaderToken: (contextName?: string) => InjectionToken; getStaticConfigurationLoaderToken: (contextName?: string) => InjectionToken; getConfigurationLoaderToken: (contextName?: string) => InjectionToken; getServiceToken: (targetName: any, contextName?: string) => string; getFeatureConfigurationsToken: (contextName?: string) => InjectionToken; getAsyncConfigurationToken: (contextName?: string) => string; getAllFeatureConfigurationsToken: () => InjectionToken; getFeatureEnvironmentsToken: (contextName?: string) => InjectionToken; getAllFeatureEnvironmentsToken: () => InjectionToken; getModuleSettingsToken: (contextName?: string) => string; getAllModuleSettingsToken: () => string; }; export declare function getNestModuleDecorators({ moduleName }: { moduleName: string; }): { InjectFeatures: (contextName?: string) => any; InjectService: (service: any, contextName?: any) => any; InjectAllFeatures: () => any; InjectFeatureEnvironments: (contextName?: string) => any; InjectAllFeatureEnvironments: () => any; InjectModuleSettings: (contextName?: string) => any; InjectAllModuleSettings: () => any; }; export declare function createNestModule<TStaticConfigurationModel = never, TConfigurationModel = never, TEnvironmentsModel = never, TStaticEnvironmentsModel = never, TFeatureConfigurationModel = never, TFeatureEnvironmentsModel = never, TForRootMethodName extends string = typeof DEFAULT_FOR_ROOT_METHOD_NAME, TForRootAsyncMethodName extends string = typeof DEFAULT_FOR_ROOT_ASYNC_METHOD_NAME, TForFeatureMethodName extends string = typeof DEFAULT_FOR_FEATURE_METHOD_NAME, TForFeatureAsyncMethodName extends string = typeof DEFAULT_FOR_FEATURE_ASYNC_METHOD_NAME, TDynamicModule = DynamicModule, TLinkOptions = { project: ProjectOptions; contextName?: string; featureModule: TDynamicModule; settingsModule: TDynamicModule; featureConfiguration: TFeatureConfigurationModel; featureEnvironments: TFeatureEnvironmentsModel; staticConfiguration: TStaticConfigurationModel; staticEnvironments: TStaticEnvironmentsModel; globalEnvironmentsOptions: Omit<EnvModelOptions, 'originalName'>; globalConfigurationOptions: Omit<ConfigModelOptions, 'originalName'>; }, TImportsWithStaticOptions = (linkOptions: TLinkOptions) => Array<ImportsWithStaticOptionsResponse>, TControllersWithStaticOptions = (linkOptions: TLinkOptions) => Type<any>[], TProvidersWithStaticOptions = (linkOptions: TLinkOptions) => Provider[], TSharedProvidersWithStaticOptions = (linkOptions: TLinkOptions) => Provider[], TExportsWithStaticOptions = (linkOptions: TLinkOptions) => ExportsWithStaticOptionsResponse[], TNestApplication = INestApplication, TModuleName extends string = string>(nestModuleMetadata: NestModuleMetadata<TConfigurationModel, TStaticConfigurationModel, TEnvironmentsModel, TStaticEnvironmentsModel, TFeatureConfigurationModel, TFeatureEnvironmentsModel, TForRootMethodName, TForRootAsyncMethodName, TForFeatureMethodName, TForFeatureAsyncMethodName, TDynamicModule, TLinkOptions, TImportsWithStaticOptions, TControllersWithStaticOptions, TProvidersWithStaticOptions, TSharedProvidersWithStaticOptions, TExportsWithStaticOptions, TNestApplication, TModuleName>): Record<TModuleName, Record<`${TForFeatureAsyncMethodName}`, (asyncOptions?: ForFeatureAsyncMethodOptions<TConfigurationModel, TStaticConfigurationModel, TEnvironmentsModel, TStaticEnvironmentsModel, TFeatureConfigurationModel, TFeatureEnvironmentsModel>) => Promise<TDynamicModule>> & Record<`${TForFeatureMethodName}`, (options?: ForFeatureMethodOptions<TFeatureConfigurationModel, TFeatureEnvironmentsModel>) => Promise<TDynamicModule>> & Record<`${TForRootMethodName}`, (options?: ForRootMethodOptions<TStaticConfigurationModel, TConfigurationModel, TEnvironmentsModel, TStaticEnvironmentsModel>) => Promise<TDynamicModule>> & Record<`${TForRootAsyncMethodName}`, (asyncOptions?: ForRootAsyncMethodOptions<TStaticConfigurationModel, TConfigurationModel, TEnvironmentsModel, TStaticEnvironmentsModel>) => Promise<TDynamicModule>>>; export declare function collectRootNestModules(modules: Partial<Record<NestModuleCategory, DynamicNestModuleMetadata[]>>): DynamicNestModuleMetadata[];