UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

32 lines 3.34 kB
import { webglLookup } from "./../utils/webgl.js"; export function debug(code, classNames = {}) { const css = []; const txt = stringify(code, classNames, css); console.debug(txt, ...css); } export function highlightEnum(value) { const txt = typeof value === "number" ? webglLookup(value) : value; return ["gl.", { cls: "enum", txt }, { cls: "code" }]; } const CLASSNAMES = { code: "font-family:monospace;font-size:80%;background:#000;color:#eee;padding:0;margin:0;border-radius:0;", bold: "font-weight:bold", enum: "font-weight:bold;color:#4af", }; function stringify(code, classNames, css) { if (typeof code === "boolean") { css.push(`background:${code ? "#0f0" : "#f77"};font-size:80%;color:#000;padding:0 .5em;border-radius:999vmax`, CLASSNAMES.code); return `%c${code ? "true" : "false"}%c`; } if (typeof code === "string") return code; if (Array.isArray(code)) { return code.map((item) => stringify(item, classNames, css)).join(""); } const style = classNames[code.cls] ?? CLASSNAMES[code.cls]; if (!style) return code.txt ?? ""; css.push(`${classNames.code ?? CLASSNAMES.code};${style}`); return `%c${code.txt ?? ""}`; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVidWcvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBSTlDLE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBcUIsRUFBRSxhQUFxQyxFQUFFO0lBQ2hGLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQTtJQUN4QixNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUM1QyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQTRDO0lBQ3RFLE1BQU0sR0FBRyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7SUFDbEUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQTJCO0lBQ3ZDLElBQUksRUFBRSxvR0FBb0c7SUFDMUcsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0NBQ3RDLENBQUE7QUFFRCxTQUFTLFNBQVMsQ0FBQyxJQUFxQixFQUFFLFVBQWtDLEVBQUUsR0FBYTtJQUN2RixJQUFJLE9BQU8sSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxJQUFJLENBQ0osY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxnRUFBZ0UsRUFDcEcsVUFBVSxDQUFDLElBQUksQ0FDbEIsQ0FBQTtRQUNELE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBRXpDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMxRCxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUE7SUFFakMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQzFELE9BQU8sS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFBO0FBQ2hDLENBQUMifQ==