@nestjs-mod/common
Version:
A collection of utilities for unifying NestJS applications and modules
52 lines (51 loc) • 5.46 kB
TypeScript
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[];