assemblerjs 1.1.2 → 1.1.3

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 (80) hide show
  1. package/dist/index.d.ts +26 -0
  2. package/dist/index11.js +2 -2
  3. package/dist/index11.mjs +2 -2
  4. package/dist/index13.js +2 -2
  5. package/dist/index13.mjs +2 -2
  6. package/dist/index16.js +1 -1
  7. package/dist/index16.mjs +1 -1
  8. package/dist/index17.js +1 -1
  9. package/dist/index17.mjs +1 -1
  10. package/dist/index18.js +1 -1
  11. package/dist/index18.mjs +1 -1
  12. package/dist/index19.js +1 -1
  13. package/dist/index19.mjs +1 -1
  14. package/dist/index2.js +2 -2
  15. package/dist/index2.mjs +2 -2
  16. package/dist/index20.js +1 -1
  17. package/dist/index20.mjs +1 -1
  18. package/dist/index21.js +1 -1
  19. package/dist/index21.mjs +1 -1
  20. package/dist/index22.js +2 -2
  21. package/dist/index22.mjs +2 -2
  22. package/dist/index23.js +2 -2
  23. package/dist/index23.mjs +2 -2
  24. package/dist/index24.js +2 -2
  25. package/dist/index24.mjs +2 -2
  26. package/dist/index25.js +1 -1
  27. package/dist/index25.mjs +1 -1
  28. package/dist/index26.js +1 -1
  29. package/dist/index26.mjs +1 -1
  30. package/dist/index27.js +1 -1
  31. package/dist/index27.mjs +1 -1
  32. package/dist/index29.js +15 -38
  33. package/dist/index29.mjs +12 -37
  34. package/dist/index3.js +1 -1
  35. package/dist/index3.mjs +1 -1
  36. package/dist/index30.js +100 -58
  37. package/dist/index30.mjs +98 -58
  38. package/dist/index31.js +36 -27
  39. package/dist/index31.mjs +35 -27
  40. package/dist/index32.js +16 -59
  41. package/dist/index32.mjs +16 -59
  42. package/dist/index33.js +65 -28
  43. package/dist/index33.mjs +65 -28
  44. package/dist/index34.js +28 -28
  45. package/dist/index34.mjs +28 -28
  46. package/dist/index35.js +77 -15
  47. package/dist/index35.mjs +77 -12
  48. package/dist/index36.js +38 -104
  49. package/dist/index36.mjs +38 -102
  50. package/dist/index37.js +28 -102
  51. package/dist/index37.mjs +28 -102
  52. package/dist/index38.js +128 -23
  53. package/dist/index38.mjs +128 -23
  54. package/dist/index39.js +101 -18
  55. package/dist/index39.mjs +101 -18
  56. package/dist/index4.js +21 -8
  57. package/dist/index4.mjs +21 -8
  58. package/dist/index40.js +25 -25
  59. package/dist/index40.mjs +25 -24
  60. package/dist/index41.js +44 -18
  61. package/dist/index41.mjs +44 -17
  62. package/dist/index42.js +18 -44
  63. package/dist/index42.mjs +17 -44
  64. package/dist/index43.js +26 -191
  65. package/dist/index43.mjs +25 -191
  66. package/dist/index44.js +192 -940
  67. package/dist/index44.mjs +192 -940
  68. package/dist/index45.js +942 -2
  69. package/dist/index45.mjs +942 -2
  70. package/dist/index46.js +2 -2
  71. package/dist/index46.mjs +2 -2
  72. package/dist/index47.js +2 -14
  73. package/dist/index47.mjs +2 -14
  74. package/dist/index48.js +9 -34
  75. package/dist/index48.mjs +9 -34
  76. package/dist/index49.js +32 -55
  77. package/dist/index49.mjs +32 -54
  78. package/dist/index50.js +67 -0
  79. package/dist/index50.mjs +62 -0
  80. package/package.json +1 -1
package/dist/index36.js CHANGED
@@ -2,112 +2,46 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const constants = require('./index28.js');
6
- const reflection = require('./index35.js');
7
- const helpers = require('./index3.js');
5
+ const hookManager = require('./index35.js');
6
+ const debugLogger = require('./index38.js');
7
+ const schema = require('./index30.js');
8
8
 
9
- const n = {
10
- singleton: {
11
- test: (r)=>typeof r === 'boolean' || typeof r === 'undefined',
12
- throw: ()=>{
13
- throw new Error(`'singleton' property must be of type 'boolean' or 'undefined'.`);
14
- },
15
- transform: (r)=>{
16
- return typeof r === 'undefined' ? true : r ? true : false;
9
+ class AssemblerBuilder {
10
+ build(t, a) {
11
+ const n = debugLogger.DebugLogger.getInstance();
12
+ schema.setDefinitionValue('singleton', true, t);
13
+ n.logPhaseStart('registration');
14
+ const r = this.assembler.register([
15
+ t
16
+ ]);
17
+ n.logPhaseEnd('registration');
18
+ n.logPhaseStart('resolution');
19
+ const i = this.assembler.require(r.identifier, a);
20
+ n.logPhaseEnd('resolution');
21
+ const l = this.assembler.hookManager.getCache().find((e)=>e.instance === i);
22
+ if (!l) {
23
+ throw new Error('Root instance not found in assemblages cache.');
17
24
  }
18
- },
19
- events: {
20
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>typeof r === 'string'),
21
- throw: ()=>{
22
- throw new Error(`'events' property must be an array of strings or 'undefined'.`);
23
- },
24
- transform: (r)=>r
25
- },
26
- inject: {
27
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>Array.isArray(r) && r.length >= 1 && r.length <= 3),
28
- throw: ()=>{
29
- throw new Error(`'inject' property must be an array of tuples of length 1, 2 or 3.`);
30
- },
31
- transform: (r)=>r
32
- },
33
- use: {
34
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>{
35
- if (!Array.isArray(r) || r.length !== 2) {
36
- return false;
37
- }
38
- const e = r[1];
39
- return typeof e !== 'undefined';
40
- }),
41
- throw: ()=>{
42
- throw new Error(`'use' property must be an array of tuples of length 2 with [identifier, instance | factory].`);
43
- },
44
- transform: (r)=>r
45
- },
46
- engage: {
47
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>Array.isArray(r) && r.length >= 1 && r.length <= 3),
48
- throw: ()=>{
49
- throw new Error(`'engage' property must be an array of tuples of length 1, 2 or 3.`);
50
- },
51
- transform: (r)=>r
52
- },
53
- tags: {
54
- test: (r)=>typeof r === 'undefined' || typeof r === 'string' || Array.isArray(r) && r.every((r)=>typeof r === 'string'),
55
- throw: ()=>{
56
- throw new Error(`'tags' property must be a string or an array of strings.`);
57
- },
58
- transform: (r)=>typeof r === 'string' ? [
59
- r
60
- ] : r
61
- },
62
- metadata: {
63
- test: (r)=>(typeof r === 'object' || typeof r === 'undefined') && !Array.isArray(r),
64
- throw: ()=>{
65
- throw new Error(`'metadata' property must be of type 'object' or 'undefined'.`);
66
- },
67
- transform: (r)=>r
68
- },
69
- global: {
70
- test: (r)=>(typeof r === 'object' || typeof r === 'undefined') && !Array.isArray(r),
71
- throw: ()=>{
72
- throw new Error(`'global' property must be of type 'object' or 'undefined'.`);
73
- },
74
- transform: (r)=>r
25
+ const h = this.assembler.hookManager.getCache().indexOf(l);
26
+ this.assembler.hookManager.getCache().splice(h, 1);
27
+ n.logPhaseStart('hooks:onInit');
28
+ this.assembler.hookManager.callInitHooks(this.assembler.publicContext);
29
+ const c = a ? {
30
+ ...r.configuration,
31
+ ...a
32
+ } : r.configuration;
33
+ hookManager.HookManager.callHookImmediate(i, 'onInit', this.assembler.publicContext, c);
34
+ n.logPhaseEnd('hooks:onInit');
35
+ n.logPhaseStart('hooks:onInited');
36
+ this.assembler.hookManager.callInitedHooks(this.assembler.publicContext);
37
+ hookManager.HookManager.callHookImmediate(i, 'onInited', this.assembler.publicContext, c);
38
+ n.logPhaseEnd('hooks:onInited');
39
+ this.assembler.hookManager.clearCache();
40
+ return i;
75
41
  }
76
- };
77
- const validateDefinition = (r)=>{
78
- const e = {
79
- ...r
80
- };
81
- for(const r in e){
82
- if (!Object.keys(n).includes(r)) {
83
- throw new Error(`Property '${r}' is not a valid assemblage definition property.`);
84
- }
85
- }
86
- for(const r in n){
87
- const t = n[r].test;
88
- const o = n[r].throw;
89
- const s = n[r].transform;
90
- if (!t(e[r])) {
91
- o();
92
- }
93
- e[r] = s(e[r]);
94
- }
95
- return e;
96
- };
97
- const getDefinition = (e)=>{
98
- if (!helpers.isAssemblage(e)) {
99
- throw new Error(`Class '${e.name}' is not an assemblage or transversal.`);
42
+ constructor(e){
43
+ this.assembler = e;
100
44
  }
101
- return reflection.getOwnCustomMetadata(constants.ReflectValue.AssemblageDefinition, e);
102
- };
103
- const setDefinitionValue = (t, o, n)=>{
104
- const s = getDefinition(n);
105
- s[t] = o;
106
- const a = validateDefinition(s);
107
- reflection.defineCustomMetadata(constants.ReflectValue.AssemblageDefinition, a, n);
108
- return a;
109
- };
45
+ }
110
46
 
111
- exports.getDefinition = getDefinition;
112
- exports.setDefinitionValue = setDefinitionValue;
113
- exports.validateDefinition = validateDefinition;
47
+ exports.AssemblerBuilder = AssemblerBuilder;
package/dist/index36.mjs CHANGED
@@ -1,107 +1,43 @@
1
- import { ReflectValue } from './index28.mjs';
2
- import { getOwnCustomMetadata, defineCustomMetadata } from './index35.mjs';
3
- import { isAssemblage } from './index3.mjs';
1
+ import { HookManager } from './index35.mjs';
2
+ import { DebugLogger } from './index38.mjs';
3
+ import { setDefinitionValue } from './index30.mjs';
4
4
 
5
- const n = {
6
- singleton: {
7
- test: (r)=>typeof r === 'boolean' || typeof r === 'undefined',
8
- throw: ()=>{
9
- throw new Error(`'singleton' property must be of type 'boolean' or 'undefined'.`);
10
- },
11
- transform: (r)=>{
12
- return typeof r === 'undefined' ? true : r ? true : false;
5
+ class AssemblerBuilder {
6
+ build(t, a) {
7
+ const n = DebugLogger.getInstance();
8
+ setDefinitionValue('singleton', true, t);
9
+ n.logPhaseStart('registration');
10
+ const r = this.assembler.register([
11
+ t
12
+ ]);
13
+ n.logPhaseEnd('registration');
14
+ n.logPhaseStart('resolution');
15
+ const i = this.assembler.require(r.identifier, a);
16
+ n.logPhaseEnd('resolution');
17
+ const l = this.assembler.hookManager.getCache().find((e)=>e.instance === i);
18
+ if (!l) {
19
+ throw new Error('Root instance not found in assemblages cache.');
13
20
  }
14
- },
15
- events: {
16
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>typeof r === 'string'),
17
- throw: ()=>{
18
- throw new Error(`'events' property must be an array of strings or 'undefined'.`);
19
- },
20
- transform: (r)=>r
21
- },
22
- inject: {
23
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>Array.isArray(r) && r.length >= 1 && r.length <= 3),
24
- throw: ()=>{
25
- throw new Error(`'inject' property must be an array of tuples of length 1, 2 or 3.`);
26
- },
27
- transform: (r)=>r
28
- },
29
- use: {
30
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>{
31
- if (!Array.isArray(r) || r.length !== 2) {
32
- return false;
33
- }
34
- const e = r[1];
35
- return typeof e !== 'undefined';
36
- }),
37
- throw: ()=>{
38
- throw new Error(`'use' property must be an array of tuples of length 2 with [identifier, instance | factory].`);
39
- },
40
- transform: (r)=>r
41
- },
42
- engage: {
43
- test: (r)=>typeof r === 'undefined' || Array.isArray(r) && r.every((r)=>Array.isArray(r) && r.length >= 1 && r.length <= 3),
44
- throw: ()=>{
45
- throw new Error(`'engage' property must be an array of tuples of length 1, 2 or 3.`);
46
- },
47
- transform: (r)=>r
48
- },
49
- tags: {
50
- test: (r)=>typeof r === 'undefined' || typeof r === 'string' || Array.isArray(r) && r.every((r)=>typeof r === 'string'),
51
- throw: ()=>{
52
- throw new Error(`'tags' property must be a string or an array of strings.`);
53
- },
54
- transform: (r)=>typeof r === 'string' ? [
55
- r
56
- ] : r
57
- },
58
- metadata: {
59
- test: (r)=>(typeof r === 'object' || typeof r === 'undefined') && !Array.isArray(r),
60
- throw: ()=>{
61
- throw new Error(`'metadata' property must be of type 'object' or 'undefined'.`);
62
- },
63
- transform: (r)=>r
64
- },
65
- global: {
66
- test: (r)=>(typeof r === 'object' || typeof r === 'undefined') && !Array.isArray(r),
67
- throw: ()=>{
68
- throw new Error(`'global' property must be of type 'object' or 'undefined'.`);
69
- },
70
- transform: (r)=>r
21
+ const h = this.assembler.hookManager.getCache().indexOf(l);
22
+ this.assembler.hookManager.getCache().splice(h, 1);
23
+ n.logPhaseStart('hooks:onInit');
24
+ this.assembler.hookManager.callInitHooks(this.assembler.publicContext);
25
+ const c = a ? {
26
+ ...r.configuration,
27
+ ...a
28
+ } : r.configuration;
29
+ HookManager.callHookImmediate(i, 'onInit', this.assembler.publicContext, c);
30
+ n.logPhaseEnd('hooks:onInit');
31
+ n.logPhaseStart('hooks:onInited');
32
+ this.assembler.hookManager.callInitedHooks(this.assembler.publicContext);
33
+ HookManager.callHookImmediate(i, 'onInited', this.assembler.publicContext, c);
34
+ n.logPhaseEnd('hooks:onInited');
35
+ this.assembler.hookManager.clearCache();
36
+ return i;
71
37
  }
72
- };
73
- const validateDefinition = (r)=>{
74
- const e = {
75
- ...r
76
- };
77
- for(const r in e){
78
- if (!Object.keys(n).includes(r)) {
79
- throw new Error(`Property '${r}' is not a valid assemblage definition property.`);
80
- }
81
- }
82
- for(const r in n){
83
- const t = n[r].test;
84
- const o = n[r].throw;
85
- const s = n[r].transform;
86
- if (!t(e[r])) {
87
- o();
88
- }
89
- e[r] = s(e[r]);
90
- }
91
- return e;
92
- };
93
- const getDefinition = (e)=>{
94
- if (!isAssemblage(e)) {
95
- throw new Error(`Class '${e.name}' is not an assemblage or transversal.`);
38
+ constructor(e){
39
+ this.assembler = e;
96
40
  }
97
- return getOwnCustomMetadata(ReflectValue.AssemblageDefinition, e);
98
- };
99
- const setDefinitionValue = (t, o, n)=>{
100
- const s = getDefinition(n);
101
- s[t] = o;
102
- const a = validateDefinition(s);
103
- defineCustomMetadata(ReflectValue.AssemblageDefinition, a, n);
104
- return a;
105
- };
41
+ }
106
42
 
107
- export { getDefinition, setDefinitionValue, validateDefinition };
43
+ export { AssemblerBuilder };
package/dist/index37.js CHANGED
@@ -2,110 +2,36 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const transversalManager = require('./index13.js');
6
- const affect = require('./index12.js');
7
-
8
- class TransversalWeaver {
9
- static weave(n, r, o) {
10
- const c = transversalManager.TransversalManager.getInstance(o);
11
- const s = c.getAspectsForTarget(r);
12
- const a = Object.getPrototypeOf(n);
13
- const f = Object.getOwnPropertyNames(a).some((t)=>{
14
- if (t === 'constructor') return false;
15
- const n = Object.getOwnPropertyDescriptor(a, t);
16
- if (!n) return false;
17
- const r = n.value && typeof n.value === 'function';
18
- const o = n.get && typeof n.get === 'function';
19
- if (!r && !o) return false;
20
- const c = affect.getAffectedMethods(a, t);
21
- return c.length > 0;
22
- });
23
- if (s.length === 0 && !f) {
24
- return n;
25
- }
26
- return new Proxy(n, {
27
- get (t, e, n) {
28
- const r = Reflect.get(t, e, n);
29
- if (typeof r !== 'function') {
30
- return r;
31
- }
32
- return function(...n) {
33
- const o = String(e);
34
- const a = {
35
- target: t,
36
- methodName: o,
37
- args: n
38
- };
39
- const f = c.getAdvicesForJoinPoint(a, s, t, e);
40
- return TransversalWeaver.executeAdviceChain(f, r, t, n, a);
41
- };
42
- }
43
- });
44
- }
45
- static executeAdviceChain(t, e, n, r, o) {
46
- const c = t.filter((t)=>t.type === 'before');
47
- const s = t.filter((t)=>t.type === 'around');
48
- const a = t.filter((t)=>t.type === 'after');
49
- try {
50
- for (const t of c){
51
- const e = {
52
- ...o,
53
- config: t.config
54
- };
55
- t.method.call(t.transversalInstance, e);
56
- }
57
- let t;
58
- if (s.length > 0) {
59
- t = this.buildAroundChain(s, e, n, r, o);
60
- } else {
61
- t = e.apply(n, r);
62
- }
63
- if (t instanceof Promise) {
64
- return t.then((t)=>{
65
- for (const e of a){
66
- const n = {
67
- ...o,
68
- result: t
69
- };
70
- e.method.call(e.transversalInstance, n);
71
- }
72
- return t;
73
- }).catch((t)=>{
74
- o.error = t;
75
- throw t;
76
- });
77
- }
78
- for (const e of a){
79
- const n = {
80
- ...o,
81
- result: t,
82
- config: e.config
83
- };
84
- e.method.call(e.transversalInstance, n);
85
- }
86
- return t;
87
- } catch (t) {
88
- o.error = t;
89
- throw t;
90
- }
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
+ };
91
19
  }
92
- static buildAroundChain(t, e, n, r, o) {
93
- let c = 0;
94
- const s = ()=>{
95
- if (c < t.length) {
96
- const e = t[c++];
97
- const n = {
98
- ...o,
99
- proceed: s,
100
- config: e.config
101
- };
102
- return e.method.call(e.transversalInstance, n);
103
- } else {
104
- return e.apply(n, r);
105
- }
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)
106
30
  };
107
- return s();
31
+ }
32
+ constructor(s){
33
+ this.assembler = s;
108
34
  }
109
35
  }
110
36
 
111
- exports.TransversalWeaver = TransversalWeaver;
37
+ exports.ContextProvider = ContextProvider;
package/dist/index37.mjs CHANGED
@@ -1,107 +1,33 @@
1
- import { TransversalManager } from './index13.mjs';
2
- import { getAffectedMethods } from './index12.mjs';
3
-
4
- class TransversalWeaver {
5
- static weave(n, r, o) {
6
- const c = TransversalManager.getInstance(o);
7
- const s = c.getAspectsForTarget(r);
8
- const a = Object.getPrototypeOf(n);
9
- const f = Object.getOwnPropertyNames(a).some((t)=>{
10
- if (t === 'constructor') return false;
11
- const n = Object.getOwnPropertyDescriptor(a, t);
12
- if (!n) return false;
13
- const r = n.value && typeof n.value === 'function';
14
- const o = n.get && typeof n.get === 'function';
15
- if (!r && !o) return false;
16
- const c = getAffectedMethods(a, t);
17
- return c.length > 0;
18
- });
19
- if (s.length === 0 && !f) {
20
- return n;
21
- }
22
- return new Proxy(n, {
23
- get (t, e, n) {
24
- const r = Reflect.get(t, e, n);
25
- if (typeof r !== 'function') {
26
- return r;
27
- }
28
- return function(...n) {
29
- const o = String(e);
30
- const a = {
31
- target: t,
32
- methodName: o,
33
- args: n
34
- };
35
- const f = c.getAdvicesForJoinPoint(a, s, t, e);
36
- return TransversalWeaver.executeAdviceChain(f, r, t, n, a);
37
- };
38
- }
39
- });
40
- }
41
- static executeAdviceChain(t, e, n, r, o) {
42
- const c = t.filter((t)=>t.type === 'before');
43
- const s = t.filter((t)=>t.type === 'around');
44
- const a = t.filter((t)=>t.type === 'after');
45
- try {
46
- for (const t of c){
47
- const e = {
48
- ...o,
49
- config: t.config
50
- };
51
- t.method.call(t.transversalInstance, e);
52
- }
53
- let t;
54
- if (s.length > 0) {
55
- t = this.buildAroundChain(s, e, n, r, o);
56
- } else {
57
- t = e.apply(n, r);
58
- }
59
- if (t instanceof Promise) {
60
- return t.then((t)=>{
61
- for (const e of a){
62
- const n = {
63
- ...o,
64
- result: t
65
- };
66
- e.method.call(e.transversalInstance, n);
67
- }
68
- return t;
69
- }).catch((t)=>{
70
- o.error = t;
71
- throw t;
72
- });
73
- }
74
- for (const e of a){
75
- const n = {
76
- ...o,
77
- result: t,
78
- config: e.config
79
- };
80
- e.method.call(e.transversalInstance, n);
81
- }
82
- return t;
83
- } catch (t) {
84
- o.error = t;
85
- throw t;
86
- }
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
+ };
87
15
  }
88
- static buildAroundChain(t, e, n, r, o) {
89
- let c = 0;
90
- const s = ()=>{
91
- if (c < t.length) {
92
- const e = t[c++];
93
- const n = {
94
- ...o,
95
- proceed: s,
96
- config: e.config
97
- };
98
- return e.method.call(e.transversalInstance, n);
99
- } else {
100
- return e.apply(n, r);
101
- }
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)
102
26
  };
103
- return s();
27
+ }
28
+ constructor(s){
29
+ this.assembler = s;
104
30
  }
105
31
  }
106
32
 
107
- export { TransversalWeaver };
33
+ export { ContextProvider };