@loopback/context 1.23.5 → 2.0.0

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/CHANGELOG.md +81 -0
  2. package/dist/binding-config.js +1 -1
  3. package/dist/binding-config.js.map +1 -1
  4. package/dist/binding-filter.d.ts +19 -1
  5. package/dist/binding-filter.js +40 -7
  6. package/dist/binding-filter.js.map +1 -1
  7. package/dist/binding-inspector.js +12 -11
  8. package/dist/binding-inspector.js.map +1 -1
  9. package/dist/binding-sorter.js +2 -2
  10. package/dist/binding-sorter.js.map +1 -1
  11. package/dist/binding.d.ts +42 -4
  12. package/dist/binding.js +40 -10
  13. package/dist/binding.js.map +1 -1
  14. package/dist/context-event.d.ts +23 -0
  15. package/dist/context-event.js +7 -0
  16. package/dist/context-event.js.map +1 -0
  17. package/dist/context-observer.d.ts +1 -36
  18. package/dist/context-subscription.d.ts +147 -0
  19. package/dist/context-subscription.js +336 -0
  20. package/dist/context-subscription.js.map +1 -0
  21. package/dist/context-tag-indexer.d.ts +42 -0
  22. package/dist/context-tag-indexer.js +134 -0
  23. package/dist/context-tag-indexer.js.map +1 -0
  24. package/dist/context-view.d.ts +2 -1
  25. package/dist/context-view.js +5 -2
  26. package/dist/context-view.js.map +1 -1
  27. package/dist/context.d.ts +35 -66
  28. package/dist/context.js +78 -250
  29. package/dist/context.js.map +1 -1
  30. package/dist/index.d.ts +5 -3
  31. package/dist/index.js +4 -3
  32. package/dist/index.js.map +1 -1
  33. package/dist/inject-config.js +3 -3
  34. package/dist/inject-config.js.map +1 -1
  35. package/dist/inject.d.ts +2 -2
  36. package/dist/inject.js +18 -11
  37. package/dist/inject.js.map +1 -1
  38. package/dist/interception-proxy.d.ts +15 -3
  39. package/dist/interception-proxy.js +20 -4
  40. package/dist/interception-proxy.js.map +1 -1
  41. package/dist/interceptor-chain.js +5 -2
  42. package/dist/interceptor-chain.js.map +1 -1
  43. package/dist/interceptor.d.ts +6 -0
  44. package/dist/interceptor.js +38 -12
  45. package/dist/interceptor.js.map +1 -1
  46. package/dist/invocation.d.ts +20 -2
  47. package/dist/invocation.js +14 -12
  48. package/dist/invocation.js.map +1 -1
  49. package/dist/keys.d.ts +6 -0
  50. package/dist/keys.js +6 -0
  51. package/dist/keys.js.map +1 -1
  52. package/dist/resolution-session.d.ts +1 -0
  53. package/dist/resolution-session.js +13 -6
  54. package/dist/resolution-session.js.map +1 -1
  55. package/dist/resolver.js +13 -8
  56. package/dist/resolver.js.map +1 -1
  57. package/dist/value-promise.d.ts +1 -3
  58. package/package.json +9 -9
  59. package/src/binding-config.ts +1 -1
  60. package/src/binding-filter.ts +61 -9
  61. package/src/binding-inspector.ts +6 -8
  62. package/src/binding-sorter.ts +2 -2
  63. package/src/binding.ts +73 -9
  64. package/src/context-event.ts +30 -0
  65. package/src/context-observer.ts +1 -38
  66. package/src/context-subscription.ts +403 -0
  67. package/src/context-tag-indexer.ts +149 -0
  68. package/src/context-view.ts +3 -6
  69. package/src/context.ts +94 -293
  70. package/src/index.ts +5 -3
  71. package/src/inject-config.ts +3 -3
  72. package/src/inject.ts +19 -10
  73. package/src/interception-proxy.ts +25 -3
  74. package/src/interceptor-chain.ts +1 -1
  75. package/src/interceptor.ts +34 -8
  76. package/src/invocation.ts +26 -7
  77. package/src/keys.ts +7 -0
  78. package/src/resolution-session.ts +9 -5
  79. package/src/resolver.ts +5 -5
  80. package/src/value-promise.ts +1 -1
package/dist/context.js CHANGED
@@ -3,40 +3,24 @@
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 __asyncValues = (this && this.__asyncValues) || function (o) {
7
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
8
- var m = o[Symbol.asyncIterator], i;
9
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
10
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
11
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
12
8
  };
13
9
  Object.defineProperty(exports, "__esModule", { value: true });
14
- const debugFactory = require("debug");
10
+ const debug_1 = __importDefault(require("debug"));
15
11
  const events_1 = require("events");
16
12
  const uuid_1 = require("uuid");
17
13
  const binding_1 = require("./binding");
18
14
  const binding_config_1 = require("./binding-config");
19
15
  const binding_filter_1 = require("./binding-filter");
20
16
  const binding_key_1 = require("./binding-key");
17
+ const context_subscription_1 = require("./context-subscription");
18
+ const context_tag_indexer_1 = require("./context-tag-indexer");
21
19
  const context_view_1 = require("./context-view");
22
20
  const keys_1 = require("./keys");
23
21
  const resolution_session_1 = require("./resolution-session");
24
22
  const value_promise_1 = require("./value-promise");
25
- /**
26
- * Polyfill Symbol.asyncIterator as required by TypeScript for Node 8.x.
27
- * See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-3.html
28
- */
29
- if (!Symbol.asyncIterator) {
30
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
- Symbol.asyncIterator = Symbol.for('Symbol.asyncIterator');
32
- }
33
- /**
34
- * WARNING: This following import must happen after the polyfill. The
35
- * `auto-import` by an IDE such as VSCode may move the import before the
36
- * polyfill. It must be then fixed manually.
37
- */
38
- const p_event_1 = require("p-event");
39
- const debug = debugFactory('loopback:context');
23
+ const debug = debug_1.default('loopback:context');
40
24
  /**
41
25
  * Context provides an implementation of Inversion of Control (IoC) container
42
26
  */
@@ -69,24 +53,32 @@ class Context extends events_1.EventEmitter {
69
53
  * Key to binding map as the internal registry
70
54
  */
71
55
  this.registry = new Map();
72
- /**
73
- * Internal counter for pending notification events which are yet to be
74
- * processed by observers.
75
- */
76
- this.pendingNotifications = 0;
56
+ // The number of listeners can grow with the number of child contexts
57
+ // For example, each request can add a listener to the RestServer and the
58
+ // listener is removed when the request processing is finished.
59
+ // See https://github.com/strongloop/loopback-next/issues/4363
60
+ this.setMaxListeners(Infinity);
77
61
  if (typeof _parent === 'string') {
78
62
  name = _parent;
79
63
  _parent = undefined;
80
64
  }
81
65
  this._parent = _parent;
82
- this.name = name || uuid_1.v1();
66
+ this.name = (name !== null && name !== void 0 ? name : uuid_1.v1());
67
+ this.tagIndexer = new context_tag_indexer_1.ContextTagIndexer(this);
68
+ this.subscriptionManager = new context_subscription_1.ContextSubscriptionManager(this);
69
+ }
70
+ /**
71
+ * @internal
72
+ * Getter for ContextSubscriptionManager
73
+ */
74
+ get parent() {
75
+ return this._parent;
83
76
  }
84
77
  /**
85
78
  * Wrap the debug statement so that it always print out the context name
86
79
  * as the prefix
87
80
  * @param args - Arguments for the debug
88
81
  */
89
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
82
  _debug(...args) {
91
83
  /* istanbul ignore if */
92
84
  if (!debug.enabled)
@@ -100,161 +92,20 @@ class Context extends events_1.EventEmitter {
100
92
  }
101
93
  }
102
94
  /**
103
- * Set up an internal listener to notify registered observers asynchronously
104
- * upon `bind` and `unbind` events. This method will be called lazily when
105
- * the first observer is added.
95
+ * A strongly-typed method to emit context events
96
+ * @param type Event type
97
+ * @param event Context event
106
98
  */
107
- setupEventHandlersIfNeeded() {
108
- if (this.notificationQueue != null)
109
- return;
110
- this.addParentEventListener('bind');
111
- this.addParentEventListener('unbind');
112
- // The following are two async functions. Returned promises are ignored as
113
- // they are long-running background tasks.
114
- this.startNotificationTask().catch(err => {
115
- this.handleNotificationError(err);
116
- });
117
- let ctx = this._parent;
118
- while (ctx) {
119
- ctx.setupEventHandlersIfNeeded();
120
- ctx = ctx._parent;
121
- }
99
+ emitEvent(type, event) {
100
+ this.emit(type, event);
122
101
  }
123
102
  /**
124
- * Add an event listener to its parent context so that this context will
125
- * be notified of parent events, such as `bind` or `unbind`.
126
- * @param event - Event name
103
+ * Emit an `error` event
104
+ * @param err Error
127
105
  */
128
- addParentEventListener(event) {
129
- if (this._parent == null)
130
- return;
131
- // Keep track of parent event listeners so that we can remove them
132
- this._parentEventListeners = this._parentEventListeners || new Map();
133
- if (this._parentEventListeners.has(event))
134
- return;
135
- const parentEventListener = (binding, context) => {
136
- // Propagate the event to this context only if the binding key does not
137
- // exist in this context. The parent binding is shadowed if there is a
138
- // binding with the same key in this one.
139
- if (this.contains(binding.key)) {
140
- this._debug('Event %s %s is not re-emitted from %s to %s', event, binding.key, context.name, this.name);
141
- return;
142
- }
143
- this._debug('Re-emitting %s %s from %s to %s', event, binding.key, context.name, this.name);
144
- this.emit(event, binding, context);
145
- };
146
- this._parentEventListeners.set(event, parentEventListener);
147
- // Listen on the parent context events
148
- this._parent.on(event, parentEventListener);
149
- }
150
- /**
151
- * Handle errors caught during the notification of observers
152
- * @param err - Error
153
- */
154
- handleNotificationError(err) {
155
- // Bubbling up the error event over the context chain
156
- // until we find an error listener
157
- // eslint-disable-next-line @typescript-eslint/no-this-alias
158
- let ctx = this;
159
- while (ctx) {
160
- if (ctx.listenerCount('error') === 0) {
161
- // No error listener found, try its parent
162
- ctx = ctx._parent;
163
- continue;
164
- }
165
- this._debug('Emitting error to context %s', ctx.name, err);
166
- ctx.emit('error', err);
167
- return;
168
- }
169
- // No context with error listeners found
170
- this._debug('No error handler is configured for the context chain', err);
171
- // Let it crash now by emitting an error event
106
+ emitError(err) {
172
107
  this.emit('error', err);
173
108
  }
174
- /**
175
- * Start a background task to listen on context events and notify observers
176
- */
177
- startNotificationTask() {
178
- // Set up listeners on `bind` and `unbind` for notifications
179
- this.setupNotification('bind', 'unbind');
180
- // Create an async iterator for the `notification` event as a queue
181
- this.notificationQueue = p_event_1.iterator(this, 'notification');
182
- return this.processNotifications();
183
- }
184
- /**
185
- * Process notification events as they arrive on the queue
186
- */
187
- async processNotifications() {
188
- var e_1, _a;
189
- const events = this.notificationQueue;
190
- if (events == null)
191
- return;
192
- try {
193
- for (var events_2 = __asyncValues(events), events_2_1; events_2_1 = await events_2.next(), !events_2_1.done;) {
194
- const { eventType, binding, context, observers } = events_2_1.value;
195
- // The loop will happen asynchronously upon events
196
- try {
197
- // The execution of observers happen in the Promise micro-task queue
198
- await this.notifyObservers(eventType, binding, context, observers);
199
- this.pendingNotifications--;
200
- this._debug('Observers notified for %s of binding %s', eventType, binding.key);
201
- this.emit('observersNotified', { eventType, binding });
202
- }
203
- catch (err) {
204
- this.pendingNotifications--;
205
- this._debug('Error caught from observers', err);
206
- // Errors caught from observers. Emit it to the current context.
207
- // If no error listeners are registered, crash the process.
208
- this.emit('error', err);
209
- }
210
- }
211
- }
212
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
213
- finally {
214
- try {
215
- if (events_2_1 && !events_2_1.done && (_a = events_2.return)) await _a.call(events_2);
216
- }
217
- finally { if (e_1) throw e_1.error; }
218
- }
219
- }
220
- /**
221
- * Listen on given event types and emit `notification` event. This method
222
- * merge multiple event types into one for notification.
223
- * @param eventTypes - Context event types
224
- */
225
- setupNotification(...eventTypes) {
226
- for (const eventType of eventTypes) {
227
- this.on(eventType, (binding, context) => {
228
- // No need to schedule notifications if no observers are present
229
- if (!this.observers || this.observers.size === 0)
230
- return;
231
- // Track pending events
232
- this.pendingNotifications++;
233
- // Take a snapshot of current observers to ensure notifications of this
234
- // event will only be sent to current ones. Emit a new event to notify
235
- // current context observers.
236
- this.emit('notification', {
237
- eventType,
238
- binding,
239
- context,
240
- observers: new Set(this.observers),
241
- });
242
- });
243
- }
244
- }
245
- /**
246
- * Wait until observers are notified for all of currently pending notification
247
- * events.
248
- *
249
- * This method is for test only to perform assertions after observers are
250
- * notified for relevant events.
251
- */
252
- async waitUntilPendingNotificationsDone(timeout) {
253
- const count = this.pendingNotifications;
254
- if (count === 0)
255
- return;
256
- await p_event_1.multiple(this, 'observersNotified', { count, timeout });
257
- }
258
109
  /**
259
110
  * Create a binding with the given key in the context. If a locked binding
260
111
  * already exists with the same key, an error will be thrown.
@@ -272,22 +123,27 @@ class Context extends events_1.EventEmitter {
272
123
  * @param binding - The configured binding to be added
273
124
  */
274
125
  add(binding) {
126
+ var _a;
275
127
  const key = binding.key;
276
128
  this._debug('[%s] Adding binding: %s', key);
277
129
  let existingBinding;
278
130
  const keyExists = this.registry.has(key);
279
131
  if (keyExists) {
280
132
  existingBinding = this.registry.get(key);
281
- const bindingIsLocked = existingBinding && existingBinding.isLocked;
133
+ const bindingIsLocked = (_a = existingBinding) === null || _a === void 0 ? void 0 : _a.isLocked;
282
134
  if (bindingIsLocked)
283
135
  throw new Error(`Cannot rebind key "${key}" to a locked binding`);
284
136
  }
285
137
  this.registry.set(key, binding);
286
138
  if (existingBinding !== binding) {
287
139
  if (existingBinding != null) {
288
- this.emit('unbind', existingBinding, this);
140
+ this.emitEvent('unbind', {
141
+ binding: existingBinding,
142
+ context: this,
143
+ type: 'unbind',
144
+ });
289
145
  }
290
- this.emit('bind', binding, this);
146
+ this.emitEvent('bind', { binding, context: this, type: 'bind' });
291
147
  }
292
148
  return this;
293
149
  }
@@ -386,16 +242,17 @@ class Context extends events_1.EventEmitter {
386
242
  * @returns true if the binding key is found and removed from this context
387
243
  */
388
244
  unbind(key) {
245
+ var _a;
389
246
  this._debug('Unbind %s', key);
390
247
  key = binding_key_1.BindingKey.validate(key);
391
248
  const binding = this.registry.get(key);
392
249
  // If not found, return `false`
393
250
  if (binding == null)
394
251
  return false;
395
- if (binding && binding.isLocked)
252
+ if ((_a = binding) === null || _a === void 0 ? void 0 : _a.isLocked)
396
253
  throw new Error(`Cannot unbind key "${key}" of a locked binding`);
397
254
  this.registry.delete(key);
398
- this.emit('unbind', binding, this);
255
+ this.emitEvent('unbind', { binding, context: this, type: 'unbind' });
399
256
  return true;
400
257
  }
401
258
  /**
@@ -403,19 +260,14 @@ class Context extends events_1.EventEmitter {
403
260
  * @param observer - Context observer instance or function
404
261
  */
405
262
  subscribe(observer) {
406
- this.observers = this.observers || new Set();
407
- this.setupEventHandlersIfNeeded();
408
- this.observers.add(observer);
409
- return new ContextSubscription(this, observer);
263
+ return this.subscriptionManager.subscribe(observer);
410
264
  }
411
265
  /**
412
266
  * Remove the context event observer from the context
413
267
  * @param observer - Context event observer
414
268
  */
415
269
  unsubscribe(observer) {
416
- if (!this.observers)
417
- return false;
418
- return this.observers.delete(observer);
270
+ return this.subscriptionManager.unsubscribe(observer);
419
271
  }
420
272
  /**
421
273
  * Close the context: clear observers, stop notifications, and remove event
@@ -428,29 +280,15 @@ class Context extends events_1.EventEmitter {
428
280
  */
429
281
  close() {
430
282
  this._debug('Closing context...');
431
- this.observers = undefined;
432
- if (this.notificationQueue != null) {
433
- // Cancel the notification iterator
434
- this.notificationQueue.return(undefined).catch(err => {
435
- this.handleNotificationError(err);
436
- });
437
- this.notificationQueue = undefined;
438
- }
439
- if (this._parent && this._parentEventListeners) {
440
- for (const [event, listener] of this._parentEventListeners) {
441
- this._parent.removeListener(event, listener);
442
- }
443
- this._parentEventListeners = undefined;
444
- }
283
+ this.subscriptionManager.close();
284
+ this.tagIndexer.close();
445
285
  }
446
286
  /**
447
287
  * Check if an observer is subscribed to this context
448
288
  * @param observer - Context observer
449
289
  */
450
290
  isSubscribed(observer) {
451
- if (!this.observers)
452
- return false;
453
- return this.observers.has(observer);
291
+ return this.subscriptionManager.isSubscribed(observer);
454
292
  }
455
293
  /**
456
294
  * Create a view of the context chain with the given binding filter
@@ -462,29 +300,6 @@ class Context extends events_1.EventEmitter {
462
300
  view.open();
463
301
  return view;
464
302
  }
465
- /**
466
- * Publish an event to the registered observers. Please note the
467
- * notification is queued and performed asynchronously so that we allow fluent
468
- * APIs such as `ctx.bind('key').to(...).tag(...);` and give observers the
469
- * fully populated binding.
470
- *
471
- * @param eventType - Event names: `bind` or `unbind`
472
- * @param binding - Binding bound or unbound
473
- * @param context - Owner context
474
- * @param observers - Current set of context observers
475
- */
476
- async notifyObservers(eventType, binding, context, observers = this.observers) {
477
- if (!observers || observers.size === 0)
478
- return;
479
- for (const observer of observers) {
480
- if (typeof observer === 'function') {
481
- await observer(eventType, binding, context);
482
- }
483
- else if (!observer.filter || observer.filter(binding)) {
484
- await observer.observe(eventType, binding, context);
485
- }
486
- }
487
- }
488
303
  /**
489
304
  * Check if a binding exists with the given key in the local context without
490
305
  * delegating to the parent context
@@ -533,6 +348,10 @@ class Context extends events_1.EventEmitter {
533
348
  * - return `false` to exclude it.
534
349
  */
535
350
  find(pattern) {
351
+ // Optimize if the binding filter is for tags
352
+ if (typeof pattern === 'function' && binding_filter_1.isBindingTagFilter(pattern)) {
353
+ return this._findByTagIndex(pattern.bindingTagPattern);
354
+ }
536
355
  const bindings = [];
537
356
  const filter = binding_filter_1.filterByKey(pattern);
538
357
  for (const b of this.registry.values()) {
@@ -559,6 +378,16 @@ class Context extends events_1.EventEmitter {
559
378
  findByTag(tagFilter) {
560
379
  return this.find(binding_filter_1.filterByTag(tagFilter));
561
380
  }
381
+ /**
382
+ * Find bindings by tag leveraging indexes
383
+ * @param tag - Tag name pattern or name/value pairs
384
+ */
385
+ _findByTagIndex(tag) {
386
+ var _a;
387
+ const currentBindings = this.tagIndexer.findByTagIndex(tag);
388
+ const parentBindings = this._parent && ((_a = this._parent) === null || _a === void 0 ? void 0 : _a._findByTagIndex(tag));
389
+ return this._mergeWithParent(currentBindings, parentBindings);
390
+ }
562
391
  _mergeWithParent(childList, parentList) {
563
392
  if (!parentList)
564
393
  return childList;
@@ -583,6 +412,7 @@ class Context extends events_1.EventEmitter {
583
412
  return valueOrPromise;
584
413
  }
585
414
  getBinding(key, options) {
415
+ var _a;
586
416
  key = binding_key_1.BindingKey.validate(key);
587
417
  const binding = this.registry.get(key);
588
418
  if (binding) {
@@ -591,7 +421,7 @@ class Context extends events_1.EventEmitter {
591
421
  if (this._parent) {
592
422
  return this._parent.getBinding(key, options);
593
423
  }
594
- if (options && options.optional)
424
+ if ((_a = options) === null || _a === void 0 ? void 0 : _a.optional)
595
425
  return undefined;
596
426
  throw new Error(`The key '${key}' is not bound to any value in context ${this.name}`);
597
427
  }
@@ -664,31 +494,29 @@ class Context extends events_1.EventEmitter {
664
494
  * Create a plain JSON object for the context
665
495
  */
666
496
  toJSON() {
667
- const json = {};
497
+ const bindings = {};
668
498
  for (const [k, v] of this.registry) {
669
- json[k] = v.toJSON();
499
+ bindings[k] = v.toJSON();
500
+ }
501
+ return bindings;
502
+ }
503
+ /**
504
+ * Inspect the context and dump out a JSON object representing the context
505
+ * hierarchy
506
+ */
507
+ // TODO(rfeng): Evaluate https://nodejs.org/api/util.html#util_custom_inspection_functions_on_objects
508
+ inspect() {
509
+ const json = {
510
+ name: this.name,
511
+ bindings: this.toJSON(),
512
+ };
513
+ if (this._parent) {
514
+ json.parent = this._parent.inspect();
670
515
  }
671
516
  return json;
672
517
  }
673
518
  }
674
519
  exports.Context = Context;
675
- /**
676
- * An implementation of `Subscription` interface for context events
677
- */
678
- class ContextSubscription {
679
- constructor(context, observer) {
680
- this.context = context;
681
- this.observer = observer;
682
- this._closed = false;
683
- }
684
- unsubscribe() {
685
- this.context.unsubscribe(this.observer);
686
- this._closed = true;
687
- }
688
- get closed() {
689
- return this._closed;
690
- }
691
- }
692
520
  /**
693
521
  * Policy to control if a binding should be created for the context
694
522
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,16 +7,18 @@ export * from './binding-inspector';
7
7
  export * from './binding-key';
8
8
  export * from './binding-sorter';
9
9
  export * from './context';
10
+ export * from './context-event';
10
11
  export * from './context-observer';
12
+ export * from './context-subscription';
11
13
  export * from './context-view';
12
- export * from './interceptor-chain';
13
14
  export * from './inject';
15
+ export * from './inject-config';
14
16
  export * from './interception-proxy';
15
17
  export * from './interceptor';
16
- export * from './inject-config';
18
+ export * from './interceptor-chain';
19
+ export * from './invocation';
17
20
  export * from './keys';
18
21
  export * from './provider';
19
22
  export * from './resolution-session';
20
23
  export * from './resolver';
21
24
  export * from './value-promise';
22
- export * from './invocation';
package/dist/index.js CHANGED
@@ -16,15 +16,16 @@ __export(require("./binding-inspector"));
16
16
  __export(require("./binding-key"));
17
17
  __export(require("./binding-sorter"));
18
18
  __export(require("./context"));
19
+ __export(require("./context-subscription"));
19
20
  __export(require("./context-view"));
20
- __export(require("./interceptor-chain"));
21
21
  __export(require("./inject"));
22
+ __export(require("./inject-config"));
22
23
  __export(require("./interception-proxy"));
23
24
  __export(require("./interceptor"));
24
- __export(require("./inject-config"));
25
+ __export(require("./interceptor-chain"));
26
+ __export(require("./invocation"));
25
27
  __export(require("./keys"));
26
28
  __export(require("./resolution-session"));
27
29
  __export(require("./resolver"));
28
30
  __export(require("./value-promise"));
29
- __export(require("./invocation"));
30
31
  //# 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,yCAAoC;AACpC,8BAAyB;AACzB,0CAAqC;AACrC,mCAA8B;AAC9B,qCAAgC;AAChC,4BAAuB;AAEvB,0CAAqC;AACrC,gCAA2B;AAC3B,qCAAgC;AAChC,kCAA6B"}
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;AAG1B,4CAAuC;AACvC,oCAA+B;AAC/B,8BAAyB;AACzB,qCAAgC;AAChC,0CAAqC;AACrC,mCAA8B;AAC9B,yCAAoC;AACpC,kCAA6B;AAC7B,4BAAuB;AAEvB,0CAAqC;AACrC,gCAA2B;AAC3B,qCAAgC"}
@@ -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":"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"}
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: BindingAddress<unknown>, metadata?: InjectBindingMetadata | undefined) => (target: Object, member: string | undefined, methodDescriptorOrParameterIndex?: number | TypedPropertyDescriptor<any> | undefined) => void;
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
  *
@@ -172,7 +172,7 @@ export declare namespace inject {
172
172
  * @param bindingTag - Tag name, regex or object
173
173
  * @param metadata - Optional metadata to help the injection
174
174
  */
175
- const tag: (bindingTag: string | RegExp | import("./value-promise").MapObject<any>, metadata?: InjectionMetadata | undefined) => (target: Object, member: string | undefined, methodDescriptorOrParameterIndex?: number | TypedPropertyDescriptor<any> | undefined) => void;
175
+ const tag: (bindingTag: string | RegExp | Record<string, any>, metadata?: InjectionMetadata | undefined) => (target: Object, member: string | undefined, methodDescriptorOrParameterIndex?: number | TypedPropertyDescriptor<any> | undefined) => void;
176
176
  /**
177
177
  * Inject matching bound values by the filter function
178
178
  *