cfg-test
Version:
In-source testing using Node.js Test Runner
37 lines (36 loc) • 1.23 kB
JavaScript
// 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