(set, cb)
| 85 | // that may be loaded before these run time states are allowed to |
| 86 | // be accessed. |
| 87 | function debuglog(set, cb) { |
| 88 | function init() { |
| 89 | set = StringPrototypeToUpperCase(set); |
| 90 | enabled = testEnabled(set); |
| 91 | } |
| 92 | let debug = (...args) => { |
| 93 | init(); |
| 94 | // Only invokes debuglogImpl() when the debug function is |
| 95 | // called for the first time. |
| 96 | debug = debuglogImpl(enabled, set); |
| 97 | if (typeof cb === 'function') { |
| 98 | ObjectDefineProperty(debug, 'enabled', { |
| 99 | __proto__: null, |
| 100 | get() { |
| 101 | return enabled; |
| 102 | }, |
| 103 | configurable: true, |
| 104 | enumerable: true, |
| 105 | }); |
| 106 | cb(debug); |
| 107 | } |
| 108 | switch (args.length) { |
| 109 | case 1: return debug(args[0]); |
| 110 | case 2: return debug(args[0], args[1]); |
| 111 | default: return debug(...new SafeArrayIterator(args)); |
| 112 | } |
| 113 | }; |
| 114 | let enabled; |
| 115 | let test = () => { |
| 116 | init(); |
| 117 | test = () => enabled; |
| 118 | return enabled; |
| 119 | }; |
| 120 | const logger = (...args) => { |
| 121 | // Improve performance when debug is disabled, avoid calling `new SafeArrayIterator(args)` |
| 122 | if (enabled === false) return; |
| 123 | switch (args.length) { |
| 124 | case 1: return debug(args[0]); |
| 125 | case 2: return debug(args[0], args[1]); |
| 126 | default: return debug(...new SafeArrayIterator(args)); |
| 127 | } |
| 128 | }; |
| 129 | ObjectDefineProperty(logger, 'enabled', { |
| 130 | __proto__: null, |
| 131 | get() { |
| 132 | return test(); |
| 133 | }, |
| 134 | configurable: true, |
| 135 | enumerable: true, |
| 136 | }); |
| 137 | return logger; |
| 138 | } |
| 139 | |
| 140 | function pad(value) { |
| 141 | return StringPrototypePadStart(`${value}`, 2, '0'); |
no outgoing calls
no test coverage detected
searching dependent graphs…