@rxap/schematics-ts-morph 14.0.3 → 14.1.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [14.1.0-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@14.1.0-dev.0...@rxap/schematics-ts-morph@14.1.0-dev.1) (2023-04-09)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **add-provider-to-array:** support custom compare logic ([7e78ba5](https://gitlab.com/rxap/packages/commit/7e78ba5a9a80030396ada770af46f96ade9379ea))
12
+
13
+
14
+
15
+
16
+
17
+ # [14.1.0-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@14.0.3...@rxap/schematics-ts-morph@14.1.0-dev.0) (2023-01-30)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **nest:** update inject obj generator to use inject instead of deps ([db1902b](https://gitlab.com/rxap/packages/commit/db1902bb84745bef6d56895df05d926ef8a6f39d))
23
+
24
+
25
+ ### Features
26
+
27
+ * add AddClassMethod ([f701f78](https://gitlab.com/rxap/packages/commit/f701f785941fa6d04f593e1ae8a09d17fb03f401))
28
+
29
+
30
+
31
+
32
+
6
33
  ## [14.0.3](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@14.0.2...@rxap/schematics-ts-morph@14.0.3) (2023-01-16)
7
34
 
8
35
  **Note:** Version bump only for package @rxap/schematics-ts-morph
package/README.md CHANGED
@@ -15,6 +15,6 @@
15
15
  # Installation
16
16
 
17
17
  ```
18
- yarn add @rxap/schematics-ts-morph @rxap/schematics-utilities@^14.0.3
18
+ yarn add @rxap/schematics-ts-morph @rxap/schematics-utilities@^14.0.4
19
19
  ```
20
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rxap/schematics-ts-morph",
3
- "version": "14.0.3",
3
+ "version": "14.1.0-dev.1",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.1"
6
6
  },
package/src/index.d.ts CHANGED
@@ -41,6 +41,7 @@ export * from './lib/add-dependency-injection';
41
41
  export * from './lib/coerce-class-method';
42
42
  export * from './lib/merge-ts-morph-project';
43
43
  export * from './lib/coerce-property-key';
44
+ export * from './lib/add-class-method';
44
45
  export * from './lib/nestjs/add-nest-controller';
45
46
  export * from './lib/nestjs/add-nest-module-controller';
46
47
  export * from './lib/nestjs/add-nest-module-import';
package/src/index.js CHANGED
@@ -44,6 +44,7 @@ tslib_1.__exportStar(require("./lib/add-dependency-injection"), exports);
44
44
  tslib_1.__exportStar(require("./lib/coerce-class-method"), exports);
45
45
  tslib_1.__exportStar(require("./lib/merge-ts-morph-project"), exports);
46
46
  tslib_1.__exportStar(require("./lib/coerce-property-key"), exports);
47
+ tslib_1.__exportStar(require("./lib/add-class-method"), exports);
47
48
  // region nestjs
48
49
  tslib_1.__exportStar(require("./lib/nestjs/add-nest-controller"), exports);
49
50
  tslib_1.__exportStar(require("./lib/nestjs/add-nest-module-controller"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,6DAAmC;AACnC,+EAAqD;AACrD,oEAA0C;AAC1C,mEAAyC;AACzC,wDAA8B;AAC9B,uEAA6C;AAC7C,4DAAkC;AAClC,oEAA0C;AAC1C,sEAA4C;AAC5C,sEAA4C;AAC5C,4EAAkD;AAClD,yEAA+C;AAC/C,uEAA6C;AAC7C,iEAAuC;AACvC,oEAA0C;AAC1C,oEAA0C;AAC1C,4EAAkD;AAClD,iEAAuC;AACvC,oEAA0C;AAC1C,mEAAyC;AACzC,kEAAwC;AACxC,2EAAiD;AACjD,6DAAmC;AACnC,gEAAsC;AACtC,iEAAuC;AACvC,yEAA+C;AAC/C,qEAA2C;AAC3C,uEAA6C;AAC7C,kFAAwD;AACxD,2EAAiD;AACjD,oEAA0C;AAC1C,6FAAmE;AACnE,6EAAmD;AACnD,6EAAmD;AACnD,iEAAuC;AACvC,wEAA8C;AAC9C,8EAAoD;AACpD,yEAA+C;AAC/C,yEAA+C;AAC/C,oEAA0C;AAC1C,uEAA6C;AAC7C,oEAA0C;AAE1C,gBAAgB;AAEhB,2EAAiD;AACjD,kFAAwD;AACxD,8EAAoD;AACpD,gFAAsD;AACtD,kFAAwD;AACxD,oFAA0D;AAC1D,oFAA0D;AAC1D,gFAAsD;AACtD,6EAAmD;AACnD,4EAAkD;AAClD,4EAAkD;AAElD,YAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,6DAAmC;AACnC,+EAAqD;AACrD,oEAA0C;AAC1C,mEAAyC;AACzC,wDAA8B;AAC9B,uEAA6C;AAC7C,4DAAkC;AAClC,oEAA0C;AAC1C,sEAA4C;AAC5C,sEAA4C;AAC5C,4EAAkD;AAClD,yEAA+C;AAC/C,uEAA6C;AAC7C,iEAAuC;AACvC,oEAA0C;AAC1C,oEAA0C;AAC1C,4EAAkD;AAClD,iEAAuC;AACvC,oEAA0C;AAC1C,mEAAyC;AACzC,kEAAwC;AACxC,2EAAiD;AACjD,6DAAmC;AACnC,gEAAsC;AACtC,iEAAuC;AACvC,yEAA+C;AAC/C,qEAA2C;AAC3C,uEAA6C;AAC7C,kFAAwD;AACxD,2EAAiD;AACjD,oEAA0C;AAC1C,6FAAmE;AACnE,6EAAmD;AACnD,6EAAmD;AACnD,iEAAuC;AACvC,wEAA8C;AAC9C,8EAAoD;AACpD,yEAA+C;AAC/C,yEAA+C;AAC/C,oEAA0C;AAC1C,uEAA6C;AAC7C,oEAA0C;AAC1C,iEAAuC;AAEvC,gBAAgB;AAEhB,2EAAiD;AACjD,kFAAwD;AACxD,8EAAoD;AACpD,gFAAsD;AACtD,kFAAwD;AACxD,oFAA0D;AAC1D,oFAA0D;AAC1D,gFAAsD;AACtD,6EAAmD;AACnD,4EAAkD;AAClD,4EAAkD;AAElD,YAAY"}
@@ -0,0 +1,2 @@
1
+ import { ClassDeclaration, MethodDeclarationStructure, OptionalKind } from 'ts-morph';
2
+ export declare function AddClassMethod(classDeclaration: ClassDeclaration, name: string, structure: Omit<OptionalKind<MethodDeclarationStructure>, 'name'>, overwrite?: boolean): import("ts-morph").MethodDeclaration;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddClassMethod = void 0;
4
+ function AddClassMethod(classDeclaration, name, structure, overwrite) {
5
+ let methodDeclaration = classDeclaration.getMethod(name);
6
+ if (methodDeclaration) {
7
+ if (overwrite) {
8
+ methodDeclaration.remove();
9
+ }
10
+ else {
11
+ throw new Error('Can not add class method - a method with the same name already exists. Set the overwrite parameter to true or use CoerceClassMethod');
12
+ }
13
+ }
14
+ methodDeclaration = classDeclaration.addMethod(Object.assign(Object.assign({}, structure), { name }));
15
+ return methodDeclaration;
16
+ }
17
+ exports.AddClassMethod = AddClassMethod;
18
+ //# sourceMappingURL=add-class-method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-class-method.js","sourceRoot":"","sources":["../../../../../libs/ts-morph/src/lib/add-class-method.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAC5B,gBAAkC,EAClC,IAAY,EACZ,SAAiE,EACjE,SAAmB;IAGnB,IAAI,iBAAiB,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAExD,IAAI,iBAAiB,EAAE;QAErB,IAAI,SAAS,EAAE;YACb,iBAAiB,CAAC,MAAM,EAAE,CAAC;SAC5B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qIAAqI,CAAC,CAAC;SACxJ;KAEF;IAED,iBAAiB,GAAG,gBAAgB,CAAC,SAAS,iCACzC,SAAS,KACZ,IAAI,IACJ,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAE3B,CAAC;AA1BD,wCA0BC"}
@@ -1,3 +1,3 @@
1
+ import { ArrayLiteralExpression, ObjectLiteralExpression } from 'ts-morph';
1
2
  import { ProviderObject } from './provider-object';
2
- import { ArrayLiteralExpression } from 'ts-morph';
3
- export declare function AddProviderToArray(providerObject: ProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean): void;
3
+ export declare function AddProviderToArray(providerObject: ProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean, compare?: (ole: ObjectLiteralExpression, po: ProviderObject) => boolean): void;
@@ -1,9 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AddProviderToArray = void 0;
4
- const ts_morph_1 = require("ts-morph");
5
4
  const schematics_utilities_1 = require("@rxap/schematics-utilities");
6
- function AddProviderToArray(providerObject, providerArray, overwrite = false) {
5
+ const ts_morph_1 = require("ts-morph");
6
+ function AddProviderToArray(providerObject, providerArray, overwrite = false, compare = (ole, po) => {
7
+ var _a;
8
+ const provideProperty = ole.getProperty('provide');
9
+ if (provideProperty instanceof ts_morph_1.PropertyAssignment) {
10
+ return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getFullText().trim()) === po.provide;
11
+ }
12
+ return false;
13
+ }) {
7
14
  if (typeof providerObject === 'string') {
8
15
  if (!providerArray.getElements().some(element => element.getFullText().trim() === providerObject)) {
9
16
  providerArray.addElement(providerObject);
@@ -11,12 +18,8 @@ function AddProviderToArray(providerObject, providerArray, overwrite = false) {
11
18
  }
12
19
  else {
13
20
  const index = providerArray.getElements().findIndex(element => {
14
- var _a;
15
21
  if (element instanceof ts_morph_1.ObjectLiteralExpression) {
16
- const provideProperty = element.getProperty('provide');
17
- if (provideProperty instanceof ts_morph_1.PropertyAssignment) {
18
- return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getFullText().trim()) === providerObject.provide;
19
- }
22
+ return compare(element, providerObject);
20
23
  }
21
24
  return false;
22
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-provider-to-array.js","sourceRoot":"","sources":["../../../../../libs/ts-morph/src/lib/add-provider-to-array.ts"],"names":[],"mappings":";;;AACA,uCAAwG;AACxG,qEAAuE;AAEvE,SAAgB,kBAAkB,CAChC,cAAuC,EACvC,aAAqC,EACrC,YAAqB,KAAK;IAG1B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAE5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAE9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAEvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBAEjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBAE1F;aAEF;YAED,OAAO,KAAK,CAAC;QAEf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,gDAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACzI,KAAK,EAAE,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aACjI,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AAlDD,gDAkDC"}
1
+ {"version":3,"file":"add-provider-to-array.js","sourceRoot":"","sources":["../../../../../libs/ts-morph/src/lib/add-provider-to-array.ts"],"names":[],"mappings":";;;AAAA,qEAAuE;AACvE,uCAAwG;AAGxG,SAAgB,kBAAkB,CAChC,cAAuC,EACvC,aAAqC,EACrC,YAAyE,KAAK,EAC9E,UAAyE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;;IACnF,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,eAAe,YAAY,6BAAkB,EAAE;QAEjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,EAAE,CAAC,OAAO,CAAC;KAE9E;IACD,OAAO,KAAK,CAAC;AACf,CAAC;IAGD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YAE5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;aACzC;YAED,OAAO,KAAK,CAAC;QAEf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,gDAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACzI,KAAK,EAAE,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aACjI,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AApDD,gDAoDC"}
@@ -31,7 +31,7 @@ function AddNestProviderToArray(providerObject, providerArray, overwrite = false
31
31
  useExisting: providerObject.useExisting,
32
32
  useValue: providerObject.useValue,
33
33
  scope: providerObject.scope,
34
- deps: providerObject.inject ? Array.isArray(providerObject.inject) ? `[ ${providerObject.inject.join(',')} ]` : providerObject.inject : undefined
34
+ inject: providerObject.inject ? Array.isArray(providerObject.inject) ? `[ ${providerObject.inject.join(',')} ]` : providerObject.inject : undefined
35
35
  })));
36
36
  }
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nestjs/add-nest-provider-to-array.ts"],"names":[],"mappings":";;;AACA,uCAAwG;AACxG,qEAAuE;AAEvE,SAAgB,sBAAsB,CACpC,cAA2C,EAC3C,aAAqC,EACrC,YAAqB,KAAK;IAG1B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBAC1F;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,gDAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAClJ,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AA1CD,wDA0CC"}
1
+ {"version":3,"file":"add-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nestjs/add-nest-provider-to-array.ts"],"names":[],"mappings":";;;AACA,uCAAwG;AACxG,qEAAuE;AAEvE,SAAgB,sBAAsB,CACpC,cAA2C,EAC3C,aAAqC,EACrC,YAAqB,KAAK;IAG1B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBAC1F;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,gDAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aACpJ,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AA1CD,wDA0CC"}