@@ -17,11 +17,6 @@ function setup(env) {
1717 createDebug [ 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 */
6459 function createDebug ( namespace ) {
6560 let prevTime ;
61+ let enableOverride = null ;
6662
6763 function debug ( ...args ) {
6864 // Disabled?
@@ -115,31 +111,27 @@ function setup(env) {
115111 }
116112
117113 debug . namespace = namespace ;
118- debug . enabled = createDebug . enabled ( namespace ) ;
119114 debug . useColors = createDebug . useColors ( ) ;
120115 debug . color = createDebug . selectColor ( namespace ) ;
121- debug . destroy = destroy ;
122116 debug . 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
125128 if ( typeof createDebug . init === 'function' ) {
126129 createDebug . init ( debug ) ;
127130 }
128131
129- createDebug . instances . push ( debug ) ;
130-
131132 return 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-
143135 function extend ( namespace , delimiter ) {
144136 const newDebug = createDebug ( this . namespace + ( typeof delimiter === 'undefined' ? ':' : delimiter ) + namespace ) ;
145137 newDebug . log = this . log ;
@@ -177,11 +169,6 @@ function setup(env) {
177169 createDebug . 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