UNPKG

@trap_stevo/filetide

Version:

Revolutionizing real-time file transfer with seamless, instant communication across any device. Deliver files instantly, regardless of platform, and experience unparalleled speed and control in managing transfers. Elevate your file-sharing capabilities wi

73 lines (72 loc) 2.41 kB
"use strict"; const { HUDUtilityManager } = require("@trap_stevo/legendarybuilderpronodejs-utilities"); const chalk = require("chalk"); const significantMessageColors = ["#00C897", "#00E0FF"]; const noticeMessageColors = ["#4A90E2", "#A3D8F4"]; const errorMessageColors = ["#F94144", "#F3722C"]; const infoMessageColors = ["#028090", "#56cfe1"]; const logHandler = { "significant": function (includeDate = false, ...message) { const log = includeDate ? `[${new Date().toLocaleString()}] ~ ` : ""; outputGradient(log + message.join(" "), significantMessageColors); }, "notice": function (includeDate = false, ...message) { const log = includeDate ? `[${new Date().toLocaleString()}] ~ ` : ""; outputGradient(log + message.join(" "), noticeMessageColors); }, "error": function (includeDate = false, ...message) { const log = includeDate ? `[${new Date().toLocaleString()}] ~ ` : ""; outputGradient(log + message.join(" "), errorMessageColors); }, "info": function (includeDate = false, ...message) { const log = includeDate ? `[${new Date().toLocaleString()}] ~ ` : ""; outputGradient(log + message.join(" "), infoMessageColors); } }; function outputGradient(text, colors) { const gradient = HUDUtilityManager.generateGradientColors(colors, text.length); let coloredText = ""; for (let i = 0; i < text.length; i++) { const [r, g, b] = gradient[i]; coloredText += chalk.rgb(r, g, b)(text[i]); } console.log(coloredText); return; } ; class FileTideDebugUtilityManager { constructor() { if (FileTideDebugUtilityManager.instance) { return FileTideDebugUtilityManager.instance; } this.debugMode = false; FileTideDebugUtilityManager.instance = this; } outputGradient(text, colors) { outputGradient(text, colors); return; } setDebugMode(mode) { this.debugMode = mode; } log(type = "info", includeDate = false, ...message) { if (!this.debugMode && type !== "error") { return; } if (logHandler[type]) { logHandler[type](includeDate, ...message); return; } console.log(new Date().toLocaleString(), chalk.gray("Unknown log type ~ "), type, ...message); } } const instance = new FileTideDebugUtilityManager(); module.exports = { FileTideDebugUtilityManager: instance, significantMessageColors, noticeMessageColors, errorMessageColors, infoMessageColors };