ts-ioc-container 20.2.8 → 20.3.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
@@ -68,11 +68,23 @@ container.register('ILogger5', fromValue(new Logger()).build());
68
68
 
69
69
  ```typescript
70
70
  import { asSingleton, perTags, forKey, by } from "ts-ioc-container";
71
- import { inject } from "ts-constructor-injector";
71
+ import { composeDecorators, inject } from "ts-constructor-injector";
72
72
 
73
73
  @asSingleton
74
+ @perTags('root')
75
+ @forKey('IEngine')
76
+ class Engine {
77
+ constructor(@inject(by('ILogger')) private logger: ILogger) {
78
+ }
79
+ }
80
+
81
+ const perRoot = composeDecorators(
82
+ asSingleton,
83
+ perTags('root'),
84
+ );
85
+
86
+ @perRoot
74
87
  @forKey('IEngine')
75
- @perTags('tag1', 'tag2')
76
88
  class Engine {
77
89
  constructor(@inject(by('ILogger')) private logger: ILogger) {
78
90
  }
@@ -83,14 +95,13 @@ class Engine {
83
95
 
84
96
  ```typescript
85
97
  import {
86
- MethodReflector,
87
- createMethodHookDecorator,
88
98
  Container,
89
99
  IInjector,
90
100
  ContainerHook,
91
101
  Injector,
92
102
  fromClass
93
103
  } from "ts-ioc-container";
104
+ import { MethodReflector } from "ts-constructor-injector";
94
105
 
95
106
  export const onConstructReflector = new MethodReflector('OnConstructHook');
96
107
  export const onConstruct = onConstructReflector.createMethodHookDecorator();
@@ -129,7 +140,35 @@ for (const instance of container.getInstances()) {
129
140
  - tags - you can add tag to scope and root container. And register provider per tag.
130
141
 
131
142
  ```typescript
132
- const container = new Container(injector, {tags: ['root']});
143
+ import { composeDecorators } from "ts-constructor-injector";
144
+ import { forKey } from "ts-ioc-container";
145
+
146
+ const perRoot = composeDecorators(
147
+ asSingleton,
148
+ perTags('root'),
149
+ );
150
+
151
+ const perHome = composeDecorators(
152
+ asSingleton,
153
+ perTags('home'),
154
+ );
155
+
156
+ @perRoot
157
+ @forKey('IEngine')
158
+ class Logger {
159
+ }
160
+
161
+ @perHome
162
+ @forKey('IEngine')
163
+ class Engine {
164
+ constructor(@inject(by('ILogger')) private logger: ILogger) {
165
+ }
166
+ }
167
+
168
+ const container = new Container(injector, { tags: ['root'] })
169
+ .register('ILogger', fromClass(Logger).build())
170
+ .register('IEngine', fromClass(Engine).build());
171
+
133
172
  const scope = container.createScope(['home', 'child']);
134
173
  const logger = scope.resolve('ILogger');
135
174
  scope.dispose();
package/cjm/index.d.ts CHANGED
@@ -8,8 +8,6 @@ export { constructor } from './utils/types';
8
8
  export { Container } from './container/Container';
9
9
  export { Tagged, ResolveDependency, Tag, IProvider } from './provider/IProvider';
10
10
  export { IInjector } from './IInjector';
11
- export { MethodReflector } from './hooks/MethodReflector';
12
- export { AsyncMethodReflector } from './hooks/AsyncMethodReflector';
13
11
  export { InjectionToken } from './container/IContainer';
14
12
  export { ProviderNotFoundError } from './provider/ProviderNotFoundError';
15
13
  export { MethodNotImplementedError } from './utils/MethodNotImplementedError';
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.forKey = exports.asSingleton = exports.perTags = exports.fromFn = exports.fromValue = exports.fromClass = exports.by = exports.isProviderKey = exports.AutoMockedContainer = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.AsyncMethodReflector = exports.MethodReflector = exports.Container = exports.EmptyContainer = void 0;
28
+ exports.forKey = exports.asSingleton = exports.perTags = exports.fromFn = exports.fromValue = exports.fromClass = exports.by = exports.isProviderKey = exports.AutoMockedContainer = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.Container = exports.EmptyContainer = void 0;
29
29
  var Provider_1 = require("./provider/Provider");
30
30
  var RegistrationReflector_1 = require("./registration/RegistrationReflector");
31
31
  var RegistrationBuilder_1 = require("./registration/RegistrationBuilder");
@@ -33,10 +33,6 @@ var EmptyContainer_1 = require("./container/EmptyContainer");
33
33
  Object.defineProperty(exports, "EmptyContainer", { enumerable: true, get: function () { return EmptyContainer_1.EmptyContainer; } });
34
34
  var Container_1 = require("./container/Container");
35
35
  Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } });
36
- var MethodReflector_1 = require("./hooks/MethodReflector");
37
- Object.defineProperty(exports, "MethodReflector", { enumerable: true, get: function () { return MethodReflector_1.MethodReflector; } });
38
- var AsyncMethodReflector_1 = require("./hooks/AsyncMethodReflector");
39
- Object.defineProperty(exports, "AsyncMethodReflector", { enumerable: true, get: function () { return AsyncMethodReflector_1.AsyncMethodReflector; } });
40
36
  var ProviderNotFoundError_1 = require("./provider/ProviderNotFoundError");
41
37
  Object.defineProperty(exports, "ProviderNotFoundError", { enumerable: true, get: function () { return ProviderNotFoundError_1.ProviderNotFoundError; } });
42
38
  var MethodNotImplementedError_1 = require("./utils/MethodNotImplementedError");
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAA+C;AAC/C,8EAA6E;AAE7E,0EAAyE;AAGzE,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAGlB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AACxB,qEAAoE;AAA3D,4HAAA,oBAAoB,OAAA;AAE7B,0EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,+EAA8E;AAArE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AAEjB,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAG5B,kDAAqD;AAA5C,0GAAA,aAAa,OAAA;AAEf,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;AAEnC,SAAgB,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,yCAAmB,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChH,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,yCAAmB,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,yCAAmB,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAFD,wBAEC;AAED,IAAM,iBAAiB,GAAG,IAAI,6CAAqB,CAAC,oBAAoB,CAAC,CAAC;AAEnE,IAAM,OAAO,GAChB;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IACf,OAAA,UAAC,MAAM;QACH,IAAM,WAAW,GAAG,MAAqC,CAAC;QAC1D,IAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAC,OAAO;;YAAK,OAAA,CAAA,KAAA,EAAE,CAAC,OAAO,CAAC,CAAA,CAAC,OAAO,oCAAI,IAAI;QAA3B,CAA4B,CAAC,CAAC;IACzF,CAAC;AAJD,CAIC,CAAC;AANO,QAAA,OAAO,WAMd;AACC,IAAM,WAAW,GAAmB,UAAC,MAAM;IAC9C,IAAM,WAAW,GAAG,MAAqC,CAAC;IAC1D,IAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAC,OAAO,IAAK,OAAA,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAzB,CAAyB,CAAC,CAAC;AACtF,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB;AACK,IAAM,MAAM,GACf,UAAC,GAAgB;IACjB,OAAA,UAAC,MAAM;QACH,IAAM,WAAW,GAAG,MAAqC,CAAC;QAC1D,IAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAC,OAAO,IAAK,OAAA,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAvB,CAAuB,CAAC,CAAC;IACpF,CAAC;AAJD,CAIC,CAAC;AANO,QAAA,MAAM,UAMb"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gDAA+C;AAC/C,8EAA6E;AAE7E,0EAAyE;AAGzE,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAIlB,0EAAyE;AAAhE,8HAAA,qBAAqB,OAAA;AAC9B,+EAA8E;AAArE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AAEjB,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAG5B,kDAAqD;AAA5C,0GAAA,aAAa,OAAA;AAEf,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;AAEnC,SAAgB,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,yCAAmB,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChH,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,yCAAmB,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,yCAAmB,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAFD,wBAEC;AAED,IAAM,iBAAiB,GAAG,IAAI,6CAAqB,CAAC,oBAAoB,CAAC,CAAC;AAEnE,IAAM,OAAO,GAChB;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IACf,OAAA,UAAC,MAAM;QACH,IAAM,WAAW,GAAG,MAAqC,CAAC;QAC1D,IAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAC,OAAO;;YAAK,OAAA,CAAA,KAAA,EAAE,CAAC,OAAO,CAAC,CAAA,CAAC,OAAO,oCAAI,IAAI;QAA3B,CAA4B,CAAC,CAAC;IACzF,CAAC;AAJD,CAIC,CAAC;AANO,QAAA,OAAO,WAMd;AACC,IAAM,WAAW,GAAmB,UAAC,MAAM;IAC9C,IAAM,WAAW,GAAG,MAAqC,CAAC;IAC1D,IAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAC,OAAO,IAAK,OAAA,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAzB,CAAyB,CAAC,CAAC;AACtF,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB;AACK,IAAM,MAAM,GACf,UAAC,GAAgB;IACjB,OAAA,UAAC,MAAM;QACH,IAAM,WAAW,GAAG,MAAqC,CAAC;QAC1D,IAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAC,OAAO,IAAK,OAAA,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAvB,CAAuB,CAAC,CAAC;IACpF,CAAC;AAJD,CAIC,CAAC;AANO,QAAA,MAAM,UAMb"}
package/esm/index.d.ts CHANGED
@@ -8,8 +8,6 @@ export { constructor } from './utils/types';
8
8
  export { Container } from './container/Container';
9
9
  export { Tagged, ResolveDependency, Tag, IProvider } from './provider/IProvider';
10
10
  export { IInjector } from './IInjector';
11
- export { MethodReflector } from './hooks/MethodReflector';
12
- export { AsyncMethodReflector } from './hooks/AsyncMethodReflector';
13
11
  export { InjectionToken } from './container/IContainer';
14
12
  export { ProviderNotFoundError } from './provider/ProviderNotFoundError';
15
13
  export { MethodNotImplementedError } from './utils/MethodNotImplementedError';
package/esm/index.js CHANGED
@@ -3,8 +3,6 @@ import { RegistrationReflector } from './registration/RegistrationReflector';
3
3
  import { RegistrationBuilder } from './registration/RegistrationBuilder';
4
4
  export { EmptyContainer } from './container/EmptyContainer';
5
5
  export { Container } from './container/Container';
6
- export { MethodReflector } from './hooks/MethodReflector';
7
- export { AsyncMethodReflector } from './hooks/AsyncMethodReflector';
8
6
  export { ProviderNotFoundError } from './provider/ProviderNotFoundError';
9
7
  export { MethodNotImplementedError } from './utils/MethodNotImplementedError';
10
8
  export { ContainerDisposedError } from './container/ContainerDisposedError';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,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;AAEnC,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;AAED,MAAM,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAChB,CAAC,GAAG,IAAW,EAAkB,EAAE,CACnC,CAAC,MAAM,EAAE,EAAE;IACP,MAAM,WAAW,GAAG,MAAqC,CAAC;IAC1D,MAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC;AACN,MAAM,CAAC,MAAM,WAAW,GAAmB,CAAC,MAAM,EAAE,EAAE;IAClD,MAAM,WAAW,GAAG,MAAqC,CAAC;IAC1D,MAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACtF,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,MAAM,GACf,CAAC,GAAgB,EAAkB,EAAE,CACrC,CAAC,MAAM,EAAE,EAAE;IACP,MAAM,WAAW,GAAG,MAAqC,CAAC;IAC1D,MAAM,EAAE,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9D,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "20.2.8",
3
+ "version": "20.3.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",
@@ -44,9 +44,9 @@
44
44
  "npm-run-all": "4.1.5",
45
45
  "reflect-metadata": "^0.1.13",
46
46
  "rimraf": "3.0.2",
47
- "ts-constructor-injector": "^3.0.6",
47
+ "ts-constructor-injector": "^3.1.0",
48
48
  "ts-jest": "27.0.5",
49
49
  "typescript": "4.4.3"
50
50
  },
51
- "gitHead": "c7aefe18e015bdd6ab09a2eede8ca9641c26b4ee"
51
+ "gitHead": "18dcaea6ec370c2abb201cfaef4348411c052621"
52
52
  }
@@ -1,8 +0,0 @@
1
- export declare class AsyncMethodReflector {
2
- readonly hookKey: string | symbol;
3
- constructor(hookKey: string | symbol);
4
- private addHook;
5
- invokeHooksOf<GInstance extends Object>(target: GInstance): Promise<void>;
6
- private static getTargetId;
7
- createMethodHookDecorator(): MethodDecorator;
8
- }
@@ -1,143 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
- if (ar || !(i in from)) {
57
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
- ar[i] = from[i];
59
- }
60
- }
61
- return to.concat(ar || Array.prototype.slice.call(from));
62
- };
63
- var __values = (this && this.__values) || function(o) {
64
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
65
- if (m) return m.call(o);
66
- if (o && typeof o.length === "number") return {
67
- next: function () {
68
- if (o && i >= o.length) o = void 0;
69
- return { value: o && o[i++], done: !o };
70
- }
71
- };
72
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
73
- };
74
- Object.defineProperty(exports, "__esModule", { value: true });
75
- exports.AsyncMethodReflector = void 0;
76
- var AsyncMethodReflector = /** @class */ (function () {
77
- function AsyncMethodReflector(hookKey) {
78
- this.hookKey = hookKey;
79
- }
80
- // eslint-disable-next-line @typescript-eslint/ban-types
81
- AsyncMethodReflector.prototype.addHook = function (target, propertyKey) {
82
- var targetId = AsyncMethodReflector.getTargetId(target);
83
- var hooks = Reflect.getMetadata(this.hookKey, targetId) || [];
84
- Reflect.defineMetadata(this.hookKey, __spreadArray(__spreadArray([], __read(hooks), false), [propertyKey], false), targetId);
85
- };
86
- // eslint-disable-next-line @typescript-eslint/ban-types
87
- AsyncMethodReflector.prototype.invokeHooksOf = function (target) {
88
- return __awaiter(this, void 0, void 0, function () {
89
- var targetId, hooks, hooks_1, hooks_1_1, hookMethod, e_1_1;
90
- var e_1, _a;
91
- return __generator(this, function (_b) {
92
- switch (_b.label) {
93
- case 0:
94
- targetId = AsyncMethodReflector.getTargetId(target);
95
- hooks = Reflect.hasMetadata(this.hookKey, targetId)
96
- ? Reflect.getMetadata(this.hookKey, targetId)
97
- : [];
98
- _b.label = 1;
99
- case 1:
100
- _b.trys.push([1, 6, 7, 8]);
101
- hooks_1 = __values(hooks), hooks_1_1 = hooks_1.next();
102
- _b.label = 2;
103
- case 2:
104
- if (!!hooks_1_1.done) return [3 /*break*/, 5];
105
- hookMethod = hooks_1_1.value;
106
- return [4 /*yield*/, target[hookMethod]()];
107
- case 3:
108
- _b.sent();
109
- _b.label = 4;
110
- case 4:
111
- hooks_1_1 = hooks_1.next();
112
- return [3 /*break*/, 2];
113
- case 5: return [3 /*break*/, 8];
114
- case 6:
115
- e_1_1 = _b.sent();
116
- e_1 = { error: e_1_1 };
117
- return [3 /*break*/, 8];
118
- case 7:
119
- try {
120
- if (hooks_1_1 && !hooks_1_1.done && (_a = hooks_1.return)) _a.call(hooks_1);
121
- }
122
- finally { if (e_1) throw e_1.error; }
123
- return [7 /*endfinally*/];
124
- case 8: return [2 /*return*/];
125
- }
126
- });
127
- });
128
- };
129
- // eslint-disable-next-line @typescript-eslint/ban-types
130
- AsyncMethodReflector.getTargetId = function (target) {
131
- return target.constructor;
132
- };
133
- AsyncMethodReflector.prototype.createMethodHookDecorator = function () {
134
- var _this = this;
135
- return function (target, propertyKey) {
136
- // eslint-disable-next-line @typescript-eslint/ban-types
137
- _this.addHook(target, propertyKey);
138
- };
139
- };
140
- return AsyncMethodReflector;
141
- }());
142
- exports.AsyncMethodReflector = AsyncMethodReflector;
143
- //# sourceMappingURL=AsyncMethodReflector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsyncMethodReflector.js","sourceRoot":"","sources":["../../lib/hooks/AsyncMethodReflector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;IACI,8BAAqB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEjD,wDAAwD;IAChD,sCAAO,GAAf,UAA0C,MAAiB,EAAE,WAA4B;QACrF,IAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,yCAAM,KAAK,YAAE,WAAW,WAAG,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,wDAAwD;IAClD,4CAAa,GAAnB,UAA8C,MAAiB;;;;;;;wBACrD,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBACpD,KAAK,GAAa,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;4BAC/D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;4BAC7C,CAAC,CAAC,EAAE,CAAC;;;;wBAEgB,UAAA,SAAA,KAAK,CAAA;;;;wBAAnB,UAAU;wBACjB,qBAAO,MAAc,CAAC,UAAU,CAAC,EAAE,EAAA;;wBAAnC,SAAmC,CAAC;;;;;;;;;;;;;;;;;;;;KAE3C;IAED,wDAAwD;IACzC,gCAAW,GAA1B,UAA2D,MAAiB;QACxE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,wDAAyB,GAAzB;QAAA,iBAKC;QAJG,OAAO,UAAC,MAAM,EAAE,WAAW;YACvB,wDAAwD;YACxD,KAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IACL,2BAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,oDAAoB"}
@@ -1,8 +0,0 @@
1
- export declare class MethodReflector {
2
- readonly hookKey: string | symbol;
3
- constructor(hookKey: string | symbol);
4
- private addHook;
5
- invokeHooksOf<GInstance extends Object>(target: GInstance): void;
6
- private static getTargetId;
7
- createMethodHookDecorator(): MethodDecorator;
8
- }
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- var __values = (this && this.__values) || function(o) {
28
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
29
- if (m) return m.call(o);
30
- if (o && typeof o.length === "number") return {
31
- next: function () {
32
- if (o && i >= o.length) o = void 0;
33
- return { value: o && o[i++], done: !o };
34
- }
35
- };
36
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.MethodReflector = void 0;
40
- var MethodReflector = /** @class */ (function () {
41
- function MethodReflector(hookKey) {
42
- this.hookKey = hookKey;
43
- }
44
- // eslint-disable-next-line @typescript-eslint/ban-types
45
- MethodReflector.prototype.addHook = function (target, propertyKey) {
46
- var targetId = MethodReflector.getTargetId(target);
47
- var hooks = Reflect.getMetadata(this.hookKey, targetId) || [];
48
- Reflect.defineMetadata(this.hookKey, __spreadArray(__spreadArray([], __read(hooks), false), [propertyKey], false), targetId);
49
- };
50
- // eslint-disable-next-line @typescript-eslint/ban-types
51
- MethodReflector.prototype.invokeHooksOf = function (target) {
52
- var e_1, _a;
53
- var targetId = MethodReflector.getTargetId(target);
54
- var hooks = Reflect.hasMetadata(this.hookKey, targetId)
55
- ? Reflect.getMetadata(this.hookKey, targetId)
56
- : [];
57
- try {
58
- for (var hooks_1 = __values(hooks), hooks_1_1 = hooks_1.next(); !hooks_1_1.done; hooks_1_1 = hooks_1.next()) {
59
- var hookMethod = hooks_1_1.value;
60
- target[hookMethod]();
61
- }
62
- }
63
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
64
- finally {
65
- try {
66
- if (hooks_1_1 && !hooks_1_1.done && (_a = hooks_1.return)) _a.call(hooks_1);
67
- }
68
- finally { if (e_1) throw e_1.error; }
69
- }
70
- };
71
- // eslint-disable-next-line @typescript-eslint/ban-types
72
- MethodReflector.getTargetId = function (target) {
73
- return target.constructor;
74
- };
75
- MethodReflector.prototype.createMethodHookDecorator = function () {
76
- var _this = this;
77
- return function (target, propertyKey) {
78
- // eslint-disable-next-line @typescript-eslint/ban-types
79
- _this.addHook(target, propertyKey);
80
- };
81
- };
82
- return MethodReflector;
83
- }());
84
- exports.MethodReflector = MethodReflector;
85
- //# sourceMappingURL=MethodReflector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MethodReflector.js","sourceRoot":"","sources":["../../lib/hooks/MethodReflector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;IACI,yBAAqB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEjD,wDAAwD;IAChD,iCAAO,GAAf,UAA0C,MAAiB,EAAE,WAA4B;QACrF,IAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,yCAAM,KAAK,YAAE,WAAW,WAAG,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,wDAAwD;IACxD,uCAAa,GAAb,UAAwC,MAAiB;;QACrD,IAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAM,KAAK,GAAa,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;;YAET,KAAyB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;gBAA3B,IAAM,UAAU,kBAAA;gBAChB,MAAc,CAAC,UAAU,CAAC,EAAE,CAAC;aACjC;;;;;;;;;IACL,CAAC;IAED,wDAAwD;IACzC,2BAAW,GAA1B,UAA2D,MAAiB;QACxE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,mDAAyB,GAAzB;QAAA,iBAKC;QAJG,OAAO,UAAC,MAAM,EAAE,WAAW;YACvB,wDAAwD;YACxD,KAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IACL,sBAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,0CAAe"}
@@ -1,8 +0,0 @@
1
- export declare class AsyncMethodReflector {
2
- readonly hookKey: string | symbol;
3
- constructor(hookKey: string | symbol);
4
- private addHook;
5
- invokeHooksOf<GInstance extends Object>(target: GInstance): Promise<void>;
6
- private static getTargetId;
7
- createMethodHookDecorator(): MethodDecorator;
8
- }
@@ -1,32 +0,0 @@
1
- export class AsyncMethodReflector {
2
- constructor(hookKey) {
3
- this.hookKey = hookKey;
4
- }
5
- // eslint-disable-next-line @typescript-eslint/ban-types
6
- addHook(target, propertyKey) {
7
- const targetId = AsyncMethodReflector.getTargetId(target);
8
- const hooks = Reflect.getMetadata(this.hookKey, targetId) || [];
9
- Reflect.defineMetadata(this.hookKey, [...hooks, propertyKey], targetId);
10
- }
11
- // eslint-disable-next-line @typescript-eslint/ban-types
12
- async invokeHooksOf(target) {
13
- const targetId = AsyncMethodReflector.getTargetId(target);
14
- const hooks = Reflect.hasMetadata(this.hookKey, targetId)
15
- ? Reflect.getMetadata(this.hookKey, targetId)
16
- : [];
17
- for (const hookMethod of hooks) {
18
- await target[hookMethod]();
19
- }
20
- }
21
- // eslint-disable-next-line @typescript-eslint/ban-types
22
- static getTargetId(target) {
23
- return target.constructor;
24
- }
25
- createMethodHookDecorator() {
26
- return (target, propertyKey) => {
27
- // eslint-disable-next-line @typescript-eslint/ban-types
28
- this.addHook(target, propertyKey);
29
- };
30
- }
31
- }
32
- //# sourceMappingURL=AsyncMethodReflector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsyncMethodReflector.js","sourceRoot":"","sources":["../../lib/hooks/AsyncMethodReflector.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IAC7B,YAAqB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEjD,wDAAwD;IAChD,OAAO,CAA2B,MAAiB,EAAE,WAA4B;QACrF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,aAAa,CAA2B,MAAiB;QAC3D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAa,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;QAET,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE;YAC5B,MAAO,MAAc,CAAC,UAAU,CAAC,EAAE,CAAC;SACvC;IACL,CAAC;IAED,wDAAwD;IAChD,MAAM,CAAC,WAAW,CAAiC,MAAiB;QACxE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,yBAAyB;QACrB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YAC3B,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;CACJ"}
@@ -1,8 +0,0 @@
1
- export declare class MethodReflector {
2
- readonly hookKey: string | symbol;
3
- constructor(hookKey: string | symbol);
4
- private addHook;
5
- invokeHooksOf<GInstance extends Object>(target: GInstance): void;
6
- private static getTargetId;
7
- createMethodHookDecorator(): MethodDecorator;
8
- }
@@ -1,32 +0,0 @@
1
- export class MethodReflector {
2
- constructor(hookKey) {
3
- this.hookKey = hookKey;
4
- }
5
- // eslint-disable-next-line @typescript-eslint/ban-types
6
- addHook(target, propertyKey) {
7
- const targetId = MethodReflector.getTargetId(target);
8
- const hooks = Reflect.getMetadata(this.hookKey, targetId) || [];
9
- Reflect.defineMetadata(this.hookKey, [...hooks, propertyKey], targetId);
10
- }
11
- // eslint-disable-next-line @typescript-eslint/ban-types
12
- invokeHooksOf(target) {
13
- const targetId = MethodReflector.getTargetId(target);
14
- const hooks = Reflect.hasMetadata(this.hookKey, targetId)
15
- ? Reflect.getMetadata(this.hookKey, targetId)
16
- : [];
17
- for (const hookMethod of hooks) {
18
- target[hookMethod]();
19
- }
20
- }
21
- // eslint-disable-next-line @typescript-eslint/ban-types
22
- static getTargetId(target) {
23
- return target.constructor;
24
- }
25
- createMethodHookDecorator() {
26
- return (target, propertyKey) => {
27
- // eslint-disable-next-line @typescript-eslint/ban-types
28
- this.addHook(target, propertyKey);
29
- };
30
- }
31
- }
32
- //# sourceMappingURL=MethodReflector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MethodReflector.js","sourceRoot":"","sources":["../../lib/hooks/MethodReflector.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IACxB,YAAqB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEjD,wDAAwD;IAChD,OAAO,CAA2B,MAAiB,EAAE,WAA4B;QACrF,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,wDAAwD;IACxD,aAAa,CAA2B,MAAiB;QACrD,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAa,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;QAET,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE;YAC3B,MAAc,CAAC,UAAU,CAAC,EAAE,CAAC;SACjC;IACL,CAAC;IAED,wDAAwD;IAChD,MAAM,CAAC,WAAW,CAAiC,MAAiB;QACxE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,yBAAyB;QACrB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YAC3B,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;CACJ"}