assemblerjs 1.1.17 → 1.1.19

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 (58) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index13.js +97 -82
  3. package/dist/index13.mjs +97 -82
  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 +1 -1
  13. package/dist/index22.mjs +1 -1
  14. package/dist/index23.js +1 -1
  15. package/dist/index23.mjs +1 -1
  16. package/dist/index24.js +1 -1
  17. package/dist/index24.mjs +1 -1
  18. package/dist/index27.js +1 -1
  19. package/dist/index27.mjs +1 -1
  20. package/dist/index31.js +100 -35
  21. package/dist/index31.mjs +100 -34
  22. package/dist/index32.js +24 -101
  23. package/dist/index32.mjs +24 -101
  24. package/dist/index33.js +152 -22
  25. package/dist/index33.mjs +151 -22
  26. package/dist/index34.js +44 -16
  27. package/dist/index34.mjs +44 -16
  28. package/dist/index35.js +66 -145
  29. package/dist/index35.mjs +67 -145
  30. package/dist/index36.js +50 -45
  31. package/dist/index36.mjs +50 -45
  32. package/dist/index37.js +28 -76
  33. package/dist/index37.mjs +28 -76
  34. package/dist/index38.js +161 -50
  35. package/dist/index38.mjs +161 -50
  36. package/dist/index39.js +60 -28
  37. package/dist/index39.mjs +60 -28
  38. package/dist/index4.js +7 -7
  39. package/dist/index4.mjs +7 -7
  40. package/dist/index40.js +32 -158
  41. package/dist/index40.mjs +31 -158
  42. package/dist/index41.js +16 -57
  43. package/dist/index41.mjs +16 -57
  44. package/dist/index44.js +28 -941
  45. package/dist/index44.mjs +27 -941
  46. package/dist/index45.js +194 -2
  47. package/dist/index45.mjs +194 -2
  48. package/dist/index46.js +942 -2
  49. package/dist/index46.mjs +942 -2
  50. package/dist/index47.js +2 -29
  51. package/dist/index47.mjs +2 -28
  52. package/dist/index48.js +2 -194
  53. package/dist/index48.mjs +2 -194
  54. package/dist/index49.js +1 -1
  55. package/dist/index49.mjs +1 -1
  56. package/dist/index50.js +2 -2
  57. package/dist/index50.mjs +2 -2
  58. package/package.json +1 -1
package/dist/index37.js CHANGED
@@ -2,84 +2,36 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const core = require('@assemblerjs/core');
6
- const debugLogger = require('./index40.js');
7
-
8
- class HookManager {
9
- prepareInitHook(o, t) {
10
- this.initCache.push({
11
- instance: o,
12
- configuration: t
13
- });
14
- return this.initCache;
15
- }
16
- callInitHooks(o) {
17
- for (const t of this.initCache){
18
- HookManager.callHookImmediate(t.instance, 'onInit', o, t.configuration);
19
- }
20
- }
21
- callInitedHooks(o) {
22
- for (const t of [
23
- ...this.initCache
24
- ].reverse()){
25
- HookManager.callHookImmediate(t.instance, 'onInited', o, t.configuration);
26
- }
5
+ class ContextProvider {
6
+ createPublicContext() {
7
+ return {
8
+ has: this.assembler.has.bind(this.assembler),
9
+ require: this.assembler.require.bind(this.assembler),
10
+ concrete: this.assembler.concrete.bind(this.assembler),
11
+ tagged: this.assembler.tagged.bind(this.assembler),
12
+ dispose: this.assembler.dispose.bind(this.assembler),
13
+ global: this.assembler.global.bind(this.assembler),
14
+ on: this.assembler.on.bind(this.assembler),
15
+ once: this.assembler.once.bind(this.assembler),
16
+ off: this.assembler.off.bind(this.assembler),
17
+ events: this.assembler.channels
18
+ };
27
19
  }
28
- clearCache() {
29
- this.initCache.length = 0;
20
+ createPrivateContext(s) {
21
+ return {
22
+ ...s,
23
+ register: this.assembler.register.bind(this.assembler),
24
+ use: this.assembler.use.bind(this.assembler),
25
+ addGlobal: this.assembler.addGlobal.bind(this.assembler),
26
+ prepareInitHook: this.assembler.prepareInitHook.bind(this.assembler),
27
+ emit: this.assembler.emit.bind(this.assembler),
28
+ addChannels: this.assembler.addChannels.bind(this.assembler),
29
+ removeChannels: this.assembler.removeChannels.bind(this.assembler)
30
+ };
30
31
  }
31
- getCache() {
32
- return this.initCache;
33
- }
34
- constructor(){
35
- this.initCache = [];
32
+ constructor(s){
33
+ this.assembler = s;
36
34
  }
37
35
  }
38
- HookManager.callHook = (e, i, n, a)=>{
39
- const c = debugLogger.DebugLogger.getInstance();
40
- const r = c.logHook(i, e, a);
41
- return new Promise((t, c)=>{
42
- const s = e[i];
43
- if (s) {
44
- if (core.isAsync(s)) {
45
- s.bind(e)(n, a).then(()=>{
46
- if (r) r();
47
- t();
48
- }).catch((o)=>{
49
- if (r) r();
50
- c(o);
51
- });
52
- return;
53
- }
54
- try {
55
- s.bind(e)(n, a);
56
- if (r) r();
57
- t();
58
- } catch (o) {
59
- if (r) r();
60
- c(o);
61
- }
62
- } else {
63
- if (r) r();
64
- t();
65
- }
66
- });
67
- };
68
- HookManager.callHookImmediate = (e, i, n, a)=>{
69
- const c = debugLogger.DebugLogger.getInstance();
70
- const r = c.logHook(i, e, a);
71
- const s = e[i];
72
- if (s) {
73
- if (core.isAsync(s)) {
74
- s.bind(e)(n, a).catch(()=>{});
75
- if (r) r();
76
- return;
77
- }
78
- s.bind(e)(n, a);
79
- if (r) r();
80
- } else {
81
- if (r) r();
82
- }
83
- };
84
36
 
85
- exports.HookManager = HookManager;
37
+ exports.ContextProvider = ContextProvider;
package/dist/index37.mjs CHANGED
@@ -1,81 +1,33 @@
1
- import { isAsync } from '@assemblerjs/core';
2
- import { DebugLogger } from './index40.mjs';
3
-
4
- class HookManager {
5
- prepareInitHook(o, t) {
6
- this.initCache.push({
7
- instance: o,
8
- configuration: t
9
- });
10
- return this.initCache;
11
- }
12
- callInitHooks(o) {
13
- for (const t of this.initCache){
14
- HookManager.callHookImmediate(t.instance, 'onInit', o, t.configuration);
15
- }
16
- }
17
- callInitedHooks(o) {
18
- for (const t of [
19
- ...this.initCache
20
- ].reverse()){
21
- HookManager.callHookImmediate(t.instance, 'onInited', o, t.configuration);
22
- }
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
14
+ };
23
15
  }
24
- clearCache() {
25
- this.initCache.length = 0;
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)
26
+ };
26
27
  }
27
- getCache() {
28
- return this.initCache;
29
- }
30
- constructor(){
31
- this.initCache = [];
28
+ constructor(s){
29
+ this.assembler = s;
32
30
  }
33
31
  }
34
- HookManager.callHook = (e, i, n, a)=>{
35
- const c = DebugLogger.getInstance();
36
- const r = c.logHook(i, e, a);
37
- return new Promise((t, c)=>{
38
- const s = e[i];
39
- if (s) {
40
- if (isAsync(s)) {
41
- s.bind(e)(n, a).then(()=>{
42
- if (r) r();
43
- t();
44
- }).catch((o)=>{
45
- if (r) r();
46
- c(o);
47
- });
48
- return;
49
- }
50
- try {
51
- s.bind(e)(n, a);
52
- if (r) r();
53
- t();
54
- } catch (o) {
55
- if (r) r();
56
- c(o);
57
- }
58
- } else {
59
- if (r) r();
60
- t();
61
- }
62
- });
63
- };
64
- HookManager.callHookImmediate = (e, i, n, a)=>{
65
- const c = DebugLogger.getInstance();
66
- const r = c.logHook(i, e, a);
67
- const s = e[i];
68
- if (s) {
69
- if (isAsync(s)) {
70
- s.bind(e)(n, a).catch(()=>{});
71
- if (r) r();
72
- return;
73
- }
74
- s.bind(e)(n, a);
75
- if (r) r();
76
- } else {
77
- if (r) r();
78
- }
79
- };
80
32
 
81
- export { HookManager };
33
+ export { ContextProvider };
package/dist/index38.js CHANGED
@@ -2,60 +2,171 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const hookManager = require('./index37.js');
6
- const debugLogger = require('./index40.js');
7
- const cycleDetector = require('./index41.js');
8
- const injectableManager = require('./index35.js');
9
- const schema = require('./index30.js');
10
-
11
- class AssemblerBuilder {
12
- build(n, r) {
13
- const i = debugLogger.DebugLogger.getInstance();
14
- schema.setDefinitionValue('singleton', true, n);
15
- i.logPhaseStart('registration');
16
- const l = this.assembler.register([
17
- n
18
- ]);
19
- const c = this.assembler.injectableManager.getRegisteredIdentifiers();
20
- i.logPhaseEnd('registration', undefined, {
21
- registered: c
5
+ function o(o) {
6
+ if (o === undefined) return 'undefined';
7
+ if (o === null) return 'null';
8
+ if (typeof o === 'function') {
9
+ if (o.name) return o.name;
10
+ if (o.constructor?.name && o.constructor.name !== 'Function') {
11
+ return o.constructor.name;
12
+ }
13
+ return 'AnonymousFunction';
14
+ }
15
+ if (typeof o === 'object') {
16
+ const e = o.constructor?.name;
17
+ if (e && e !== 'Object') {
18
+ return e;
19
+ }
20
+ if (o.name && typeof o.name === 'string') {
21
+ return o.name;
22
+ }
23
+ return '[Object]';
24
+ }
25
+ return String(o);
26
+ }
27
+ let NoOpDebugLogger = class NoOpDebugLogger {
28
+ configure(o) {}
29
+ log(o, e, t) {}
30
+ logBuildStart(o) {}
31
+ logBuildEnd(o, e) {}
32
+ logRegistration(o) {}
33
+ logHook(o, e, t) {}
34
+ logPhaseStart(o, e) {}
35
+ logPhaseEnd(o, e, t) {}
36
+ logResolution(o, e, t) {}
37
+ logConstruction(o) {}
38
+ };
39
+ let ActiveDebugLogger = class ActiveDebugLogger {
40
+ configure(o) {
41
+ this.options = {
42
+ ...this.options,
43
+ ...o,
44
+ logPhases: {
45
+ ...this.options.logPhases,
46
+ ...o.logPhases || {}
47
+ }
48
+ };
49
+ }
50
+ logBuildStart(o) {
51
+ this.log('info', 'Build started', {
52
+ entry: o.name
53
+ });
54
+ }
55
+ logBuildEnd(o, e) {
56
+ const t = {
57
+ entry: o.name
58
+ };
59
+ if (e !== undefined) t.duration = `${e.toFixed(2)}ms`;
60
+ this.log('info', 'Build completed', t);
61
+ }
62
+ logRegistration(e) {
63
+ if (!this.shouldLog('registration')) return;
64
+ this.log('info', 'Registration', {
65
+ identifier: o(e.identifier),
66
+ isSingleton: e.isSingleton,
67
+ dependencies: e.dependencies.map((e)=>o(e)),
68
+ tags: e.tags
22
69
  });
23
- const h = cycleDetector.CycleDetector.getInstance().detect(this.assembler.injectableManager.getInjectables(), (e)=>injectableManager.formatIdentifier(e));
24
- if (h.length > 0) {
25
- for (const e of h){
26
- i.log('error', 'Circular dependency detected', {
27
- cycle: e.cycle,
28
- path: e.path
70
+ }
71
+ logHook(e, t, n) {
72
+ if (!this.shouldLog('hooks')) return;
73
+ const s = this.options.logTimings ? performance.now() : 0;
74
+ this.log('info', `Hook: ${e}`, {
75
+ target: o(t),
76
+ config: n
77
+ });
78
+ if (this.options.logTimings) {
79
+ return ()=>{
80
+ const o = performance.now() - s;
81
+ this.log('info', `Hook: ${e} completed`, {
82
+ duration: `${o.toFixed(2)}ms`
29
83
  });
84
+ };
85
+ }
86
+ }
87
+ logPhaseStart(o, e) {
88
+ this.log('info', `Phase: ${o} started`, e);
89
+ }
90
+ logPhaseEnd(o, e, t) {
91
+ const n = e !== undefined ? {
92
+ duration: `${e.toFixed(2)}ms`
93
+ } : {};
94
+ if (t) {
95
+ Object.assign(n, t);
96
+ }
97
+ this.log('info', `Phase: ${o} ended`, Object.keys(n).length > 0 ? n : undefined);
98
+ }
99
+ logResolution(o, e, t) {
100
+ if (!this.shouldLog('resolution')) return;
101
+ this.log('info', `Resolving: ${o}`, {
102
+ strategy: `${e} strategy`,
103
+ cache: t ? 'hit' : 'miss'
104
+ });
105
+ }
106
+ logConstruction(o) {
107
+ if (!this.shouldLog('construction')) return;
108
+ this.log('info', `Constructing: ${o}`);
109
+ }
110
+ shouldLog(o) {
111
+ return !this.options.logPhases || this.options.logPhases[o] !== false;
112
+ }
113
+ log(o, e, t) {
114
+ if (this.options.logger) {
115
+ this.options.logger(o, e, t);
116
+ } else {
117
+ const n = `[Assembler:${o}]`;
118
+ const s = this.options.useColors !== false ? this.colorize(o, n) : n;
119
+ if (t) {
120
+ console.log(`${s} ${e}`, t);
121
+ } else {
122
+ console.log(`${s} ${e}`);
30
123
  }
31
124
  }
32
- i.logPhaseStart('resolution');
33
- const g = this.assembler.require(l.identifier, r);
34
- i.logPhaseEnd('resolution');
35
- const m = this.assembler.hookManager.getCache().find((e)=>e.instance === g);
36
- if (!m) {
37
- throw new Error('Root instance not found in assemblages cache.');
38
- }
39
- const b = this.assembler.hookManager.getCache().indexOf(m);
40
- this.assembler.hookManager.getCache().splice(b, 1);
41
- i.logPhaseStart('hooks:onInit');
42
- this.assembler.hookManager.callInitHooks(this.assembler.publicContext);
43
- const d = r ? {
44
- ...l.configuration,
45
- ...r
46
- } : l.configuration;
47
- hookManager.HookManager.callHookImmediate(g, 'onInit', this.assembler.publicContext, d);
48
- i.logPhaseEnd('hooks:onInit');
49
- i.logPhaseStart('hooks:onInited');
50
- this.assembler.hookManager.callInitedHooks(this.assembler.publicContext);
51
- hookManager.HookManager.callHookImmediate(g, 'onInited', this.assembler.publicContext, d);
52
- i.logPhaseEnd('hooks:onInited');
53
- this.assembler.hookManager.clearCache();
54
- return g;
55
- }
56
- constructor(e){
57
- this.assembler = e;
125
+ }
126
+ colorize(o, e) {
127
+ const t = {
128
+ info: '\x1b[36m',
129
+ warn: '\x1b[33m',
130
+ error: '\x1b[31m',
131
+ reset: '\x1b[0m'
132
+ };
133
+ const n = t[o] || t.info;
134
+ return `${n}${e}${t.reset}`;
135
+ }
136
+ constructor(){
137
+ this.options = {
138
+ enabled: true,
139
+ logPhases: {
140
+ registration: true,
141
+ resolution: true,
142
+ construction: true,
143
+ hooks: true,
144
+ cache: true
145
+ },
146
+ logTimings: false,
147
+ logDependencyTree: true,
148
+ useColors: true
149
+ };
150
+ }
151
+ };
152
+ class DebugLogger {
153
+ static getInstance() {
154
+ return DebugLogger.instance;
155
+ }
156
+ static enable(o) {
157
+ if (o?.enabled === false) {
158
+ DebugLogger.instance = new NoOpDebugLogger();
159
+ return;
160
+ }
161
+ DebugLogger.instance = new ActiveDebugLogger();
162
+ if (o) {
163
+ DebugLogger.instance.configure(o);
164
+ }
165
+ }
166
+ static disable() {
167
+ DebugLogger.instance = new NoOpDebugLogger();
58
168
  }
59
169
  }
170
+ DebugLogger.instance = new NoOpDebugLogger();
60
171
 
61
- exports.AssemblerBuilder = AssemblerBuilder;
172
+ exports.DebugLogger = DebugLogger;
package/dist/index38.mjs CHANGED
@@ -1,57 +1,168 @@
1
- import { HookManager } from './index37.mjs';
2
- import { DebugLogger } from './index40.mjs';
3
- import { CycleDetector } from './index41.mjs';
4
- import { formatIdentifier } from './index35.mjs';
5
- import { setDefinitionValue } from './index30.mjs';
6
-
7
- class AssemblerBuilder {
8
- build(n, r) {
9
- const i = DebugLogger.getInstance();
10
- setDefinitionValue('singleton', true, n);
11
- i.logPhaseStart('registration');
12
- const l = this.assembler.register([
13
- n
14
- ]);
15
- const c = this.assembler.injectableManager.getRegisteredIdentifiers();
16
- i.logPhaseEnd('registration', undefined, {
17
- registered: c
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
18
65
  });
19
- const h = CycleDetector.getInstance().detect(this.assembler.injectableManager.getInjectables(), (e)=>formatIdentifier(e));
20
- if (h.length > 0) {
21
- for (const e of h){
22
- i.log('error', 'Circular dependency detected', {
23
- cycle: e.cycle,
24
- path: e.path
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`
25
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}`);
26
119
  }
27
120
  }
28
- i.logPhaseStart('resolution');
29
- const g = this.assembler.require(l.identifier, r);
30
- i.logPhaseEnd('resolution');
31
- const m = this.assembler.hookManager.getCache().find((e)=>e.instance === g);
32
- if (!m) {
33
- throw new Error('Root instance not found in assemblages cache.');
34
- }
35
- const b = this.assembler.hookManager.getCache().indexOf(m);
36
- this.assembler.hookManager.getCache().splice(b, 1);
37
- i.logPhaseStart('hooks:onInit');
38
- this.assembler.hookManager.callInitHooks(this.assembler.publicContext);
39
- const d = r ? {
40
- ...l.configuration,
41
- ...r
42
- } : l.configuration;
43
- HookManager.callHookImmediate(g, 'onInit', this.assembler.publicContext, d);
44
- i.logPhaseEnd('hooks:onInit');
45
- i.logPhaseStart('hooks:onInited');
46
- this.assembler.hookManager.callInitedHooks(this.assembler.publicContext);
47
- HookManager.callHookImmediate(g, 'onInited', this.assembler.publicContext, d);
48
- i.logPhaseEnd('hooks:onInited');
49
- this.assembler.hookManager.clearCache();
50
- return g;
51
- }
52
- constructor(e){
53
- this.assembler = e;
121
+ }
122
+ colorize(o, e) {
123
+ const t = {
124
+ info: '\x1b[36m',
125
+ warn: '\x1b[33m',
126
+ error: '\x1b[31m',
127
+ reset: '\x1b[0m'
128
+ };
129
+ const n = t[o] || t.info;
130
+ return `${n}${e}${t.reset}`;
131
+ }
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
145
+ };
146
+ }
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();
54
164
  }
55
165
  }
166
+ DebugLogger.instance = new NoOpDebugLogger();
56
167
 
57
- export { AssemblerBuilder };
168
+ export { DebugLogger };