@expressots/core
Version:
Expressots - modern, fast, lightweight nodejs web framework (@core)
49 lines (48 loc) • 1.99 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Console = void 0;
const process_1 = require("process");
const color_codes_1 = require("./color-codes");
/**
* The Console class provides methods for displaying styled messages in the console.
* @provide Console
*/
class Console {
/**
* Print a message to the console with the specified color style.
* @param message - The message to be printed.
* @param colorStyle - The color style for the message.
*/
async printColor(message, colorStyle) {
const textColor = "black";
const bgColor = colorStyle;
process_1.stdout.write(`${color_codes_1.bgColorCodes[bgColor]}${color_codes_1.colorCodes[textColor]}${message}\x1b[0m\n`);
}
/**
* Display a message in the console with details about the running server.
* @param port - The port number the server is running on.
* @param environment - The server environment.
* @param consoleMessage - Optional application message details for console output.
*/
async messageServer(port, environment, consoleMessage) {
const appConsoleMessage = {
appName: consoleMessage?.appName || "App",
appVersion: consoleMessage?.appVersion || "not provided",
};
let terminalColor = color_codes_1.ColorStyle.None;
switch (environment.toLowerCase()) {
case "development":
terminalColor = color_codes_1.ColorStyle.Yellow;
break;
case "production":
terminalColor = color_codes_1.ColorStyle.Green;
break;
default:
terminalColor = color_codes_1.ColorStyle.Red;
break;
}
this.printColor(`[${appConsoleMessage.appName}] version [${appConsoleMessage.appVersion}] is running on ` +
`port [${port}] - Environment: [${environment}]`, terminalColor);
}
}
exports.Console = Console;
;