UNPKG

@nestjs/core

Version:

Nest - modern, fast, powerful node.js web framework (@core)

91 lines (90 loc) 3.77 kB
import { INestApplicationContext, LoggerService, ShutdownSignal } from '@nestjs/common'; import { Abstract } from '@nestjs/common/interfaces'; import { Type } from '@nestjs/common/interfaces/type.interface'; import { ContextId } from './injector'; import { NestContainer } from './injector/container'; import { Injector } from './injector/injector'; import { Module } from './injector/module'; /** * @publicApi */ export declare class NestApplicationContext implements INestApplicationContext { protected readonly container: NestContainer; private readonly scope; private contextModule; protected isInitialized: boolean; protected readonly injector: Injector; private shutdownCleanupRef?; private readonly activeShutdownSignals; private readonly containerScanner; constructor(container: NestContainer, scope?: Type<any>[], contextModule?: Module); selectContextModule(): void; select<T>(moduleType: Type<T>): INestApplicationContext; get<TInput = any, TResult = TInput>(typeOrToken: Type<TInput> | Abstract<TInput> | string | symbol, options?: { strict: boolean; }): TResult; resolve<TInput = any, TResult = TInput>(typeOrToken: Type<TInput> | string | symbol, contextId?: ContextId, options?: { strict: boolean; }): Promise<TResult>; /** * Initalizes the Nest application. * Calls the Nest lifecycle events. * * @returns {Promise<this>} The NestApplicationContext instance as Promise */ init(): Promise<this>; close(): Promise<void>; useLogger(logger: LoggerService): void; /** * Enables the usage of shutdown hooks. Will call the * `onApplicationShutdown` function of a provider if the * process receives a shutdown signal. * * @param {ShutdownSignal[]} [signals=[]] The system signals it should listen to * * @returns {this} The Nest application context instance */ enableShutdownHooks(signals?: (ShutdownSignal | string)[]): this; protected dispose(): Promise<void>; /** * Listens to shutdown signals by listening to * process events * * @param {string[]} signals The system signals it should listen to */ protected listenToShutdownSignals(signals: string[]): void; /** * Unsubscribes from shutdown signals (process events) */ protected unsubscribeFromProcessSignals(): void; /** * Calls the `onModuleInit` function on the registered * modules and its children. */ protected callInitHook(): Promise<void>; /** * Calls the `onModuleDestroy` function on the registered * modules and its children. */ protected callDestroyHook(): Promise<void>; /** * Calls the `onApplicationBootstrap` function on the registered * modules and its children. */ protected callBootstrapHook(): Promise<void>; /** * Calls the `onApplicationShutdown` function on the registered * modules and children. */ protected callShutdownHook(signal?: string): Promise<void>; /** * Calls the `beforeApplicationShutdown` function on the registered * modules and children. */ protected callBeforeShutdownHook(signal?: string): Promise<void>; protected find<TInput = any, TResult = TInput>(typeOrToken: Type<TInput> | Abstract<TInput> | string | symbol): TResult; protected findInstanceByToken<TInput = any, TResult = TInput>(metatypeOrToken: Type<TInput> | Abstract<TInput> | string | symbol, contextModule: Partial<Module>): TResult; protected resolvePerContext<TInput = any, TResult = TInput>(typeOrToken: Type<TInput> | string | symbol, contextModule: Module, contextId: ContextId, options?: { strict: boolean; }): Promise<TResult>; }