testEnabled(set); } let debug = (...args) => { init(); // Only invokes debuglogImpl() when the debug function is // called for the first time. debug = debuglogImpl(enabled, set); if (typeof cb === 'function') cb(debug); switch (args.length) { case 1: return debug(args[0]); case 2: return debug(args[0], args[1]); default: return debug(...new SafeArrayIterator(args)); } }; let enabled; let test = () => { init(); test = () => enabled; return enabled; }; const logger = (...args) => { switch (args.length) { case 1: return debug(args[0]); case 2: return debug(args[0], args[1]); default: return debug(...new SafeArrayIterator(args)); } }; ObjectDefineProperty(logger, 'enabled', { __proto__: null, get() { return test(); }, configurable: true, enumerable: true, }); return logger; } module.exports = { debuglog, initializeDebugEnv, };