UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

31 lines (30 loc) 870 B
//#region src/utils/safe-json.ts /** * Defensive JSON stringify helper for diagnostics. * * The replacer handles values common in runtime logs that JSON.stringify would * otherwise reject or erase, and returns null for circular structures. */ /** Safely stringify diagnostic values, preserving bigint/errors/functions in readable form. */ function safeJsonStringify(value) { try { return JSON.stringify(value, (_key, val) => { if (typeof val === "bigint") return val.toString(); if (typeof val === "function") return "[Function]"; if (val instanceof Error) return { name: val.name, message: val.message, stack: val.stack }; if (val instanceof Uint8Array) return { type: "Uint8Array", data: Buffer.from(val).toString("base64") }; return val; }); } catch { return null; } } //#endregion export { safeJsonStringify as t };