assemblerjs 1.1.20 → 1.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index13.js +1 -1
  3. package/dist/index13.mjs +1 -1
  4. package/dist/index18.js +1 -1
  5. package/dist/index18.mjs +1 -1
  6. package/dist/index19.js +1 -1
  7. package/dist/index19.mjs +1 -1
  8. package/dist/index20.js +1 -1
  9. package/dist/index20.mjs +1 -1
  10. package/dist/index21.js +1 -1
  11. package/dist/index21.mjs +1 -1
  12. package/dist/index22.js +11 -5
  13. package/dist/index22.mjs +11 -5
  14. package/dist/index23.js +13 -7
  15. package/dist/index23.mjs +13 -7
  16. package/dist/index24.js +1 -1
  17. package/dist/index24.mjs +1 -1
  18. package/dist/index31.js +35 -153
  19. package/dist/index31.mjs +34 -152
  20. package/dist/index32.js +143 -35
  21. package/dist/index32.mjs +142 -35
  22. package/dist/index33.js +41 -70
  23. package/dist/index33.mjs +41 -70
  24. package/dist/index34.js +73 -49
  25. package/dist/index34.mjs +73 -49
  26. package/dist/index35.js +53 -29
  27. package/dist/index35.mjs +53 -29
  28. package/dist/index36.js +26 -161
  29. package/dist/index36.mjs +26 -161
  30. package/dist/index37.js +160 -48
  31. package/dist/index37.mjs +160 -48
  32. package/dist/index38.js +57 -34
  33. package/dist/index38.mjs +57 -33
  34. package/dist/index39.js +18 -101
  35. package/dist/index39.mjs +18 -101
  36. package/dist/index4.js +7 -7
  37. package/dist/index4.mjs +7 -7
  38. package/dist/index40.js +101 -24
  39. package/dist/index40.mjs +101 -24
  40. package/dist/index41.js +24 -18
  41. package/dist/index41.mjs +24 -18
  42. package/dist/index45.js +16 -9
  43. package/dist/index45.mjs +16 -9
  44. package/dist/index49.js +1 -1
  45. package/dist/index49.mjs +1 -1
  46. package/dist/index50.js +2 -2
  47. package/dist/index50.mjs +2 -2
  48. package/package.json +1 -1
package/dist/index36.mjs CHANGED
@@ -1,168 +1,33 @@
1
- function o(o) {
2
- if (o === undefined) return 'undefined';
3
- if (o === null) return 'null';
4
- if (typeof o === 'function') {
5
- if (o.name) return o.name;
6
- if (o.constructor?.name && o.constructor.name !== 'Function') {
7
- return o.constructor.name;
8
- }
9
- return 'AnonymousFunction';
10
- }
11
- if (typeof o === 'object') {
12
- const e = o.constructor?.name;
13
- if (e && e !== 'Object') {
14
- return e;
15
- }
16
- if (o.name && typeof o.name === 'string') {
17
- return o.name;
18
- }
19
- return '[Object]';
20
- }
21
- return String(o);
22
- }
23
- let NoOpDebugLogger = class NoOpDebugLogger {
24
- configure(o) {}
25
- log(o, e, t) {}
26
- logBuildStart(o) {}
27
- logBuildEnd(o, e) {}
28
- logRegistration(o) {}
29
- logHook(o, e, t) {}
30
- logPhaseStart(o, e) {}
31
- logPhaseEnd(o, e, t) {}
32
- logResolution(o, e, t) {}
33
- logConstruction(o) {}
34
- };
35
- let ActiveDebugLogger = class ActiveDebugLogger {
36
- configure(o) {
37
- this.options = {
38
- ...this.options,
39
- ...o,
40
- logPhases: {
41
- ...this.options.logPhases,
42
- ...o.logPhases || {}
43
- }
44
- };
45
- }
46
- logBuildStart(o) {
47
- this.log('info', 'Build started', {
48
- entry: o.name
49
- });
50
- }
51
- logBuildEnd(o, e) {
52
- const t = {
53
- entry: o.name
54
- };
55
- if (e !== undefined) t.duration = `${e.toFixed(2)}ms`;
56
- this.log('info', 'Build completed', t);
57
- }
58
- logRegistration(e) {
59
- if (!this.shouldLog('registration')) return;
60
- this.log('info', 'Registration', {
61
- identifier: o(e.identifier),
62
- isSingleton: e.isSingleton,
63
- dependencies: e.dependencies.map((e)=>o(e)),
64
- tags: e.tags
65
- });
66
- }
67
- logHook(e, t, n) {
68
- if (!this.shouldLog('hooks')) return;
69
- const s = this.options.logTimings ? performance.now() : 0;
70
- this.log('info', `Hook: ${e}`, {
71
- target: o(t),
72
- config: n
73
- });
74
- if (this.options.logTimings) {
75
- return ()=>{
76
- const o = performance.now() - s;
77
- this.log('info', `Hook: ${e} completed`, {
78
- duration: `${o.toFixed(2)}ms`
79
- });
80
- };
81
- }
82
- }
83
- logPhaseStart(o, e) {
84
- this.log('info', `Phase: ${o} started`, e);
85
- }
86
- logPhaseEnd(o, e, t) {
87
- const n = e !== undefined ? {
88
- duration: `${e.toFixed(2)}ms`
89
- } : {};
90
- if (t) {
91
- Object.assign(n, t);
92
- }
93
- this.log('info', `Phase: ${o} ended`, Object.keys(n).length > 0 ? n : undefined);
94
- }
95
- logResolution(o, e, t) {
96
- if (!this.shouldLog('resolution')) return;
97
- this.log('info', `Resolving: ${o}`, {
98
- strategy: `${e} strategy`,
99
- cache: t ? 'hit' : 'miss'
100
- });
101
- }
102
- logConstruction(o) {
103
- if (!this.shouldLog('construction')) return;
104
- this.log('info', `Constructing: ${o}`);
105
- }
106
- shouldLog(o) {
107
- return !this.options.logPhases || this.options.logPhases[o] !== false;
108
- }
109
- log(o, e, t) {
110
- if (this.options.logger) {
111
- this.options.logger(o, e, t);
112
- } else {
113
- const n = `[Assembler:${o}]`;
114
- const s = this.options.useColors !== false ? this.colorize(o, n) : n;
115
- if (t) {
116
- console.log(`${s} ${e}`, t);
117
- } else {
118
- console.log(`${s} ${e}`);
119
- }
120
- }
121
- }
122
- colorize(o, e) {
123
- const t = {
124
- info: '\x1b[36m',
125
- warn: '\x1b[33m',
126
- error: '\x1b[31m',
127
- reset: '\x1b[0m'
1
+ class ContextProvider {
2
+ createPublicContext() {
3
+ return {
4
+ has: this.assembler.has.bind(this.assembler),
5
+ require: this.assembler.require.bind(this.assembler),
6
+ concrete: this.assembler.concrete.bind(this.assembler),
7
+ tagged: this.assembler.tagged.bind(this.assembler),
8
+ dispose: this.assembler.dispose.bind(this.assembler),
9
+ global: this.assembler.global.bind(this.assembler),
10
+ on: this.assembler.on.bind(this.assembler),
11
+ once: this.assembler.once.bind(this.assembler),
12
+ off: this.assembler.off.bind(this.assembler),
13
+ events: this.assembler.channels
128
14
  };
129
- const n = t[o] || t.info;
130
- return `${n}${e}${t.reset}`;
131
15
  }
132
- constructor(){
133
- this.options = {
134
- enabled: true,
135
- logPhases: {
136
- registration: true,
137
- resolution: true,
138
- construction: true,
139
- hooks: true,
140
- cache: true
141
- },
142
- logTimings: false,
143
- logDependencyTree: true,
144
- useColors: true
16
+ createPrivateContext(s) {
17
+ return {
18
+ ...s,
19
+ register: this.assembler.register.bind(this.assembler),
20
+ use: this.assembler.use.bind(this.assembler),
21
+ addGlobal: this.assembler.addGlobal.bind(this.assembler),
22
+ prepareInitHook: this.assembler.prepareInitHook.bind(this.assembler),
23
+ emit: this.assembler.emit.bind(this.assembler),
24
+ addChannels: this.assembler.addChannels.bind(this.assembler),
25
+ removeChannels: this.assembler.removeChannels.bind(this.assembler)
145
26
  };
146
27
  }
147
- };
148
- class DebugLogger {
149
- static getInstance() {
150
- return DebugLogger.instance;
151
- }
152
- static enable(o) {
153
- if (o?.enabled === false) {
154
- DebugLogger.instance = new NoOpDebugLogger();
155
- return;
156
- }
157
- DebugLogger.instance = new ActiveDebugLogger();
158
- if (o) {
159
- DebugLogger.instance.configure(o);
160
- }
161
- }
162
- static disable() {
163
- DebugLogger.instance = new NoOpDebugLogger();
28
+ constructor(s){
29
+ this.assembler = s;
164
30
  }
165
31
  }
166
- DebugLogger.instance = new NoOpDebugLogger();
167
32
 
168
- export { DebugLogger };
33
+ export { ContextProvider };
package/dist/index37.js CHANGED
@@ -2,68 +2,180 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- let AbstractCycleDetector = class AbstractCycleDetector {
6
- };
7
- let NoOpCycleDetector = class NoOpCycleDetector extends AbstractCycleDetector {
8
- detect() {
9
- return [];
5
+ function e(e) {
6
+ if (e === undefined) return 'undefined';
7
+ if (e === null) return 'null';
8
+ if (typeof e === 'function') {
9
+ if (e.name) return e.name;
10
+ if (e.constructor?.name && e.constructor.name !== 'Function') {
11
+ return e.constructor.name;
12
+ }
13
+ return 'AnonymousFunction';
14
+ }
15
+ if (typeof e === 'object') {
16
+ const o = e.constructor?.name;
17
+ if (o && o !== 'Object') {
18
+ return o;
19
+ }
20
+ if (e.name && typeof e.name === 'string') {
21
+ return e.name;
22
+ }
23
+ return '[Object]';
10
24
  }
25
+ return String(e);
26
+ }
27
+ let NoOpDebugLogger = class NoOpDebugLogger {
28
+ configure(e) {}
29
+ log(e, o, t) {}
30
+ logBuildStart(e) {}
31
+ logBuildEnd(e, o) {}
32
+ logRegistration(e) {}
33
+ logHook(e, o, t) {}
34
+ logPhaseStart(e, o) {}
35
+ logPhaseEnd(e, o, t) {}
36
+ logResolution(e, o, t) {}
37
+ logConstruction(e) {}
38
+ logInjection(e, o) {}
11
39
  };
12
- let ActiveCycleDetector = class ActiveCycleDetector extends AbstractCycleDetector {
13
- detect(e, t) {
14
- const c = [];
15
- const s = new Set();
16
- for (const [n] of e){
17
- if (s.has(n)) continue;
18
- const r = [];
19
- const o = new Set();
20
- if (this.hasCycleDFS(n, r, o, s, e)) {
21
- const e = r.findIndex((e)=>e === n);
22
- if (e >= 0) {
23
- const s = r.slice(e).map((e)=>t(e));
24
- c.push({
25
- cycle: s,
26
- path: s.join(' → ')
27
- });
28
- }
40
+ let ActiveDebugLogger = class ActiveDebugLogger {
41
+ configure(e) {
42
+ this.options = {
43
+ ...this.options,
44
+ ...e,
45
+ logPhases: {
46
+ ...this.options.logPhases,
47
+ ...e.logPhases || {}
29
48
  }
30
- }
31
- return c;
49
+ };
50
+ }
51
+ logBuildStart(e) {
52
+ this.log('info', 'Build started', {
53
+ entry: e.name
54
+ });
55
+ }
56
+ logBuildEnd(e, o) {
57
+ const t = {
58
+ entry: e.name
59
+ };
60
+ if (o !== undefined) t.duration = `${o.toFixed(2)}ms`;
61
+ this.log('info', 'Build completed', t);
32
62
  }
33
- hasCycleDFS(e, t, c, s, n) {
34
- if (c.has(e)) {
35
- t.push(e);
36
- return true;
63
+ logRegistration(o) {
64
+ if (!this.shouldLog('registration')) return;
65
+ this.log('info', 'Registration', {
66
+ identifier: e(o.identifier),
67
+ isSingleton: o.isSingleton,
68
+ dependencies: o.dependencies.map((o)=>e(o)),
69
+ tags: o.tags
70
+ });
71
+ }
72
+ logHook(o, t, n) {
73
+ if (!this.shouldLog('hooks')) return;
74
+ const i = this.options.logTimings ? performance.now() : 0;
75
+ this.log('info', `Hook: ${o}`, {
76
+ target: e(t),
77
+ config: n
78
+ });
79
+ if (this.options.logTimings) {
80
+ return ()=>{
81
+ const e = performance.now() - i;
82
+ this.log('info', `Hook: ${o} completed`, {
83
+ duration: `${e.toFixed(2)}ms`
84
+ });
85
+ };
37
86
  }
38
- if (s.has(e)) {
39
- return false;
87
+ }
88
+ logPhaseStart(e, o) {
89
+ this.log('info', `Phase: ${e} started`, o);
90
+ }
91
+ logPhaseEnd(e, o, t) {
92
+ const n = o !== undefined ? {
93
+ duration: `${o.toFixed(2)}ms`
94
+ } : {};
95
+ if (t) {
96
+ Object.assign(n, t);
40
97
  }
41
- t.push(e);
42
- c.add(e);
43
- const r = n.get(e);
44
- if (r?.dependencies && r.dependencies.length > 0) {
45
- for (const e of r.dependencies){
46
- if (this.hasCycleDFS(e, t, c, s, n)) {
47
- return true;
48
- }
98
+ this.log('info', `Phase: ${e} ended`, Object.keys(n).length > 0 ? n : undefined);
99
+ }
100
+ logResolution(e, o, t) {
101
+ if (!this.shouldLog('resolution')) return;
102
+ this.log('info', `Resolving: ${e}`, {
103
+ strategy: `${o} strategy`,
104
+ cache: t ? 'hit' : 'miss'
105
+ });
106
+ }
107
+ logConstruction(e) {
108
+ if (!this.shouldLog('construction')) return;
109
+ this.log('info', `Constructing: ${e}`);
110
+ }
111
+ logInjection(e, o) {
112
+ if (!this.shouldLog(e === 'use' ? 'injectionUse' : 'injectionGlobal')) return;
113
+ this.log('info', `Injecting: @${e === 'use' ? 'Use' : 'Global'}`, o);
114
+ }
115
+ shouldLog(e) {
116
+ return !this.options.logPhases || this.options.logPhases[e] !== false;
117
+ }
118
+ log(e, o, t) {
119
+ if (this.options.logger) {
120
+ this.options.logger(e, o, t);
121
+ } else {
122
+ const n = `[Assembler:${e}]`;
123
+ const i = this.options.useColors !== false ? this.colorize(e, n) : n;
124
+ if (t) {
125
+ console.log(`${i} ${o}`, t);
126
+ } else {
127
+ console.log(`${i} ${o}`);
49
128
  }
50
129
  }
51
- c.delete(e);
52
- s.add(e);
53
- return false;
130
+ }
131
+ colorize(e, o) {
132
+ const t = {
133
+ info: '\x1b[36m',
134
+ warn: '\x1b[33m',
135
+ error: '\x1b[31m',
136
+ reset: '\x1b[0m'
137
+ };
138
+ const n = t[e] || t.info;
139
+ return `${n}${o}${t.reset}`;
140
+ }
141
+ constructor(){
142
+ this.options = {
143
+ enabled: true,
144
+ logPhases: {
145
+ registration: true,
146
+ registrationUse: true,
147
+ registrationGlobals: true,
148
+ resolution: true,
149
+ construction: true,
150
+ hooks: true,
151
+ cache: true,
152
+ injectionUse: true,
153
+ injectionGlobal: true
154
+ },
155
+ logTimings: false,
156
+ logDependencyTree: true,
157
+ useColors: true
158
+ };
54
159
  }
55
160
  };
56
- class CycleDetector {
161
+ class DebugLogger {
57
162
  static getInstance() {
58
- return CycleDetector.instance;
163
+ return DebugLogger.instance;
59
164
  }
60
- static enable() {
61
- CycleDetector.instance = new ActiveCycleDetector();
165
+ static enable(e) {
166
+ if (e?.enabled === false) {
167
+ DebugLogger.instance = new NoOpDebugLogger();
168
+ return;
169
+ }
170
+ DebugLogger.instance = new ActiveDebugLogger();
171
+ if (e) {
172
+ DebugLogger.instance.configure(e);
173
+ }
62
174
  }
63
175
  static disable() {
64
- CycleDetector.instance = new NoOpCycleDetector();
176
+ DebugLogger.instance = new NoOpDebugLogger();
65
177
  }
66
178
  }
67
- CycleDetector.instance = new NoOpCycleDetector();
179
+ DebugLogger.instance = new NoOpDebugLogger();
68
180
 
69
- exports.CycleDetector = CycleDetector;
181
+ exports.DebugLogger = DebugLogger;
package/dist/index37.mjs CHANGED
@@ -1,65 +1,177 @@
1
- let AbstractCycleDetector = class AbstractCycleDetector {
2
- };
3
- let NoOpCycleDetector = class NoOpCycleDetector extends AbstractCycleDetector {
4
- detect() {
5
- return [];
1
+ function e(e) {
2
+ if (e === undefined) return 'undefined';
3
+ if (e === null) return 'null';
4
+ if (typeof e === 'function') {
5
+ if (e.name) return e.name;
6
+ if (e.constructor?.name && e.constructor.name !== 'Function') {
7
+ return e.constructor.name;
8
+ }
9
+ return 'AnonymousFunction';
10
+ }
11
+ if (typeof e === 'object') {
12
+ const o = e.constructor?.name;
13
+ if (o && o !== 'Object') {
14
+ return o;
15
+ }
16
+ if (e.name && typeof e.name === 'string') {
17
+ return e.name;
18
+ }
19
+ return '[Object]';
6
20
  }
21
+ return String(e);
22
+ }
23
+ let NoOpDebugLogger = class NoOpDebugLogger {
24
+ configure(e) {}
25
+ log(e, o, t) {}
26
+ logBuildStart(e) {}
27
+ logBuildEnd(e, o) {}
28
+ logRegistration(e) {}
29
+ logHook(e, o, t) {}
30
+ logPhaseStart(e, o) {}
31
+ logPhaseEnd(e, o, t) {}
32
+ logResolution(e, o, t) {}
33
+ logConstruction(e) {}
34
+ logInjection(e, o) {}
7
35
  };
8
- let ActiveCycleDetector = class ActiveCycleDetector extends AbstractCycleDetector {
9
- detect(e, t) {
10
- const c = [];
11
- const s = new Set();
12
- for (const [n] of e){
13
- if (s.has(n)) continue;
14
- const r = [];
15
- const o = new Set();
16
- if (this.hasCycleDFS(n, r, o, s, e)) {
17
- const e = r.findIndex((e)=>e === n);
18
- if (e >= 0) {
19
- const s = r.slice(e).map((e)=>t(e));
20
- c.push({
21
- cycle: s,
22
- path: s.join(' → ')
23
- });
24
- }
36
+ let ActiveDebugLogger = class ActiveDebugLogger {
37
+ configure(e) {
38
+ this.options = {
39
+ ...this.options,
40
+ ...e,
41
+ logPhases: {
42
+ ...this.options.logPhases,
43
+ ...e.logPhases || {}
25
44
  }
26
- }
27
- return c;
45
+ };
46
+ }
47
+ logBuildStart(e) {
48
+ this.log('info', 'Build started', {
49
+ entry: e.name
50
+ });
51
+ }
52
+ logBuildEnd(e, o) {
53
+ const t = {
54
+ entry: e.name
55
+ };
56
+ if (o !== undefined) t.duration = `${o.toFixed(2)}ms`;
57
+ this.log('info', 'Build completed', t);
28
58
  }
29
- hasCycleDFS(e, t, c, s, n) {
30
- if (c.has(e)) {
31
- t.push(e);
32
- return true;
59
+ logRegistration(o) {
60
+ if (!this.shouldLog('registration')) return;
61
+ this.log('info', 'Registration', {
62
+ identifier: e(o.identifier),
63
+ isSingleton: o.isSingleton,
64
+ dependencies: o.dependencies.map((o)=>e(o)),
65
+ tags: o.tags
66
+ });
67
+ }
68
+ logHook(o, t, n) {
69
+ if (!this.shouldLog('hooks')) return;
70
+ const i = this.options.logTimings ? performance.now() : 0;
71
+ this.log('info', `Hook: ${o}`, {
72
+ target: e(t),
73
+ config: n
74
+ });
75
+ if (this.options.logTimings) {
76
+ return ()=>{
77
+ const e = performance.now() - i;
78
+ this.log('info', `Hook: ${o} completed`, {
79
+ duration: `${e.toFixed(2)}ms`
80
+ });
81
+ };
33
82
  }
34
- if (s.has(e)) {
35
- return false;
83
+ }
84
+ logPhaseStart(e, o) {
85
+ this.log('info', `Phase: ${e} started`, o);
86
+ }
87
+ logPhaseEnd(e, o, t) {
88
+ const n = o !== undefined ? {
89
+ duration: `${o.toFixed(2)}ms`
90
+ } : {};
91
+ if (t) {
92
+ Object.assign(n, t);
36
93
  }
37
- t.push(e);
38
- c.add(e);
39
- const r = n.get(e);
40
- if (r?.dependencies && r.dependencies.length > 0) {
41
- for (const e of r.dependencies){
42
- if (this.hasCycleDFS(e, t, c, s, n)) {
43
- return true;
44
- }
94
+ this.log('info', `Phase: ${e} ended`, Object.keys(n).length > 0 ? n : undefined);
95
+ }
96
+ logResolution(e, o, t) {
97
+ if (!this.shouldLog('resolution')) return;
98
+ this.log('info', `Resolving: ${e}`, {
99
+ strategy: `${o} strategy`,
100
+ cache: t ? 'hit' : 'miss'
101
+ });
102
+ }
103
+ logConstruction(e) {
104
+ if (!this.shouldLog('construction')) return;
105
+ this.log('info', `Constructing: ${e}`);
106
+ }
107
+ logInjection(e, o) {
108
+ if (!this.shouldLog(e === 'use' ? 'injectionUse' : 'injectionGlobal')) return;
109
+ this.log('info', `Injecting: @${e === 'use' ? 'Use' : 'Global'}`, o);
110
+ }
111
+ shouldLog(e) {
112
+ return !this.options.logPhases || this.options.logPhases[e] !== false;
113
+ }
114
+ log(e, o, t) {
115
+ if (this.options.logger) {
116
+ this.options.logger(e, o, t);
117
+ } else {
118
+ const n = `[Assembler:${e}]`;
119
+ const i = this.options.useColors !== false ? this.colorize(e, n) : n;
120
+ if (t) {
121
+ console.log(`${i} ${o}`, t);
122
+ } else {
123
+ console.log(`${i} ${o}`);
45
124
  }
46
125
  }
47
- c.delete(e);
48
- s.add(e);
49
- return false;
126
+ }
127
+ colorize(e, o) {
128
+ const t = {
129
+ info: '\x1b[36m',
130
+ warn: '\x1b[33m',
131
+ error: '\x1b[31m',
132
+ reset: '\x1b[0m'
133
+ };
134
+ const n = t[e] || t.info;
135
+ return `${n}${o}${t.reset}`;
136
+ }
137
+ constructor(){
138
+ this.options = {
139
+ enabled: true,
140
+ logPhases: {
141
+ registration: true,
142
+ registrationUse: true,
143
+ registrationGlobals: true,
144
+ resolution: true,
145
+ construction: true,
146
+ hooks: true,
147
+ cache: true,
148
+ injectionUse: true,
149
+ injectionGlobal: true
150
+ },
151
+ logTimings: false,
152
+ logDependencyTree: true,
153
+ useColors: true
154
+ };
50
155
  }
51
156
  };
52
- class CycleDetector {
157
+ class DebugLogger {
53
158
  static getInstance() {
54
- return CycleDetector.instance;
159
+ return DebugLogger.instance;
55
160
  }
56
- static enable() {
57
- CycleDetector.instance = new ActiveCycleDetector();
161
+ static enable(e) {
162
+ if (e?.enabled === false) {
163
+ DebugLogger.instance = new NoOpDebugLogger();
164
+ return;
165
+ }
166
+ DebugLogger.instance = new ActiveDebugLogger();
167
+ if (e) {
168
+ DebugLogger.instance.configure(e);
169
+ }
58
170
  }
59
171
  static disable() {
60
- CycleDetector.instance = new NoOpCycleDetector();
172
+ DebugLogger.instance = new NoOpDebugLogger();
61
173
  }
62
174
  }
63
- CycleDetector.instance = new NoOpCycleDetector();
175
+ DebugLogger.instance = new NoOpDebugLogger();
64
176
 
65
- export { CycleDetector };
177
+ export { DebugLogger };