UNPKG

@glandjs/core

Version:

Glands is a web framework for Node.js (@core)

29 lines (28 loc) 1.09 kB
import { Logger } from '@medishn/toolkit'; import { ModulesContainer } from '../injector'; export type LifecycleHook = 'onModuleInit' | 'onModuleDestroy' | 'onAppBootstrap' | 'onAppShutdown' | 'onChannelInit'; export type LifecycleComponentType = 'module' | 'controller' | 'channel'; export interface LifecycleComponent { instance: any; moduleToken: string; componentType: LifecycleComponentType; componentToken: string; } export declare class LifecycleScanner { private readonly modulesContainer; private readonly moduleComponentMap; private readonly logger?; constructor(modulesContainer: ModulesContainer, logger?: Logger); scanForHooks(): void; private scanModule; private scanComponentsForHooks; private getModuleInstance; private hasLifecycleHooks; private hasHook; runHook(hook: LifecycleHook, signal?: string): Promise<void>; onModuleInit(): Promise<void>; onModuleDestroy(): Promise<void>; onAppBootstrap(): Promise<void>; onAppShutdown(signal?: string): Promise<void>; onChannelInit(): Promise<void>; }