@randajan/simple-lib
Version:
Supersimple start for developing custom js library
28 lines (26 loc) • 953 B
JavaScript
// src/tools/logger.js
import chalkNative from "chalk";
var chalkProps = Object.getOwnPropertyNames(Object.getPrototypeOf(chalkNative)).filter((v) => v !== "constructor");
var Logger = class _Logger extends Function {
constructor(formater, chalkInit) {
super();
const chalk = chalkInit || chalkNative;
const log = (...msgs) => {
console.log(chalk(formater(msgs)));
};
const self = Object.setPrototypeOf(log.bind(), new.target.prototype);
for (const prop of chalkProps) {
Object.defineProperty(self, prop, { get: (_) => new _Logger(formater, chalk[prop]), enumerable: false });
}
return self;
}
};
var logger = (...prefixes) => {
const now = (_) => (/* @__PURE__ */ new Date()).toLocaleTimeString("cs-CZ");
prefixes = prefixes.filter((v) => !!v).join(" ");
return new Logger((msgs) => `${prefixes} | ${now()} | ${msgs.join(" ")}`);
};
export {
logger
};
//# sourceMappingURL=chunk-KF2SC7L5.js.map