@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) • 863 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 i=this.$plugins.get(e.name);return i||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}}),i}hasPlugin(e){return this.$plugins.has(e.name)}withPlugin(e,i){const t=this.$plugins.get(e.name);return t?i(t):null}addMiddleware(e){const i=crypto.randomUUID();this.logger({message:`Registering middleware with id #${i}`,level:"info",module:"registry",json:{milestone:"middleware",ok:!0,id:i}});const t=new s.SigilMiddleware(e,()=>{this.$middlewares.delete(i)},i);return this.$middlewares.set(i,e),t}}exports.default=r;