@loopback/context 3.5.1 → 3.8.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.
Files changed (71) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/binding-config.js +1 -0
  3. package/dist/binding-config.js.map +1 -1
  4. package/dist/binding-decorator.d.ts +1 -2
  5. package/dist/binding-decorator.js +1 -0
  6. package/dist/binding-decorator.js.map +1 -1
  7. package/dist/binding-filter.d.ts +2 -2
  8. package/dist/binding-filter.js +4 -3
  9. package/dist/binding-filter.js.map +1 -1
  10. package/dist/binding-inspector.d.ts +14 -7
  11. package/dist/binding-inspector.js +14 -6
  12. package/dist/binding-inspector.js.map +1 -1
  13. package/dist/binding-key.d.ts +5 -0
  14. package/dist/binding-key.js +104 -90
  15. package/dist/binding-key.js.map +1 -1
  16. package/dist/binding-sorter.js +1 -0
  17. package/dist/binding-sorter.js.map +1 -1
  18. package/dist/binding.d.ts +84 -7
  19. package/dist/binding.js +120 -35
  20. package/dist/binding.js.map +1 -1
  21. package/dist/context-subscription.js +1 -0
  22. package/dist/context-subscription.js.map +1 -1
  23. package/dist/context-tag-indexer.js +1 -0
  24. package/dist/context-tag-indexer.js.map +1 -1
  25. package/dist/context-view.js +1 -0
  26. package/dist/context-view.js.map +1 -1
  27. package/dist/context.js +2 -2
  28. package/dist/context.js.map +1 -1
  29. package/dist/index.js +4 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/inject-config.js +1 -0
  32. package/dist/inject-config.js.map +1 -1
  33. package/dist/inject.d.ts +13 -6
  34. package/dist/inject.js +6 -8
  35. package/dist/inject.js.map +1 -1
  36. package/dist/interception-proxy.js +1 -0
  37. package/dist/interception-proxy.js.map +1 -1
  38. package/dist/interceptor-chain.d.ts +39 -4
  39. package/dist/interceptor-chain.js +26 -4
  40. package/dist/interceptor-chain.js.map +1 -1
  41. package/dist/interceptor.d.ts +28 -3
  42. package/dist/interceptor.js +54 -0
  43. package/dist/interceptor.js.map +1 -1
  44. package/dist/invocation.js +1 -0
  45. package/dist/invocation.js.map +1 -1
  46. package/dist/keys.d.ts +5 -0
  47. package/dist/keys.js +6 -0
  48. package/dist/keys.js.map +1 -1
  49. package/dist/resolution-session.d.ts +26 -6
  50. package/dist/resolution-session.js +1 -0
  51. package/dist/resolution-session.js.map +1 -1
  52. package/dist/resolver.js +1 -0
  53. package/dist/resolver.js.map +1 -1
  54. package/dist/value-promise.d.ts +8 -4
  55. package/dist/value-promise.js +17 -0
  56. package/dist/value-promise.js.map +1 -1
  57. package/package.json +13 -13
  58. package/src/binding-decorator.ts +2 -3
  59. package/src/binding-filter.ts +8 -7
  60. package/src/binding-inspector.ts +32 -9
  61. package/src/binding-key.ts +12 -0
  62. package/src/binding.ts +210 -44
  63. package/src/context.ts +2 -2
  64. package/src/inject.ts +22 -16
  65. package/src/interceptor-chain.ts +66 -7
  66. package/src/interceptor.ts +85 -2
  67. package/src/keys.ts +6 -0
  68. package/src/resolution-session.ts +30 -2
  69. package/src/value-promise.ts +13 -0
  70. package/index.d.ts +0 -6
  71. package/index.js +0 -6
@@ -1,5 +1,7 @@
1
1
  import { Binding } from './binding';
2
- import { Injection } from './inject';
2
+ import { BindingSelector } from './binding-filter';
3
+ import { Context } from './context';
4
+ import { Injection, InjectionMetadata } from './inject';
3
5
  import { BoundValue, ValueOrPromise } from './value-promise';
4
6
  /**
5
7
  * A function to be executed with the resolution session
@@ -19,6 +21,11 @@ export interface InjectionElement {
19
21
  type: 'injection';
20
22
  value: Readonly<Injection>;
21
23
  }
24
+ export interface InjectionDescriptor {
25
+ targetName: string;
26
+ bindingSelector: BindingSelector;
27
+ metadata: InjectionMetadata;
28
+ }
22
29
  /**
23
30
  * Binding or injection elements tracked by resolution sessions
24
31
  */
@@ -70,11 +77,7 @@ export declare class ResolutionSession {
70
77
  * Describe the injection for debugging purpose
71
78
  * @param injection - Injection object
72
79
  */
73
- static describeInjection(injection: Readonly<Injection>): {
74
- targetName: string;
75
- bindingSelector: import("./binding-filter").BindingSelector<any>;
76
- metadata: import("./inject").InjectionMetadata;
77
- };
80
+ static describeInjection(injection: Readonly<Injection>): InjectionDescriptor;
78
81
  /**
79
82
  * Push the injection onto the session
80
83
  * @param injection - Injection The current injection
@@ -156,3 +159,20 @@ export declare type ResolutionOptionsOrSession = ResolutionOptions | ResolutionS
156
159
  * @param optionsOrSession - resolution options or session
157
160
  */
158
161
  export declare function asResolutionOptions(optionsOrSession?: ResolutionOptionsOrSession): ResolutionOptions;
162
+ /**
163
+ * Contextual metadata for resolution
164
+ */
165
+ export interface ResolutionContext<T = unknown> {
166
+ /**
167
+ * The context for resolution
168
+ */
169
+ readonly context: Context;
170
+ /**
171
+ * The binding to be resolved
172
+ */
173
+ readonly binding: Readonly<Binding<T>>;
174
+ /**
175
+ * The options used for resolution
176
+ */
177
+ readonly options: ResolutionOptions;
178
+ }
@@ -4,6 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.asResolutionOptions = exports.ResolutionSession = void 0;
7
8
  const tslib_1 = require("tslib");
8
9
  const metadata_1 = require("@loopback/metadata");
9
10
  const debug_1 = tslib_1.__importDefault(require("debug"));
@@ -1 +1 @@
1
- {"version":3,"file":"resolution-session.js","sourceRoot":"","sources":["../src/resolution-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolution-session.js","sourceRoot":"","sources":["../src/resolution-session.ts"],"names":[],"mappings":"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"}
package/dist/resolver.js CHANGED
@@ -4,6 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.resolveInjectedProperties = exports.resolveInjectedArguments = exports.instantiateClass = void 0;
7
8
  const tslib_1 = require("tslib");
8
9
  const metadata_1 = require("@loopback/metadata");
9
10
  const assert_1 = tslib_1.__importDefault(require("assert"));
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,3 @@
1
- /**
2
- * This module contains types for values and/or promises as well as a set of
3
- * utility methods to handle values and/or promises.
4
- */
5
1
  /**
6
2
  * A class constructor accepting arbitrary arguments.
7
3
  */
@@ -107,3 +103,11 @@ export declare function resolveUntil<T, V>(source: Iterator<T>, resolver: (sourc
107
103
  * @param transformer - A function that maps the source value to a value or promise
108
104
  */
109
105
  export declare function transformValueOrPromise<T, V>(valueOrPromise: ValueOrPromise<T>, transformer: (val: T) => ValueOrPromise<V>): ValueOrPromise<V>;
106
+ /**
107
+ * A utility to generate uuid v4
108
+ */
109
+ export declare function uuid(): string;
110
+ /**
111
+ * A regular expression for testing uuid v4 PATTERN
112
+ */
113
+ export declare const UUID_PATTERN: RegExp;
@@ -4,6 +4,12 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.UUID_PATTERN = exports.uuid = exports.transformValueOrPromise = exports.resolveUntil = exports.tryWithFinally = exports.resolveList = exports.resolveMap = exports.getDeepProperty = exports.isPromiseLike = void 0;
8
+ /**
9
+ * This module contains types for values and/or promises as well as a set of
10
+ * utility methods to handle values and/or promises.
11
+ */
12
+ const uuid_1 = require("uuid");
7
13
  /**
8
14
  * Check whether a value is a Promise-like instance.
9
15
  * Recognizes both native promises and third-party promise libraries.
@@ -228,4 +234,15 @@ function transformValueOrPromise(valueOrPromise, transformer) {
228
234
  }
229
235
  }
230
236
  exports.transformValueOrPromise = transformValueOrPromise;
237
+ /**
238
+ * A utility to generate uuid v4
239
+ */
240
+ function uuid() {
241
+ return uuid_1.v4();
242
+ }
243
+ exports.uuid = uuid;
244
+ /**
245
+ * A regular expression for testing uuid v4 PATTERN
246
+ */
247
+ exports.UUID_PATTERN = /[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}/i;
231
248
  //# sourceMappingURL=value-promise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"value-promise.js","sourceRoot":"","sources":["../src/value-promise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value-promise.js","sourceRoot":"","sources":["../src/value-promise.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;AAEhE;;;GAGG;AAEH,+BAAkC;AAwBlC;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,KAAqC;IAErC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,OAAQ,KAAwB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC9D,CAAC;AAND,sCAMC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,KAAS,EACT,IAAY;IAEZ,IAAI,MAAM,GAAe,KAAK,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;IACD,OAAY,MAAM,CAAC;AACrB,CAAC;AAbD,0CAaC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,UAAU,CACxB,GAAiB,EACjB,QAAuE;IAEvE,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,cAAc,GAAoC,SAAS,CAAC;IAEhE,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAM,EAAE,EAAE;QACzC,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,qEAAqE;YACrE,4BAA4B;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACnB;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACrB,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;YACjC,IAAI,CAAC,cAAc;gBAAE,cAAc,GAAG,EAAE,CAAC;YACzC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,IAAI,cAAc,KAAK,SAAS,EAAE;gBAChC,qEAAqE;gBACrE,4BAA4B;gBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;aAC9B;SACF;KACF;IAED,IAAI,cAAc,EAAE;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;KACvD;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAlCD,gCAkCC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,WAAW,CACzB,IAAS,EACT,QAAiE;IAEjE,MAAM,MAAM,GAAQ,IAAI,KAAK,CAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,cAAc,GAAoC,SAAS,CAAC;IAEhE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,GAAM,EAAE,EAAE;QAC3C,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IACtB,CAAC,CAAC;IAEF,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;YACjC,IAAI,CAAC,cAAc;gBAAE,cAAc,GAAG,EAAE,CAAC;YACzC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtD;aAAM;YACL,MAAM,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;SAC7B;KACF;IAED,IAAI,cAAc,EAAE;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;KACvD;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AA1BD,kCA0BC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,MAA+B,EAC/B,WAAuB;IAEvB,IAAI,MAAyB,CAAC;IAC9B,IAAI;QACF,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB;IAAC,OAAO,GAAG,EAAE;QACZ,WAAW,EAAE,CAAC;QACd,MAAM,GAAG,CAAC;KACX;IACD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;QACzB,0EAA0E;QAC1E,kDAAkD;QAClD,0CAA0C;QAC1C,MAAM,GAAG,MAAM,CAAC,IAAI,CAClB,GAAG,CAAC,EAAE;YACJ,WAAW,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACb,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,WAAW,EAAE,CAAC;YACd,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;KACH;SAAM;QACL,WAAW,EAAE,CAAC;KACf;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA7BD,wCA6BC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,MAAmB,EACnB,QAAyD,EACzD,SAA8D;IAE9D,sEAAsE;IACtE,iDAAiD;IACjD,OAAO,IAAI,EAAE;QACX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC,CAAC,sBAAsB;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;YACjC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC7B,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE;oBAC3B,OAAO,CAAC,CAAC;iBACV;qBAAM;oBACL,OAAO,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;iBAClD;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;gBACxC,OAAO,cAAc,CAAC;aACvB;YACD,+BAA+B;SAChC;KACF;AACH,CAAC;AA3BD,oCA2BC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,cAAiC,EACjC,WAA0C;IAE1C,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;QACjC,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACzC;SAAM;QACL,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC;KACpC;AACH,CAAC;AATD,0DASC;AAED;;GAEG;AACH,SAAgB,IAAI;IAClB,OAAO,SAAM,EAAE,CAAC;AAClB,CAAC;AAFD,oBAEC;AAED;;GAEG;AACU,QAAA,YAAY,GAAG,wEAAwE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "name": "@loopback/context",
3
- "version": "3.5.1",
3
+ "version": "3.8.1",
4
4
  "description": "LoopBack's container for Inversion of Control",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
5
7
  "engines": {
6
8
  "node": ">=10"
7
9
  },
@@ -18,20 +20,20 @@
18
20
  "copyright.owner": "IBM Corp.",
19
21
  "license": "MIT",
20
22
  "dependencies": {
21
- "@loopback/metadata": "^2.1.1",
23
+ "@loopback/metadata": "^2.1.5",
22
24
  "@types/debug": "^4.1.5",
23
25
  "debug": "^4.1.1",
24
26
  "p-event": "^4.1.0",
25
- "tslib": "^1.11.1",
26
- "uuid": "^7.0.3"
27
+ "tslib": "^2.0.0",
28
+ "uuid": "^8.0.0"
27
29
  },
28
30
  "devDependencies": {
29
- "@loopback/build": "^5.2.0",
30
- "@loopback/eslint-config": "^6.0.4",
31
- "@loopback/testlab": "^3.1.1",
32
- "@types/bluebird": "^3.5.30",
33
- "@types/node": "^10.17.21",
34
- "@types/uuid": "^7.0.3",
31
+ "@loopback/build": "^5.4.1",
32
+ "@loopback/eslint-config": "^7.0.1",
33
+ "@loopback/testlab": "^3.1.5",
34
+ "@types/bluebird": "^3.5.31",
35
+ "@types/node": "^10.17.24",
36
+ "@types/uuid": "^8.0.0",
35
37
  "bluebird": "^3.7.2"
36
38
  },
37
39
  "keywords": [
@@ -45,8 +47,6 @@
45
47
  ],
46
48
  "files": [
47
49
  "README.md",
48
- "index.js",
49
- "index.d.ts",
50
50
  "dist",
51
51
  "src",
52
52
  "!*/__tests__"
@@ -56,5 +56,5 @@
56
56
  "url": "https://github.com/strongloop/loopback-next.git",
57
57
  "directory": "packages/context"
58
58
  },
59
- "gitHead": "11f282df0bbdf25c505a2131e6d82b85005a22a2"
59
+ "gitHead": "62aea854bf85c5a5995b59e6908fe5409f7eea96"
60
60
  }
@@ -14,7 +14,6 @@ import {
14
14
  isProviderClass,
15
15
  removeNameAndKeyTags,
16
16
  } from './binding-inspector';
17
- import {Provider} from './provider';
18
17
  import {Constructor} from './value-promise';
19
18
 
20
19
  /**
@@ -97,8 +96,8 @@ export namespace bind {
97
96
  */
98
97
  export function provider(
99
98
  ...specs: BindingSpec[]
100
- ): (target: Constructor<Provider<unknown>>) => void {
101
- return (target: Constructor<Provider<unknown>>) => {
99
+ ): (target: Constructor<unknown>) => void {
100
+ return (target: Constructor<unknown>) => {
102
101
  if (!isProviderClass(target)) {
103
102
  throw new Error(`Target ${target} is not a Provider`);
104
103
  }
@@ -144,15 +144,16 @@ export const ANY_TAG_VALUE: TagValueMatcher = (tagValue, tagName, tagMap) =>
144
144
  /**
145
145
  * Create a tag value matcher function that returns `true` if the target tag
146
146
  * value equals to the item value or is an array that includes the item value.
147
- * @param itemValue - Tag item value
147
+ * @param itemValues - A list of tag item value
148
148
  */
149
- export function includesTagValue(itemValue: unknown): TagValueMatcher {
149
+ export function includesTagValue(...itemValues: unknown[]): TagValueMatcher {
150
150
  return tagValue => {
151
- return (
152
- // The tag value equals the item value
153
- tagValue === itemValue ||
154
- // The tag value contains the item value
155
- (Array.isArray(tagValue) && tagValue.includes(itemValue))
151
+ return itemValues.some(
152
+ itemValue =>
153
+ // The tag value equals the item value
154
+ tagValue === itemValue ||
155
+ // The tag value contains the item value
156
+ (Array.isArray(tagValue) && tagValue.includes(itemValue)),
156
157
  );
157
158
  };
158
159
  }
@@ -5,7 +5,14 @@
5
5
 
6
6
  import {MetadataAccessor, MetadataInspector} from '@loopback/metadata';
7
7
  import debugFactory from 'debug';
8
- import {Binding, BindingScope, BindingTag, BindingTemplate} from './binding';
8
+ import {
9
+ Binding,
10
+ BindingScope,
11
+ BindingTag,
12
+ BindingTemplate,
13
+ DynamicValueProviderClass,
14
+ isDynamicValueProviderClass,
15
+ } from './binding';
9
16
  import {BindingAddress} from './binding-key';
10
17
  import {ContextTags} from './keys';
11
18
  import {Provider} from './provider';
@@ -57,9 +64,11 @@ export type BindingSpec<T = unknown> = BindingTemplate<T> | BindingScopeAndTags;
57
64
  * @typeParam T - Value type
58
65
  */
59
66
  export function isProviderClass<T>(
60
- cls: Constructor<T | Provider<T>>,
67
+ cls: unknown,
61
68
  ): cls is Constructor<Provider<T>> {
62
- return typeof cls?.prototype?.value === 'function';
69
+ return (
70
+ typeof cls === 'function' && typeof cls.prototype?.value === 'function'
71
+ );
63
72
  }
64
73
 
65
74
  /**
@@ -83,16 +92,21 @@ export function asProvider<T>(
83
92
  * A factory function to create a template function to bind the target class
84
93
  * as a class or `Provider`.
85
94
  * @param target - Target class, which can be an implementation of `Provider`
95
+ * or `DynamicValueProviderClass`
86
96
  *
87
97
  * @typeParam T - Value type
88
98
  */
89
99
  export function asClassOrProvider<T>(
90
- target: Constructor<T | Provider<T>>,
100
+ target: Constructor<T | Provider<T>> | DynamicValueProviderClass<T>,
91
101
  ): BindingTemplate<T> {
92
102
  // Add a template to bind to a class or provider
93
103
  return function bindAsClassOrProvider(binding) {
94
104
  if (isProviderClass(target)) {
95
105
  asProvider(target)(binding);
106
+ } else if (isDynamicValueProviderClass<T>(target)) {
107
+ binding.toDynamicValue(target).tag(ContextTags.DYNAMIC_VALUE_PROVIDER, {
108
+ [ContextTags.TYPE]: ContextTags.DYNAMIC_VALUE_PROVIDER,
109
+ });
96
110
  } else {
97
111
  binding.toClass(target as Constructor<T>);
98
112
  }
@@ -155,7 +169,7 @@ export function removeNameAndKeyTags(binding: Binding<unknown>) {
155
169
  * @typeParam T - Value type
156
170
  */
157
171
  export function bindingTemplateFor<T>(
158
- cls: Constructor<T | Provider<T>>,
172
+ cls: Constructor<T | Provider<T>> | DynamicValueProviderClass<T>,
159
173
  ): BindingTemplate<T> {
160
174
  const spec = getBindingMetadata(cls);
161
175
  debug('class %s has binding metadata', cls.name, spec);
@@ -186,6 +200,7 @@ export type TypeNamespaceMapping = {[name: string]: string};
186
200
  export const DEFAULT_TYPE_NAMESPACES: TypeNamespaceMapping = {
187
201
  class: 'classes',
188
202
  provider: 'providers',
203
+ dynamicValueProvider: 'dynamicValueProviders',
189
204
  };
190
205
 
191
206
  /**
@@ -201,17 +216,23 @@ export type BindingFromClassOptions = {
201
216
  */
202
217
  type?: string;
203
218
  /**
204
- * Artifact name, such as `my-rest-server` and `my-controller`
219
+ * Artifact name, such as `my-rest-server` and `my-controller`. It
220
+ * overrides the name tag
205
221
  */
206
222
  name?: string;
207
223
  /**
208
- * Namespace for the binding key, such as `servers` and `controllers`
224
+ * Namespace for the binding key, such as `servers` and `controllers`. It
225
+ * overrides the default namespace or namespace tag
209
226
  */
210
227
  namespace?: string;
211
228
  /**
212
229
  * Mapping artifact type to binding key namespaces
213
230
  */
214
231
  typeNamespaceMapping?: TypeNamespaceMapping;
232
+ /**
233
+ * Default namespace if the binding does not have an explicit namespace
234
+ */
235
+ defaultNamespace?: string;
215
236
  /**
216
237
  * Default scope if the binding does not have an explicit scope
217
238
  */
@@ -231,7 +252,7 @@ export type BindingFromClassOptions = {
231
252
  * @typeParam T - Value type
232
253
  */
233
254
  export function createBindingFromClass<T>(
234
- cls: Constructor<T | Provider<T>>,
255
+ cls: Constructor<T | Provider<T>> | DynamicValueProviderClass<T>,
235
256
  options: BindingFromClassOptions = {},
236
257
  ): Binding<T> {
237
258
  debug('create binding from class %s with options', cls.name, options);
@@ -313,7 +334,9 @@ function buildBindingKey<T>(
313
334
  if (key) return key;
314
335
 
315
336
  let namespace =
316
- options.namespace ?? bindingTemplate.tagMap[ContextTags.NAMESPACE];
337
+ options.namespace ??
338
+ bindingTemplate.tagMap[ContextTags.NAMESPACE] ??
339
+ options.defaultNamespace;
317
340
  if (!namespace) {
318
341
  const namespaces = Object.assign(
319
342
  {},
@@ -3,6 +3,8 @@
3
3
  // This file is licensed under the MIT License.
4
4
  // License text available at https://opensource.org/licenses/MIT
5
5
 
6
+ import {uuid} from './value-promise';
7
+
6
8
  export type BindingAddress<T = unknown> = string | BindingKey<T>;
7
9
 
8
10
  export class BindingKey<ValueType> {
@@ -119,4 +121,14 @@ export class BindingKey<ValueType> {
119
121
  const bindingKey = key ? `${key}:${suffix}` : suffix;
120
122
  return bindingKey;
121
123
  }
124
+
125
+ /**
126
+ * Generate a unique binding key with `uuid`
127
+ * @param namespace - Namespace for the binding
128
+ */
129
+ static generate<T>(namespace = ''): BindingKey<T> {
130
+ const prefix = namespace ? `${namespace}.` : '';
131
+ const name = uuid();
132
+ return BindingKey.create(`${prefix}${name}`);
133
+ }
122
134
  }