typia 3.7.0-dev.20230331 → 3.7.0-dev.20230401
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/lib/functional/$dictionary.d.ts +1 -1
- package/lib/programmers/AssertProgrammer.js +11 -0
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.d.ts +2 -0
- package/lib/programmers/CheckerProgrammer.js +11 -12
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.js +30 -0
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +11 -0
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/ICheckEntry.d.ts +11 -0
- package/lib/programmers/helpers/ICheckEntry.js +3 -0
- package/lib/programmers/helpers/ICheckEntry.js.map +1 -0
- package/lib/programmers/internal/check_array.js +7 -11
- package/lib/programmers/internal/check_array.js.map +1 -1
- package/lib/programmers/internal/check_array_length.js +23 -36
- package/lib/programmers/internal/check_array_length.js.map +1 -1
- package/lib/programmers/internal/check_bigint.d.ts +1 -5
- package/lib/programmers/internal/check_bigint.js +67 -61
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_custom.d.ts +2 -1
- package/lib/programmers/internal/check_custom.js +26 -16
- package/lib/programmers/internal/check_custom.js.map +1 -1
- package/lib/programmers/internal/check_number.js +88 -64
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/internal/check_string.js +9 -9
- package/lib/programmers/internal/check_string.js.map +1 -1
- package/lib/programmers/internal/check_string_tags.js +63 -24
- package/lib/programmers/internal/check_string_tags.js.map +1 -1
- package/lib/programmers/internal/check_template.js +23 -11
- package/lib/programmers/internal/check_template.js.map +1 -1
- package/lib/typings/Customizable.d.ts +0 -1
- package/package.json +1 -1
- package/src/programmers/AssertProgrammer.ts +24 -0
- package/src/programmers/CheckerProgrammer.ts +45 -46
- package/src/programmers/IsProgrammer.ts +5 -0
- package/src/programmers/ValidateProgrammer.ts +24 -0
- package/src/programmers/helpers/ICheckEntry.ts +12 -0
- package/src/programmers/internal/check_array.ts +10 -15
- package/src/programmers/internal/check_array_length.ts +31 -35
- package/src/programmers/internal/check_bigint.ts +60 -62
- package/src/programmers/internal/check_custom.ts +25 -16
- package/src/programmers/internal/check_number.ts +102 -83
- package/src/programmers/internal/check_string.ts +14 -19
- package/src/programmers/internal/check_string_tags.ts +23 -13
- package/src/programmers/internal/check_template.ts +16 -7
- package/src/typings/Customizable.ts +0 -1
|
@@ -43,72 +43,78 @@ exports.check_bigint = void 0;
|
|
|
43
43
|
var typescript_1 = __importDefault(require("typescript"));
|
|
44
44
|
var check_custom_1 = require("./check_custom");
|
|
45
45
|
var check_bigint = function (importer) {
|
|
46
|
-
return function (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
46
|
+
return function (metaTags) {
|
|
47
|
+
return function (jsDocTag) {
|
|
48
|
+
return function (input) {
|
|
49
|
+
var e_1, _a;
|
|
50
|
+
var _b, _c;
|
|
51
|
+
var entries = [];
|
|
52
|
+
try {
|
|
53
|
+
for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
|
|
54
|
+
var tag = metaTags_1_1.value;
|
|
55
|
+
if (tag.kind === "multipleOf")
|
|
56
|
+
entries.push([
|
|
57
|
+
tag,
|
|
58
|
+
typescript_1.default.factory.createStrictEquality(cast(0), typescript_1.default.factory.createModulo(input, cast(tag.value))),
|
|
59
|
+
]);
|
|
60
|
+
else if (tag.kind === "step") {
|
|
61
|
+
var modulo = typescript_1.default.factory.createModulo(input, cast(tag.value));
|
|
62
|
+
var minimum = (_c = (_b = metaTags.find(function (tag) {
|
|
63
|
+
return tag.kind === "minimum" ||
|
|
64
|
+
tag.kind === "exclusiveMinimum";
|
|
65
|
+
})) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : undefined;
|
|
66
|
+
entries.push([
|
|
67
|
+
tag,
|
|
68
|
+
typescript_1.default.factory.createStrictEquality(cast(0), minimum !== undefined
|
|
69
|
+
? typescript_1.default.factory.createSubtract(modulo, cast(minimum))
|
|
70
|
+
: modulo),
|
|
71
|
+
]);
|
|
70
72
|
}
|
|
73
|
+
else if (tag.kind === "minimum")
|
|
74
|
+
entries.push([
|
|
75
|
+
tag,
|
|
76
|
+
typescript_1.default.factory.createLessThanEquals(cast(tag.value), input),
|
|
77
|
+
]);
|
|
78
|
+
else if (tag.kind === "maximum")
|
|
79
|
+
entries.push([
|
|
80
|
+
tag,
|
|
81
|
+
typescript_1.default.factory.createGreaterThanEquals(cast(tag.value), input),
|
|
82
|
+
]);
|
|
83
|
+
else if (tag.kind === "exclusiveMinimum")
|
|
84
|
+
entries.push([
|
|
85
|
+
tag,
|
|
86
|
+
typescript_1.default.factory.createLessThan(cast(tag.value), input),
|
|
87
|
+
]);
|
|
88
|
+
else if (tag.kind === "exclusiveMaximum")
|
|
89
|
+
entries.push([
|
|
90
|
+
tag,
|
|
91
|
+
typescript_1.default.factory.createGreaterThan(cast(tag.value), input),
|
|
92
|
+
]);
|
|
71
93
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
finally { if (e_2) throw e_2.error; }
|
|
94
|
+
}
|
|
95
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
96
|
+
finally {
|
|
97
|
+
try {
|
|
98
|
+
if (metaTags_1_1 && !metaTags_1_1.done && (_a = metaTags_1.return)) _a.call(metaTags_1);
|
|
78
99
|
}
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
conditions.push(typescript_1.default.factory.createGreaterThan(caster(tag.value), input));
|
|
100
|
+
finally { if (e_1) throw e_1.error; }
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
expression: typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("bigint"), typescript_1.default.factory.createTypeOfExpression(input)),
|
|
104
|
+
tags: __spreadArray(__spreadArray([], __read(entries.map(function (_a) {
|
|
105
|
+
var _b = __read(_a, 2), tag = _b[0], expression = _b[1];
|
|
106
|
+
return ({
|
|
107
|
+
expected: "bigint (@".concat(tag.kind, " ").concat(tag.value, ")"),
|
|
108
|
+
expression: expression,
|
|
109
|
+
});
|
|
110
|
+
})), false), __read((0, check_custom_1.check_custom)("bigint")(importer)(jsDocTag)(input)), false),
|
|
111
|
+
};
|
|
112
|
+
};
|
|
93
113
|
};
|
|
94
|
-
try {
|
|
95
|
-
for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
|
|
96
|
-
var tag = metaTags_1_1.value;
|
|
97
|
-
_loop_1(tag);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
101
|
-
finally {
|
|
102
|
-
try {
|
|
103
|
-
if (metaTags_1_1 && !metaTags_1_1.done && (_a = metaTags_1.return)) _a.call(metaTags_1);
|
|
104
|
-
}
|
|
105
|
-
finally { if (e_1) throw e_1.error; }
|
|
106
|
-
}
|
|
107
|
-
conditions.push.apply(conditions, __spreadArray([], __read((0, check_custom_1.check_custom)("bigint")(importer)(input, jsDocTags)), false));
|
|
108
|
-
return conditions.length === 1
|
|
109
|
-
? conditions[0]
|
|
110
|
-
: conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
|
|
111
114
|
};
|
|
112
115
|
};
|
|
113
116
|
exports.check_bigint = check_bigint;
|
|
117
|
+
var cast = function (value) {
|
|
118
|
+
return typescript_1.default.factory.createIdentifier("".concat(Math.floor(value), "n"));
|
|
119
|
+
};
|
|
114
120
|
//# sourceMappingURL=check_bigint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_bigint.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_bigint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"check_bigint.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_bigint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAO5B,+CAA8C;AAKvC,IAAM,YAAY,GACrB,UAAC,QAA0B;IAC3B,OAAA,UAAC,QAAwB;QACzB,OAAA,UAAC,QAAyB;YAC1B,OAAA,UAAC,KAAoB;;;gBACjB,IAAM,OAAO,GAAoC,EAAE,CAAC;;oBACpD,KAAkB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA,wDAAE;wBAAvB,IAAM,GAAG,qBAAA;wBACV,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;4BACzB,OAAO,CAAC,IAAI,CAAC;gCACT,GAAG;gCACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,IAAI,CAAC,CAAC,CAAC,EACP,oBAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAClD;6BACJ,CAAC,CAAC;6BACF,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;4BAC1B,IAAM,MAAM,GAAG,oBAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC/D,IAAM,OAAO,GACT,MAAC,MAAA,QAAQ,CAAC,IAAI,CACV,UAAC,GAAG;gCACA,OAAA,GAAG,CAAC,IAAI,KAAK,SAAS;oCACtB,GAAG,CAAC,IAAI,KAAK,kBAAkB;4BAD/B,CAC+B,CACtC,0CAAE,KAA4B,mCAAI,SAAS,CAAC;4BACjD,OAAO,CAAC,IAAI,CAAC;gCACT,GAAG;gCACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,IAAI,CAAC,CAAC,CAAC,EACP,OAAO,KAAK,SAAS;oCACjB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oCAClD,CAAC,CAAC,MAAM,CACf;6BACJ,CAAC,CAAC;yBACN;6BAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;4BAC7B,OAAO,CAAC,IAAI,CAAC;gCACT,GAAG;gCACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;6BAC1D,CAAC,CAAC;6BACF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;4BAC3B,OAAO,CAAC,IAAI,CAAC;gCACT,GAAG;gCACH,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;6BAC7D,CAAC,CAAC;6BACF,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB;4BACpC,OAAO,CAAC,IAAI,CAAC;gCACT,GAAG;gCACH,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;6BACpD,CAAC,CAAC;6BACF,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB;4BACpC,OAAO,CAAC,IAAI,CAAC;gCACT,GAAG;gCACH,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;6BACvD,CAAC,CAAC;qBACV;;;;;;;;;gBACD,OAAO;oBACH,UAAU,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACvC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;oBACD,IAAI,yCACG,OAAO,CAAC,GAAG,CAAC,UAAC,EAAiB;4BAAjB,KAAA,aAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;wBAAM,OAAA,CAAC;4BACnC,QAAQ,EAAE,mBAAY,GAAG,CAAC,IAAI,cAAI,GAAG,CAAC,KAAK,MAAG;4BAC9C,UAAU,YAAA;yBACb,CAAC;oBAHoC,CAGpC,CAAC,kBACA,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,SACvD;iBACJ,CAAC;YACN,CAAC;QA9DD,CA8DC;IA/DD,CA+DC;AAhED,CAgEC,CAAC;AAlEO,QAAA,YAAY,gBAkEnB;AAEN,IAAM,IAAI,GAAG,UAAC,KAAa;IACvB,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAG,CAAC;AAApD,CAAoD,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IJsDocTagInfo } from "../../metadata/IJsDocTagInfo";
|
|
3
3
|
import { FunctionImporter } from "../helpers/FunctionImporeter";
|
|
4
|
-
|
|
4
|
+
import { ICheckEntry } from "../helpers/ICheckEntry";
|
|
5
|
+
export declare const check_custom: (type: string, alias?: string) => (importer: FunctionImporter) => (jsDocTags: IJsDocTagInfo[]) => (input: ts.Expression) => ICheckEntry.ITag[];
|
|
@@ -6,23 +6,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.check_custom = void 0;
|
|
7
7
|
var typescript_1 = __importDefault(require("typescript"));
|
|
8
8
|
var MetadataTagFactory_1 = require("../../factories/MetadataTagFactory");
|
|
9
|
-
var check_custom = function (type) {
|
|
9
|
+
var check_custom = function (type, alias) {
|
|
10
10
|
return function (importer) {
|
|
11
|
-
return function (
|
|
12
|
-
return
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
11
|
+
return function (jsDocTags) {
|
|
12
|
+
return function (input) {
|
|
13
|
+
return jsDocTags
|
|
14
|
+
.filter(function (tag) {
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
|
+
return tag.name !== "random" &&
|
|
17
|
+
(!((_a = tag.text) === null || _a === void 0 ? void 0 : _a.length) ||
|
|
18
|
+
(((_b = tag.text) === null || _b === void 0 ? void 0 : _b.length) === 1 &&
|
|
19
|
+
((_d = (_c = tag.text) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.kind) === "text")) &&
|
|
20
|
+
MetadataTagFactory_1.MetadataTagFactory._PARSER[tag.name] === undefined;
|
|
21
|
+
})
|
|
22
|
+
.map(function (tag) {
|
|
23
|
+
var _a, _b, _c;
|
|
24
|
+
var text = (_c = (_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text) !== null && _c !== void 0 ? _c : "";
|
|
25
|
+
return {
|
|
26
|
+
expected: "".concat(alias !== null && alias !== void 0 ? alias : type, " (@").concat(tag.name).concat(text.length ? " ".concat(text) : "", ")"),
|
|
27
|
+
expression: typescript_1.default.factory.createCallExpression(importer.use("is_custom"), undefined, [
|
|
28
|
+
typescript_1.default.factory.createStringLiteral(tag.name),
|
|
29
|
+
typescript_1.default.factory.createStringLiteral(type),
|
|
30
|
+
typescript_1.default.factory.createStringLiteral(text),
|
|
31
|
+
input,
|
|
32
|
+
]),
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
};
|
|
26
36
|
};
|
|
27
37
|
};
|
|
28
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_custom.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_custom.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,yEAAwE;
|
|
1
|
+
{"version":3,"file":"check_custom.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_custom.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,yEAAwE;AAOjE,IAAM,YAAY,GACrB,UAAC,IAAY,EAAE,KAAc;IAC7B,OAAA,UAAC,QAA0B;QAC3B,OAAA,UAAC,SAA0B;YAC3B,OAAA,UAAC,KAAoB;gBACjB,OAAA,SAAS;qBACJ,MAAM,CACH,UAAC,GAAG;;oBACA,OAAA,GAAG,CAAC,IAAI,KAAK,QAAQ;wBACrB,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,CAAA;4BACd,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,MAAK,CAAC;gCACnB,CAAA,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAG,CAAC,CAAC,0CAAE,IAAI,MAAK,MAAM,CAAC,CAAC;wBACxC,uCAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAA;iBAAA,CACzD;qBACA,GAAG,CAAC,UAAC,GAAG;;oBACL,IAAM,IAAI,GAAuB,MAAA,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAG,CAAC,CAAC,0CAAE,IAAI,mCAAI,EAAE,CAAC;oBAC3D,OAAO;wBACH,QAAQ,EAAE,UAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,gBAAM,GAAG,CAAC,IAAI,SACpC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAI,IAAI,CAAE,CAAC,CAAC,CAAC,EAAE,MAC9B;wBACH,UAAU,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACvC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EACzB,SAAS,EACT;4BACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;4BACxC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC;4BACpC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC;4BACpC,KAAK;yBACR,CACJ;qBACJ,CAAC;gBACN,CAAC,CAAC;YA1BN,CA0BM;QA3BV,CA2BU;IA5BV,CA4BU;AA7BV,CA6BU,CAAC;AA/BF,QAAA,YAAY,gBA+BV"}
|
|
@@ -43,11 +43,95 @@ exports.check_number = void 0;
|
|
|
43
43
|
var typescript_1 = __importDefault(require("typescript"));
|
|
44
44
|
var OptionPredicator_1 = require("../helpers/OptionPredicator");
|
|
45
45
|
var check_custom_1 = require("./check_custom");
|
|
46
|
-
var check_number = function (
|
|
47
|
-
var options = _a.options;
|
|
46
|
+
var check_number = function (project, numeric) {
|
|
48
47
|
return function (importer) {
|
|
49
|
-
return function (
|
|
50
|
-
|
|
48
|
+
return function (metaTags) {
|
|
49
|
+
return function (jsDocTag) {
|
|
50
|
+
return function (input) {
|
|
51
|
+
var e_1, _a;
|
|
52
|
+
var _b, _c;
|
|
53
|
+
var entries = [];
|
|
54
|
+
try {
|
|
55
|
+
for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
|
|
56
|
+
var tag = metaTags_1_1.value;
|
|
57
|
+
if (tag.kind === "type") {
|
|
58
|
+
entries.push([
|
|
59
|
+
tag,
|
|
60
|
+
typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("parseInt"), undefined, [input]), input),
|
|
61
|
+
]);
|
|
62
|
+
if (tag.value === "uint")
|
|
63
|
+
entries.push([
|
|
64
|
+
tag,
|
|
65
|
+
typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(0), input),
|
|
66
|
+
]);
|
|
67
|
+
}
|
|
68
|
+
else if (tag.kind === "multipleOf")
|
|
69
|
+
entries.push([
|
|
70
|
+
tag,
|
|
71
|
+
typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value))),
|
|
72
|
+
]);
|
|
73
|
+
else if (tag.kind === "step") {
|
|
74
|
+
var modulo = typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value));
|
|
75
|
+
var minimum = (_c = (_b = metaTags.find(function (tag) {
|
|
76
|
+
return tag.kind === "minimum" ||
|
|
77
|
+
tag.kind === "exclusiveMinimum";
|
|
78
|
+
})) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : undefined;
|
|
79
|
+
entries.push([
|
|
80
|
+
tag,
|
|
81
|
+
typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), minimum !== undefined
|
|
82
|
+
? typescript_1.default.factory.createSubtract(modulo, typescript_1.default.factory.createNumericLiteral(minimum))
|
|
83
|
+
: modulo),
|
|
84
|
+
]);
|
|
85
|
+
}
|
|
86
|
+
else if (tag.kind === "minimum")
|
|
87
|
+
entries.push([
|
|
88
|
+
tag,
|
|
89
|
+
typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input),
|
|
90
|
+
]);
|
|
91
|
+
else if (tag.kind === "maximum")
|
|
92
|
+
entries.push([
|
|
93
|
+
tag,
|
|
94
|
+
typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input),
|
|
95
|
+
]);
|
|
96
|
+
else if (tag.kind === "exclusiveMinimum")
|
|
97
|
+
entries.push([
|
|
98
|
+
tag,
|
|
99
|
+
typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(tag.value), input),
|
|
100
|
+
]);
|
|
101
|
+
else if (tag.kind === "exclusiveMaximum")
|
|
102
|
+
entries.push([
|
|
103
|
+
tag,
|
|
104
|
+
typescript_1.default.factory.createGreaterThan(typescript_1.default.factory.createNumericLiteral(tag.value), input),
|
|
105
|
+
]);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
109
|
+
finally {
|
|
110
|
+
try {
|
|
111
|
+
if (metaTags_1_1 && !metaTags_1_1.done && (_a = metaTags_1.return)) _a.call(metaTags_1);
|
|
112
|
+
}
|
|
113
|
+
finally { if (e_1) throw e_1.error; }
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
expression: is_number(project, numeric)(metaTags)(input),
|
|
117
|
+
tags: __spreadArray(__spreadArray([], __read(entries.map(function (_a) {
|
|
118
|
+
var _b = __read(_a, 2), tag = _b[0], expression = _b[1];
|
|
119
|
+
return ({
|
|
120
|
+
expected: "number (@".concat(tag.kind, " ").concat(tag.value, ")"),
|
|
121
|
+
expression: expression,
|
|
122
|
+
});
|
|
123
|
+
})), false), __read((0, check_custom_1.check_custom)("number")(importer)(jsDocTag)(input)), false),
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
exports.check_number = check_number;
|
|
131
|
+
var is_number = function (_a, numeric) {
|
|
132
|
+
var options = _a.options;
|
|
133
|
+
return function (metaTags) {
|
|
134
|
+
return function (input) {
|
|
51
135
|
var conditions = [
|
|
52
136
|
typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("number"), typescript_1.default.factory.createTypeOfExpression(input)),
|
|
53
137
|
];
|
|
@@ -64,70 +148,10 @@ var check_number = function (_a, numeric) {
|
|
|
64
148
|
conditions.push(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isFinite"), undefined, [input]));
|
|
65
149
|
else if (OptionPredicator_1.OptionPredicator.numeric(options))
|
|
66
150
|
conditions.push(typescript_1.default.factory.createLogicalNot(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isNaN"), undefined, [input])));
|
|
67
|
-
var _loop_1 = function (tag) {
|
|
68
|
-
if (tag.kind === "type") {
|
|
69
|
-
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("parseInt"), undefined, [input]), input));
|
|
70
|
-
if (tag.value === "uint")
|
|
71
|
-
conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(0), input));
|
|
72
|
-
}
|
|
73
|
-
else if (tag.kind === "multipleOf")
|
|
74
|
-
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value))));
|
|
75
|
-
else if (tag.kind === "step") {
|
|
76
|
-
var modulo = function () {
|
|
77
|
-
return typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value));
|
|
78
|
-
};
|
|
79
|
-
var minimum = (function () {
|
|
80
|
-
var e_2, _a;
|
|
81
|
-
try {
|
|
82
|
-
for (var metaTags_2 = (e_2 = void 0, __values(metaTags)), metaTags_2_1 = metaTags_2.next(); !metaTags_2_1.done; metaTags_2_1 = metaTags_2.next()) {
|
|
83
|
-
var tag_1 = metaTags_2_1.value;
|
|
84
|
-
if (tag_1.kind === "minimum")
|
|
85
|
-
return tag_1.value;
|
|
86
|
-
else if (tag_1.kind === "exclusiveMinimum")
|
|
87
|
-
return tag_1.value;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
91
|
-
finally {
|
|
92
|
-
try {
|
|
93
|
-
if (metaTags_2_1 && !metaTags_2_1.done && (_a = metaTags_2.return)) _a.call(metaTags_2);
|
|
94
|
-
}
|
|
95
|
-
finally { if (e_2) throw e_2.error; }
|
|
96
|
-
}
|
|
97
|
-
return undefined;
|
|
98
|
-
})();
|
|
99
|
-
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), minimum !== undefined
|
|
100
|
-
? typescript_1.default.factory.createSubtract(modulo(), typescript_1.default.factory.createNumericLiteral(minimum))
|
|
101
|
-
: modulo()));
|
|
102
|
-
}
|
|
103
|
-
else if (tag.kind === "minimum")
|
|
104
|
-
conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input));
|
|
105
|
-
else if (tag.kind === "maximum")
|
|
106
|
-
conditions.push(typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input));
|
|
107
|
-
else if (tag.kind === "exclusiveMinimum")
|
|
108
|
-
conditions.push(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(tag.value), input));
|
|
109
|
-
else if (tag.kind === "exclusiveMaximum")
|
|
110
|
-
conditions.push(typescript_1.default.factory.createGreaterThan(typescript_1.default.factory.createNumericLiteral(tag.value), input));
|
|
111
|
-
};
|
|
112
|
-
try {
|
|
113
|
-
for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
|
|
114
|
-
var tag = metaTags_1_1.value;
|
|
115
|
-
_loop_1(tag);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
119
|
-
finally {
|
|
120
|
-
try {
|
|
121
|
-
if (metaTags_1_1 && !metaTags_1_1.done && (_a = metaTags_1.return)) _a.call(metaTags_1);
|
|
122
|
-
}
|
|
123
|
-
finally { if (e_1) throw e_1.error; }
|
|
124
|
-
}
|
|
125
|
-
conditions.push.apply(conditions, __spreadArray([], __read((0, check_custom_1.check_custom)("number")(importer)(input, jsDocTags)), false));
|
|
126
151
|
return conditions.length === 1
|
|
127
152
|
? conditions[0]
|
|
128
153
|
: conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
|
|
129
154
|
};
|
|
130
155
|
};
|
|
131
156
|
};
|
|
132
|
-
exports.check_number = check_number;
|
|
133
157
|
//# sourceMappingURL=check_number.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_number.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"check_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_number.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,15 +32,15 @@ exports.check_string = void 0;
|
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
33
|
var check_custom_1 = require("./check_custom");
|
|
34
34
|
var check_string_tags_1 = require("./check_string_tags");
|
|
35
|
-
function
|
|
36
|
-
return function (
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
var check_string = function (importer) {
|
|
36
|
+
return function (metaTags) {
|
|
37
|
+
return function (jsDocTags) {
|
|
38
|
+
return function (input) { return ({
|
|
39
|
+
expression: typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("string"), typescript_1.default.factory.createTypeOfExpression(input)),
|
|
40
|
+
tags: __spreadArray(__spreadArray([], __read((0, check_string_tags_1.check_string_tags)(importer)(metaTags)(input)), false), __read((0, check_custom_1.check_custom)("string")(importer)(jsDocTags)(input)), false),
|
|
41
|
+
}); };
|
|
42
|
+
};
|
|
43
43
|
};
|
|
44
|
-
}
|
|
44
|
+
};
|
|
45
45
|
exports.check_string = check_string;
|
|
46
46
|
//# sourceMappingURL=check_string.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAK5B,+CAA8C;AAC9C,yDAAwD;
|
|
1
|
+
{"version":3,"file":"check_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAK5B,+CAA8C;AAC9C,yDAAwD;AAKjD,IAAM,YAAY,GACrB,UAAC,QAA0B;IAC3B,OAAA,UAAC,QAAwB;QACzB,OAAA,UAAC,SAA4B;YAC7B,OAAA,UAAC,KAAoB,IAAK,OAAA,CAAC;gBACvB,UAAU,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACvC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;gBACD,IAAI,yCACG,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,kBAC5C,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SACxD;aACJ,CAAC,EATwB,CASxB;QATF,CASE;IAVF,CAUE;AAXF,CAWE,CAAC;AAbM,QAAA,YAAY,gBAalB"}
|
|
@@ -10,6 +10,22 @@ var __values = (this && this.__values) || function(o) {
|
|
|
10
10
|
};
|
|
11
11
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
12
|
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
13
29
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
30
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
31
|
};
|
|
@@ -18,32 +34,55 @@ exports.check_string_tags = void 0;
|
|
|
18
34
|
var typescript_1 = __importDefault(require("typescript"));
|
|
19
35
|
var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
20
36
|
var check_string_tags = function (importer) {
|
|
21
|
-
return function (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
|
|
26
|
-
var tag = tagList_1_1.value;
|
|
27
|
-
if (tag.kind === "format")
|
|
28
|
-
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(importer.use("is_".concat(tag.value)), undefined, [input])));
|
|
29
|
-
else if (tag.kind === "pattern")
|
|
30
|
-
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat(tag.value, "/).test")), undefined, [input])));
|
|
31
|
-
else if (tag.kind === "length")
|
|
32
|
-
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")));
|
|
33
|
-
else if (tag.kind === "minLength")
|
|
34
|
-
conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")));
|
|
35
|
-
else if (tag.kind === "maxLength")
|
|
36
|
-
conditions.push(typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
40
|
-
finally {
|
|
37
|
+
return function (tagList) {
|
|
38
|
+
return function (input) {
|
|
39
|
+
var e_1, _a;
|
|
40
|
+
var conditions = [];
|
|
41
41
|
try {
|
|
42
|
-
|
|
42
|
+
for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
|
|
43
|
+
var tag = tagList_1_1.value;
|
|
44
|
+
if (tag.kind === "format")
|
|
45
|
+
conditions.push([
|
|
46
|
+
tag,
|
|
47
|
+
typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(importer.use("is_".concat(tag.value)), undefined, [input])),
|
|
48
|
+
]);
|
|
49
|
+
else if (tag.kind === "pattern")
|
|
50
|
+
conditions.push([
|
|
51
|
+
tag,
|
|
52
|
+
typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat(tag.value, "/).test")), undefined, [input])),
|
|
53
|
+
]);
|
|
54
|
+
else if (tag.kind === "length")
|
|
55
|
+
conditions.push([
|
|
56
|
+
tag,
|
|
57
|
+
typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")),
|
|
58
|
+
]);
|
|
59
|
+
else if (tag.kind === "minLength")
|
|
60
|
+
conditions.push([
|
|
61
|
+
tag,
|
|
62
|
+
typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")),
|
|
63
|
+
]);
|
|
64
|
+
else if (tag.kind === "maxLength")
|
|
65
|
+
conditions.push([
|
|
66
|
+
tag,
|
|
67
|
+
typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")),
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
43
70
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
71
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
72
|
+
finally {
|
|
73
|
+
try {
|
|
74
|
+
if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
|
|
75
|
+
}
|
|
76
|
+
finally { if (e_1) throw e_1.error; }
|
|
77
|
+
}
|
|
78
|
+
return conditions.map(function (_a) {
|
|
79
|
+
var _b = __read(_a, 2), tag = _b[0], expression = _b[1];
|
|
80
|
+
return ({
|
|
81
|
+
expected: "string (@".concat(tag.kind, " ").concat(tag.value, ")"),
|
|
82
|
+
expression: expression,
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
};
|
|
47
86
|
};
|
|
48
87
|
};
|
|
49
88
|
exports.check_string_tags = check_string_tags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_string_tags.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string_tags.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check_string_tags.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string_tags.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAU/D,IAAM,iBAAiB,GAC1B,UAAC,QAA0B;IAC3B,OAAA,UAAC,OAAuB;QACxB,OAAA,UAAC,KAAoB;;YACjB,IAAM,UAAU,GAAoC,EAAE,CAAC;;gBACvD,KAAkB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;oBAApB,IAAM,GAAG,oBAAA;oBACV,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBACrB,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,GAAG,CAAC,aAAM,GAAG,CAAC,KAAK,CAAE,CAAC,EAC/B,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;wBAC3B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,GAAG,CAAC,KAAK,YAAS,CAChC,EACD,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBAC1B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;wBAC7B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;wBAC7B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C;yBACJ,CAAC,CAAC;iBAAA;;;;;;;;;YACX,OAAO,UAAU,CAAC,GAAG,CAAC,UAAC,EAAiB;oBAAjB,KAAA,aAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;gBAAM,OAAA,CAAC;oBAC1C,QAAQ,EAAE,mBAAY,GAAG,CAAC,IAAI,cAAI,GAAG,CAAC,KAAK,MAAG;oBAC9C,UAAU,YAAA;iBACb,CAAC;YAH2C,CAG3C,CAAC,CAAC;QACR,CAAC;IAzDD,CAyDC;AA1DD,CA0DC,CAAC;AA5DO,QAAA,iBAAiB,qBA4DxB"}
|