UNPKG

gle

Version:

Global Log Engine: Environment-agnostic debugging & logging utility

37 lines (36 loc) 1.25 kB
import ansiStyles from "ansi-styles"; export function getGlobalObject() { if (typeof window !== "undefined") { return window; } else if (typeof global !== "undefined") { return global; } else if (typeof self !== "undefined") { return self; } throw new Error("Unable to determine global context"); } export function styleLogLine(prefix, content, suffix, hexColour) { var _a, _b, _c; const globalObject = getGlobalObject(); if (((_b = (_a = globalObject.process) === null || _a === void 0 ? void 0 : _a.stdout) === null || _b === void 0 ? void 0 : _b.isTTY) === true) { // Use ANSI styling const colourOpen = ansiStyles.color.ansi16m(...ansiStyles.hexToRgb(hexColour)); return [ `${colourOpen}${prefix}${ansiStyles.color.close}`, content, `${colourOpen}${suffix}${ansiStyles.color.close}` ]; } else if ((_c = globalObject.navigator) === null || _c === void 0 ? void 0 : _c.userAgent) { return [ `%c${prefix} %c${content} %c${suffix}`, `color:${hexColour}`, "", `color:${hexColour}` ]; } // Use no colour return [prefix, content, suffix]; }