assemblerjs 1.1.18 → 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 (71) hide show
  1. package/dist/index11.js +2 -2
  2. package/dist/index11.mjs +2 -2
  3. package/dist/index13.js +2 -2
  4. package/dist/index13.mjs +2 -2
  5. package/dist/index16.js +1 -1
  6. package/dist/index16.mjs +1 -1
  7. package/dist/index17.js +1 -1
  8. package/dist/index17.mjs +1 -1
  9. package/dist/index18.js +1 -1
  10. package/dist/index18.mjs +1 -1
  11. package/dist/index19.js +1 -1
  12. package/dist/index19.mjs +1 -1
  13. package/dist/index2.js +2 -2
  14. package/dist/index2.mjs +2 -2
  15. package/dist/index20.js +1 -1
  16. package/dist/index20.mjs +1 -1
  17. package/dist/index21.js +1 -1
  18. package/dist/index21.mjs +1 -1
  19. package/dist/index22.js +2 -2
  20. package/dist/index22.mjs +2 -2
  21. package/dist/index23.js +2 -2
  22. package/dist/index23.mjs +2 -2
  23. package/dist/index24.js +2 -2
  24. package/dist/index24.mjs +2 -2
  25. package/dist/index25.js +1 -1
  26. package/dist/index25.mjs +1 -1
  27. package/dist/index26.js +1 -1
  28. package/dist/index26.mjs +1 -1
  29. package/dist/index29.js +15 -38
  30. package/dist/index29.mjs +12 -37
  31. package/dist/index3.js +1 -1
  32. package/dist/index3.mjs +1 -1
  33. package/dist/index30.js +100 -151
  34. package/dist/index30.mjs +98 -150
  35. package/dist/index31.js +99 -44
  36. package/dist/index31.mjs +99 -44
  37. package/dist/index32.js +23 -74
  38. package/dist/index32.mjs +23 -74
  39. package/dist/index33.js +154 -51
  40. package/dist/index33.mjs +153 -51
  41. package/dist/index34.js +47 -28
  42. package/dist/index34.mjs +47 -28
  43. package/dist/index35.js +65 -152
  44. package/dist/index35.mjs +65 -152
  45. package/dist/index36.js +50 -58
  46. package/dist/index36.mjs +50 -58
  47. package/dist/index37.js +32 -18
  48. package/dist/index37.mjs +32 -15
  49. package/dist/index38.js +158 -99
  50. package/dist/index38.mjs +158 -97
  51. package/dist/index39.js +57 -16
  52. package/dist/index39.mjs +57 -16
  53. package/dist/index4.js +7 -7
  54. package/dist/index4.mjs +7 -7
  55. package/dist/index40.js +35 -100
  56. package/dist/index40.mjs +34 -100
  57. package/dist/index41.js +18 -24
  58. package/dist/index41.mjs +18 -24
  59. package/dist/index42.js +49 -29
  60. package/dist/index42.mjs +49 -28
  61. package/dist/index44.js +29 -49
  62. package/dist/index44.mjs +28 -49
  63. package/dist/index45.js +4 -4
  64. package/dist/index45.mjs +4 -4
  65. package/dist/index49.js +1 -1
  66. package/dist/index49.mjs +1 -1
  67. package/dist/index50.js +2 -2
  68. package/dist/index50.mjs +2 -2
  69. package/dist/index51.js +1 -1
  70. package/dist/index51.mjs +1 -1
  71. package/package.json +1 -1
package/dist/index33.mjs CHANGED
@@ -1,57 +1,159 @@
1
- import { HookManager } from './index32.mjs';
2
- import { DebugLogger } from './index35.mjs';
3
- import { CycleDetector } from './index36.mjs';
4
- import { formatIdentifier } from './index30.mjs';
5
- import { setDefinitionValue } from './index38.mjs';
1
+ import { HookManager } from './index35.mjs';
2
+ import { SingletonStrategy, TransientStrategy } from './index44.mjs';
3
+ import { DebugLogger } from './index38.mjs';
4
+ import { isClass } from '@assemblerjs/core';
5
+ import { resolveInstanceInjectionTuple } from './index43.mjs';
6
+ import { resolveInjectionTuple } from './index42.mjs';
7
+ import { Injectable } from './index45.mjs';
6
8
 
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
18
- });
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
25
- });
9
+ function formatIdentifier(e) {
10
+ if (e === undefined) return 'undefined';
11
+ if (e === null) return 'null';
12
+ if (typeof e === 'function') {
13
+ if (e.name) return e.name;
14
+ if (e.constructor?.name && e.constructor.name !== 'Function') {
15
+ return e.constructor.name;
16
+ }
17
+ return 'AnonymousFunction';
18
+ }
19
+ if (typeof e === 'string') return e;
20
+ if (typeof e === 'symbol') return e.toString();
21
+ if (typeof e === 'number') return String(e);
22
+ if (typeof e === 'boolean') return String(e);
23
+ if (typeof e === 'object') {
24
+ if (e.name && typeof e.name === 'string') {
25
+ return e.name;
26
+ }
27
+ const t = e.constructor?.name;
28
+ if (t && t !== 'Object') {
29
+ return t;
30
+ }
31
+ try {
32
+ const t = JSON.stringify(e);
33
+ if (t.length > 100) {
34
+ return t.substring(0, 100) + '...';
26
35
  }
36
+ return t;
37
+ } catch {
38
+ return '[UnknownObject]';
27
39
  }
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;
40
+ }
41
+ return String(e);
42
+ }
43
+ function c(e) {
44
+ if (isClass(e)) {
45
+ const t = e.prototype && Object.getOwnPropertyNames(e.prototype).length > 1;
46
+ return t ? 'class' : 'class';
47
+ }
48
+ if (typeof e === 'function') return 'function';
49
+ if (typeof e === 'string') return 'string';
50
+ if (typeof e === 'symbol') return 'symbol';
51
+ if (typeof e === 'object' && e !== null) return 'object';
52
+ return 'unknown';
53
+ }
54
+ class InjectableManager {
55
+ setContexts(e, t) {
56
+ this.privateContext = e;
57
+ this.publicContext = t;
58
+ }
59
+ register(i, o = false) {
60
+ const a = DebugLogger.getInstance();
61
+ const c = o === true ? resolveInstanceInjectionTuple(i) : resolveInjectionTuple(i);
62
+ if (this.has(c.identifier)) {
63
+ const e = `An assemblage is already registered with identifier '${c.identifier.name}'.`;
64
+ a.log('error', 'Duplicate registration', {
65
+ identifier: c.identifier.name,
66
+ error: e
67
+ });
68
+ throw new Error(e);
69
+ }
70
+ const f = Injectable.of(c, this.privateContext, this.publicContext);
71
+ a.logRegistration(f);
72
+ this.injectables.set(f.identifier, f);
73
+ if (f.concrete) {
74
+ HookManager.callHook(f.concrete, 'onRegister', this.publicContext, f.configuration);
75
+ }
76
+ return f;
77
+ }
78
+ has(e) {
79
+ return this.injectables.has(e);
80
+ }
81
+ require(e, t, n) {
82
+ if (!this.injectables.has(e)) {
83
+ const r = this.resolvingStack.has(e);
84
+ const i = r ? 'Circular dependency detected' : 'Dependency not registered';
85
+ const o = formatIdentifier(e);
86
+ const a = c(e);
87
+ const f = t?.__paramIndex;
88
+ const u = t?.__paramCount;
89
+ const l = t?.__expectedType;
90
+ const g = r ? `Circular dependency detected: '${o}' is already being resolved.` : `Dependency '${o}' has not been registered (Class/Service not found in current assemblages).`;
91
+ const d = {
92
+ identifier: o,
93
+ caller: n ? formatIdentifier(n) : 'unknown',
94
+ type: a,
95
+ error: g
96
+ };
97
+ if (f !== undefined) {
98
+ d.paramIndex = f;
99
+ }
100
+ if (u !== undefined) {
101
+ d.paramCount = u;
102
+ }
103
+ if (l !== undefined) {
104
+ const e = l?.name || formatIdentifier(l);
105
+ d.expectedType = e;
106
+ }
107
+ DebugLogger.getInstance().log('error', i, d);
108
+ throw new Error(g);
109
+ }
110
+ const r = this.injectables.get(e);
111
+ this.resolvingStack.add(r.identifier);
112
+ try {
113
+ if (r.isSingleton) {
114
+ return this.singletonStrategy.resolve(r, t);
115
+ } else {
116
+ return this.transientStrategy.resolve(r, t);
117
+ }
118
+ } finally{
119
+ this.resolvingStack.delete(r.identifier);
120
+ }
121
+ }
122
+ concrete(e) {
123
+ const t = this.injectables.get(e);
124
+ if (t) return t.concrete;
125
+ return;
126
+ }
127
+ tagged(...e) {
128
+ const t = [];
129
+ for (const n of e){
130
+ for (const [e, r] of this.injectables){
131
+ if (r.tags.includes(n)) t.push(r.build());
132
+ }
133
+ }
134
+ return t;
135
+ }
136
+ dispose() {
137
+ for (const [e, t] of this.injectables){
138
+ t.dispose();
139
+ }
140
+ this.resolvingStack.clear();
141
+ }
142
+ get size() {
143
+ return this.injectables.size;
144
+ }
145
+ getRegisteredIdentifiers() {
146
+ return Array.from(this.injectables.keys()).map((e)=>e?.name || String(e));
147
+ }
148
+ getInjectables() {
149
+ return this.injectables;
150
+ }
151
+ constructor(){
152
+ this.injectables = new Map();
153
+ this.resolvingStack = new Set();
154
+ this.singletonStrategy = new SingletonStrategy();
155
+ this.transientStrategy = new TransientStrategy();
54
156
  }
55
157
  }
56
158
 
57
- export { AssemblerBuilder };
159
+ export { InjectableManager, formatIdentifier };
package/dist/index34.js CHANGED
@@ -2,36 +2,55 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
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
- };
5
+ const debugLogger = require('./index38.js');
6
+
7
+ function t(e) {
8
+ return typeof e === 'symbol' ? 'symbol' : 'string';
9
+ }
10
+ class ObjectManager {
11
+ use(r, o) {
12
+ if (this.has(r)) {
13
+ const o = typeof r === 'symbol' ? r.toString() : String(r);
14
+ const s = `Object/value '${o}' is already registered (cannot register twice).`;
15
+ debugLogger.DebugLogger.getInstance().log('error', 'Duplicate object/value registration', {
16
+ identifier: o,
17
+ type: t(r),
18
+ error: s
19
+ });
20
+ throw new Error(s);
21
+ }
22
+ this.objects.set(r, o);
23
+ return o;
24
+ }
25
+ has(e) {
26
+ return this.objects.has(e);
27
+ }
28
+ require(r) {
29
+ if (!this.objects.has(r)) {
30
+ const o = typeof r === 'symbol' ? r.toString() : String(r);
31
+ const s = `Object/value '${o}' has not been registered in the object store.`;
32
+ debugLogger.DebugLogger.getInstance().log('error', 'Object/value not found', {
33
+ identifier: o,
34
+ type: t(r),
35
+ error: s
36
+ });
37
+ throw new Error(s);
38
+ }
39
+ return this.objects.get(r);
40
+ }
41
+ addGlobal(e, t) {
42
+ if (this.globals.has(e)) {
43
+ throw new Error(`Global value with key '${e}' has already been registered.`);
44
+ }
45
+ this.globals.set(e, t);
19
46
  }
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
- };
47
+ global(e) {
48
+ return this.globals.get(e);
31
49
  }
32
- constructor(s){
33
- this.assembler = s;
50
+ constructor(){
51
+ this.objects = new Map();
52
+ this.globals = new Map();
34
53
  }
35
54
  }
36
55
 
37
- exports.ContextProvider = ContextProvider;
56
+ exports.ObjectManager = ObjectManager;
package/dist/index34.mjs CHANGED
@@ -1,33 +1,52 @@
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
- };
1
+ import { DebugLogger } from './index38.mjs';
2
+
3
+ function t(e) {
4
+ return typeof e === 'symbol' ? 'symbol' : 'string';
5
+ }
6
+ class ObjectManager {
7
+ use(r, o) {
8
+ if (this.has(r)) {
9
+ const o = typeof r === 'symbol' ? r.toString() : String(r);
10
+ const s = `Object/value '${o}' is already registered (cannot register twice).`;
11
+ DebugLogger.getInstance().log('error', 'Duplicate object/value registration', {
12
+ identifier: o,
13
+ type: t(r),
14
+ error: s
15
+ });
16
+ throw new Error(s);
17
+ }
18
+ this.objects.set(r, o);
19
+ return o;
20
+ }
21
+ has(e) {
22
+ return this.objects.has(e);
23
+ }
24
+ require(r) {
25
+ if (!this.objects.has(r)) {
26
+ const o = typeof r === 'symbol' ? r.toString() : String(r);
27
+ const s = `Object/value '${o}' has not been registered in the object store.`;
28
+ DebugLogger.getInstance().log('error', 'Object/value not found', {
29
+ identifier: o,
30
+ type: t(r),
31
+ error: s
32
+ });
33
+ throw new Error(s);
34
+ }
35
+ return this.objects.get(r);
36
+ }
37
+ addGlobal(e, t) {
38
+ if (this.globals.has(e)) {
39
+ throw new Error(`Global value with key '${e}' has already been registered.`);
40
+ }
41
+ this.globals.set(e, t);
15
42
  }
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
- };
43
+ global(e) {
44
+ return this.globals.get(e);
27
45
  }
28
- constructor(s){
29
- this.assembler = s;
46
+ constructor(){
47
+ this.objects = new Map();
48
+ this.globals = new Map();
30
49
  }
31
50
  }
32
51
 
33
- export { ContextProvider };
52
+ export { ObjectManager };
package/dist/index35.js CHANGED
@@ -2,171 +2,84 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
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
- if (o.name && typeof o.name === 'string') {
17
- return o.name;
18
- }
19
- const e = o.constructor?.name;
20
- if (e && e !== 'Object') {
21
- return e;
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
5
+ const core = require('@assemblerjs/core');
6
+ const debugLogger = require('./index38.js');
7
+
8
+ class HookManager {
9
+ prepareInitHook(o, t) {
10
+ this.initCache.push({
11
+ instance: o,
12
+ configuration: t
69
13
  });
14
+ return this.initCache;
70
15
  }
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`
83
- });
84
- };
16
+ callInitHooks(o) {
17
+ for (const t of this.initCache){
18
+ HookManager.callHookImmediate(t.instance, 'onInit', o, t.configuration);
85
19
  }
86
20
  }
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);
21
+ callInitedHooks(o) {
22
+ for (const t of [
23
+ ...this.initCache
24
+ ].reverse()){
25
+ HookManager.callHookImmediate(t.instance, 'onInited', o, t.configuration);
96
26
  }
97
- this.log('info', `Phase: ${o} ended`, Object.keys(n).length > 0 ? n : undefined);
98
27
  }
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
- });
28
+ clearCache() {
29
+ this.initCache.length = 0;
105
30
  }
106
- logConstruction(o) {
107
- if (!this.shouldLog('construction')) return;
108
- this.log('info', `Constructing: ${o}`);
31
+ getCache() {
32
+ return this.initCache;
109
33
  }
110
- shouldLog(o) {
111
- return !this.options.logPhases || this.options.logPhases[o] !== false;
34
+ constructor(){
35
+ this.initCache = [];
112
36
  }
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}`);
37
+ }
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);
123
61
  }
62
+ } else {
63
+ if (r) r();
64
+ t();
124
65
  }
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
- }
66
+ });
151
67
  };
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();
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();
159
76
  return;
160
77
  }
161
- DebugLogger.instance = new ActiveDebugLogger();
162
- if (o) {
163
- DebugLogger.instance.configure(o);
164
- }
165
- }
166
- static disable() {
167
- DebugLogger.instance = new NoOpDebugLogger();
78
+ s.bind(e)(n, a);
79
+ if (r) r();
80
+ } else {
81
+ if (r) r();
168
82
  }
169
- }
170
- DebugLogger.instance = new NoOpDebugLogger();
83
+ };
171
84
 
172
- exports.DebugLogger = DebugLogger;
85
+ exports.HookManager = HookManager;