@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) • 1.01 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});let r;try{r=require("colors")}catch{}const j=(e,s)=>r?.[e]?r[e](s):s,n={};function w(e,{message:s,level:_,condition:f,...c}){r?.enable();const g=typeof s=="function"?s(j.bind({},"dim")):s,d=Array.isArray(g)?g.join(" "):g,t=n.isFancy??(e?.fancyOutput===void 0?process.env?.NODE_ENV!=="production":e?.fancyOutput);n.isFancy??=t;const m=t?c.module[0].toUpperCase()+c.module.slice(1):c.module;let o=e?.moduleLogger?e.moduleLogger(m):e?.logger;!o&&o!==null&&(o=console);const u={module:m,level:_,timestamp:Date.now(),data:c.json??{message:d}},a=t?d:JSON.stringify(u),l=n.infoLog??(o?.debug||o?.log||o?.info),L=n.warningLog??(o?.warn||o?.warning),p=n.successLog??(o?.success||l);n.infoLog??=l,n._warnLog??=L,n._successLog??=p;const y=o?.[_]||l||L;let i;typeof f<"u"?f&&(i=t?y?.(a):l?.(a)):i=t?y?.(a):l?.(a),c.json&&i&&"json"in i&&(i.json={__module:u.module,__level:u.level,...u.data})}exports.default=w;