UNPKG

@hestjs/core

Version:

HestJS Core Framework - A TypeScript framework built on Hono with dependency injection and decorators

50 lines 1.23 kB
"use strict"; /** * 应用启动钩子系统 * * 这是一个通用的钩子系统,允许外部包注册自己的初始化逻辑 * 而不会让 core 包与特定的外部包产生耦合 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ApplicationHooks = void 0; /** * 应用钩子管理器 */ class ApplicationHooks { static instance; hooks = []; constructor() { } static getInstance() { if (!ApplicationHooks.instance) { ApplicationHooks.instance = new ApplicationHooks(); } return ApplicationHooks.instance; } /** * 注册应用启动钩子 */ registerHook(hook) { this.hooks.push(hook); } /** * 执行所有注册的钩子 */ async executeHooks(container) { for (const hook of this.hooks) { try { await hook(container); } catch (error) { console.warn('Failed to execute application hook:', error); } } } /** * 清空所有钩子 */ clearHooks() { this.hooks = []; } } exports.ApplicationHooks = ApplicationHooks; //# sourceMappingURL=application-hooks.js.map