import { EggObject, EggObjectLifeCycleContext } from "../runtime/model/EggObject.js"; //#region src/lifecycle/EggObjectLifecycle.d.ts /** * lifecycle hook interface for egg object */ export interface EggObjectLifecycle { /** * call before project load */ preLoad?(ctx: EggObjectLifeCycleContext): Promise; /** * call after construct */ postConstruct?(ctx: EggObjectLifeCycleContext, eggObj: EggObject): Promise; /** * call before inject deps */ preInject?(ctx: EggObjectLifeCycleContext, eggObj: EggObject): Promise; /** * call after inject deps */ postInject?(ctx: EggObjectLifeCycleContext, eggObj: EggObject): Promise; /** * before object is ready */ init?(ctx: EggObjectLifeCycleContext, eggObj: EggObject): Promise; /** * call before destroy */ preDestroy?(ctx: EggObjectLifeCycleContext, eggObj: EggObject): Promise; /** * destroy the object */ destroy?(ctx: EggObjectLifeCycleContext, eggObj: EggObject): Promise; } export type LifecycleHookName = keyof EggObjectLifecycle; //#endregion