@@ -17,11 +17,6 @@ function setup(env) {
1717createDebug [ key ] = env [ key ] ;
1818} ) ;
1919
20- /**
21- * Active `debug` instances.
22- */
23- createDebug . instances = [ ] ;
24-
2520/**
2621* The currently active debug mode names, and names to skip.
2722*/
@@ -63,6 +58,7 @@ function setup(env) {
6358*/
6459function createDebug ( namespace ) {
6560let prevTime ;
61+ let enableOverride = null ;
6662
6763function debug ( ...args ) {
6864// Disabled?
@@ -115,31 +111,27 @@ function setup(env) {
115111}
116112
117113debug . namespace = namespace ;
118- debug . enabled = createDebug . enabled ( namespace ) ;
119114debug . useColors = createDebug . useColors ( ) ;
120115debug . color = createDebug . selectColor ( namespace ) ;
121- debug . destroy = destroy ;
122116debug . extend = extend ;
123117
118+ Object . defineProperty ( debug , 'enabled' , {
119+ enumerable : true ,
120+ configurable : false ,
121+ get : ( ) => enableOverride === null ? createDebug . enabled ( namespace ) : enableOverride ,
122+ set : v => {
123+ enableOverride = v ;
124+ }
125+ } ) ;
126+
124127// Env-specific initialization logic for debug instances
125128if ( typeof createDebug . init === 'function' ) {
126129createDebug . init ( debug ) ;
127130}
128131
129- createDebug . instances . push ( debug ) ;
130-
131132return debug ;
132133}
133134
134- function destroy ( ) {
135- const index = createDebug . instances . indexOf ( this ) ;
136- if ( index !== - 1 ) {
137- createDebug . instances . splice ( index , 1 ) ;
138- return true ;
139- }
140- return false ;
141- }
142-
143135function extend ( namespace , delimiter ) {
144136const newDebug = createDebug ( this . namespace + ( typeof delimiter === 'undefined' ? ':' : delimiter ) + namespace ) ;
145137newDebug . log = this . log ;
@@ -177,11 +169,6 @@ function setup(env) {
177169createDebug . names . push ( new RegExp ( '^' + namespaces + '$' ) ) ;
178170}
179171}
180-
181- for ( i = 0 ; i < createDebug . instances . length ; i ++ ) {
182- const instance = createDebug . instances [ i ] ;
183- instance . enabled = createDebug . enabled ( instance . namespace ) ;
184- }
185172}
186173
187174/**
0 commit comments