@batikankutluer/custom-console
Version:
Custom Console outputs with colors and formatting
28 lines (27 loc) • 822 B
JavaScript
import chalk from "chalk";
class CustomConsoleClass {
static test_mode;
constructor({ test = true } = {}) {
CustomConsoleClass.test_mode = test && process.env.NODE_ENV !== "test";
}
log(...message) {
CustomConsoleClass.test_mode && this.write(chalk.gray("[Log]"), ...message);
}
error(...message) {
CustomConsoleClass.test_mode &&
this.write(chalk.red("[Error]"), ...message);
}
write(...message) {
console.log(chalk.whiteBright(...message));
}
}
function CustomConsole({ test = true, } = {}) {
return new CustomConsoleClass({ test });
}
// ESM export
export default CustomConsole;
// CommonJS export
if (typeof module !== "undefined" && module.exports) {
module.exports = CustomConsole;
module.exports.default = CustomConsole;
}