import { ccol } from "../console-colors"; const LogTypes = ["error", "warning"] as const; type Param = { /** * data to be logged. */ log: any; /** * Log Title. Could be name of function or name of variable */ title?: string; /** * Label for the log */ label?: string; /** * Log type. `error` or `warning` or default */ type?: (typeof LogTypes)[number]; /** * Whether to add a time stamp */ addTime?: boolean; }; export default function debugLog({ log, label, title, type, addTime }: Param) { const logType = (() => { switch (type) { case "error": return ccol.FgRed; case "warning": return ccol.FgYellow; default: return ccol.FgGreen; } })(); let logTxt = `${logType}DEBUG${ccol.Reset}:::`; const date = new Date(); const time = date.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric", second: "numeric", hour12: true, }); const logTime = `${date.toLocaleDateString()}][${time}`; if (addTime) logTxt = `${ccol.BgWhite}[${logTime}]${ccol.Reset} ` + logTxt; if (title) logTxt += `${ccol.FgBlue}${title}${ccol.Reset}::`; if (label) logTxt += `${ccol.FgWhite}${ccol.Bright}${label}${ccol.Reset} =>`; console.log(logTxt, log); }