UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

36 lines (35 loc) 1.05 kB
import { regEx } from "../util/regex.js"; import { sanitizeValue } from "./utils.js"; import { quickStringify } from "../util/stringify.js"; import fs from "fs-extra"; //#region lib/logger/with-sanitizer.ts function withSanitizer(streamConfig) { if (streamConfig.type === "rotating-file") throw new Error("Rotating files aren't supported"); const stream = streamConfig.stream; if (stream?.writable) { const write = (chunk, enc, cb) => { const raw = sanitizeValue(chunk); const result = streamConfig.type === "raw" ? raw : quickStringify(raw)?.replace(regEx(/\n?$/), "\n"); stream.write(result, enc, cb); }; return { ...streamConfig, type: "raw", stream: { write } }; } if (streamConfig.path) { const fileStream = fs.createWriteStream(streamConfig.path, { flags: "a", encoding: "utf8" }); return withSanitizer({ ...streamConfig, stream: fileStream }); } throw new Error("Missing 'stream' or 'path' for bunyan stream"); } //#endregion export { withSanitizer }; //# sourceMappingURL=with-sanitizer.js.map