@trapi/metadata 1.0.0-alpha.5 → 1.0.0-alpha.7
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/dist/generator/method/module.d.ts.map +1 -1
- package/dist/generator/method/module.js +1 -2
- package/dist/generator/method/module.js.map +1 -1
- package/dist/generator/method/type.d.ts +2 -9
- package/dist/generator/method/type.d.ts.map +1 -1
- package/dist/generator/parameter/index.d.ts +0 -1
- package/dist/generator/parameter/index.d.ts.map +1 -1
- package/dist/generator/parameter/index.js +0 -1
- package/dist/generator/parameter/index.js.map +1 -1
- package/dist/generator/parameter/module.d.ts.map +1 -1
- package/dist/generator/parameter/module.js +30 -30
- package/dist/generator/parameter/module.js.map +1 -1
- package/dist/generator/parameter/type.d.ts +3 -3
- package/dist/generator/parameter/type.d.ts.map +1 -1
- package/dist/generator/type.d.ts +1 -0
- package/dist/generator/type.d.ts.map +1 -1
- package/dist/resolver/constants.d.ts +27 -0
- package/dist/resolver/constants.d.ts.map +1 -0
- package/dist/resolver/constants.js +37 -0
- package/dist/resolver/constants.js.map +1 -0
- package/dist/resolver/extension/index.d.ts +3 -0
- package/dist/resolver/extension/index.d.ts.map +1 -0
- package/dist/resolver/extension/index.js +25 -0
- package/dist/resolver/extension/index.js.map +1 -0
- package/dist/resolver/extension/module.d.ts +5 -0
- package/dist/resolver/extension/module.d.ts.map +1 -0
- package/dist/resolver/extension/module.js +27 -0
- package/dist/resolver/extension/module.js.map +1 -0
- package/dist/resolver/extension/type.d.ts +8 -0
- package/dist/resolver/extension/type.d.ts.map +1 -0
- package/dist/resolver/extension/type.js +9 -0
- package/dist/resolver/extension/type.js.map +1 -0
- package/dist/resolver/index.d.ts +2 -0
- package/dist/resolver/index.d.ts.map +1 -1
- package/dist/resolver/index.js +2 -0
- package/dist/resolver/index.js.map +1 -1
- package/dist/resolver/module.d.ts +5 -2
- package/dist/resolver/module.d.ts.map +1 -1
- package/dist/resolver/module.js +93 -82
- package/dist/resolver/module.js.map +1 -1
- package/dist/resolver/type.d.ts +59 -46
- package/dist/resolver/type.d.ts.map +1 -1
- package/dist/resolver/type.js +88 -12
- package/dist/resolver/type.js.map +1 -1
- package/dist/type.d.ts +1 -4
- package/dist/type.d.ts.map +1 -1
- package/dist/type.js +6 -0
- package/dist/type.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/initializer.d.ts +2 -2
- package/dist/utils/initializer.d.ts.map +1 -1
- package/dist/utils/initializer.js.map +1 -1
- package/dist/utils/validator/constants.d.ts +13 -0
- package/dist/utils/validator/constants.d.ts.map +1 -0
- package/dist/utils/validator/constants.js +23 -0
- package/dist/utils/validator/constants.js.map +1 -0
- package/dist/utils/validator/index.d.ts +4 -0
- package/dist/utils/validator/index.d.ts.map +1 -0
- package/dist/utils/validator/index.js +26 -0
- package/dist/utils/validator/index.js.map +1 -0
- package/dist/utils/validator/module.d.ts +4 -0
- package/dist/utils/validator/module.d.ts.map +1 -0
- package/dist/{generator/parameter/validator.js → utils/validator/module.js} +28 -22
- package/dist/utils/validator/module.js.map +1 -0
- package/dist/utils/validator/type.d.ts +6 -0
- package/dist/utils/validator/type.d.ts.map +1 -0
- package/dist/utils/validator/type.js +9 -0
- package/dist/utils/validator/type.js.map +1 -0
- package/package.json +2 -2
- package/dist/generator/parameter/validator.d.ts +0 -4
- package/dist/generator/parameter/validator.d.ts.map +0 -1
- package/dist/generator/parameter/validator.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as ts from 'typescript';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function getInitializerValue(initializer?: ts.Expression, typeChecker?: ts.TypeChecker, type?:
|
|
2
|
+
import type { Type } from '../resolver';
|
|
3
|
+
export declare function getInitializerValue(initializer?: ts.Expression, typeChecker?: ts.TypeChecker, type?: Type): unknown;
|
|
4
4
|
export declare const hasInitializer: (node: ts.Node) => node is ts.HasInitializer;
|
|
5
5
|
//# sourceMappingURL=initializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializer.d.ts","sourceRoot":"","sources":["../../src/utils/initializer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"initializer.d.ts","sourceRoot":"","sources":["../../src/utils/initializer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,wBAAgB,mBAAmB,CAC/B,WAAW,CAAC,EAAE,EAAE,CAAC,UAAU,EAC3B,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,EAC5B,IAAI,CAAC,EAAE,IAAI,GACX,OAAO,CAuGV;AAED,eAAO,MAAM,cAAc,SACjB,GAAG,IAAI,8BACwE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializer.js","sourceRoot":"","sources":["../../src/utils/initializer.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AAEjC,qCAA0C;AAE1C,SAAgB,mBAAmB,CAC/B,WAA2B,EAC3B,WAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"initializer.js","sourceRoot":"","sources":["../../src/utils/initializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum ValidatorName {
|
|
2
|
+
UNIQUE_ITEMS = "uniqueItems",
|
|
3
|
+
MINIMUM = "minimum",
|
|
4
|
+
MAXIMUM = "maximum",
|
|
5
|
+
MIN_ITEMS = "minItems",
|
|
6
|
+
MAX_ITEMS = "maxItems",
|
|
7
|
+
MIN_LENGTH = "minLength",
|
|
8
|
+
MAX_LENGTH = "maxLength",
|
|
9
|
+
MIN_DATE = "minDate",
|
|
10
|
+
MAX_DATE = "maxDate",
|
|
11
|
+
PATTERN = "pattern"
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/validator/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,aAAa;IACrB,YAAY,gBAAgB;IAE5B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,aAAa;IACtB,SAAS,aAAa;IACtB,UAAU,cAAc;IACxB,UAAU,cAAc;IAExB,QAAQ,YAAY;IACpB,QAAQ,YAAY;IAEpB,OAAO,YAAY;CACtB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ValidatorName = void 0;
|
|
10
|
+
var ValidatorName;
|
|
11
|
+
(function (ValidatorName) {
|
|
12
|
+
ValidatorName["UNIQUE_ITEMS"] = "uniqueItems";
|
|
13
|
+
ValidatorName["MINIMUM"] = "minimum";
|
|
14
|
+
ValidatorName["MAXIMUM"] = "maximum";
|
|
15
|
+
ValidatorName["MIN_ITEMS"] = "minItems";
|
|
16
|
+
ValidatorName["MAX_ITEMS"] = "maxItems";
|
|
17
|
+
ValidatorName["MIN_LENGTH"] = "minLength";
|
|
18
|
+
ValidatorName["MAX_LENGTH"] = "maxLength";
|
|
19
|
+
ValidatorName["MIN_DATE"] = "minDate";
|
|
20
|
+
ValidatorName["MAX_DATE"] = "maxDate";
|
|
21
|
+
ValidatorName["PATTERN"] = "pattern";
|
|
22
|
+
})(ValidatorName = exports.ValidatorName || (exports.ValidatorName = {}));
|
|
23
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/validator/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,IAAY,aAcX;AAdD,WAAY,aAAa;IACrB,6CAA4B,CAAA;IAE5B,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,uCAAsB,CAAA;IACtB,uCAAsB,CAAA;IACtB,yCAAwB,CAAA;IACxB,yCAAwB,CAAA;IAExB,qCAAoB,CAAA;IACpB,qCAAoB,CAAA;IAEpB,oCAAmB,CAAA;AACvB,CAAC,EAdW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAcxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/validator/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
__exportStar(require("./constants"), exports);
|
|
24
|
+
__exportStar(require("./module"), exports);
|
|
25
|
+
__exportStar(require("./type"), exports);
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/validator/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,2CAAyB;AACzB,yCAAuB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ParameterDeclaration, PropertyDeclaration, PropertySignature, TypeAliasDeclaration } from 'typescript';
|
|
2
|
+
import type { Validator } from './type';
|
|
3
|
+
export declare function getDeclarationValidators(declaration: PropertyDeclaration | TypeAliasDeclaration | PropertySignature | ParameterDeclaration, name?: string): Record<string, Validator>;
|
|
4
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/utils/validator/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EACrF,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAIxC,wBAAgB,wBAAwB,CACpC,WAAW,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,oBAAoB,EAClG,IAAI,CAAC,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAkH3B"}
|
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2021.
|
|
3
|
+
* Copyright (c) 2021-2023.
|
|
4
4
|
* Author Peter Placzek (tada5hi)
|
|
5
5
|
* For the full copyright and license information,
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
exports.getDeclarationValidators = void 0;
|
|
10
|
+
const js_doc_1 = require("../js-doc");
|
|
11
|
+
const constants_1 = require("./constants");
|
|
12
|
+
function getDeclarationValidators(declaration, name) {
|
|
13
|
+
if (!declaration.parent) {
|
|
13
14
|
return {};
|
|
14
15
|
}
|
|
15
16
|
const getCommentValue = (comment) => comment && comment.split(' ')[0];
|
|
16
17
|
const parameterTags = getSupportedParameterTags();
|
|
17
|
-
const tags = (0,
|
|
18
|
+
const tags = (0, js_doc_1.getJSDocTags)(declaration.parent, (tag) => {
|
|
18
19
|
const { comment } = tag;
|
|
19
|
-
const text = (0,
|
|
20
|
+
const text = (0, js_doc_1.transformJSDocComment)(comment);
|
|
20
21
|
if (!comment) {
|
|
21
22
|
return false;
|
|
22
23
|
}
|
|
23
24
|
const commentValue = getCommentValue(text);
|
|
24
|
-
return parameterTags.some((value) =>
|
|
25
|
+
return parameterTags.some((value) => {
|
|
26
|
+
if (value !== tag.tagName.text) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return !(name && name !== commentValue);
|
|
30
|
+
});
|
|
25
31
|
});
|
|
26
32
|
function getErrorMsg(comment, isValue = true) {
|
|
27
33
|
if (!comment) {
|
|
@@ -43,22 +49,22 @@ function getParameterValidators(parameter, name) {
|
|
|
43
49
|
continue;
|
|
44
50
|
}
|
|
45
51
|
const name = tag.tagName.text;
|
|
46
|
-
let comment = (0,
|
|
52
|
+
let comment = (0, js_doc_1.transformJSDocComment)(tag.comment);
|
|
47
53
|
comment = comment.substring(comment.indexOf(' ') + 1).trim();
|
|
48
54
|
const value = getCommentValue(comment);
|
|
49
55
|
switch (name) {
|
|
50
|
-
case
|
|
56
|
+
case constants_1.ValidatorName.UNIQUE_ITEMS:
|
|
51
57
|
validators[name] = {
|
|
52
58
|
message: getErrorMsg(comment, false),
|
|
53
59
|
value: undefined,
|
|
54
60
|
};
|
|
55
61
|
break;
|
|
56
|
-
case
|
|
57
|
-
case
|
|
58
|
-
case
|
|
59
|
-
case
|
|
60
|
-
case
|
|
61
|
-
case
|
|
62
|
+
case constants_1.ValidatorName.MINIMUM:
|
|
63
|
+
case constants_1.ValidatorName.MAXIMUM:
|
|
64
|
+
case constants_1.ValidatorName.MIN_ITEMS:
|
|
65
|
+
case constants_1.ValidatorName.MAX_ITEMS:
|
|
66
|
+
case constants_1.ValidatorName.MIN_LENGTH:
|
|
67
|
+
case constants_1.ValidatorName.MAX_LENGTH:
|
|
62
68
|
if (Number.isNaN(value)) {
|
|
63
69
|
throw new Error(`${name} parameter use number.`);
|
|
64
70
|
}
|
|
@@ -67,8 +73,8 @@ function getParameterValidators(parameter, name) {
|
|
|
67
73
|
value: Number(value),
|
|
68
74
|
};
|
|
69
75
|
break;
|
|
70
|
-
case
|
|
71
|
-
case
|
|
76
|
+
case constants_1.ValidatorName.MIN_DATE:
|
|
77
|
+
case constants_1.ValidatorName.MAX_DATE:
|
|
72
78
|
if (typeof value !== 'string') {
|
|
73
79
|
throw new Error(`${name} parameter use date format ISO 8601 ex. 2017-05-14, 2017-05-14T05:18Z`);
|
|
74
80
|
}
|
|
@@ -77,7 +83,7 @@ function getParameterValidators(parameter, name) {
|
|
|
77
83
|
value,
|
|
78
84
|
};
|
|
79
85
|
break;
|
|
80
|
-
case
|
|
86
|
+
case constants_1.ValidatorName.PATTERN:
|
|
81
87
|
if (typeof value !== 'string') {
|
|
82
88
|
throw new Error(`${name} parameter use string.`);
|
|
83
89
|
}
|
|
@@ -87,7 +93,7 @@ function getParameterValidators(parameter, name) {
|
|
|
87
93
|
};
|
|
88
94
|
break;
|
|
89
95
|
default:
|
|
90
|
-
if (name.startsWith('is')) {
|
|
96
|
+
if (name.toLowerCase().startsWith('is')) {
|
|
91
97
|
const errorMsg = getErrorMsg(comment, false);
|
|
92
98
|
if (errorMsg) {
|
|
93
99
|
validators[name] = {
|
|
@@ -101,7 +107,7 @@ function getParameterValidators(parameter, name) {
|
|
|
101
107
|
}
|
|
102
108
|
return validators;
|
|
103
109
|
}
|
|
104
|
-
exports.
|
|
110
|
+
exports.getDeclarationValidators = getDeclarationValidators;
|
|
105
111
|
function getSupportedParameterTags() {
|
|
106
112
|
return [
|
|
107
113
|
'isString',
|
|
@@ -133,4 +139,4 @@ function removeSurroundingQuotes(str) {
|
|
|
133
139
|
}
|
|
134
140
|
return str;
|
|
135
141
|
}
|
|
136
|
-
//# sourceMappingURL=
|
|
142
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/utils/validator/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/utils/validator/type.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,SAAS,GAAG;IACpB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/utils/validator/type.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trapi/metadata",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.7",
|
|
4
4
|
"description": "Generate REST-API metadata scheme from TypeScript Decorators.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"typings": "./dist/index.d.ts",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "6d462ec6a345cb45427d3a8bb0d108b540d722f2"
|
|
59
59
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/generator/parameter/validator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CA2G3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/generator/parameter/validator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH,uCAAkE;AAElE,SAAgB,sBAAsB,CAClC,SAA+B,EAC/B,IAAY;IAEZ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC;KACb;IAED,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E,MAAM,aAAa,GAAG,yBAAyB,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACxB,MAAM,IAAI,GAAY,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,SAAS,WAAW,CAAC,OAAgB,EAAE,OAAO,GAAG,IAAI;QACjD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,OAAO,EAAE;YACT,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,OAAO,GAAG,CAAC,EAAE;gBACb,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;aACzC;YACD,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAA+B,EAAE,CAAC;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACd,SAAS;SACZ;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAE9B,IAAI,OAAO,GAAG,IAAA,6BAAqB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7D,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAEvC,QAAQ,IAAI,EAAE;YACV,KAAK,aAAa;gBACd,UAAU,CAAC,IAAI,CAAC,GAAG;oBACf,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;oBACpC,KAAK,EAAE,SAAS;iBACnB,CAAC;gBACF,MAAM;YACV,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,UAAU,CAAC;YAChB,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW;gBACZ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;iBACpD;gBACD,UAAU,CAAC,IAAI,CAAC,GAAG;oBACf,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;oBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACvB,CAAC;gBACF,MAAM;YACV,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACV,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uEAAuE,CAAC,CAAC;iBACnG;gBACD,UAAU,CAAC,IAAI,CAAC,GAAG;oBACf,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;oBAC7B,KAAK;iBACR,CAAC;gBACF,MAAM;YACV,KAAK,SAAS;gBACV,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;iBACpD;gBAED,UAAU,CAAC,IAAI,CAAC,GAAG;oBACf,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;oBAC7B,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC;iBACxC,CAAC;gBACF,MAAM;YACV;gBACI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC7C,IAAI,QAAQ,EAAE;wBACV,UAAU,CAAC,IAAI,CAAC,GAAG;4BACf,OAAO,EAAE,QAAQ;4BACjB,KAAK,EAAE,SAAS;yBACnB,CAAC;qBACL;iBACJ;gBACD,MAAM;SACb;KACJ;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AA9GD,wDA8GC;AAED,SAAS,yBAAyB;IAC9B,OAAO;QACH,UAAU;QACV,WAAW;QACX,OAAO;QACP,QAAQ;QACR,SAAS;QACT,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;QACX,WAAW;QACX,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IACxC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC1C,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC3C;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC9C,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC3C;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|