UNPKG

@expressots/core

Version:

Expressots - modern, fast, lightweight nodejs web framework (@core)

49 lines (48 loc) 1.99 kB
"use strict"; 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;