ts-ioc-container 20.0.0 → 20.2.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.
package/README.md CHANGED
@@ -38,7 +38,7 @@ yarn add ts-ioc-container ts-constructor-injector reflect-metadata
38
38
  How to create new container
39
39
 
40
40
  ```typescript
41
- import { Container, IContainer, IInjector, ProviderBuilder } from "ts-ioc-container";
41
+ import { Container, IContainer, IInjector, fromClass } from "ts-ioc-container";
42
42
  import { resolve } from 'ts-constructor-injector';
43
43
 
44
44
  const injector: IInjector = {
@@ -47,20 +47,20 @@ const injector: IInjector = {
47
47
  },
48
48
  };
49
49
  const container = new Container(injector);
50
- container.register('ILogger', ProviderBuilder.fromClass(Logger).build());
50
+ container.register('ILogger', fromClass(Logger).build());
51
51
  const logger = container.resolve<ILogger>('ILogger');
52
52
  ```
53
53
 
54
- ## ProviderBuilder
54
+ ## Registration builder
55
55
 
56
56
  ```typescript
57
- import { fromClass, ProviderBuilder } from "ts-ioc-container";
57
+ import { fromClass, fromFn } from "ts-ioc-container";
58
58
 
59
59
  const container = new Container(injector, {tags: ['root']});
60
- container.register('ILogger', new ProviderBuilder((container, ...args) => new Logger(...args)).build());
61
- container.register('ILogger1', ProviderBuilder.fromClass(Logger).forKey('ILogger').asSingleton().forTags(['root']).build()); // global singleton
62
- container.register('ILogger3', ProviderBuilder.fromClass(Logger).asSingleton().forTags(['tag1', 'tag2']).build()); // singleton for scope with tag1 or tag2
63
- container.register('ILogger4', ProviderBuilder.fromClass(Logger).withArgs('dev').asSingleton().build()); // singleton in every scope
60
+ container.register('ILogger', fromFn((container, ...args) => new Logger(...args)).build());
61
+ container.register('ILogger1', fromClass(Logger).forKey('ILogger').asSingleton().forTags(['root']).build()); // global singleton
62
+ container.register('ILogger3', fromClass(Logger).asSingleton().forTags(['tag1', 'tag2']).build()); // singleton for scope with tag1 or tag2
63
+ container.register('ILogger4', fromClass(Logger).withArgs('dev').asSingleton().build()); // singleton in every scope
64
64
  ```
65
65
 
66
66
  ## Decorators
@@ -87,7 +87,8 @@ import {
87
87
  Container,
88
88
  IInjector,
89
89
  ContainerHook,
90
- ProviderBuilder, Injector
90
+ Injector,
91
+ fromClass
91
92
  } from "ts-ioc-container";
92
93
 
93
94
  export const onConstructReflector = new MethodReflector('OnConstructHook');
@@ -115,7 +116,7 @@ const injector: IInjector = {
115
116
  }
116
117
 
117
118
  const container = new Container(injector);
118
- container.register('ILogger', ProviderBuilder.fromClass(Logger).build());
119
+ container.register('ILogger', fromClass(Logger).build());
119
120
  const logger = container.resolve<ILogger>('ILogger');
120
121
  for (const instance of container.getInstances()) {
121
122
  onDisposeReflector.invokeHooksOf(instance);
@@ -13,7 +13,7 @@ export declare class Container implements IContainer, Tagged {
13
13
  parent?: IContainer;
14
14
  tags?: Tag[];
15
15
  });
16
- register({ key, value }: Registration<unknown>): this;
16
+ register({ key, provider }: Registration<unknown>): this;
17
17
  resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
18
18
  createScope(tags?: Tag[]): Container;
19
19
  dispose(): void;
@@ -54,9 +54,9 @@ var Container = /** @class */ (function () {
54
54
  this.tags = (_b = options.tags) !== null && _b !== void 0 ? _b : [];
55
55
  }
56
56
  Container.prototype.register = function (_a) {
57
- var key = _a.key, value = _a.value;
57
+ var key = _a.key, provider = _a.provider;
58
58
  this.validateContainer();
59
- this.providers.add(key, value);
59
+ this.providers.add(key, provider);
60
60
  return this;
61
61
  };
62
62
  Container.prototype.resolve = function (key) {
@@ -83,7 +83,7 @@ var Container = /** @class */ (function () {
83
83
  for (var _b = __values(this.getProviders().entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
84
84
  var _d = __read(_c.value, 2), key = _d[0], provider = _d[1];
85
85
  if (provider.isValid(scope)) {
86
- scope.register({ key: key, value: provider.clone() });
86
+ scope.register({ key: key, provider: provider.clone() });
87
87
  }
88
88
  }
89
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/core/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/core/container/Container.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface Resolveable {
6
6
  }
7
7
  export interface Registration<T> {
8
8
  key: ProviderKey;
9
- value: IProvider<T>;
9
+ provider: IProvider<T>;
10
10
  }
11
11
  export interface IContainer extends Disposable, Resolveable {
12
12
  createScope(tags?: Tag[]): IContainer;
@@ -1,13 +1,13 @@
1
1
  import { InjectionToken, Resolveable } from '../container/IContainer';
2
2
  import { Disposable } from '../utils/types';
3
- export declare type ResolveDependency<T> = (container: Resolveable, ...args: any[]) => T;
3
+ export declare type ResolveDependency<T> = (container: Resolveable, ...args: unknown[]) => T;
4
4
  export declare type Tag = string;
5
5
  export interface Tagged {
6
6
  readonly tags: Tag[];
7
7
  }
8
8
  export interface IProvider<T> extends Disposable {
9
9
  clone(): IProvider<T>;
10
- resolve(container: Resolveable, ...args: any[]): T;
10
+ resolve(container: Resolveable, ...args: unknown[]): T;
11
11
  isValid(filters: Tagged): boolean;
12
12
  }
13
13
  export declare type ProviderKey = string | symbol;
@@ -1,6 +1,6 @@
1
1
  import { constructor } from '../utils/types';
2
- import { ProviderBuilder } from '../../providers/ProviderBuilder';
3
- export declare type ProviderReducer<T> = (builder: ProviderBuilder<T>) => ProviderBuilder<T>;
2
+ import { RegistrationBuilder } from '../../providers/RegistrationBuilder';
3
+ export declare type ProviderReducer<T> = (builder: RegistrationBuilder<T>) => RegistrationBuilder<T>;
4
4
  export interface IProviderReflector {
5
5
  addReducer<T>(target: constructor<T>, reducer: ProviderReducer<T>): void;
6
6
  findReducerOrCreate<T>(target: constructor<T>): ProviderReducer<T>;
package/cjm/index.d.ts CHANGED
@@ -18,7 +18,7 @@ export { ArgsProvider, ArgsFn, createArgsFnDecorator } from './providers/ArgsPro
18
18
  export { TaggedProvider } from './providers/TaggedProvider';
19
19
  export { AutoMockedContainer } from './AutoMockedContainer';
20
20
  export { SingletonProvider } from './providers/SingletonProvider';
21
- export { ProviderBuilder } from './providers/ProviderBuilder';
21
+ export { fromFn, fromClass, fromValue } from './providers/RegistrationBuilder';
22
22
  export { IProviderReflector } from './core/provider/IProviderReflector';
23
23
  export { ProviderReflector } from './core/provider/ProviderReflector';
24
24
  export { Disposable } from './core/utils/types';
package/cjm/index.js CHANGED
@@ -25,7 +25,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
25
  return to.concat(ar || Array.prototype.slice.call(from));
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.by = exports.forKey = exports.asSingleton = exports.perTags = exports.isProviderKey = exports.ProviderReflector = exports.ProviderBuilder = exports.SingletonProvider = exports.AutoMockedContainer = exports.TaggedProvider = exports.createArgsFnDecorator = exports.ArgsProvider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.AsyncMethodReflector = exports.MethodReflector = exports.Container = exports.EmptyContainer = void 0;
28
+ exports.by = exports.forKey = exports.asSingleton = exports.perTags = exports.isProviderKey = exports.ProviderReflector = exports.fromValue = exports.fromClass = exports.fromFn = exports.SingletonProvider = exports.AutoMockedContainer = exports.TaggedProvider = exports.createArgsFnDecorator = exports.ArgsProvider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.AsyncMethodReflector = exports.MethodReflector = exports.Container = exports.EmptyContainer = void 0;
29
29
  var EmptyContainer_1 = require("./core/container/EmptyContainer");
30
30
  Object.defineProperty(exports, "EmptyContainer", { enumerable: true, get: function () { return EmptyContainer_1.EmptyContainer; } });
31
31
  var Container_1 = require("./core/container/Container");
@@ -51,8 +51,10 @@ var AutoMockedContainer_1 = require("./AutoMockedContainer");
51
51
  Object.defineProperty(exports, "AutoMockedContainer", { enumerable: true, get: function () { return AutoMockedContainer_1.AutoMockedContainer; } });
52
52
  var SingletonProvider_1 = require("./providers/SingletonProvider");
53
53
  Object.defineProperty(exports, "SingletonProvider", { enumerable: true, get: function () { return SingletonProvider_1.SingletonProvider; } });
54
- var ProviderBuilder_1 = require("./providers/ProviderBuilder");
55
- Object.defineProperty(exports, "ProviderBuilder", { enumerable: true, get: function () { return ProviderBuilder_1.ProviderBuilder; } });
54
+ var RegistrationBuilder_1 = require("./providers/RegistrationBuilder");
55
+ Object.defineProperty(exports, "fromFn", { enumerable: true, get: function () { return RegistrationBuilder_1.fromFn; } });
56
+ Object.defineProperty(exports, "fromClass", { enumerable: true, get: function () { return RegistrationBuilder_1.fromClass; } });
57
+ Object.defineProperty(exports, "fromValue", { enumerable: true, get: function () { return RegistrationBuilder_1.fromValue; } });
56
58
  var ProviderReflector_1 = require("./core/provider/ProviderReflector");
57
59
  Object.defineProperty(exports, "ProviderReflector", { enumerable: true, get: function () { return ProviderReflector_1.ProviderReflector; } });
58
60
  var IProvider_1 = require("./core/provider/IProvider");
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AAEvB,wDAAuD;AAA9C,sGAAA,SAAS,OAAA;AAIlB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AACxB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAE7B,+EAA8E;AAArE,8HAAA,qBAAqB,OAAA;AAC9B,oFAAmF;AAA1E,sIAAA,yBAAyB,OAAA;AAClC,kFAAiF;AAAxE,gIAAA,sBAAsB,OAAA;AAC/B,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,yDAAuF;AAA9E,4GAAA,YAAY,OAAA;AAAU,qHAAA,qBAAqB,OAAA;AACpD,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAC1B,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AAExB,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAG1B,uDAA0D;AAAjD,0GAAA,aAAa,OAAA;AACtB,6DAAqD;AAA5C,yGAAA,OAAO,OAAA;AAChB,mEAA4D;AAAnD,gHAAA,WAAW,OAAA;AACpB,qDAAkD;AAAzC,kGAAA,MAAM,OAAA;AAER,IAAM,EAAE,GACX,UAAI,GAAsB;IAAE,cAAkB;SAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;QAAlB,6BAAkB;;IAC9C,OAAA,UAAC,CAAa;QACV,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAY,GAAG,UAAK,IAAI;IAAzB,CAA0B;AAD9B,CAC8B,CAAC;AAHtB,QAAA,EAAE,MAGoB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AAEvB,wDAAuD;AAA9C,sGAAA,SAAS,OAAA;AAIlB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AACxB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAE7B,+EAA8E;AAArE,8HAAA,qBAAqB,OAAA;AAC9B,oFAAmF;AAA1E,sIAAA,yBAAyB,OAAA;AAClC,kFAAiF;AAAxE,gIAAA,sBAAsB,OAAA;AAC/B,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,yDAAuF;AAA9E,4GAAA,YAAY,OAAA;AAAU,qHAAA,qBAAqB,OAAA;AACpD,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAC1B,uEAA+E;AAAtE,6GAAA,MAAM,OAAA;AAAE,gHAAA,SAAS,OAAA;AAAE,gHAAA,SAAS,OAAA;AAErC,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAG1B,uDAA0D;AAAjD,0GAAA,aAAa,OAAA;AACtB,6DAAqD;AAA5C,yGAAA,OAAO,OAAA;AAChB,mEAA4D;AAAnD,gHAAA,WAAW,OAAA;AACpB,qDAAkD;AAAzC,kGAAA,MAAM,OAAA;AAER,IAAM,EAAE,GACX,UAAI,GAAsB;IAAE,cAAkB;SAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;QAAlB,6BAAkB;;IAC9C,OAAA,UAAC,CAAa;QACV,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAY,GAAG,UAAK,IAAI;IAAzB,CAA0B;AAD9B,CAC8B,CAAC;AAHtB,QAAA,EAAE,MAGoB"}
@@ -1,20 +1,20 @@
1
- import { IProvider, ProviderKey, Tag } from '../core/provider/IProvider';
1
+ import { IProvider, ProviderKey, ResolveDependency, Tag } from '../core/provider/IProvider';
2
2
  import { ProviderReducer } from '../core/provider/IProviderReflector';
3
3
  import { ArgsFn } from './ArgsProvider';
4
4
  import { constructor } from '../core/utils/types';
5
5
  import { Registration } from '../core/container/IContainer';
6
- export declare class ProviderBuilder<T> {
6
+ export declare class RegistrationBuilder<T> {
7
7
  private provider;
8
- static fromClass<T>(value: constructor<T>): ProviderBuilder<T>;
9
- static fromValue<T>(value: T): ProviderBuilder<T>;
10
- static fromFn<T>(fn: (...args: any[]) => T): ProviderBuilder<T>;
11
8
  private key?;
12
9
  constructor(provider: IProvider<T>);
13
10
  withArgs(...extraArgs: any[]): this;
14
11
  withArgsFn(argsFn: ArgsFn): this;
15
- map(reducer: ProviderReducer<T>): ProviderBuilder<T>;
12
+ map(reducer: ProviderReducer<T>): RegistrationBuilder<T>;
16
13
  perTags(...tags: Tag[]): this;
17
14
  asSingleton(): this;
18
15
  forKey(key: ProviderKey): this;
19
16
  build(): Registration<T>;
20
17
  }
18
+ export declare function fromClass<T>(value: constructor<T>): RegistrationBuilder<T>;
19
+ export declare function fromValue<T>(value: T): RegistrationBuilder<T>;
20
+ export declare function fromFn<T>(fn: ResolveDependency<T>): RegistrationBuilder<T>;
@@ -1,26 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderBuilder = void 0;
3
+ exports.fromFn = exports.fromValue = exports.fromClass = exports.RegistrationBuilder = void 0;
4
4
  var SingletonProvider_1 = require("./SingletonProvider");
5
5
  var TaggedProvider_1 = require("./TaggedProvider");
6
6
  var ArgsProvider_1 = require("./ArgsProvider");
7
7
  var Provider_1 = require("../core/provider/Provider");
8
8
  var ProviderReflector_1 = require("../core/provider/ProviderReflector");
9
9
  var ProviderHasNoKeyError_1 = require("../core/provider/ProviderHasNoKeyError");
10
- var ProviderBuilder = /** @class */ (function () {
11
- function ProviderBuilder(provider) {
10
+ var RegistrationBuilder = /** @class */ (function () {
11
+ function RegistrationBuilder(provider) {
12
12
  this.provider = provider;
13
13
  }
14
- ProviderBuilder.fromClass = function (value) {
15
- return new ProviderBuilder(Provider_1.Provider.fromClass(value)).map(ProviderReflector_1.providerReflector.findReducerOrCreate(value));
16
- };
17
- ProviderBuilder.fromValue = function (value) {
18
- return new ProviderBuilder(Provider_1.Provider.fromValue(value));
19
- };
20
- ProviderBuilder.fromFn = function (fn) {
21
- return new ProviderBuilder(new Provider_1.Provider(fn));
22
- };
23
- ProviderBuilder.prototype.withArgs = function () {
14
+ RegistrationBuilder.prototype.withArgs = function () {
24
15
  var extraArgs = [];
25
16
  for (var _i = 0; _i < arguments.length; _i++) {
26
17
  extraArgs[_i] = arguments[_i];
@@ -28,14 +19,14 @@ var ProviderBuilder = /** @class */ (function () {
28
19
  this.provider = new ArgsProvider_1.ArgsProvider(this.provider, function () { return extraArgs; });
29
20
  return this;
30
21
  };
31
- ProviderBuilder.prototype.withArgsFn = function (argsFn) {
22
+ RegistrationBuilder.prototype.withArgsFn = function (argsFn) {
32
23
  this.provider = new ArgsProvider_1.ArgsProvider(this.provider, argsFn);
33
24
  return this;
34
25
  };
35
- ProviderBuilder.prototype.map = function (reducer) {
26
+ RegistrationBuilder.prototype.map = function (reducer) {
36
27
  return reducer(this);
37
28
  };
38
- ProviderBuilder.prototype.perTags = function () {
29
+ RegistrationBuilder.prototype.perTags = function () {
39
30
  var tags = [];
40
31
  for (var _i = 0; _i < arguments.length; _i++) {
41
32
  tags[_i] = arguments[_i];
@@ -43,21 +34,33 @@ var ProviderBuilder = /** @class */ (function () {
43
34
  this.provider = new TaggedProvider_1.TaggedProvider(this.provider, tags);
44
35
  return this;
45
36
  };
46
- ProviderBuilder.prototype.asSingleton = function () {
37
+ RegistrationBuilder.prototype.asSingleton = function () {
47
38
  this.provider = new SingletonProvider_1.SingletonProvider(this.provider);
48
39
  return this;
49
40
  };
50
- ProviderBuilder.prototype.forKey = function (key) {
41
+ RegistrationBuilder.prototype.forKey = function (key) {
51
42
  this.key = key;
52
43
  return this;
53
44
  };
54
- ProviderBuilder.prototype.build = function () {
45
+ RegistrationBuilder.prototype.build = function () {
55
46
  if (!this.key) {
56
47
  throw new ProviderHasNoKeyError_1.ProviderHasNoKeyError('Pls provide registration keys for current provider');
57
48
  }
58
- return { key: this.key, value: this.provider };
49
+ return { key: this.key, provider: this.provider };
59
50
  };
60
- return ProviderBuilder;
51
+ return RegistrationBuilder;
61
52
  }());
62
- exports.ProviderBuilder = ProviderBuilder;
63
- //# sourceMappingURL=ProviderBuilder.js.map
53
+ exports.RegistrationBuilder = RegistrationBuilder;
54
+ function fromClass(value) {
55
+ return new RegistrationBuilder(Provider_1.Provider.fromClass(value)).map(ProviderReflector_1.providerReflector.findReducerOrCreate(value));
56
+ }
57
+ exports.fromClass = fromClass;
58
+ function fromValue(value) {
59
+ return new RegistrationBuilder(Provider_1.Provider.fromValue(value));
60
+ }
61
+ exports.fromValue = fromValue;
62
+ function fromFn(fn) {
63
+ return new RegistrationBuilder(new Provider_1.Provider(fn));
64
+ }
65
+ exports.fromFn = fromFn;
66
+ //# sourceMappingURL=RegistrationBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/providers/RegistrationBuilder.ts"],"names":[],"mappings":";;;AACA,yDAAwD;AACxD,mDAAkD;AAElD,+CAAsD;AACtD,sDAAqD;AAErD,wEAAuE;AAEvE,gFAA+E;AAE/E;IAGI,6BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,sCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAG,GAAH,UAAI,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,qCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,6CAAqB,CAAC,oDAAoD,CAAC,CAAC;SACzF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IACL,0BAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,kDAAmB;AA0ChC,SAAgB,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,mBAAmB,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,qCAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChH,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,mBAAmB,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,mBAAmB,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAFD,wBAEC"}
@@ -13,7 +13,7 @@ export declare class Container implements IContainer, Tagged {
13
13
  parent?: IContainer;
14
14
  tags?: Tag[];
15
15
  });
16
- register({ key, value }: Registration<unknown>): this;
16
+ register({ key, provider }: Registration<unknown>): this;
17
17
  resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
18
18
  createScope(tags?: Tag[]): Container;
19
19
  dispose(): void;
@@ -13,9 +13,9 @@ export class Container {
13
13
  this.parent = (_a = options.parent) !== null && _a !== void 0 ? _a : new EmptyContainer();
14
14
  this.tags = (_b = options.tags) !== null && _b !== void 0 ? _b : [];
15
15
  }
16
- register({ key, value }) {
16
+ register({ key, provider }) {
17
17
  this.validateContainer();
18
- this.providers.add(key, value);
18
+ this.providers.add(key, provider);
19
19
  return this;
20
20
  }
21
21
  resolve(key, ...args) {
@@ -33,7 +33,7 @@ export class Container {
33
33
  const scope = new Container(this.injector, { parent: this, tags });
34
34
  for (const [key, provider] of this.getProviders().entries()) {
35
35
  if (provider.isValid(scope)) {
36
- scope.register({ key, value: provider.clone() });
36
+ scope.register({ key, provider: provider.clone() });
37
37
  }
38
38
  }
39
39
  this.children.add(scope);
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/core/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/core/container/Container.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface Resolveable {
6
6
  }
7
7
  export interface Registration<T> {
8
8
  key: ProviderKey;
9
- value: IProvider<T>;
9
+ provider: IProvider<T>;
10
10
  }
11
11
  export interface IContainer extends Disposable, Resolveable {
12
12
  createScope(tags?: Tag[]): IContainer;
@@ -1,13 +1,13 @@
1
1
  import { InjectionToken, Resolveable } from '../container/IContainer';
2
2
  import { Disposable } from '../utils/types';
3
- export declare type ResolveDependency<T> = (container: Resolveable, ...args: any[]) => T;
3
+ export declare type ResolveDependency<T> = (container: Resolveable, ...args: unknown[]) => T;
4
4
  export declare type Tag = string;
5
5
  export interface Tagged {
6
6
  readonly tags: Tag[];
7
7
  }
8
8
  export interface IProvider<T> extends Disposable {
9
9
  clone(): IProvider<T>;
10
- resolve(container: Resolveable, ...args: any[]): T;
10
+ resolve(container: Resolveable, ...args: unknown[]): T;
11
11
  isValid(filters: Tagged): boolean;
12
12
  }
13
13
  export declare type ProviderKey = string | symbol;
@@ -1,6 +1,6 @@
1
1
  import { constructor } from '../utils/types';
2
- import { ProviderBuilder } from '../../providers/ProviderBuilder';
3
- export declare type ProviderReducer<T> = (builder: ProviderBuilder<T>) => ProviderBuilder<T>;
2
+ import { RegistrationBuilder } from '../../providers/RegistrationBuilder';
3
+ export declare type ProviderReducer<T> = (builder: RegistrationBuilder<T>) => RegistrationBuilder<T>;
4
4
  export interface IProviderReflector {
5
5
  addReducer<T>(target: constructor<T>, reducer: ProviderReducer<T>): void;
6
6
  findReducerOrCreate<T>(target: constructor<T>): ProviderReducer<T>;
package/esm/index.d.ts CHANGED
@@ -18,7 +18,7 @@ export { ArgsProvider, ArgsFn, createArgsFnDecorator } from './providers/ArgsPro
18
18
  export { TaggedProvider } from './providers/TaggedProvider';
19
19
  export { AutoMockedContainer } from './AutoMockedContainer';
20
20
  export { SingletonProvider } from './providers/SingletonProvider';
21
- export { ProviderBuilder } from './providers/ProviderBuilder';
21
+ export { fromFn, fromClass, fromValue } from './providers/RegistrationBuilder';
22
22
  export { IProviderReflector } from './core/provider/IProviderReflector';
23
23
  export { ProviderReflector } from './core/provider/ProviderReflector';
24
24
  export { Disposable } from './core/utils/types';
package/esm/index.js CHANGED
@@ -10,7 +10,7 @@ export { ArgsProvider, createArgsFnDecorator } from './providers/ArgsProvider';
10
10
  export { TaggedProvider } from './providers/TaggedProvider';
11
11
  export { AutoMockedContainer } from './AutoMockedContainer';
12
12
  export { SingletonProvider } from './providers/SingletonProvider';
13
- export { ProviderBuilder } from './providers/ProviderBuilder';
13
+ export { fromFn, fromClass, fromValue } from './providers/RegistrationBuilder';
14
14
  export { ProviderReflector } from './core/provider/ProviderReflector';
15
15
  export { isProviderKey } from './core/provider/IProvider';
16
16
  export { perTags } from './providers/TaggedProvider';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAIvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAU,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,MAAM,CAAC,MAAM,EAAE,GACX,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CACd,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAIvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAU,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,MAAM,CAAC,MAAM,EAAE,GACX,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CACd,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC"}
@@ -1,20 +1,20 @@
1
- import { IProvider, ProviderKey, Tag } from '../core/provider/IProvider';
1
+ import { IProvider, ProviderKey, ResolveDependency, Tag } from '../core/provider/IProvider';
2
2
  import { ProviderReducer } from '../core/provider/IProviderReflector';
3
3
  import { ArgsFn } from './ArgsProvider';
4
4
  import { constructor } from '../core/utils/types';
5
5
  import { Registration } from '../core/container/IContainer';
6
- export declare class ProviderBuilder<T> {
6
+ export declare class RegistrationBuilder<T> {
7
7
  private provider;
8
- static fromClass<T>(value: constructor<T>): ProviderBuilder<T>;
9
- static fromValue<T>(value: T): ProviderBuilder<T>;
10
- static fromFn<T>(fn: (...args: any[]) => T): ProviderBuilder<T>;
11
8
  private key?;
12
9
  constructor(provider: IProvider<T>);
13
10
  withArgs(...extraArgs: any[]): this;
14
11
  withArgsFn(argsFn: ArgsFn): this;
15
- map(reducer: ProviderReducer<T>): ProviderBuilder<T>;
12
+ map(reducer: ProviderReducer<T>): RegistrationBuilder<T>;
16
13
  perTags(...tags: Tag[]): this;
17
14
  asSingleton(): this;
18
15
  forKey(key: ProviderKey): this;
19
16
  build(): Registration<T>;
20
17
  }
18
+ export declare function fromClass<T>(value: constructor<T>): RegistrationBuilder<T>;
19
+ export declare function fromValue<T>(value: T): RegistrationBuilder<T>;
20
+ export declare function fromFn<T>(fn: ResolveDependency<T>): RegistrationBuilder<T>;
@@ -4,19 +4,10 @@ import { ArgsProvider } from './ArgsProvider';
4
4
  import { Provider } from '../core/provider/Provider';
5
5
  import { providerReflector } from '../core/provider/ProviderReflector';
6
6
  import { ProviderHasNoKeyError } from '../core/provider/ProviderHasNoKeyError';
7
- export class ProviderBuilder {
7
+ export class RegistrationBuilder {
8
8
  constructor(provider) {
9
9
  this.provider = provider;
10
10
  }
11
- static fromClass(value) {
12
- return new ProviderBuilder(Provider.fromClass(value)).map(providerReflector.findReducerOrCreate(value));
13
- }
14
- static fromValue(value) {
15
- return new ProviderBuilder(Provider.fromValue(value));
16
- }
17
- static fromFn(fn) {
18
- return new ProviderBuilder(new Provider(fn));
19
- }
20
11
  withArgs(...extraArgs) {
21
12
  this.provider = new ArgsProvider(this.provider, () => extraArgs);
22
13
  return this;
@@ -44,7 +35,16 @@ export class ProviderBuilder {
44
35
  if (!this.key) {
45
36
  throw new ProviderHasNoKeyError('Pls provide registration keys for current provider');
46
37
  }
47
- return { key: this.key, value: this.provider };
38
+ return { key: this.key, provider: this.provider };
48
39
  }
49
40
  }
50
- //# sourceMappingURL=ProviderBuilder.js.map
41
+ export function fromClass(value) {
42
+ return new RegistrationBuilder(Provider.fromClass(value)).map(providerReflector.findReducerOrCreate(value));
43
+ }
44
+ export function fromValue(value) {
45
+ return new RegistrationBuilder(Provider.fromValue(value));
46
+ }
47
+ export function fromFn(fn) {
48
+ return new RegistrationBuilder(new Provider(fn));
49
+ }
50
+ //# sourceMappingURL=RegistrationBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/providers/RegistrationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,MAAM,OAAO,mBAAmB;IAG5B,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,QAAQ,CAAC,GAAG,SAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,qBAAqB,CAAC,oDAAoD,CAAC,CAAC;SACzF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACJ;AAED,MAAM,UAAU,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,mBAAmB,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "20.0.0",
3
+ "version": "20.2.0",
4
4
  "description": "Typescript IoC container",
5
5
  "author": "ibabkin <igba14@gmail.com>",
6
6
  "homepage": "https://github.com/IgorBabkin/ts-ioc-container/tree/master/packages/ts-ioc-container",
@@ -46,5 +46,5 @@
46
46
  "ts-jest": "27.0.5",
47
47
  "typescript": "4.4.3"
48
48
  },
49
- "gitHead": "e633ef33be09ddec0c2af39d3b2d48a74459df10"
49
+ "gitHead": "2cb0e0e6aa6e700d09073695508164d91829c176"
50
50
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/providers/ProviderBuilder.ts"],"names":[],"mappings":";;;AACA,yDAAwD;AACxD,mDAAkD;AAElD,+CAAsD;AACtD,sDAAqD;AAErD,wEAAuE;AAEvE,gFAA+E;AAE/E;IAeI,yBAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAdvC,yBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,eAAe,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,qCAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5G,CAAC;IAEM,yBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,eAAe,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,sBAAM,GAAb,UAAiB,EAAyB;QACtC,OAAO,IAAI,eAAe,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAMD,kCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAAG,GAAH,UAAI,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,iCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAW,GAAX;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gCAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,6CAAqB,CAAC,oDAAoD,CAAC,CAAC;SACzF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;IACL,sBAAC;AAAD,CAAC,AApDD,IAoDC;AApDY,0CAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../lib/providers/ProviderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,MAAM,OAAO,eAAe;IAexB,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAd9C,MAAM,CAAC,SAAS,CAAI,KAAqB;QACrC,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,MAAM,CAAI,EAAyB;QACtC,OAAO,IAAI,eAAe,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAMD,QAAQ,CAAC,GAAG,SAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,qBAAqB,CAAC,oDAAoD,CAAC,CAAC;SACzF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;CACJ"}