From 7340f981dbf7227a95ead03a5cbae5c77d5b082d Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 6 Dec 2025 23:12:31 -0700 Subject: [PATCH] Add a utility helper to log only when in dev mode --- module/utils/Logger.mjs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 module/utils/Logger.mjs diff --git a/module/utils/Logger.mjs b/module/utils/Logger.mjs new file mode 100644 index 0000000..6460bd3 --- /dev/null +++ b/module/utils/Logger.mjs @@ -0,0 +1,38 @@ +import { __ID } from "../consts.mjs"; + +const augmentedProps = new Set([ + `debug`, + `log`, + `error`, + `info`, + `warn`, + `group`, + `time`, + `timeEnd`, + `timeLog`, + `timeStamp`, +]); + +function noop() {}; + +/** @type {null | boolean} */ +let inDev = null; + +/** @type {Console} */ +export const Logger = new Proxy(console, { + get(target, prop, _receiver) { + + if (inDev == null) { + inDev = game.modules.get(__ID).flags.inDev; + }; + + if (!inDev) { + return noop; + }; + + if (augmentedProps.has(prop)) { + return target[prop].bind(target, __ID, `|`); + }; + return target[prop]; + }, +});