UNPKG

@sigiljs/sigil

Version:

TypeScript-first Node.js HTTP framework offering schema-driven routing, modifier-based middleware, plugin extensibility, and flexible response templating

32 lines (31 loc) 867 B
import { jsonStringify as r } from "../../utils/safe-json.mjs"; import t from "../../responses/sigil-response.mjs"; const i = (e) => { if (e instanceof Error) return { content: r( { error: e.name ?? "Unknown error", content: e.message ?? "Unknown error occurred" }, { throw: !0 } ), code: e.code ?? 500, headers: { "content-type": "application/json", ...e.headers.link } }; let n = e instanceof t ? e.headers.link : {}; return (!Buffer.isBuffer(e) && Object.keys(n).length === 0 || !("content-type" in n)) && (n = { ...n, "content-type": "application/json" }), { content: Buffer.isBuffer(e) ? e : r( { error: null, content: e.content ?? e }, { throw: !0 } ), headers: n, code: e?.code ?? 200 }; }; export { i as defaultTemplate };