@loopback/context 3.10.0 → 3.12.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 (42) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/binding-decorator.d.ts +24 -4
  3. package/dist/binding-decorator.js +34 -11
  4. package/dist/binding-decorator.js.map +1 -1
  5. package/dist/binding-inspector.d.ts +8 -5
  6. package/dist/binding-inspector.js +6 -3
  7. package/dist/binding-inspector.js.map +1 -1
  8. package/dist/binding-key.d.ts +1 -1
  9. package/dist/binding-key.js +1 -0
  10. package/dist/binding-key.js.map +1 -1
  11. package/dist/binding.d.ts +63 -6
  12. package/dist/binding.js +112 -36
  13. package/dist/binding.js.map +1 -1
  14. package/dist/context-view.d.ts +8 -8
  15. package/dist/context-view.js.map +1 -1
  16. package/dist/context.d.ts +25 -4
  17. package/dist/context.js +80 -4
  18. package/dist/context.js.map +1 -1
  19. package/dist/inject.d.ts +9 -2
  20. package/dist/inject.js +25 -11
  21. package/dist/inject.js.map +1 -1
  22. package/dist/interceptor-chain.d.ts +1 -0
  23. package/dist/interceptor-chain.js.map +1 -1
  24. package/dist/interceptor.js +1 -1
  25. package/dist/interceptor.js.map +1 -1
  26. package/dist/resolver.js +5 -7
  27. package/dist/resolver.js.map +1 -1
  28. package/dist/value-promise.d.ts +4 -4
  29. package/dist/value-promise.js +2 -2
  30. package/dist/value-promise.js.map +1 -1
  31. package/package.json +11 -11
  32. package/src/binding-decorator.ts +35 -9
  33. package/src/binding-inspector.ts +8 -5
  34. package/src/binding-key.ts +3 -5
  35. package/src/binding.ts +123 -36
  36. package/src/context-view.ts +8 -7
  37. package/src/context.ts +100 -5
  38. package/src/inject.ts +37 -15
  39. package/src/interceptor-chain.ts +1 -0
  40. package/src/interceptor.ts +2 -2
  41. package/src/resolver.ts +5 -9
  42. package/src/value-promise.ts +4 -4
package/dist/binding.js CHANGED
@@ -42,6 +42,10 @@ var BindingScope;
42
42
  */
43
43
  BindingScope["TRANSIENT"] = "Transient";
44
44
  /**
45
+ * @deprecated Finer-grained scopes such as `APPLICATION`, `SERVER`, or
46
+ * `REQUEST` should be used instead to ensure the scope of sharing of resolved
47
+ * binding values.
48
+ *
45
49
  * The binding provides a value as a singleton within each local context. The
46
50
  * value is calculated only once per context and cached for subsequential
47
51
  * uses. Child contexts have their own value and do not share with their
@@ -63,6 +67,7 @@ var BindingScope;
63
67
  * 3. `'b1'` is resolved in `app` but not in `req2`, a new value `2` is
64
68
  * calculated and used for `req2` afterward
65
69
  * - req2.get('b1') ==> 2 (always)
70
+ *
66
71
  */
67
72
  BindingScope["CONTEXT"] = "Context";
68
73
  /**
@@ -87,6 +92,58 @@ var BindingScope;
87
92
  * - req2.get('b1') ==> 0 (always)
88
93
  */
89
94
  BindingScope["SINGLETON"] = "Singleton";
95
+ /*
96
+ * The following scopes are checked against the context hierarchy to find
97
+ * the first matching context for a given scope in the chain. Resolved binding
98
+ * values will be cached and shared on the scoped context. This ensures a
99
+ * binding to have the same value for the scoped context.
100
+ */
101
+ /**
102
+ * Application scope
103
+ *
104
+ * @remarks
105
+ * The binding provides an application-scoped value within the context
106
+ * hierarchy. Resolved value for this binding will be cached and shared for
107
+ * the same application context (denoted by its scope property set to
108
+ * `BindingScope.APPLICATION`).
109
+ *
110
+ */
111
+ BindingScope["APPLICATION"] = "Application";
112
+ /**
113
+ * Server scope
114
+ *
115
+ * @remarks
116
+ * The binding provides an server-scoped value within the context hierarchy.
117
+ * Resolved value for this binding will be cached and shared for the same
118
+ * server context (denoted by its scope property set to
119
+ * `BindingScope.SERVER`).
120
+ *
121
+ * It's possible that an application has more than one servers configured,
122
+ * such as a `RestServer` and a `GrpcServer`. Both server contexts are created
123
+ * with `scope` set to `BindingScope.SERVER`. Depending on where a binding
124
+ * is resolved:
125
+ * - If the binding is resolved from the RestServer or below, it will be
126
+ * cached using the RestServer context as the key.
127
+ * - If the binding is resolved from the GrpcServer or below, it will be
128
+ * cached using the GrpcServer context as the key.
129
+ *
130
+ * The same binding can resolved/shared/cached for all servers, each of which
131
+ * has its own value for the binding.
132
+ */
133
+ BindingScope["SERVER"] = "Server";
134
+ /**
135
+ * Request scope
136
+ *
137
+ * @remarks
138
+ * The binding provides an request-scoped value within the context hierarchy.
139
+ * Resolved value for this binding will be cached and shared for the same
140
+ * request context (denoted by its scope property set to
141
+ * `BindingScope.REQUEST`).
142
+ *
143
+ * The `REQUEST` scope is very useful for controllers, services and artifacts
144
+ * that want to have a single instance/value for a given request.
145
+ */
146
+ BindingScope["REQUEST"] = "Request";
90
147
  })(BindingScope = exports.BindingScope || (exports.BindingScope = {}));
91
148
  /**
92
149
  * Type of the binding source
@@ -190,22 +247,16 @@ class Binding extends events_1.EventEmitter {
190
247
  }
191
248
  /**
192
249
  * Cache the resolved value by the binding scope
193
- * @param ctx - The current context
250
+ * @param resolutionCtx - The resolution context
194
251
  * @param result - The calculated value for the binding
195
252
  */
196
- _cacheValue(ctx, result) {
253
+ _cacheValue(resolutionCtx, result) {
197
254
  // Initialize the cache as a weakmap keyed by context
198
255
  if (!this._cache)
199
256
  this._cache = new WeakMap();
200
- if (this.scope === BindingScope.SINGLETON) {
201
- // Cache the value
202
- this._cache.set(ctx.getOwnerContext(this.key), result);
203
- }
204
- else if (this.scope === BindingScope.CONTEXT) {
205
- // Cache the value at the current context
206
- this._cache.set(ctx, result);
257
+ if (this.scope !== BindingScope.TRANSIENT) {
258
+ this._cache.set(resolutionCtx, result);
207
259
  }
208
- // Do not cache for `TRANSIENT`
209
260
  return result;
210
261
  }
211
262
  /**
@@ -219,7 +270,7 @@ class Binding extends events_1.EventEmitter {
219
270
  }
220
271
  /**
221
272
  * Invalidate the binding cache so that its value will be reloaded next time.
222
- * This is useful to force reloading a singleton when its configuration or
273
+ * This is useful to force reloading a cached value when its configuration or
223
274
  * dependencies are changed.
224
275
  * **WARNING**: The state held in the cached value will be gone.
225
276
  *
@@ -228,17 +279,12 @@ class Binding extends events_1.EventEmitter {
228
279
  refresh(ctx) {
229
280
  if (!this._cache)
230
281
  return;
231
- if (this.scope === BindingScope.SINGLETON) {
232
- // Cache the value
233
- const ownerCtx = ctx.getOwnerContext(this.key);
234
- if (ownerCtx != null) {
235
- this._cache.delete(ownerCtx);
282
+ if (this.scope !== BindingScope.TRANSIENT) {
283
+ const resolutionCtx = ctx.getResolutionContext(this);
284
+ if (resolutionCtx != null) {
285
+ this._cache.delete(resolutionCtx);
236
286
  }
237
287
  }
238
- else if (this.scope === BindingScope.CONTEXT) {
239
- // Cache the value at the current context
240
- this._cache.delete(ctx);
241
- }
242
288
  }
243
289
  // Implementation
244
290
  getValue(ctx, optionsOrSession) {
@@ -246,23 +292,20 @@ class Binding extends events_1.EventEmitter {
246
292
  if (debug.enabled) {
247
293
  debug('Get value for binding %s', this.key);
248
294
  }
295
+ const options = resolution_session_1.asResolutionOptions(optionsOrSession);
296
+ const resolutionCtx = this.getResolutionContext(ctx, options);
297
+ if (resolutionCtx == null)
298
+ return undefined;
249
299
  // First check cached value for non-transient
250
300
  if (this._cache) {
251
- if (this.scope === BindingScope.SINGLETON) {
252
- const ownerCtx = ctx.getOwnerContext(this.key);
253
- if (ownerCtx && this._cache.has(ownerCtx)) {
254
- return this._cache.get(ownerCtx);
255
- }
256
- }
257
- else if (this.scope === BindingScope.CONTEXT) {
258
- if (this._cache.has(ctx)) {
259
- return this._cache.get(ctx);
301
+ if (this.scope !== BindingScope.TRANSIENT) {
302
+ if (resolutionCtx && this._cache.has(resolutionCtx)) {
303
+ return this._cache.get(resolutionCtx);
260
304
  }
261
305
  }
262
306
  }
263
- const options = resolution_session_1.asResolutionOptions(optionsOrSession);
264
- const resolutionCtx = {
265
- context: ctx,
307
+ const resolutionMetadata = {
308
+ context: resolutionCtx,
266
309
  binding: this,
267
310
  options,
268
311
  };
@@ -272,16 +315,49 @@ class Binding extends events_1.EventEmitter {
272
315
  // We already test `this._getValue` is a function. It's safe to assert
273
316
  // that `this._getValue` is not undefined.
274
317
  return this._getValue({
275
- ...resolutionCtx,
318
+ ...resolutionMetadata,
276
319
  options: optionsWithSession,
277
320
  });
278
321
  }, this, options.session);
279
- return this._cacheValue(ctx, result);
322
+ return this._cacheValue(resolutionCtx, result);
280
323
  }
281
324
  // `@inject.binding` adds a binding without _getValue
282
325
  if (options.optional)
283
326
  return undefined;
284
- return Promise.reject(new resolution_session_1.ResolutionError(`No value was configured for binding ${this.key}.`, resolutionCtx));
327
+ return Promise.reject(new resolution_session_1.ResolutionError(`No value was configured for binding ${this.key}.`, resolutionMetadata));
328
+ }
329
+ /**
330
+ * Locate and validate the resolution context
331
+ * @param ctx - Current context
332
+ * @param options - Resolution options
333
+ */
334
+ getResolutionContext(ctx, options) {
335
+ const resolutionCtx = ctx.getResolutionContext(this);
336
+ switch (this.scope) {
337
+ case BindingScope.APPLICATION:
338
+ case BindingScope.SERVER:
339
+ case BindingScope.REQUEST:
340
+ if (resolutionCtx == null) {
341
+ const msg = `Binding "${this.key}" in context "${ctx.name}" cannot` +
342
+ ` be resolved in scope "${this.scope}"`;
343
+ if (options.optional) {
344
+ debug(msg);
345
+ return undefined;
346
+ }
347
+ throw new Error(msg);
348
+ }
349
+ }
350
+ const ownerCtx = ctx.getOwnerContext(this.key);
351
+ if (ownerCtx != null && !ownerCtx.isVisibleTo(resolutionCtx)) {
352
+ const msg = `Resolution context "${resolutionCtx === null || resolutionCtx === void 0 ? void 0 : resolutionCtx.name}" does not have ` +
353
+ `visibility to binding "${this.key} (scope:${this.scope})" in context "${ownerCtx.name}"`;
354
+ if (options.optional) {
355
+ debug(msg);
356
+ return undefined;
357
+ }
358
+ throw new Error(msg);
359
+ }
360
+ return resolutionCtx;
285
361
  }
286
362
  /**
287
363
  * Lock the binding so that it cannot be rebound
@@ -627,7 +703,7 @@ class Binding extends events_1.EventEmitter {
627
703
  * .to({port: 3000});
628
704
  * ```
629
705
  *
630
- * @typeParam T Generic type for the configuration value (not the binding to
706
+ * @typeParam V Generic type for the configuration value (not the binding to
631
707
  * be configured)
632
708
  *
633
709
  * @param key - Key for the binding to be configured
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
@@ -113,15 +113,15 @@ export declare class ContextView<T = unknown> extends EventEmitter implements Co
113
113
  * @param eventName The name of the event - always `bind`.
114
114
  * @param listener The listener function to call when the event is emitted.
115
115
  */
116
- on(eventName: 'bind', listener: <T>(event: ContextViewEvent<T>) => void): this;
116
+ on(eventName: 'bind', listener: <V>(event: ContextViewEvent<V>) => void): this;
117
117
  /**
118
118
  * The "unbind" event is emitted a new binding is removed from the view.
119
119
  *
120
120
  * @param eventName The name of the event - always `unbind`.
121
121
  * @param listener The listener function to call when the event is emitted.
122
122
  */
123
- on(eventName: 'unbind', listener: <T>(event: ContextViewEvent<T> & {
124
- cachedValue?: T;
123
+ on(eventName: 'unbind', listener: <V>(event: ContextViewEvent<V> & {
124
+ cachedValue?: V;
125
125
  }) => void): this;
126
126
  /**
127
127
  * The "refresh" event is emitted when the view is refreshed as bindings are
@@ -138,7 +138,7 @@ export declare class ContextView<T = unknown> extends EventEmitter implements Co
138
138
  * @param eventName The name of the event - always `refresh`.
139
139
  * @param listener The listener function to call when the event is emitted.
140
140
  */
141
- on(eventName: 'refresh', listener: <T>(result: T[]) => void): this;
141
+ on(eventName: 'refresh', listener: <V>(result: V[]) => void): this;
142
142
  /**
143
143
  * The "close" event is emitted when the view is closed (stopped observing
144
144
  * context events)
@@ -154,15 +154,15 @@ export declare class ContextView<T = unknown> extends EventEmitter implements Co
154
154
  * @param eventName The name of the event - always `bind`.
155
155
  * @param listener The listener function to call when the event is emitted.
156
156
  */
157
- once(eventName: 'bind', listener: <T>(event: ContextViewEvent<T>) => void): this;
157
+ once(eventName: 'bind', listener: <V>(event: ContextViewEvent<V>) => void): this;
158
158
  /**
159
159
  * The "unbind" event is emitted a new binding is removed from the view.
160
160
  *
161
161
  * @param eventName The name of the event - always `unbind`.
162
162
  * @param listener The listener function to call when the event is emitted.
163
163
  */
164
- once(eventName: 'unbind', listener: <T>(event: ContextViewEvent<T> & {
165
- cachedValue?: T;
164
+ once(eventName: 'unbind', listener: <V>(event: ContextViewEvent<V> & {
165
+ cachedValue?: V;
166
166
  }) => void): this;
167
167
  /**
168
168
  * The "refresh" event is emitted when the view is refreshed as bindings are
@@ -179,7 +179,7 @@ export declare class ContextView<T = unknown> extends EventEmitter implements Co
179
179
  * @param eventName The name of the event - always `refresh`.
180
180
  * @param listener The listener function to call when the event is emitted.
181
181
  */
182
- once(eventName: 'refresh', listener: <T>(result: T[]) => void): this;
182
+ once(eventName: 'refresh', listener: <V>(result: V[]) => void): this;
183
183
  /**
184
184
  * The "close" event is emitted when the view is closed (stopped observing
185
185
  * context events)
@@ -1 +1 @@
1
- {"version":3,"file":"context-view.js","sourceRoot":"","sources":["../src/context-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-view.js","sourceRoot":"","sources":["../src/context-view.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { Debugger } from 'debug';
3
3
  import { EventEmitter } from 'events';
4
- import { Binding, BindingInspectOptions, BindingTag } from './binding';
4
+ import { Binding, BindingInspectOptions, BindingScope, BindingTag } from './binding';
5
5
  import { ConfigurationResolver } from './binding-config';
6
6
  import { BindingFilter } from './binding-filter';
7
7
  import { BindingAddress } from './binding-key';
@@ -56,6 +56,10 @@ export declare class Context extends EventEmitter {
56
56
  * ```
57
57
  */
58
58
  protected _debug: Debugger;
59
+ /**
60
+ * Scope for binding resolution
61
+ */
62
+ scope: BindingScope;
59
63
  /**
60
64
  * Create a new context.
61
65
  *
@@ -236,10 +240,27 @@ export declare class Context extends EventEmitter {
236
240
  */
237
241
  isBound(key: BindingAddress): boolean;
238
242
  /**
239
- * Get the owning context for a binding key
240
- * @param key - Binding key
243
+ * Get the owning context for a binding or its key
244
+ * @param keyOrBinding - Binding object or key
245
+ */
246
+ getOwnerContext(keyOrBinding: BindingAddress | Readonly<Binding<unknown>>): Context | undefined;
247
+ /**
248
+ * Get the context matching the scope
249
+ * @param scope - Binding scope
250
+ */
251
+ getScopedContext(scope: BindingScope.APPLICATION | BindingScope.SERVER | BindingScope.REQUEST): Context | undefined;
252
+ /**
253
+ * Locate the resolution context for the given binding. Only bindings in the
254
+ * resolution context and its ancestors are visible as dependencies to resolve
255
+ * the given binding
256
+ * @param binding - Binding object
257
+ */
258
+ getResolutionContext(binding: Readonly<Binding<unknown>>): Context | undefined;
259
+ /**
260
+ * Check if this context is visible (same or ancestor) to the given one
261
+ * @param ctx - Another context object
241
262
  */
242
- getOwnerContext(key: BindingAddress): Context | undefined;
263
+ isVisibleTo(ctx: Context): boolean;
243
264
  /**
244
265
  * Find bindings using a key pattern or filter function
245
266
  * @param pattern - A filter function, a regexp or a wildcard pattern with
package/dist/context.js CHANGED
@@ -51,6 +51,10 @@ class Context extends events_1.EventEmitter {
51
51
  * Key to binding map as the internal registry
52
52
  */
53
53
  this.registry = new Map();
54
+ /**
55
+ * Scope for binding resolution
56
+ */
57
+ this.scope = binding_1.BindingScope.CONTEXT;
54
58
  // The number of listeners can grow with the number of child contexts
55
59
  // For example, each request can add a listener to the RestServer and the
56
60
  // listener is removed when the request processing is finished.
@@ -349,17 +353,89 @@ class Context extends events_1.EventEmitter {
349
353
  return false;
350
354
  }
351
355
  /**
352
- * Get the owning context for a binding key
353
- * @param key - Binding key
356
+ * Get the owning context for a binding or its key
357
+ * @param keyOrBinding - Binding object or key
354
358
  */
355
- getOwnerContext(key) {
356
- if (this.contains(key))
359
+ getOwnerContext(keyOrBinding) {
360
+ let key;
361
+ if (keyOrBinding instanceof binding_1.Binding) {
362
+ key = keyOrBinding.key;
363
+ }
364
+ else {
365
+ key = keyOrBinding;
366
+ }
367
+ if (this.contains(key)) {
368
+ if (keyOrBinding instanceof binding_1.Binding) {
369
+ // Check if the contained binding is the same
370
+ if (this.registry.get(key.toString()) === keyOrBinding) {
371
+ return this;
372
+ }
373
+ return undefined;
374
+ }
357
375
  return this;
376
+ }
358
377
  if (this._parent) {
359
378
  return this._parent.getOwnerContext(key);
360
379
  }
361
380
  return undefined;
362
381
  }
382
+ /**
383
+ * Get the context matching the scope
384
+ * @param scope - Binding scope
385
+ */
386
+ getScopedContext(scope) {
387
+ if (this.scope === scope)
388
+ return this;
389
+ if (this._parent) {
390
+ return this._parent.getScopedContext(scope);
391
+ }
392
+ return undefined;
393
+ }
394
+ /**
395
+ * Locate the resolution context for the given binding. Only bindings in the
396
+ * resolution context and its ancestors are visible as dependencies to resolve
397
+ * the given binding
398
+ * @param binding - Binding object
399
+ */
400
+ getResolutionContext(binding) {
401
+ let resolutionCtx;
402
+ switch (binding.scope) {
403
+ case binding_1.BindingScope.SINGLETON:
404
+ // Use the owner context
405
+ return this.getOwnerContext(binding.key);
406
+ case binding_1.BindingScope.TRANSIENT:
407
+ case binding_1.BindingScope.CONTEXT:
408
+ // Use the current context
409
+ return this;
410
+ case binding_1.BindingScope.REQUEST:
411
+ resolutionCtx = this.getScopedContext(binding.scope);
412
+ if (resolutionCtx != null) {
413
+ return resolutionCtx;
414
+ }
415
+ else {
416
+ // If no `REQUEST` scope exists in the chain, fall back to the current
417
+ // context
418
+ this.debug('No context is found for binding "%s (scope=%s)". Fall back to the current context.', binding.key, binding.scope);
419
+ return this;
420
+ }
421
+ default:
422
+ // Use the scoped context
423
+ return this.getScopedContext(binding.scope);
424
+ }
425
+ }
426
+ /**
427
+ * Check if this context is visible (same or ancestor) to the given one
428
+ * @param ctx - Another context object
429
+ */
430
+ isVisibleTo(ctx) {
431
+ let current = ctx;
432
+ while (current != null) {
433
+ if (current === this)
434
+ return true;
435
+ current = current._parent;
436
+ }
437
+ return false;
438
+ }
363
439
  /**
364
440
  * Find bindings using a key pattern or filter function
365
441
  * @param pattern - A filter function, a regexp or a wildcard pattern with
@@ -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":";AAAA,sDAAsD;AACtD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAA6C;AAC7C,mCAAoC;AACpC,uCAKmB;AACnB,qDAG0B;AAC1B,qDAK0B;AAC1B,+CAAyD;AAIzD,iEAAgF;AAChF,+DAAwD;AACxD,iDAA2C;AAE3C,iCAAuC;AACvC,6DAM8B;AAC9B,2CAA6C;AAC7C,mDAOyB;AAEzB;;GAEG;AACH,MAAa,OAAQ,SAAQ,qBAAY;IAmDvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,OAA0B,EAAE,IAAa;QACnD,KAAK,EAAE,CAAC;QApEV;;WAEG;QACgB,aAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;QAqC9D;;WAEG;QACH,UAAK,GAAiB,sBAAY,CAAC,OAAO,CAAC;QA0BzC,qEAAqE;QACrE,yEAAyE;QACzE,+DAA+D;QAC/D,8DAA8D;QAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,IAAI,GAAG,OAAO,CAAC;YACf,OAAO,GAAG,SAAS,CAAC;SACrB;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,uCAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,GAAG,IAAI,iDAA0B,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,eAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACO,iBAAiB;QACzB,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO;YAAE,OAAO,kBAAkB,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,oBAAoB,IAAI,EAAE,CAAC;IACpC,CAAC;IAEO,YAAY;QAClB,MAAM,EAAE,GAAG,4BAAgB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO;YAAE,OAAO,EAAE,CAAC;QAC5C,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,GAAG,IAAe;QAChC,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,SAAS,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;SACtD;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;SACrD;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAyB,IAAY,EAAE,KAAQ;QACtD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,GAAY;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CACF,GAA8B;QAE9B,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAY,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,OAAyB;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,eAAoC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,EAAE;YACb,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,eAAe,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC;YAClD,IAAI,eAAe;gBACjB,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,uBAAuB,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,eAAe,KAAK,OAAO,EAAE;YAC/B,IAAI,eAAe,IAAI,IAAI,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACvB,OAAO,EAAE,eAAe;oBACxB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CACP,MAAsB,EAAE;QAExB,MAAM,gBAAgB,GAAG,iBAAO,CAAC,SAAS,CAAkB,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3B,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACH,yBAAyB,CACvB,GAAmB,EACnB,YAAqB,EACrB,iBAAqC;QAErC,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAClD,GAAG,EACH,YAAY,EACZ,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,kCAAkC;QAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,4DAA4D;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CACjC,sBAAe,CAAC,sBAAsB,EACtC;gBACE,QAAQ,EAAE,IAAI;aACf,CACF,CAAC;YACF,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,KAAK,CACR,iDAAiD,EACjD,sBAAe,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAClD,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;aACtC;iBAAM;gBACL,2CAA2C;gBAC3C,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACpD,IAAI,CAAC,cAAc,GAAG,IAAI,6CAA4B,CAAC,IAAI,CAAC,CAAC;aAC9D;SACF;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CACb,GAAmB,EACnB,YAAqB,EACrB,iBAAqC;QAErC,OAAO,IAAI,CAAC,yBAAyB,CACnC,GAAG,EACH,YAAY,EACZ,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CACX,GAAmB,EACnB,YAAqB,EACrB,iBAAqC;QAErC,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CACnD,GAAG,EACH,YAAY,EACZ,iBAAiB,CAClB,CAAC;QACF,IAAI,6BAAa,CAAC,cAAc,CAAC,EAAE;YACjC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,QAAQ,GAAG,wCAAwC,CAC5E,CAAC;SACH;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,GAAmB;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,wBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,+BAA+B;QAC/B,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;YACnB,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,uBAAuB,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,QAA8B;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAA8B;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,sDAAsD;QACtD,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,QAAyB;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,UAAU,CACR,MAAqB,EACrB,UAA8B;QAE9B,MAAM,IAAI,GAAG,IAAI,0BAAW,CAAI,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,GAAmB;QAC1B,GAAG,GAAG,wBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,GAAmB;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAClC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,eAAe,CACb,YAAyD;QAEzD,IAAI,GAAmB,CAAC;QACxB,IAAI,YAAY,YAAY,iBAAO,EAAE;YACnC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;SACxB;aAAM;YACL,GAAG,GAAG,YAA8B,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,YAAY,YAAY,iBAAO,EAAE;gBACnC,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,YAAY,EAAE;oBACtD,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,SAAS,CAAC;aAClB;YACD,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAC1C;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,KAGwB;QAExB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC7C;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAClB,OAAmC;QAEnC,IAAI,aAAkC,CAAC;QACvC,QAAQ,OAAO,CAAC,KAAK,EAAE;YACrB,KAAK,sBAAY,CAAC,SAAS;gBACzB,wBAAwB;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,sBAAY,CAAC,SAAS,CAAC;YAC5B,KAAK,sBAAY,CAAC,OAAO;gBACvB,0BAA0B;gBAC1B,OAAO,IAAI,CAAC;YACd,KAAK,sBAAY,CAAC,OAAO;gBACvB,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,aAAa,IAAI,IAAI,EAAE;oBACzB,OAAO,aAAa,CAAC;iBACtB;qBAAM;oBACL,sEAAsE;oBACtE,UAAU;oBACV,IAAI,CAAC,KAAK,CACR,oFAAoF,EACpF,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,KAAK,CACd,CAAC;oBACF,OAAO,IAAI,CAAC;iBACb;YACH;gBACE,yBAAyB;gBACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/C;IACH,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,GAAY;QACtB,IAAI,OAAO,GAAwB,GAAG,CAAC;QACvC,OAAO,OAAO,IAAI,IAAI,EAAE;YACtB,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,CACF,OAAyC;;QAEzC,6CAA6C;QAC7C,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,mCAAkB,CAAC,OAAO,CAAC,EAAE;YAChE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;SACxD;QAED,MAAM,QAAQ,GAAmC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,4BAAW,CAAC,OAAO,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YACtC,IAAI,MAAM,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjC;QAED,MAAM,cAAc,SAAG,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CACP,SAA8B;QAE9B,OAAO,IAAI,CAAC,IAAI,CAAC,4BAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACO,eAAe,CACvB,GAAwB;;QAExB,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,cAAc,SAAG,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAChE,CAAC;IAES,gBAAgB,CACxB,SAAyC,EACzC,UAA2C;QAE3C,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAClD,oCAAoC;YACpC,OAAO,CAAC,SAAS,CAAC,IAAI,CACpB,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAwDD,iBAAiB;IACjB,KAAK,CAAC,GAAG,CACP,WAAsC,EACtC,gBAA6C;QAE7C,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,iBAAiB,CAC3B,WAAW,EACX,gBAAgB,CACjB,CAAC;IACJ,CAAC;IA0DD,iBAAiB;IACjB,OAAO,CACL,WAAsC,EACtC,gBAA6C;QAE7C,IAAI,CAAC,KAAK,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAC3C,WAAW,EACX,gBAAgB,CACjB,CAAC;QAEF,IAAI,6BAAa,CAAC,cAAc,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CACb,cAAc,WAAW,wCAAwC,CAClE,CAAC;SACH;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IA2BD,UAAU,CACR,GAA8B,EAC9B,OAA8B;QAE9B,GAAG,GAAG,wBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAY,GAAG,EAAE,OAAO,CAAC,CAAC;SACzD;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,GAAG,0CAA0C,IAAI,CAAC,IAAI,EAAE,CACrE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CACjB,GAAsB,EACtB,MAA8B;QAE9B,IAAI,OAAmB,CAAC;QACxB,IAAI,MAAM,KAAK,qBAAqB,CAAC,aAAa,EAAE;YAClD,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC1B;aAAM,IAAI,MAAM,KAAK,qBAAqB,CAAC,YAAY,EAAE;YACxD,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC5B,yCAAyC;YACzC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAChC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC1B;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,iBAAiB,CACf,WAAsC,EACtC,gBAA6C;QAE7C,MAAM,EAAC,GAAG,EAAE,YAAY,EAAC,GAAG,wBAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,wCAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAY,GAAG,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,OAAO,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACvC,MAAM,IAAI,oCAAe,CACvB,YAAY,GAAG,0CAA0C,IAAI,CAAC,IAAI,EAAE,EACpE;gBACE,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1B,OAAO;aACR,CACF,CAAC;SACH;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,YAAY,IAAI,IAAI,IAAI,YAAY,KAAK,EAAE;YAChD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,uCAAuB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CACtC,+BAAe,CAAY,CAAC,EAAE,YAAY,CAAC,CAC5C,CAAC;IACR,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,qGAAqG;IACrG,OAAO,CAAC,UAAiC,EAAE;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CACd,OAA8B,EAC9B,cAA4B;;QAE5B,OAAO,GAAG;YACR,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,KAAK;YACxB,GAAG,OAAO;SACX,CAAC;QACF,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,MAAM,IAAI,SAAG,CAAC,CAAC,gBAAgB,mCAAI,CAAC,CAAC,mBAAmB,CAAC;YACzD,IAAI,IAAI,GAAuB,SAAS,CAAC;YACzC,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACnC;YACD,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAe,CAAC;gBAC1C,IAAI,CAAC,CAAC,gBAAgB,EAAE;oBACtB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;iBACjC;qBAAM,IAAI,CAAC,CAAC,mBAAmB,EAAE;oBAChC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;iBACpC;aACF;SACF;QACD,MAAM,IAAI,GAAe;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ;SACT,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SAC9D;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAeD,8DAA8D;IAC9D,EAAE,CAAC,KAAsB,EAAE,QAAkC;QAC3D,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAeD,8DAA8D;IAC9D,IAAI,CAAC,KAAsB,EAAE,QAAkC;QAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;CACF;AA18BD,0BA08BC;AAED;;GAEG;AACH,MAAM,YAAY;IAAlB;QACmB,YAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QAClD,cAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAoBzD,CAAC;IAlBC,KAAK,CAAC,IAA0B;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjB,oDAAoD;YACpD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,yDAAyD;gBACzD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAClC,IAAI,GAAG,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;aAC5B;iBAAM;gBACL,oCAAoC;gBACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAYD;;GAEG;AACH,IAAY,qBAeX;AAfD,WAAY,qBAAqB;IAC/B;;OAEG;IACH,iDAAwB,CAAA;IACxB;;;OAGG;IACH,+CAAsB,CAAA;IACtB;;;OAGG;IACH,2DAAkC,CAAA;AACpC,CAAC,EAfW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAehC"}
package/dist/inject.d.ts CHANGED
@@ -6,7 +6,7 @@ import { BindingComparator } from './binding-sorter';
6
6
  import { BindingCreationPolicy, Context } from './context';
7
7
  import { JSONObject } from './json-types';
8
8
  import { ResolutionOptions, ResolutionSession } from './resolution-session';
9
- import { BoundValue, ValueOrPromise } from './value-promise';
9
+ import { BoundValue, Constructor, ValueOrPromise } from './value-promise';
10
10
  /**
11
11
  * A function to provide resolution of injected values.
12
12
  *
@@ -229,7 +229,7 @@ export declare function describeInjectedArguments(target: Object, method?: strin
229
229
  * JavaScript type
230
230
  * @param injection - Injection information
231
231
  */
232
- export declare function inspectTargetType(injection: Readonly<Injection>): Function;
232
+ export declare function inspectTargetType(injection: Readonly<Injection>): Function | undefined;
233
233
  /**
234
234
  * Return a map of injection objects for properties
235
235
  * @param target - The target class for static properties or
@@ -241,3 +241,10 @@ export declare function describeInjectedProperties(target: Object): MetadataMap<
241
241
  * @param binding - Binding object
242
242
  */
243
243
  export declare function inspectInjections(binding: Readonly<Binding<unknown>>): JSONObject;
244
+ /**
245
+ * Check if the given class has `@inject` or other decorations that map to
246
+ * `@inject`.
247
+ *
248
+ * @param cls - Class with possible `@inject` decorations
249
+ */
250
+ export declare function hasInjections(cls: Constructor<unknown>): boolean;