@eggjs/tegg-lifecycle
Version:
tegg lifecycle definition
27 lines • 2.54 kB
JavaScript
import { LifecycleUtil } from '../LifycycleUtil.js';
function createLifecycle(hookName) {
return () => {
return function (target, methodName) {
const clazz = target.constructor;
LifecycleUtil.setLifecycleHook(methodName, hookName, clazz);
};
};
}
function createStaticLifecycle(hookName) {
return () => {
return function (target, methodName) {
if (typeof target !== 'function') {
throw new Error(`${hookName} must be a static function`);
}
LifecycleUtil.setLifecycleHook(methodName, hookName, target);
};
};
}
export const LifecyclePostConstruct = createLifecycle('postConstruct');
export const LifecyclePreInject = createLifecycle('preInject');
export const LifecyclePostInject = createLifecycle('postInject');
export const LifecycleInit = createLifecycle('init');
export const LifecyclePreDestroy = createLifecycle('preDestroy');
export const LifecycleDestroy = createLifecycle('destroy');
export const LifecyclePreLoad = createStaticLifecycle('preLoad');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsU0FBUyxlQUFlLENBQUMsUUFBMkI7SUFDbEQsT0FBTyxHQUFHLEVBQUU7UUFDVixPQUFPLFVBQVMsTUFBYyxFQUFFLFVBQWtCO1lBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1lBQ3RELGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFFBQTJCO0lBQ3hELE9BQU8sR0FBRyxFQUFFO1FBQ1YsT0FBTyxVQUFTLE1BQXlCLEVBQUUsVUFBa0I7WUFDM0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFFBQVEsNEJBQTRCLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBQ0QsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyJ9