refactor(utils): share safe json stringify

This commit is contained in:
Peter Steinberger
2026-02-14 15:24:38 +00:00
parent 8d1a1d9e86
commit d82c5ea9d1
3 changed files with 23 additions and 44 deletions

View File

@@ -7,6 +7,7 @@ import { resolveStateDir } from "../config/paths.js";
import { createSubsystemLogger } from "../logging/subsystem.js";
import { resolveUserPath } from "../utils.js";
import { parseBooleanValue } from "../utils/boolean.js";
import { safeJsonStringify } from "../utils/safe-json.js";
type PayloadLogStage = "request" | "usage";
@@ -72,28 +73,6 @@ function getWriter(filePath: string): PayloadLogWriter {
return writer;
}
function safeJsonStringify(value: unknown): string | null {
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;
}
}
function formatError(error: unknown): string | undefined {
if (error instanceof Error) {
return error.message;