@loopback/context 1.23.4 → 1.25.1
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/CHANGELOG.md +41 -0
- package/dist/binding-config.js +1 -1
- package/dist/binding-config.js.map +1 -1
- package/dist/binding-inspector.js +12 -11
- package/dist/binding-inspector.js.map +1 -1
- package/dist/binding-sorter.js +2 -2
- package/dist/binding-sorter.js.map +1 -1
- package/dist/binding.d.ts +13 -7
- package/dist/binding.js +26 -9
- package/dist/binding.js.map +1 -1
- package/dist/context-view.d.ts +1 -1
- package/dist/context-view.js +5 -2
- package/dist/context-view.js.map +1 -1
- package/dist/context.d.ts +6 -1
- package/dist/context.js +33 -10
- package/dist/context.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/inject-config.js +3 -3
- package/dist/inject-config.js.map +1 -1
- package/dist/inject.d.ts +1 -1
- package/dist/inject.js +18 -11
- package/dist/inject.js.map +1 -1
- package/dist/interception-proxy.d.ts +15 -3
- package/dist/interception-proxy.js +20 -4
- package/dist/interception-proxy.js.map +1 -1
- package/dist/interceptor-chain.js +5 -2
- package/dist/interceptor-chain.js.map +1 -1
- package/dist/interceptor.d.ts +6 -0
- package/dist/interceptor.js +37 -11
- package/dist/interceptor.js.map +1 -1
- package/dist/invocation.d.ts +23 -4
- package/dist/invocation.js +14 -8
- package/dist/invocation.js.map +1 -1
- package/dist/keys.d.ts +6 -0
- package/dist/keys.js +6 -0
- package/dist/keys.js.map +1 -1
- package/dist/resolution-session.d.ts +5 -4
- package/dist/resolution-session.js +13 -6
- package/dist/resolution-session.js.map +1 -1
- package/dist/resolver.js +13 -8
- package/dist/resolver.js.map +1 -1
- package/package.json +10 -10
- package/src/binding-config.ts +1 -1
- package/src/binding-inspector.ts +6 -8
- package/src/binding-sorter.ts +2 -2
- package/src/binding.ts +30 -8
- package/src/context-view.ts +1 -1
- package/src/context.ts +26 -10
- package/src/index.ts +3 -3
- package/src/inject-config.ts +3 -3
- package/src/inject.ts +19 -10
- package/src/interception-proxy.ts +25 -3
- package/src/interceptor-chain.ts +1 -1
- package/src/interceptor.ts +31 -6
- package/src/invocation.ts +25 -4
- package/src/keys.ts +7 -0
- package/src/resolution-session.ts +9 -5
- package/src/resolver.ts +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -9,14 +9,14 @@ export * from './binding-sorter';
|
|
|
9
9
|
export * from './context';
|
|
10
10
|
export * from './context-observer';
|
|
11
11
|
export * from './context-view';
|
|
12
|
-
export * from './interceptor-chain';
|
|
13
12
|
export * from './inject';
|
|
13
|
+
export * from './inject-config';
|
|
14
14
|
export * from './interception-proxy';
|
|
15
15
|
export * from './interceptor';
|
|
16
|
-
export * from './
|
|
16
|
+
export * from './interceptor-chain';
|
|
17
|
+
export * from './invocation';
|
|
17
18
|
export * from './keys';
|
|
18
19
|
export * from './provider';
|
|
19
20
|
export * from './resolution-session';
|
|
20
21
|
export * from './resolver';
|
|
21
22
|
export * from './value-promise';
|
|
22
|
-
export * from './invocation';
|
package/dist/index.js
CHANGED
|
@@ -17,14 +17,14 @@ __export(require("./binding-key"));
|
|
|
17
17
|
__export(require("./binding-sorter"));
|
|
18
18
|
__export(require("./context"));
|
|
19
19
|
__export(require("./context-view"));
|
|
20
|
-
__export(require("./interceptor-chain"));
|
|
21
20
|
__export(require("./inject"));
|
|
21
|
+
__export(require("./inject-config"));
|
|
22
22
|
__export(require("./interception-proxy"));
|
|
23
23
|
__export(require("./interceptor"));
|
|
24
|
-
__export(require("./
|
|
24
|
+
__export(require("./interceptor-chain"));
|
|
25
|
+
__export(require("./invocation"));
|
|
25
26
|
__export(require("./keys"));
|
|
26
27
|
__export(require("./resolution-session"));
|
|
27
28
|
__export(require("./resolver"));
|
|
28
29
|
__export(require("./value-promise"));
|
|
29
|
-
__export(require("./invocation"));
|
|
30
30
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;;AAEhE,wCAAmC;AACnC,+BAA0B;AAC1B,sCAAiC;AACjC,yCAAoC;AACpC,sCAAiC;AACjC,yCAAoC;AACpC,mCAA8B;AAC9B,sCAAiC;AACjC,+BAA0B;AAE1B,oCAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;;AAEhE,wCAAmC;AACnC,+BAA0B;AAC1B,sCAAiC;AACjC,yCAAoC;AACpC,sCAAiC;AACjC,yCAAoC;AACpC,mCAA8B;AAC9B,sCAAiC;AACjC,+BAA0B;AAE1B,oCAA+B;AAC/B,8BAAyB;AACzB,qCAAgC;AAChC,0CAAqC;AACrC,mCAA8B;AAC9B,yCAAoC;AACpC,kCAA6B;AAC7B,4BAAuB;AAEvB,0CAAqC;AACrC,gCAA2B;AAC3B,qCAAgC"}
|
package/dist/inject-config.js
CHANGED
|
@@ -43,7 +43,7 @@ const value_promise_1 = require("./value-promise");
|
|
|
43
43
|
* @param metadata - Optional metadata to help the injection
|
|
44
44
|
*/
|
|
45
45
|
function config(propertyPath, metadata) {
|
|
46
|
-
propertyPath = propertyPath
|
|
46
|
+
propertyPath = (propertyPath !== null && propertyPath !== void 0 ? propertyPath : '');
|
|
47
47
|
if (typeof propertyPath === 'object') {
|
|
48
48
|
metadata = propertyPath;
|
|
49
49
|
propertyPath = '';
|
|
@@ -59,7 +59,7 @@ exports.config = config;
|
|
|
59
59
|
* @param metadata - Injection metadata
|
|
60
60
|
*/
|
|
61
61
|
config.getter = function injectConfigGetter(propertyPath, metadata) {
|
|
62
|
-
propertyPath = propertyPath
|
|
62
|
+
propertyPath = (propertyPath !== null && propertyPath !== void 0 ? propertyPath : '');
|
|
63
63
|
if (typeof propertyPath === 'object') {
|
|
64
64
|
metadata = propertyPath;
|
|
65
65
|
propertyPath = '';
|
|
@@ -74,7 +74,7 @@ exports.config = config;
|
|
|
74
74
|
* @param metadata - Injection metadata
|
|
75
75
|
*/
|
|
76
76
|
config.view = function injectConfigView(propertyPath, metadata) {
|
|
77
|
-
propertyPath = propertyPath
|
|
77
|
+
propertyPath = (propertyPath !== null && propertyPath !== void 0 ? propertyPath : '');
|
|
78
78
|
if (typeof propertyPath === 'object') {
|
|
79
79
|
metadata = propertyPath;
|
|
80
80
|
propertyPath = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-config.js","sourceRoot":"","sources":["../src/inject-config.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;AAGhE,+CAAyD;AAEzD,iDAA2C;AAC3C,qCAAgF;AAChF,6DAAuD;AACvD,mDAAgE;AAmBhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAgB,MAAM,CACpB,YAA+C,EAC/C,QAAkC;IAElC,YAAY,
|
|
1
|
+
{"version":3,"file":"inject-config.js","sourceRoot":"","sources":["../src/inject-config.ts"],"names":[],"mappings":"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"}
|
package/dist/inject.d.ts
CHANGED
|
@@ -157,7 +157,7 @@ export declare namespace inject {
|
|
|
157
157
|
* @param bindingKey - Binding key
|
|
158
158
|
* @param metadata - Metadata for the injection
|
|
159
159
|
*/
|
|
160
|
-
const binding: (bindingKey
|
|
160
|
+
const binding: (bindingKey?: string | import("./binding-key").BindingKey<unknown> | undefined, metadata?: InjectBindingMetadata | undefined) => (target: Object, member: string | undefined, methodDescriptorOrParameterIndex?: number | TypedPropertyDescriptor<any> | undefined) => void;
|
|
161
161
|
/**
|
|
162
162
|
* Inject an array of values by a tag pattern string or regexp
|
|
163
163
|
*
|
package/dist/inject.js
CHANGED
|
@@ -173,7 +173,7 @@ var Getter;
|
|
|
173
173
|
*/
|
|
174
174
|
inject.binding = function injectBinding(bindingKey, metadata) {
|
|
175
175
|
metadata = Object.assign({ decorator: '@inject.binding' }, metadata);
|
|
176
|
-
return inject(bindingKey, metadata, resolveAsBinding);
|
|
176
|
+
return inject((bindingKey !== null && bindingKey !== void 0 ? bindingKey : ''), metadata, resolveAsBinding);
|
|
177
177
|
};
|
|
178
178
|
/**
|
|
179
179
|
* Inject an array of values by a tag pattern string or regexp
|
|
@@ -236,7 +236,7 @@ function assertTargetType(injection, expectedType, expectedTypeName) {
|
|
|
236
236
|
const targetName = resolution_session_1.ResolutionSession.describeInjection(injection).targetName;
|
|
237
237
|
const targetType = inspectTargetType(injection);
|
|
238
238
|
if (targetType && targetType !== expectedType) {
|
|
239
|
-
expectedTypeName = expectedTypeName
|
|
239
|
+
expectedTypeName = (expectedTypeName !== null && expectedTypeName !== void 0 ? expectedTypeName : expectedType.name);
|
|
240
240
|
throw new Error(`The type of ${targetName} (${targetType.name}) is not ${expectedTypeName}`);
|
|
241
241
|
}
|
|
242
242
|
return targetName;
|
|
@@ -269,21 +269,27 @@ function resolveAsSetter(ctx, injection) {
|
|
|
269
269
|
if (!binding_filter_1.isBindingAddress(bindingSelector)) {
|
|
270
270
|
throw new Error(`@inject.setter (${targetName}) does not allow BindingFilter.`);
|
|
271
271
|
}
|
|
272
|
+
if (bindingSelector === '') {
|
|
273
|
+
throw new Error('Binding key is not set for @inject.setter');
|
|
274
|
+
}
|
|
272
275
|
// No resolution session should be propagated into the setter
|
|
273
276
|
return function setter(value) {
|
|
274
277
|
const binding = findOrCreateBindingForInjection(ctx, injection);
|
|
275
278
|
binding.to(value);
|
|
276
279
|
};
|
|
277
280
|
}
|
|
278
|
-
function resolveAsBinding(ctx, injection) {
|
|
281
|
+
function resolveAsBinding(ctx, injection, session) {
|
|
279
282
|
const targetName = assertTargetType(injection, binding_1.Binding);
|
|
280
283
|
const bindingSelector = injection.bindingSelector;
|
|
281
284
|
if (!binding_filter_1.isBindingAddress(bindingSelector)) {
|
|
282
285
|
throw new Error(`@inject.binding (${targetName}) does not allow BindingFilter.`);
|
|
283
286
|
}
|
|
284
|
-
return findOrCreateBindingForInjection(ctx, injection);
|
|
287
|
+
return findOrCreateBindingForInjection(ctx, injection, session);
|
|
285
288
|
}
|
|
286
|
-
function findOrCreateBindingForInjection(ctx, injection) {
|
|
289
|
+
function findOrCreateBindingForInjection(ctx, injection, session) {
|
|
290
|
+
var _a;
|
|
291
|
+
if (injection.bindingSelector === '')
|
|
292
|
+
return (_a = session) === null || _a === void 0 ? void 0 : _a.currentBinding;
|
|
287
293
|
const bindingCreation = injection.metadata &&
|
|
288
294
|
injection.metadata.bindingCreation;
|
|
289
295
|
const binding = ctx.findOrCreateBinding(injection.bindingSelector, bindingCreation);
|
|
@@ -354,11 +360,12 @@ function shouldSkipBaseConstructorInjection(targetClass) {
|
|
|
354
360
|
* @param method - Method name, undefined for constructor
|
|
355
361
|
*/
|
|
356
362
|
function describeInjectedArguments(target, method) {
|
|
357
|
-
|
|
363
|
+
var _a, _b;
|
|
364
|
+
method = (method !== null && method !== void 0 ? method : '');
|
|
358
365
|
// Try to read from cache
|
|
359
|
-
const cache = metadata_1.MetadataInspector.getAllMethodMetadata(METHODS_KEY, target, {
|
|
366
|
+
const cache = (_a = metadata_1.MetadataInspector.getAllMethodMetadata(METHODS_KEY, target, {
|
|
360
367
|
ownMetadataOnly: true,
|
|
361
|
-
})
|
|
368
|
+
}), (_a !== null && _a !== void 0 ? _a : {}));
|
|
362
369
|
let meta = cache[method];
|
|
363
370
|
if (meta)
|
|
364
371
|
return meta;
|
|
@@ -374,8 +381,7 @@ function describeInjectedArguments(target, method) {
|
|
|
374
381
|
// should be honored
|
|
375
382
|
options.ownMetadataOnly = true;
|
|
376
383
|
}
|
|
377
|
-
meta =
|
|
378
|
-
metadata_1.MetadataInspector.getAllParameterMetadata(PARAMETERS_KEY, target, method, options) || [];
|
|
384
|
+
meta = (_b = metadata_1.MetadataInspector.getAllParameterMetadata(PARAMETERS_KEY, target, method, options), (_b !== null && _b !== void 0 ? _b : []));
|
|
379
385
|
// Cache the result
|
|
380
386
|
cache[method] = meta;
|
|
381
387
|
metadata_1.MetadataInspector.defineMetadata(METHODS_KEY, cache, target);
|
|
@@ -442,7 +448,8 @@ function resolveAsContextView(ctx, injection) {
|
|
|
442
448
|
* prototype for instance properties.
|
|
443
449
|
*/
|
|
444
450
|
function describeInjectedProperties(target) {
|
|
445
|
-
|
|
451
|
+
var _a;
|
|
452
|
+
const metadata = (_a = metadata_1.MetadataInspector.getAllPropertyMetadata(PROPERTIES_KEY, target), (_a !== null && _a !== void 0 ? _a : {}));
|
|
446
453
|
return metadata;
|
|
447
454
|
}
|
|
448
455
|
exports.describeInjectedProperties = describeInjectedProperties;
|
package/dist/inject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;AAEhE,iDAQ4B;AAC5B,uCAA8C;AAC9C,qDAK0B;AAI1B,iDAA6D;AAC7D,6DAA0E;AAG1E,MAAM,cAAc,GAAG,2BAAgB,CAAC,MAAM,CAC5C,mBAAmB,CACpB,CAAC;AACF,MAAM,cAAc,GAAG,2BAAgB,CAAC,MAAM,CAC5C,mBAAmB,CACpB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,WAAW,GAAG,2BAAgB,CAAC,MAAM,CACzC,gBAAgB,CACjB,CAAC;AA+CF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,MAAM,CACpB,eAAgC,EAChC,QAA4B,EAC5B,OAA0B;IAE1B,IAAI,OAAO,eAAe,KAAK,UAAU,IAAI,CAAC,OAAO,EAAE;QACrD,OAAO,GAAG,qBAAqB,CAAC;KACjC;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,iBAAiB,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE;QACnD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IACD,OAAO,SAAS,iCAAiC,CAC/C,MAAc,EACd,MAA0B,EAC1B,gCAEU;QAEV,IAAI,OAAO,gCAAgC,KAAK,QAAQ,EAAE;YACxD,iDAAiD;YACjD,yDAAyD;YACzD,MAAM,cAAc,GAAuB,oCAAyB,CAAC,eAAe,CAGlF,cAAc,EACd;gBACE,MAAM;gBACN,MAAM;gBACN,gCAAgC;gBAChC,eAAe;gBACf,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO;aACR;YACD,kEAAkE;YAClE,mBAAmB;YACnB,EAAC,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,CAAC,SAAS,EAAC,CACpE,CAAC;YACF,cAAc,CAAC,MAAM,EAAE,MAAO,EAAE,gCAAgC,CAAC,CAAC;SACnE;aAAM,IAAI,MAAM,EAAE;YACjB,qBAAqB;YACrB,IAAI,MAAM,YAAY,QAAQ,EAAE;gBAC9B,MAAM,IAAI,KAAK,CACb,kDAAkD;oBAChD,2BAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CACjD,CAAC;aACH;YACD,IAAI,gCAAgC,EAAE;gBACpC,SAAS;gBACT,MAAM,IAAI,KAAK,CACb,sCAAsC;oBACpC,2BAAgB,CAAC,aAAa,CAC5B,MAAM,EACN,MAAM,EACN,gCAAgC,CACjC,CACJ,CAAC;aACH;YACD,MAAM,aAAa,GAAsB,mCAAwB,CAAC,eAAe,CAG/E,cAAc,EACd;gBACE,MAAM;gBACN,MAAM;gBACN,gCAAgC;gBAChC,eAAe;gBACf,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO;aACR;YACD,kEAAkE;YAClE,mBAAmB;YACnB,EAAC,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,CAAC,SAAS,EAAC,CACpE,CAAC;YACF,aAAa,CAAC,MAAM,EAAE,MAAO,CAAC,CAAC;SAChC;aAAM;YACL,0EAA0E;YAC1E,0BAA0B;YAC1B,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;SACH;IACH,CAAC,CAAC;AACJ,CAAC;AAnFD,wBAmFC;AASD,IAAiB,MAAM,CAQtB;AARD,WAAiB,MAAM;IACrB;;;OAGG;IACH,SAAgB,SAAS,CAAI,KAAQ;QACnC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAFe,gBAAS,YAExB,CAAA;AACH,CAAC,EARgB,MAAM,GAAN,cAAM,KAAN,cAAM,QAQtB;AAyBD,WAAiB,MAAM;IACrB;;;;;;;;;;;;;OAaG;IACU,aAAM,GAAG,SAAS,YAAY,CACzC,eAAyC,EACzC,QAA4B;QAE5B,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,CACX,eAAe,EACf,QAAQ,EACR,iCAAgB,CAAC,eAAe,CAAC;YAC/B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,uBAAuB,CAC5B,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;OAYG;IACU,aAAM,GAAG,SAAS,YAAY,CACzC,UAA0B,EAC1B,QAAgC;QAEhC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,cAAO,GAAG,SAAS,aAAa,CAC3C,UAA2B,EAC3B,QAAgC;QAEhC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,iBAAiB,EAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,OAAO,MAAM,EAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,GAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF;;;;;;;;;;;;;OAaG;IACU,UAAG,GAAG,SAAS,WAAW,CACrC,UAA+B,EAC/B,QAA4B;QAE5B,QAAQ,GAAG,MAAM,CAAC,MAAM,CACtB,EAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAC,EAC3C,QAAQ,CACT,CAAC;QACF,OAAO,MAAM,CAAC,4BAAW,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF;;;;;;;;;;;;OAYG;IACU,WAAI,GAAG,SAAS,iBAAiB,CAC5C,aAA4B,EAC5B,QAA4B;QAE5B,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,cAAc,EAAC,EAAE,QAAQ,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF;;;;;;;;;OASG;IACU,cAAO,GAAG,SAAS,aAAa;QAC3C,OAAO,MAAM,CAAC,EAAE,EAAE,EAAC,SAAS,EAAE,iBAAiB,EAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC,EA9IgB,MAAM,GAAN,cAAM,KAAN,cAAM,QA8ItB;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,SAA8B,EAC9B,YAAsB,EACtB,gBAAyB;IAEzB,MAAM,UAAU,GAAG,sCAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;IAC7E,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,UAAU,IAAI,UAAU,KAAK,YAAY,EAAE;QAC7C,gBAAgB,IAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,YAAY,CAAC,IAAI,CAAA,CAAC;QACzD,MAAM,IAAI,KAAK,CACb,eAAe,UAAU,KAAK,UAAU,CAAC,IAAI,YAAY,gBAAgB,EAAE,CAC5E,CAAC;KACH;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAdD,4CAcC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,GAAY,EACZ,SAA8B,EAC9B,OAA0B;IAE1B,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,SAAS,CAAC,eAAiC,CAAC;IACpE,2EAA2E;IAC3E,MAAM,aAAa,GAAG,sCAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,OAAO,mBACX,OAAO,EAAE,aAAa,IACnB,SAAS,CAAC,QAAQ,CACtB,CAAC;IACF,OAAO,SAAS,MAAM;QACpB,OAAO,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAY,EAAE,SAAoB;IACzD,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;IAClD,IAAI,CAAC,iCAAgB,CAAC,eAAe,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,iCAAiC,CAC/D,CAAC;KACH;IACD,IAAI,eAAe,KAAK,EAAE,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IACD,6DAA6D;IAC7D,OAAO,SAAS,MAAM,CAAC,KAAc;QACnC,MAAM,OAAO,GAAG,+BAA+B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChE,OAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAY,EACZ,SAAoB,EACpB,OAA0B;IAE1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,iBAAO,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;IAClD,IAAI,CAAC,iCAAgB,CAAC,eAAe,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,iCAAiC,CAChE,CAAC;KACH;IACD,OAAO,+BAA+B,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,+BAA+B,CACtC,GAAY,EACZ,SAA6B,EAC7B,OAA2B;;IAE3B,IAAI,SAAS,CAAC,eAAe,KAAK,EAAE;QAAE,aAAO,OAAO,0CAAE,cAAc,CAAC;IACrE,MAAM,eAAe,GACnB,SAAS,CAAC,QAAQ;QACjB,SAAS,CAAC,QAAkC,CAAC,eAAe,CAAC;IAChE,MAAM,OAAO,GAAqB,GAAG,CAAC,mBAAmB,CACvD,SAAS,CAAC,eAAiC,EAC3C,eAAe,CAChB,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,kCAAkC,CAAC,WAAmB;IAC7D,sEAAsE;IACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACxC,OAAO;IACL;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,CAAC,QAAQ,CAAC,KAAK,CACb,0DAA0D,CAC3D;QACD;;;;;;;;;;;;;;;;;;WAkBG;QACH,QAAQ,CAAC,KAAK,CAAC,mCAAmC,CAAC,CACpD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,MAAc,EACd,MAAe;;IAEf,MAAM,IAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA,CAAC;IAEtB,yBAAyB;IACzB,MAAM,KAAK,SACT,4BAAiB,CAAC,oBAAoB,CACpC,WAAW,EACX,MAAM,EACN;QACE,eAAe,EAAE,IAAI;KACtB,CACF,uCAAI,EAAE,EAAA,CAAC;IACV,IAAI,IAAI,GAA0B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,wBAAwB;IACxB,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,IAAI,MAAM,KAAK,EAAE,EAAE;QACjB,IAAI,kCAAkC,CAAC,MAAM,CAAC,EAAE;YAC9C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;SAChC;KACF;SAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QAC/D,qEAAqE;QACrE,oBAAoB;QACpB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;KAChC;IACD,IAAI,SACF,4BAAiB,CAAC,uBAAuB,CACvC,cAAc,EACd,MAAM,EACN,MAAM,EACN,OAAO,CACR,uCAAI,EAAE,EAAA,CAAC;IAEV,mBAAmB;IACnB,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACrB,4BAAiB,CAAC,cAAc,CAC9B,WAAW,EACX,KAAK,EACL,MAAM,CACP,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AA7CD,8DA6CC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,SAA8B;IAC9D,IAAI,IAAI,GAAG,4BAAiB,CAAC,wBAAwB,CACnD,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,MAAO,CAClB,CAAC;IACF,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAC;KACb;IACD,MAAM,UAAU,GAAG,4BAAiB,CAAC,sBAAsB,CACzD,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,MAAO,CAClB,CAAC;IACF,IAAI;QACF,UAAU,CAAC,cAAc,CACvB,SAAS,CAAC,gCAA0C,CACrD,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,8CAiBC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,GAAY,EACZ,SAA8B,EAC9B,OAA0B;IAE1B,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,aAAa,GAAG,SAAS,CAAC,eAAgC,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,0BAAW,CAC1B,GAAG,EACH,aAAa,EACb,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CACrC,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC9B,GAAY,EACZ,SAA8B,EAC9B,OAA0B;IAE1B,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,SAAS,CAAC,eAAgC,CAAC;IACjE,OAAO,+BAAgB,CACrB,GAAG,EACH,aAAa,EACb,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EACpC,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,GAAY,EAAE,SAA8B;IACxE,gBAAgB,CAAC,SAAS,EAAE,0BAAW,CAAC,CAAC;IAEzC,MAAM,aAAa,GAAG,SAAS,CAAC,eAAgC,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,0BAAW,CAC1B,GAAG,EACH,aAAa,EACb,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CACrC,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CACxC,MAAc;;IAEd,MAAM,QAAQ,SACZ,4BAAiB,CAAC,sBAAsB,CACtC,cAAc,EACd,MAAM,CACP,uCAAI,EAAE,EAAA,CAAC;IACV,OAAO,QAAQ,CAAC;AAClB,CAAC;AATD,gEASC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Context } from './context';
|
|
2
|
-
import { InvocationArgs } from './invocation';
|
|
2
|
+
import { InvocationArgs, InvocationSource } from './invocation';
|
|
3
|
+
import { ResolutionSession } from './resolution-session';
|
|
3
4
|
import { ValueOrPromise } from './value-promise';
|
|
4
5
|
/**
|
|
5
6
|
* Create the Promise type for `T`. If `T` extends `Promise`, the type is `T`,
|
|
@@ -43,6 +44,16 @@ export declare type AsInterceptedFunction<T> = T extends (...args: InvocationArg
|
|
|
43
44
|
export declare type AsyncProxy<T> = {
|
|
44
45
|
[P in keyof T]: AsInterceptedFunction<T[P]>;
|
|
45
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Invocation source for injected proxies. It wraps a snapshot of the
|
|
49
|
+
* `ResolutionSession` that tracks the binding/injection stack.
|
|
50
|
+
*/
|
|
51
|
+
export declare class ProxySource implements InvocationSource<ResolutionSession> {
|
|
52
|
+
readonly value: ResolutionSession;
|
|
53
|
+
type: string;
|
|
54
|
+
constructor(value: ResolutionSession);
|
|
55
|
+
toString(): string;
|
|
56
|
+
}
|
|
46
57
|
/**
|
|
47
58
|
* A proxy handler that applies interceptors
|
|
48
59
|
*
|
|
@@ -50,7 +61,8 @@ export declare type AsyncProxy<T> = {
|
|
|
50
61
|
*/
|
|
51
62
|
export declare class InterceptionHandler<T extends object> implements ProxyHandler<T> {
|
|
52
63
|
private context;
|
|
53
|
-
|
|
64
|
+
private session?;
|
|
65
|
+
constructor(context?: Context, session?: ResolutionSession | undefined);
|
|
54
66
|
get(target: T, propertyName: PropertyKey, receiver: unknown): any;
|
|
55
67
|
}
|
|
56
68
|
/**
|
|
@@ -58,4 +70,4 @@ export declare class InterceptionHandler<T extends object> implements ProxyHandl
|
|
|
58
70
|
* @param target - Target class or object
|
|
59
71
|
* @param context - Context object
|
|
60
72
|
*/
|
|
61
|
-
export declare function createProxyWithInterceptors<T extends object>(target: T, context?: Context): AsyncProxy<T>;
|
|
73
|
+
export declare function createProxyWithInterceptors<T extends object>(target: T, context?: Context, session?: ResolutionSession): AsyncProxy<T>;
|
|
@@ -6,14 +6,30 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const context_1 = require("./context");
|
|
8
8
|
const interceptor_1 = require("./interceptor");
|
|
9
|
+
const resolution_session_1 = require("./resolution-session");
|
|
10
|
+
/**
|
|
11
|
+
* Invocation source for injected proxies. It wraps a snapshot of the
|
|
12
|
+
* `ResolutionSession` that tracks the binding/injection stack.
|
|
13
|
+
*/
|
|
14
|
+
class ProxySource {
|
|
15
|
+
constructor(value) {
|
|
16
|
+
this.value = value;
|
|
17
|
+
this.type = 'proxy';
|
|
18
|
+
}
|
|
19
|
+
toString() {
|
|
20
|
+
return this.value.getBindingPath();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ProxySource = ProxySource;
|
|
9
24
|
/**
|
|
10
25
|
* A proxy handler that applies interceptors
|
|
11
26
|
*
|
|
12
27
|
* See https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy
|
|
13
28
|
*/
|
|
14
29
|
class InterceptionHandler {
|
|
15
|
-
constructor(context = new context_1.Context()) {
|
|
30
|
+
constructor(context = new context_1.Context(), session) {
|
|
16
31
|
this.context = context;
|
|
32
|
+
this.session = session;
|
|
17
33
|
}
|
|
18
34
|
get(target, propertyName, receiver) {
|
|
19
35
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -23,7 +39,7 @@ class InterceptionHandler {
|
|
|
23
39
|
const propertyOrMethod = targetObj[propertyName];
|
|
24
40
|
if (typeof propertyOrMethod === 'function') {
|
|
25
41
|
return (...args) => {
|
|
26
|
-
return interceptor_1.invokeMethodWithInterceptors(this.context, target, propertyName, args);
|
|
42
|
+
return interceptor_1.invokeMethodWithInterceptors(this.context, target, propertyName, args, { source: this.session && new ProxySource(this.session) });
|
|
27
43
|
};
|
|
28
44
|
}
|
|
29
45
|
else {
|
|
@@ -37,8 +53,8 @@ exports.InterceptionHandler = InterceptionHandler;
|
|
|
37
53
|
* @param target - Target class or object
|
|
38
54
|
* @param context - Context object
|
|
39
55
|
*/
|
|
40
|
-
function createProxyWithInterceptors(target, context) {
|
|
41
|
-
return new Proxy(target, new InterceptionHandler(context));
|
|
56
|
+
function createProxyWithInterceptors(target, context, session) {
|
|
57
|
+
return new Proxy(target, new InterceptionHandler(context, resolution_session_1.ResolutionSession.fork(session)));
|
|
42
58
|
}
|
|
43
59
|
exports.createProxyWithInterceptors = createProxyWithInterceptors;
|
|
44
60
|
//# sourceMappingURL=interception-proxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interception-proxy.js","sourceRoot":"","sources":["../src/interception-proxy.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;AAEhE,uCAAkC;AAClC,+CAA2D;
|
|
1
|
+
{"version":3,"file":"interception-proxy.js","sourceRoot":"","sources":["../src/interception-proxy.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;AAEhE,uCAAkC;AAClC,+CAA2D;AAE3D,6DAAuD;AAoDvD;;;GAGG;AACH,MAAa,WAAW;IAEtB,YAAqB,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;QAD7C,SAAI,GAAG,OAAO,CAAC;IACiC,CAAC;IAEjD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;CACF;AAPD,kCAOC;AAED;;;;GAIG;AACH,MAAa,mBAAmB;IAC9B,YACU,UAAU,IAAI,iBAAO,EAAE,EACvB,OAA2B;QAD3B,YAAO,GAAP,OAAO,CAAgB;QACvB,YAAO,GAAP,OAAO,CAAoB;IAClC,CAAC;IAEJ,GAAG,CAAC,MAAS,EAAE,YAAyB,EAAE,QAAiB;QACzD,8DAA8D;QAC9D,MAAM,SAAS,GAAG,MAAa,CAAC;QAChC,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,gBAAgB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;YAC1C,OAAO,CAAC,GAAG,IAAoB,EAAE,EAAE;gBACjC,OAAO,0CAA4B,CACjC,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CACxD,CAAC;YACJ,CAAC,CAAC;SACH;aAAM;YACL,OAAO,gBAAgB,CAAC;SACzB;IACH,CAAC;CACF;AAzBD,kDAyBC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,MAAS,EACT,OAAiB,EACjB,OAA2B;IAE3B,OAAO,IAAI,KAAK,CACd,MAAM,EACN,IAAI,mBAAmB,CAAC,OAAO,EAAE,sCAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CACjD,CAAC;AACrB,CAAC;AATD,kEASC"}
|
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
// Node module: @loopback/context
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const
|
|
10
|
+
const debug_1 = __importDefault(require("debug"));
|
|
8
11
|
const value_promise_1 = require("./value-promise");
|
|
9
|
-
const debug =
|
|
12
|
+
const debug = debug_1.default('loopback:context:interceptor-chain');
|
|
10
13
|
/**
|
|
11
14
|
* Invocation state of an interceptor chain
|
|
12
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptor-chain.js","sourceRoot":"","sources":["../src/interceptor-chain.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE
|
|
1
|
+
{"version":3,"file":"interceptor-chain.js","sourceRoot":"","sources":["../src/interceptor-chain.ts"],"names":[],"mappings":"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"}
|
package/dist/interceptor.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ export declare class InterceptedInvocationContext extends InvocationContext {
|
|
|
14
14
|
* ContextTags.GLOBAL_INTERCEPTOR)
|
|
15
15
|
*/
|
|
16
16
|
getGlobalInterceptorBindingKeys(): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Check if the binding for a global interceptor matches the source type
|
|
19
|
+
* of the invocation
|
|
20
|
+
* @param binding - Binding
|
|
21
|
+
*/
|
|
22
|
+
private applicableTo;
|
|
17
23
|
/**
|
|
18
24
|
* Sort global interceptor bindings by `globalInterceptorGroup` tags
|
|
19
25
|
* @param bindings - An array of global interceptor bindings
|
package/dist/interceptor.js
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
// Node module: @loopback/context
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
10
|
const metadata_1 = require("@loopback/metadata");
|
|
8
|
-
const
|
|
9
|
-
const
|
|
11
|
+
const assert_1 = __importDefault(require("assert"));
|
|
12
|
+
const debug_1 = __importDefault(require("debug"));
|
|
10
13
|
const binding_decorator_1 = require("./binding-decorator");
|
|
11
14
|
const binding_filter_1 = require("./binding-filter");
|
|
12
15
|
const binding_sorter_1 = require("./binding-sorter");
|
|
@@ -14,7 +17,7 @@ const interceptor_chain_1 = require("./interceptor-chain");
|
|
|
14
17
|
const invocation_1 = require("./invocation");
|
|
15
18
|
const keys_1 = require("./keys");
|
|
16
19
|
const value_promise_1 = require("./value-promise");
|
|
17
|
-
const debug =
|
|
20
|
+
const debug = debug_1.default('loopback:context:interceptor');
|
|
18
21
|
/**
|
|
19
22
|
* A specialized InvocationContext for interceptors
|
|
20
23
|
*/
|
|
@@ -24,21 +27,44 @@ class InterceptedInvocationContext extends invocation_1.InvocationContext {
|
|
|
24
27
|
* ContextTags.GLOBAL_INTERCEPTOR)
|
|
25
28
|
*/
|
|
26
29
|
getGlobalInterceptorBindingKeys() {
|
|
27
|
-
const bindings = this.find(binding_filter_1.filterByTag(keys_1.ContextTags.GLOBAL_INTERCEPTOR))
|
|
30
|
+
const bindings = this.find(binding => binding_filter_1.filterByTag(keys_1.ContextTags.GLOBAL_INTERCEPTOR)(binding) &&
|
|
31
|
+
// Only include interceptors that match the source type of the invocation
|
|
32
|
+
this.applicableTo(binding));
|
|
28
33
|
this.sortGlobalInterceptorBindings(bindings);
|
|
29
34
|
const keys = bindings.map(b => b.key);
|
|
30
35
|
debug('Global interceptor binding keys:', keys);
|
|
31
36
|
return keys;
|
|
32
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if the binding for a global interceptor matches the source type
|
|
40
|
+
* of the invocation
|
|
41
|
+
* @param binding - Binding
|
|
42
|
+
*/
|
|
43
|
+
applicableTo(binding) {
|
|
44
|
+
var _a;
|
|
45
|
+
const sourceType = (_a = this.source) === null || _a === void 0 ? void 0 : _a.type;
|
|
46
|
+
// Unknown source type, always apply
|
|
47
|
+
if (sourceType == null)
|
|
48
|
+
return true;
|
|
49
|
+
const allowedSource = binding.tagMap[keys_1.ContextTags.GLOBAL_INTERCEPTOR_SOURCE];
|
|
50
|
+
return (
|
|
51
|
+
// No tag, always apply
|
|
52
|
+
allowedSource == null ||
|
|
53
|
+
// source matched
|
|
54
|
+
allowedSource === sourceType ||
|
|
55
|
+
// source included in the string[]
|
|
56
|
+
(Array.isArray(allowedSource) && allowedSource.includes(sourceType)));
|
|
57
|
+
}
|
|
33
58
|
/**
|
|
34
59
|
* Sort global interceptor bindings by `globalInterceptorGroup` tags
|
|
35
60
|
* @param bindings - An array of global interceptor bindings
|
|
36
61
|
*/
|
|
37
62
|
sortGlobalInterceptorBindings(bindings) {
|
|
63
|
+
var _a;
|
|
38
64
|
// Get predefined ordered groups for global interceptors
|
|
39
|
-
const orderedGroups = this.getSync(keys_1.ContextBindings.GLOBAL_INTERCEPTOR_ORDERED_GROUPS, {
|
|
65
|
+
const orderedGroups = (_a = this.getSync(keys_1.ContextBindings.GLOBAL_INTERCEPTOR_ORDERED_GROUPS, {
|
|
40
66
|
optional: true,
|
|
41
|
-
})
|
|
67
|
+
}), (_a !== null && _a !== void 0 ? _a : []));
|
|
42
68
|
return binding_sorter_1.sortBindingsByPhase(bindings, keys_1.ContextTags.GLOBAL_INTERCEPTOR_GROUP, orderedGroups);
|
|
43
69
|
}
|
|
44
70
|
/**
|
|
@@ -49,10 +75,10 @@ class InterceptedInvocationContext extends invocation_1.InvocationContext {
|
|
|
49
75
|
* 3. global interceptors discovered in the context
|
|
50
76
|
*/
|
|
51
77
|
loadInterceptors() {
|
|
52
|
-
|
|
78
|
+
var _a, _b;
|
|
79
|
+
let interceptors = (_a = metadata_1.MetadataInspector.getMethodMetadata(exports.INTERCEPT_METHOD_KEY, this.target, this.methodName), (_a !== null && _a !== void 0 ? _a : []));
|
|
53
80
|
const targetClass = typeof this.target === 'function' ? this.target : this.target.constructor;
|
|
54
|
-
const classInterceptors = metadata_1.MetadataInspector.getClassMetadata(exports.INTERCEPT_CLASS_KEY, targetClass)
|
|
55
|
-
[];
|
|
81
|
+
const classInterceptors = (_b = metadata_1.MetadataInspector.getClassMetadata(exports.INTERCEPT_CLASS_KEY, targetClass), (_b !== null && _b !== void 0 ? _b : []));
|
|
56
82
|
// Inserting class level interceptors before method level ones
|
|
57
83
|
interceptors = mergeInterceptors(classInterceptors, interceptors);
|
|
58
84
|
const globalInterceptors = this.getGlobalInterceptorBindingKeys();
|
|
@@ -206,8 +232,8 @@ exports.intercept = intercept;
|
|
|
206
232
|
function invokeMethodWithInterceptors(context, target, methodName, args, options = {}) {
|
|
207
233
|
// Do not allow `skipInterceptors` as it's against the function name
|
|
208
234
|
// `invokeMethodWithInterceptors`
|
|
209
|
-
|
|
210
|
-
const invocationCtx = new InterceptedInvocationContext(context, target, methodName, args);
|
|
235
|
+
assert_1.default(!options.skipInterceptors, 'skipInterceptors is not allowed');
|
|
236
|
+
const invocationCtx = new InterceptedInvocationContext(context, target, methodName, args, options.source);
|
|
211
237
|
invocationCtx.assertMethodExists();
|
|
212
238
|
return value_promise_1.tryWithFinally(() => {
|
|
213
239
|
const interceptors = invocationCtx.loadInterceptors();
|
package/dist/interceptor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE
|
|
1
|
+
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"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"}
|
package/dist/invocation.d.ts
CHANGED
|
@@ -8,6 +8,19 @@ export declare type InvocationResult = any;
|
|
|
8
8
|
* Array of arguments for a method invocation
|
|
9
9
|
*/
|
|
10
10
|
export declare type InvocationArgs = any[];
|
|
11
|
+
/**
|
|
12
|
+
* An interface to represent the caller of the invocation
|
|
13
|
+
*/
|
|
14
|
+
export interface InvocationSource<T = unknown> {
|
|
15
|
+
/**
|
|
16
|
+
* Type of the invoker, such as `proxy` and `route`
|
|
17
|
+
*/
|
|
18
|
+
readonly type: string;
|
|
19
|
+
/**
|
|
20
|
+
* Metadata for the source, such as `ResolutionSession`
|
|
21
|
+
*/
|
|
22
|
+
readonly value: T;
|
|
23
|
+
}
|
|
11
24
|
/**
|
|
12
25
|
* InvocationContext represents the context to invoke interceptors for a method.
|
|
13
26
|
* The context can be used to access metadata about the invocation as well as
|
|
@@ -18,6 +31,7 @@ export declare class InvocationContext extends Context {
|
|
|
18
31
|
readonly target: object;
|
|
19
32
|
readonly methodName: string;
|
|
20
33
|
readonly args: InvocationArgs;
|
|
34
|
+
readonly source?: InvocationSource<unknown> | undefined;
|
|
21
35
|
/**
|
|
22
36
|
* Construct a new instance of `InvocationContext`
|
|
23
37
|
* @param parent - Parent context, such as the RequestContext
|
|
@@ -26,19 +40,19 @@ export declare class InvocationContext extends Context {
|
|
|
26
40
|
* @param methodName - Method name
|
|
27
41
|
* @param args - An array of arguments
|
|
28
42
|
*/
|
|
29
|
-
constructor(parent: Context, target: object, methodName: string, args: InvocationArgs);
|
|
43
|
+
constructor(parent: Context, target: object, methodName: string, args: InvocationArgs, source?: InvocationSource<unknown> | undefined);
|
|
30
44
|
/**
|
|
31
45
|
* The target class, such as `OrderController`
|
|
32
46
|
*/
|
|
33
|
-
|
|
47
|
+
get targetClass(): Function;
|
|
34
48
|
/**
|
|
35
49
|
* The target name, such as `OrderController.prototype.cancelOrder`
|
|
36
50
|
*/
|
|
37
|
-
|
|
51
|
+
get targetName(): string;
|
|
38
52
|
/**
|
|
39
53
|
* Description of the invocation
|
|
40
54
|
*/
|
|
41
|
-
|
|
55
|
+
get description(): string;
|
|
42
56
|
toString(): string;
|
|
43
57
|
/**
|
|
44
58
|
* Assert the method exists on the target. An error will be thrown if otherwise.
|
|
@@ -64,6 +78,11 @@ export declare type InvocationOptions = {
|
|
|
64
78
|
* Skip invocation of interceptors
|
|
65
79
|
*/
|
|
66
80
|
skipInterceptors?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Information about the source object that makes the invocation. For REST,
|
|
83
|
+
* it's a `Route`. For injected proxies, it's a `Binding`.
|
|
84
|
+
*/
|
|
85
|
+
source?: InvocationSource;
|
|
67
86
|
};
|
|
68
87
|
/**
|
|
69
88
|
* Invoke a method using dependency injection. Interceptors are invoked as part
|