@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
33 lines • 3.54 kB
JavaScript
import { webglLookup } from "./../utils/webgl.js";
export function debug(code, classNames = {}) {
const css = [];
const txt = stringify(code, classNames, css);
console.log(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) {
var _a, _b, _c, _d;
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 = (_a = classNames[code.cls]) !== null && _a !== void 0 ? _a : CLASSNAMES[code.cls];
if (!style)
return (_b = code.txt) !== null && _b !== void 0 ? _b : "";
css.push(`${(_c = classNames.code) !== null && _c !== void 0 ? _c : CLASSNAMES.code};${style}`);
return `%c${(_d = code.txt) !== null && _d !== void 0 ? _d : ""}`;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVidWcvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBUTlDLE1BQU0sVUFBVSxLQUFLLENBQ2pCLElBQXFCLEVBQ3JCLGFBQXFDLEVBQUU7SUFFdkMsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFBO0lBQ3hCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQ3pCLEtBQTRDO0lBRTVDLE1BQU0sR0FBRyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7SUFDbEUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQTJCO0lBQ3ZDLElBQUksRUFBRSxvR0FBb0c7SUFDMUcsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0NBQ3RDLENBQUE7QUFFRCxTQUFTLFNBQVMsQ0FDZCxJQUFxQixFQUNyQixVQUFrQyxFQUNsQyxHQUFhOztJQUViLElBQUksT0FBTyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDNUIsR0FBRyxDQUFDLElBQUksQ0FDSixjQUNJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUNwQixnRUFBZ0UsRUFDaEUsVUFBVSxDQUFDLElBQUksQ0FDbEIsQ0FBQTtRQUNELE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBRXpDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1DQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDMUQsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLE1BQUEsSUFBSSxDQUFDLEdBQUcsbUNBQUksRUFBRSxDQUFBO0lBRWpDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFBLFVBQVUsQ0FBQyxJQUFJLG1DQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUMxRCxPQUFPLEtBQUssTUFBQSxJQUFJLENBQUMsR0FBRyxtQ0FBSSxFQUFFLEVBQUUsQ0FBQTtBQUNoQyxDQUFDIn0=