Skip to content

Commit f0f645e

Browse files
caching enabled status per logger
1 parent 0d3d66b commit f0f645e

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

src/common.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ function setup(env) {
6060
function createDebug(namespace) {
6161
let prevTime;
6262
let enableOverride = null;
63+
let namespacesCache, enabledCache;
6364

6465
function debug(...args) {
6566
// Disabled?
@@ -120,7 +121,17 @@ function setup(env) {
120121
Object.defineProperty(debug, 'enabled', {
121122
enumerable: true,
122123
configurable: false,
123-
get: () => enableOverride === null ? createDebug.enabled(namespace) : enableOverride,
124+
get: () => {
125+
if (enableOverride !== null) {
126+
return enableOverride
127+
}
128+
if (namespacesCache !== createDebug.namespaces) {
129+
namespacesCache = createDebug.namespaces;
130+
enabledCache = createDebug.enabled(namespace);
131+
}
132+
return enabledCache;
133+
134+
},
124135
set: v => {
125136
enableOverride = v;
126137
}
@@ -149,6 +160,7 @@ function setup(env) {
149160
*/
150161
function enable(namespaces) {
151162
createDebug.save(namespaces);
163+
createDebug.namespaces = namespaces;
152164

153165
createDebug.names = [];
154166
createDebug.skips = [];

0 commit comments

Comments
 (0)