UNPKG

@busy-hour/blaze

Version:

<h1 align='center'>🔥 Blaze</h1> <div align='center'> An event driven framework for 🔥 Hono.js </div>

43 lines (42 loc) • 1.08 kB
// src/loader/event.ts import { eventHandler } from "../handler/index.js"; import { BlazeContext } from "../internal/context/index.js"; import { BlazeEvent } from "../internal/event-emitter/instance.js"; import { RESERVED_KEYWORD } from "../utils/constant/index.js"; var BlazeServiceEvent = class { serviceName; eventName; event; validator; constructor(options) { this.serviceName = options.serviceName; this.eventName = [ RESERVED_KEYWORD.PREFIX.EVENT, this.serviceName, options.eventAlias ].join("."); this.event = options.event; this.validator = { body: this.event.validator }; BlazeEvent.on(this.eventName, this.eventHandler.bind(this)); } async eventHandler(body) { const ctx = await BlazeContext.create({ honoCtx: null, body, params: null, headers: null, query: null, validator: this.validator ?? null, meta: null }); const options = { handler: this.event.handler }; return eventHandler(options, ctx); } }; export { BlazeServiceEvent };