UNPKG

cfg-test

Version:

In-source testing using Node.js Test Runner

37 lines (36 loc) 1.23 kB
// src/core/log.ts import process from "node:process"; import { formatWithOptions } from "node:util"; var isColorSupported = !("NO_COLOR" in process.env) && ("FORCE_COLOR" in process. env || process.platform === "win32" || process.stdout.isTTY); var isDebugMode = "CFG_TEST_DEBUG" in process.env || "ACT" in process.env || "DE\ BUG" in process.env || "TRACE" in process.env; var dim = !isColorSupported ? String : (s) => `\x1B[2m${s}\x1B[22m`; var red = !isColorSupported ? String : (s) => `\x1B[31m${s}\x1B[39m`; var yellow = !isColorSupported ? String : (s) => `\x1B[33m${s}\x1B[39m`; var time = () => (/* @__PURE__ */ new Date()).toLocaleTimeString(); var toStr = (msg) => typeof msg === "object" && msg !== null ? formatWithOptions( { colors: isColorSupported }, "%O", msg) : String(msg); function log(o, lv, msg) { for (const m of msg()) { o.write(`${dim(time())} ${lv} ${dim("[cfg-test]")} ${toStr(m)} `, "utf8"); } } function debug(msg) { if (isDebugMode) { log(process.stdout, "DEBUG", msg); } } function error(msg) { log(process.stderr, red("ERROR"), msg); } function warn(msg) { log(process.stdout, yellow("WARN") + " ", msg); } export { debug, error, warn }; //# sourceMappingURL=log.mjs.map