@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
JavaScript
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
};
;