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.
- package/dist/index.d.ts +1 -0
- package/dist/index13.js +97 -82
- package/dist/index13.mjs +97 -82
- package/dist/index18.js +1 -1
- package/dist/index18.mjs +1 -1
- package/dist/index19.js +1 -1
- package/dist/index19.mjs +1 -1
- package/dist/index20.js +1 -1
- package/dist/index20.mjs +1 -1
- package/dist/index21.js +1 -1
- package/dist/index21.mjs +1 -1
- package/dist/index22.js +1 -1
- package/dist/index22.mjs +1 -1
- package/dist/index23.js +1 -1
- package/dist/index23.mjs +1 -1
- package/dist/index24.js +1 -1
- package/dist/index24.mjs +1 -1
- package/dist/index27.js +1 -1
- package/dist/index27.mjs +1 -1
- package/dist/index31.js +100 -35
- package/dist/index31.mjs +100 -34
- package/dist/index32.js +24 -101
- package/dist/index32.mjs +24 -101
- package/dist/index33.js +152 -22
- package/dist/index33.mjs +151 -22
- package/dist/index34.js +44 -16
- package/dist/index34.mjs +44 -16
- package/dist/index35.js +66 -145
- package/dist/index35.mjs +67 -145
- package/dist/index36.js +50 -45
- package/dist/index36.mjs +50 -45
- package/dist/index37.js +28 -76
- package/dist/index37.mjs +28 -76
- package/dist/index38.js +161 -50
- package/dist/index38.mjs +161 -50
- package/dist/index39.js +60 -28
- package/dist/index39.mjs +60 -28
- package/dist/index4.js +7 -7
- package/dist/index4.mjs +7 -7
- package/dist/index40.js +32 -158
- package/dist/index40.mjs +31 -158
- package/dist/index41.js +16 -57
- package/dist/index41.mjs +16 -57
- package/dist/index44.js +28 -941
- package/dist/index44.mjs +27 -941
- package/dist/index45.js +194 -2
- package/dist/index45.mjs +194 -2
- package/dist/index46.js +942 -2
- package/dist/index46.mjs +942 -2
- package/dist/index47.js +2 -29
- package/dist/index47.mjs +2 -28
- package/dist/index48.js +2 -194
- package/dist/index48.mjs +2 -194
- package/dist/index49.js +1 -1
- package/dist/index49.mjs +1 -1
- package/dist/index50.js +2 -2
- package/dist/index50.mjs +2 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1248,6 +1248,7 @@ export declare class TransversalManager {
|
|
|
1248
1248
|
private static instances;
|
|
1249
1249
|
private static transversalInstances;
|
|
1250
1250
|
private static transversalMetadata;
|
|
1251
|
+
private static abstractToConcreteMap;
|
|
1251
1252
|
private constructor();
|
|
1252
1253
|
/**
|
|
1253
1254
|
* Gets or creates an TransversalManager instance for a given context.
|
package/dist/index13.js
CHANGED
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const core = require('@assemblerjs/core');
|
|
6
|
-
const pointcutMatcher = require('./
|
|
6
|
+
const pointcutMatcher = require('./index32.js');
|
|
7
7
|
const affect = require('./index12.js');
|
|
8
8
|
const schema = require('./index30.js');
|
|
9
9
|
|
|
10
10
|
class TransversalManager {
|
|
11
11
|
static getInstance(e) {
|
|
12
|
-
let
|
|
13
|
-
if (!
|
|
14
|
-
|
|
15
|
-
this.instances.set(e,
|
|
12
|
+
let a = this.instances.get(e);
|
|
13
|
+
if (!a) {
|
|
14
|
+
a = new TransversalManager(e);
|
|
15
|
+
this.instances.set(e, a);
|
|
16
16
|
}
|
|
17
|
-
return
|
|
17
|
+
return a;
|
|
18
18
|
}
|
|
19
19
|
getTransversalInstance(e) {
|
|
20
20
|
return TransversalManager.transversalInstances.get(e);
|
|
@@ -22,88 +22,92 @@ class TransversalManager {
|
|
|
22
22
|
static resetGlobalState() {
|
|
23
23
|
TransversalManager.transversalInstances.clear();
|
|
24
24
|
TransversalManager.transversalMetadata.clear();
|
|
25
|
+
TransversalManager.abstractToConcreteMap.clear();
|
|
25
26
|
TransversalManager.instances = new WeakMap();
|
|
26
27
|
}
|
|
27
|
-
registerTransversal(
|
|
28
|
+
registerTransversal(a, r) {
|
|
28
29
|
let s;
|
|
29
|
-
let
|
|
30
|
+
let n;
|
|
30
31
|
let o;
|
|
31
|
-
if (
|
|
32
|
-
s =
|
|
33
|
-
|
|
32
|
+
if (a.length === 1) {
|
|
33
|
+
s = a[0];
|
|
34
|
+
n = a[0];
|
|
34
35
|
o = undefined;
|
|
35
|
-
} else if (
|
|
36
|
-
const
|
|
37
|
-
if (core.isClass(
|
|
38
|
-
s =
|
|
39
|
-
|
|
36
|
+
} else if (a.length === 2) {
|
|
37
|
+
const t = a[1];
|
|
38
|
+
if (core.isClass(t)) {
|
|
39
|
+
s = a[0];
|
|
40
|
+
n = t;
|
|
40
41
|
o = undefined;
|
|
41
42
|
} else {
|
|
42
|
-
s =
|
|
43
|
-
|
|
44
|
-
o =
|
|
43
|
+
s = a[0];
|
|
44
|
+
n = a[0];
|
|
45
|
+
o = t;
|
|
45
46
|
}
|
|
46
47
|
} else {
|
|
47
|
-
s =
|
|
48
|
-
|
|
49
|
-
o =
|
|
48
|
+
s = a[0];
|
|
49
|
+
n = a[1];
|
|
50
|
+
o = a[2];
|
|
51
|
+
}
|
|
52
|
+
const c = n.name;
|
|
53
|
+
if (s !== n) {
|
|
54
|
+
TransversalManager.abstractToConcreteMap.set(s.name, c);
|
|
50
55
|
}
|
|
51
|
-
const c = r.name;
|
|
52
56
|
if (!TransversalManager.transversalInstances.has(c)) {
|
|
53
|
-
const e =
|
|
54
|
-
const
|
|
55
|
-
const i = schema.getDefinition(
|
|
57
|
+
const e = r || this.context;
|
|
58
|
+
const a = e.require(s, o);
|
|
59
|
+
const i = schema.getDefinition(n);
|
|
56
60
|
if (!i) {
|
|
57
61
|
throw new Error(`Transversal ${c} must be decorated with @Transversal`);
|
|
58
62
|
}
|
|
59
|
-
TransversalManager.transversalInstances.set(c,
|
|
63
|
+
TransversalManager.transversalInstances.set(c, a);
|
|
60
64
|
const l = {
|
|
61
65
|
definition: i,
|
|
62
|
-
advices: this.extractAdvices(
|
|
63
|
-
instance:
|
|
66
|
+
advices: this.extractAdvices(n, a),
|
|
67
|
+
instance: a
|
|
64
68
|
};
|
|
65
69
|
TransversalManager.transversalMetadata.set(c, l);
|
|
66
70
|
}
|
|
67
71
|
}
|
|
68
|
-
extractAdvices(e,
|
|
69
|
-
const
|
|
72
|
+
extractAdvices(e, a) {
|
|
73
|
+
const r = schema.getDefinition(e);
|
|
70
74
|
const s = [];
|
|
71
|
-
const
|
|
72
|
-
for (const
|
|
73
|
-
const
|
|
74
|
-
if (typeof
|
|
75
|
-
throw new Error(`Advice method ${
|
|
75
|
+
const n = r?.metadata?.advices || [];
|
|
76
|
+
for (const t of n){
|
|
77
|
+
const r = a[t.methodName];
|
|
78
|
+
if (typeof r !== 'function') {
|
|
79
|
+
throw new Error(`Advice method ${t.methodName} not found in ${e.name}`);
|
|
76
80
|
}
|
|
77
|
-
const
|
|
81
|
+
const n = t.pointcut.startsWith('execution(') ? undefined : t.pointcut;
|
|
78
82
|
s.push({
|
|
79
|
-
type:
|
|
80
|
-
pointcut:
|
|
81
|
-
method:
|
|
82
|
-
transversalInstance:
|
|
83
|
-
priority:
|
|
84
|
-
enabled:
|
|
85
|
-
role:
|
|
83
|
+
type: t.type,
|
|
84
|
+
pointcut: t.pointcut,
|
|
85
|
+
method: r,
|
|
86
|
+
transversalInstance: a,
|
|
87
|
+
priority: t.priority || 0,
|
|
88
|
+
enabled: t.enabled ?? true,
|
|
89
|
+
role: n
|
|
86
90
|
});
|
|
87
91
|
}
|
|
88
92
|
return s;
|
|
89
93
|
}
|
|
90
94
|
getAspectsForTarget(e) {
|
|
91
|
-
const
|
|
92
|
-
for (const
|
|
93
|
-
if (this.hasMatchingAdviceForClass(
|
|
94
|
-
|
|
95
|
+
const a = [];
|
|
96
|
+
for (const t of TransversalManager.transversalMetadata.values()){
|
|
97
|
+
if (this.hasMatchingAdviceForClass(t, e)) {
|
|
98
|
+
a.push(t);
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
|
-
return
|
|
101
|
+
return a;
|
|
98
102
|
}
|
|
99
|
-
hasMatchingAdviceForClass(e,
|
|
103
|
+
hasMatchingAdviceForClass(e, a) {
|
|
100
104
|
return e.advices.some((e)=>{
|
|
101
105
|
if (!e.enabled) return false;
|
|
102
|
-
const
|
|
103
|
-
if (
|
|
104
|
-
const e =
|
|
105
|
-
const
|
|
106
|
-
return
|
|
106
|
+
const t = e.pointcut.match(/execution\(([^.]+)\.[^)]+\)/);
|
|
107
|
+
if (t) {
|
|
108
|
+
const e = t[1];
|
|
109
|
+
const r = this.patternToRegex(e);
|
|
110
|
+
return r.test(a.name);
|
|
107
111
|
}
|
|
108
112
|
return false;
|
|
109
113
|
});
|
|
@@ -112,51 +116,61 @@ class TransversalManager {
|
|
|
112
116
|
if (e === '*') {
|
|
113
117
|
return /.*/;
|
|
114
118
|
}
|
|
115
|
-
const
|
|
116
|
-
const
|
|
117
|
-
return new RegExp(`^${
|
|
119
|
+
const a = e.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
|
|
120
|
+
const t = a.replace(/\*/g, '.*');
|
|
121
|
+
return new RegExp(`^${t}$`);
|
|
118
122
|
}
|
|
119
|
-
getAdvicesForJoinPoint(e,
|
|
123
|
+
getAdvicesForJoinPoint(e, t, s, n) {
|
|
120
124
|
const o = [];
|
|
121
|
-
for (const
|
|
122
|
-
for (const
|
|
123
|
-
if (!
|
|
124
|
-
const
|
|
125
|
-
if (
|
|
126
|
-
o.push(
|
|
125
|
+
for (const r of t){
|
|
126
|
+
for (const t of r.advices){
|
|
127
|
+
if (!t.enabled) continue;
|
|
128
|
+
const r = pointcutMatcher.PointcutMatcher.parse(t.pointcut);
|
|
129
|
+
if (r.matches(e)) {
|
|
130
|
+
o.push(t);
|
|
127
131
|
}
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
|
-
if (s &&
|
|
134
|
+
if (s && n) {
|
|
131
135
|
const e = s.constructor.prototype;
|
|
132
|
-
const
|
|
133
|
-
for (const e of
|
|
134
|
-
const
|
|
135
|
-
const
|
|
136
|
-
let
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
136
|
+
const a = affect.getAffectedMethods(e, n);
|
|
137
|
+
for (const e of a){
|
|
138
|
+
const a = e.transversal;
|
|
139
|
+
const t = typeof a === 'function' ? a.name : String(a);
|
|
140
|
+
let r = t;
|
|
141
|
+
if (TransversalManager.abstractToConcreteMap.has(t)) {
|
|
142
|
+
r = TransversalManager.abstractToConcreteMap.get(t);
|
|
143
|
+
}
|
|
144
|
+
let s = TransversalManager.transversalMetadata.get(r);
|
|
145
|
+
if (!s) {
|
|
146
|
+
try {
|
|
147
|
+
if (typeof a === 'function') {
|
|
148
|
+
this.registerTransversal([
|
|
149
|
+
a
|
|
150
|
+
]);
|
|
151
|
+
s = TransversalManager.transversalMetadata.get(r);
|
|
152
|
+
}
|
|
153
|
+
} catch (e) {
|
|
154
|
+
console.warn(`Failed to lazy-register transversal ${t}:`, e);
|
|
141
155
|
}
|
|
142
156
|
}
|
|
143
|
-
if (!
|
|
144
|
-
console.warn(`@Affect: Transversal ${
|
|
157
|
+
if (!s) {
|
|
158
|
+
console.warn(`@Affect: Transversal ${t} not found. Make sure it's registered in transversals[].`);
|
|
145
159
|
continue;
|
|
146
160
|
}
|
|
147
|
-
for (const
|
|
148
|
-
if (!
|
|
149
|
-
if (e.role &&
|
|
161
|
+
for (const a of s.advices){
|
|
162
|
+
if (!a.enabled) continue;
|
|
163
|
+
if (e.role && a.role !== e.role) {
|
|
150
164
|
continue;
|
|
151
165
|
}
|
|
152
166
|
o.push({
|
|
153
|
-
...
|
|
167
|
+
...a,
|
|
154
168
|
config: e.config
|
|
155
169
|
});
|
|
156
170
|
}
|
|
157
171
|
}
|
|
158
172
|
}
|
|
159
|
-
return o.sort((e,
|
|
173
|
+
return o.sort((e, a)=>a.priority - e.priority);
|
|
160
174
|
}
|
|
161
175
|
constructor(e){
|
|
162
176
|
this.context = e;
|
|
@@ -165,5 +179,6 @@ class TransversalManager {
|
|
|
165
179
|
TransversalManager.instances = new WeakMap();
|
|
166
180
|
TransversalManager.transversalInstances = new Map();
|
|
167
181
|
TransversalManager.transversalMetadata = new Map();
|
|
182
|
+
TransversalManager.abstractToConcreteMap = new Map();
|
|
168
183
|
|
|
169
184
|
exports.TransversalManager = TransversalManager;
|
package/dist/index13.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { isClass } from '@assemblerjs/core';
|
|
2
|
-
import { PointcutMatcher } from './
|
|
2
|
+
import { PointcutMatcher } from './index32.mjs';
|
|
3
3
|
import { getAffectedMethods } from './index12.mjs';
|
|
4
4
|
import { getDefinition } from './index30.mjs';
|
|
5
5
|
|
|
6
6
|
class TransversalManager {
|
|
7
7
|
static getInstance(e) {
|
|
8
|
-
let
|
|
9
|
-
if (!
|
|
10
|
-
|
|
11
|
-
this.instances.set(e,
|
|
8
|
+
let a = this.instances.get(e);
|
|
9
|
+
if (!a) {
|
|
10
|
+
a = new TransversalManager(e);
|
|
11
|
+
this.instances.set(e, a);
|
|
12
12
|
}
|
|
13
|
-
return
|
|
13
|
+
return a;
|
|
14
14
|
}
|
|
15
15
|
getTransversalInstance(e) {
|
|
16
16
|
return TransversalManager.transversalInstances.get(e);
|
|
@@ -18,88 +18,92 @@ class TransversalManager {
|
|
|
18
18
|
static resetGlobalState() {
|
|
19
19
|
TransversalManager.transversalInstances.clear();
|
|
20
20
|
TransversalManager.transversalMetadata.clear();
|
|
21
|
+
TransversalManager.abstractToConcreteMap.clear();
|
|
21
22
|
TransversalManager.instances = new WeakMap();
|
|
22
23
|
}
|
|
23
|
-
registerTransversal(
|
|
24
|
+
registerTransversal(a, r) {
|
|
24
25
|
let s;
|
|
25
|
-
let
|
|
26
|
+
let n;
|
|
26
27
|
let o;
|
|
27
|
-
if (
|
|
28
|
-
s =
|
|
29
|
-
|
|
28
|
+
if (a.length === 1) {
|
|
29
|
+
s = a[0];
|
|
30
|
+
n = a[0];
|
|
30
31
|
o = undefined;
|
|
31
|
-
} else if (
|
|
32
|
-
const
|
|
33
|
-
if (isClass(
|
|
34
|
-
s =
|
|
35
|
-
|
|
32
|
+
} else if (a.length === 2) {
|
|
33
|
+
const t = a[1];
|
|
34
|
+
if (isClass(t)) {
|
|
35
|
+
s = a[0];
|
|
36
|
+
n = t;
|
|
36
37
|
o = undefined;
|
|
37
38
|
} else {
|
|
38
|
-
s =
|
|
39
|
-
|
|
40
|
-
o =
|
|
39
|
+
s = a[0];
|
|
40
|
+
n = a[0];
|
|
41
|
+
o = t;
|
|
41
42
|
}
|
|
42
43
|
} else {
|
|
43
|
-
s =
|
|
44
|
-
|
|
45
|
-
o =
|
|
44
|
+
s = a[0];
|
|
45
|
+
n = a[1];
|
|
46
|
+
o = a[2];
|
|
47
|
+
}
|
|
48
|
+
const c = n.name;
|
|
49
|
+
if (s !== n) {
|
|
50
|
+
TransversalManager.abstractToConcreteMap.set(s.name, c);
|
|
46
51
|
}
|
|
47
|
-
const c = r.name;
|
|
48
52
|
if (!TransversalManager.transversalInstances.has(c)) {
|
|
49
|
-
const e =
|
|
50
|
-
const
|
|
51
|
-
const i = getDefinition(
|
|
53
|
+
const e = r || this.context;
|
|
54
|
+
const a = e.require(s, o);
|
|
55
|
+
const i = getDefinition(n);
|
|
52
56
|
if (!i) {
|
|
53
57
|
throw new Error(`Transversal ${c} must be decorated with @Transversal`);
|
|
54
58
|
}
|
|
55
|
-
TransversalManager.transversalInstances.set(c,
|
|
59
|
+
TransversalManager.transversalInstances.set(c, a);
|
|
56
60
|
const l = {
|
|
57
61
|
definition: i,
|
|
58
|
-
advices: this.extractAdvices(
|
|
59
|
-
instance:
|
|
62
|
+
advices: this.extractAdvices(n, a),
|
|
63
|
+
instance: a
|
|
60
64
|
};
|
|
61
65
|
TransversalManager.transversalMetadata.set(c, l);
|
|
62
66
|
}
|
|
63
67
|
}
|
|
64
|
-
extractAdvices(e,
|
|
65
|
-
const
|
|
68
|
+
extractAdvices(e, a) {
|
|
69
|
+
const r = getDefinition(e);
|
|
66
70
|
const s = [];
|
|
67
|
-
const
|
|
68
|
-
for (const
|
|
69
|
-
const
|
|
70
|
-
if (typeof
|
|
71
|
-
throw new Error(`Advice method ${
|
|
71
|
+
const n = r?.metadata?.advices || [];
|
|
72
|
+
for (const t of n){
|
|
73
|
+
const r = a[t.methodName];
|
|
74
|
+
if (typeof r !== 'function') {
|
|
75
|
+
throw new Error(`Advice method ${t.methodName} not found in ${e.name}`);
|
|
72
76
|
}
|
|
73
|
-
const
|
|
77
|
+
const n = t.pointcut.startsWith('execution(') ? undefined : t.pointcut;
|
|
74
78
|
s.push({
|
|
75
|
-
type:
|
|
76
|
-
pointcut:
|
|
77
|
-
method:
|
|
78
|
-
transversalInstance:
|
|
79
|
-
priority:
|
|
80
|
-
enabled:
|
|
81
|
-
role:
|
|
79
|
+
type: t.type,
|
|
80
|
+
pointcut: t.pointcut,
|
|
81
|
+
method: r,
|
|
82
|
+
transversalInstance: a,
|
|
83
|
+
priority: t.priority || 0,
|
|
84
|
+
enabled: t.enabled ?? true,
|
|
85
|
+
role: n
|
|
82
86
|
});
|
|
83
87
|
}
|
|
84
88
|
return s;
|
|
85
89
|
}
|
|
86
90
|
getAspectsForTarget(e) {
|
|
87
|
-
const
|
|
88
|
-
for (const
|
|
89
|
-
if (this.hasMatchingAdviceForClass(
|
|
90
|
-
|
|
91
|
+
const a = [];
|
|
92
|
+
for (const t of TransversalManager.transversalMetadata.values()){
|
|
93
|
+
if (this.hasMatchingAdviceForClass(t, e)) {
|
|
94
|
+
a.push(t);
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
|
-
return
|
|
97
|
+
return a;
|
|
94
98
|
}
|
|
95
|
-
hasMatchingAdviceForClass(e,
|
|
99
|
+
hasMatchingAdviceForClass(e, a) {
|
|
96
100
|
return e.advices.some((e)=>{
|
|
97
101
|
if (!e.enabled) return false;
|
|
98
|
-
const
|
|
99
|
-
if (
|
|
100
|
-
const e =
|
|
101
|
-
const
|
|
102
|
-
return
|
|
102
|
+
const t = e.pointcut.match(/execution\(([^.]+)\.[^)]+\)/);
|
|
103
|
+
if (t) {
|
|
104
|
+
const e = t[1];
|
|
105
|
+
const r = this.patternToRegex(e);
|
|
106
|
+
return r.test(a.name);
|
|
103
107
|
}
|
|
104
108
|
return false;
|
|
105
109
|
});
|
|
@@ -108,51 +112,61 @@ class TransversalManager {
|
|
|
108
112
|
if (e === '*') {
|
|
109
113
|
return /.*/;
|
|
110
114
|
}
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
return new RegExp(`^${
|
|
115
|
+
const a = e.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
|
|
116
|
+
const t = a.replace(/\*/g, '.*');
|
|
117
|
+
return new RegExp(`^${t}$`);
|
|
114
118
|
}
|
|
115
|
-
getAdvicesForJoinPoint(e,
|
|
119
|
+
getAdvicesForJoinPoint(e, t, s, n) {
|
|
116
120
|
const o = [];
|
|
117
|
-
for (const
|
|
118
|
-
for (const
|
|
119
|
-
if (!
|
|
120
|
-
const
|
|
121
|
-
if (
|
|
122
|
-
o.push(
|
|
121
|
+
for (const r of t){
|
|
122
|
+
for (const t of r.advices){
|
|
123
|
+
if (!t.enabled) continue;
|
|
124
|
+
const r = PointcutMatcher.parse(t.pointcut);
|
|
125
|
+
if (r.matches(e)) {
|
|
126
|
+
o.push(t);
|
|
123
127
|
}
|
|
124
128
|
}
|
|
125
129
|
}
|
|
126
|
-
if (s &&
|
|
130
|
+
if (s && n) {
|
|
127
131
|
const e = s.constructor.prototype;
|
|
128
|
-
const
|
|
129
|
-
for (const e of
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
let
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
132
|
+
const a = getAffectedMethods(e, n);
|
|
133
|
+
for (const e of a){
|
|
134
|
+
const a = e.transversal;
|
|
135
|
+
const t = typeof a === 'function' ? a.name : String(a);
|
|
136
|
+
let r = t;
|
|
137
|
+
if (TransversalManager.abstractToConcreteMap.has(t)) {
|
|
138
|
+
r = TransversalManager.abstractToConcreteMap.get(t);
|
|
139
|
+
}
|
|
140
|
+
let s = TransversalManager.transversalMetadata.get(r);
|
|
141
|
+
if (!s) {
|
|
142
|
+
try {
|
|
143
|
+
if (typeof a === 'function') {
|
|
144
|
+
this.registerTransversal([
|
|
145
|
+
a
|
|
146
|
+
]);
|
|
147
|
+
s = TransversalManager.transversalMetadata.get(r);
|
|
148
|
+
}
|
|
149
|
+
} catch (e) {
|
|
150
|
+
console.warn(`Failed to lazy-register transversal ${t}:`, e);
|
|
137
151
|
}
|
|
138
152
|
}
|
|
139
|
-
if (!
|
|
140
|
-
console.warn(`@Affect: Transversal ${
|
|
153
|
+
if (!s) {
|
|
154
|
+
console.warn(`@Affect: Transversal ${t} not found. Make sure it's registered in transversals[].`);
|
|
141
155
|
continue;
|
|
142
156
|
}
|
|
143
|
-
for (const
|
|
144
|
-
if (!
|
|
145
|
-
if (e.role &&
|
|
157
|
+
for (const a of s.advices){
|
|
158
|
+
if (!a.enabled) continue;
|
|
159
|
+
if (e.role && a.role !== e.role) {
|
|
146
160
|
continue;
|
|
147
161
|
}
|
|
148
162
|
o.push({
|
|
149
|
-
...
|
|
163
|
+
...a,
|
|
150
164
|
config: e.config
|
|
151
165
|
});
|
|
152
166
|
}
|
|
153
167
|
}
|
|
154
168
|
}
|
|
155
|
-
return o.sort((e,
|
|
169
|
+
return o.sort((e, a)=>a.priority - e.priority);
|
|
156
170
|
}
|
|
157
171
|
constructor(e){
|
|
158
172
|
this.context = e;
|
|
@@ -161,5 +175,6 @@ class TransversalManager {
|
|
|
161
175
|
TransversalManager.instances = new WeakMap();
|
|
162
176
|
TransversalManager.transversalInstances = new Map();
|
|
163
177
|
TransversalManager.transversalMetadata = new Map();
|
|
178
|
+
TransversalManager.abstractToConcreteMap = new Map();
|
|
164
179
|
|
|
165
180
|
export { TransversalManager };
|
package/dist/index18.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const parameterDecoratorFactory = require('./index17.js');
|
|
6
|
-
const resolverStore = require('./
|
|
6
|
+
const resolverStore = require('./index41.js');
|
|
7
7
|
|
|
8
8
|
let ContextResolver = class ContextResolver {
|
|
9
9
|
resolve(e, r, t) {
|
package/dist/index18.mjs
CHANGED
package/dist/index19.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const parameterDecoratorFactory = require('./index17.js');
|
|
6
|
-
const resolverStore = require('./
|
|
6
|
+
const resolverStore = require('./index41.js');
|
|
7
7
|
|
|
8
8
|
let ConfigurationResolver = class ConfigurationResolver {
|
|
9
9
|
resolve(r, o, e, n) {
|
package/dist/index19.mjs
CHANGED
package/dist/index20.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const parameterDecoratorFactory = require('./index17.js');
|
|
6
|
-
const resolverStore = require('./
|
|
6
|
+
const resolverStore = require('./index41.js');
|
|
7
7
|
|
|
8
8
|
let DefinitionResolver = class DefinitionResolver {
|
|
9
9
|
resolve(e, r) {
|
package/dist/index20.mjs
CHANGED
package/dist/index21.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const parameterDecoratorFactory = require('./index17.js');
|
|
6
|
-
const resolverStore = require('./
|
|
6
|
+
const resolverStore = require('./index41.js');
|
|
7
7
|
|
|
8
8
|
let DisposeResolver = class DisposeResolver {
|
|
9
9
|
resolve(e, r, s) {
|
package/dist/index21.mjs
CHANGED
package/dist/index22.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const reflection = require('./index29.js');
|
|
6
6
|
const parameterDecoratorFactory = require('./index17.js');
|
|
7
7
|
const helpers = require('./index25.js');
|
|
8
|
-
const resolverStore = require('./
|
|
8
|
+
const resolverStore = require('./index41.js');
|
|
9
9
|
|
|
10
10
|
let UseResolver = class UseResolver {
|
|
11
11
|
resolve(r, o, t) {
|
package/dist/index22.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getOwnCustomMetadata } from './index29.mjs';
|
|
2
2
|
import { ParameterDecoratorFactory } from './index17.mjs';
|
|
3
3
|
import { getParamValueKey } from './index25.mjs';
|
|
4
|
-
import { ResolverStore } from './
|
|
4
|
+
import { ResolverStore } from './index41.mjs';
|
|
5
5
|
|
|
6
6
|
let UseResolver = class UseResolver {
|
|
7
7
|
resolve(r, o, t) {
|
package/dist/index23.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const reflection = require('./index29.js');
|
|
6
6
|
const parameterDecoratorFactory = require('./index17.js');
|
|
7
7
|
const helpers = require('./index25.js');
|
|
8
|
-
const resolverStore = require('./
|
|
8
|
+
const resolverStore = require('./index41.js');
|
|
9
9
|
|
|
10
10
|
let GlobalResolver = class GlobalResolver {
|
|
11
11
|
resolve(e, r, a) {
|
package/dist/index23.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getOwnCustomMetadata } from './index29.mjs';
|
|
2
2
|
import { ParameterDecoratorFactory } from './index17.mjs';
|
|
3
3
|
import { getParamValueKey } from './index25.mjs';
|
|
4
|
-
import { ResolverStore } from './
|
|
4
|
+
import { ResolverStore } from './index41.mjs';
|
|
5
5
|
|
|
6
6
|
let GlobalResolver = class GlobalResolver {
|
|
7
7
|
resolve(e, r, a) {
|
package/dist/index24.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const reflection = require('./index29.js');
|
|
6
6
|
const parameterDecoratorFactory = require('./index17.js');
|
|
7
7
|
const helpers = require('./index25.js');
|
|
8
|
-
const resolverStore = require('./
|
|
8
|
+
const resolverStore = require('./index41.js');
|
|
9
9
|
|
|
10
10
|
let OptionalResolver = class OptionalResolver {
|
|
11
11
|
resolve(o, t, n) {
|