@sigiljs/sigil
Version:
TypeScript-first Node.js HTTP framework offering schema-driven routing, modifier-based middleware, plugin extensibility, and flexible response templating
2 lines (1 loc) • 817 B
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("./misc/sigil-middleware.js"),l=require("./sigil-core.js");class r extends l.default{constructor(e){super(e)}plugin(e){const t=this.$plugins.get(e.name);return t||this.logger({message:`Found call to the plugin that was not loaded: ${e.name}`,level:"error",module:"registry",json:{milestone:"call",ok:!1,name:e.name}}),t}withPlugin(e,t){const i=this.$plugins.get(e.name);return i?t(i):null}addMiddleware(e){const t=crypto.randomUUID();this.logger({message:`Registering middleware with id #${t}`,level:"info",module:"registry",json:{milestone:"middleware",ok:!0,id:t}});const i=new s.SigilMiddleware(e,()=>{this.$middlewares.delete(t)},t);return this.$middlewares.set(t,e),i}}exports.default=r;