typia 5.2.4 → 5.2.5
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/factories/internal/metadata/emplace_metadata_object.js +24 -0
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
- package/lib/functional/$stoll.d.ts +1 -0
- package/lib/functional/$stoll.js +14 -0
- package/lib/functional/$stoll.js.map +1 -0
- package/lib/functional/Namespace.js +4 -10
- package/lib/functional/Namespace.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +71 -63
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.d.ts +2 -2
- package/lib/programmers/IsProgrammer.js +66 -64
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +50 -46
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.d.ts +5 -0
- package/lib/programmers/internal/check_dynamic_key.js +158 -0
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -0
- package/lib/programmers/internal/check_dynamic_properties.js +69 -61
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_object.js +11 -9
- package/lib/programmers/internal/check_object.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/package.json +2 -2
- package/src/CamelCase.ts +116 -116
- package/src/PascalCase.ts +116 -116
- package/src/Primitive.ts +135 -135
- package/src/Resolved.ts +116 -116
- package/src/SnakeCase.ts +156 -156
- package/src/executable/TypiaSetupWizard.ts +142 -142
- package/src/executable/setup/CommandExecutor.ts +8 -8
- package/src/factories/JsonMetadataFactory.ts +50 -50
- package/src/factories/MetadataCollection.ts +282 -282
- package/src/factories/internal/metadata/emplace_metadata_object.ts +28 -0
- package/src/functional/$convention.ts +40 -40
- package/src/functional/$stoll.ts +8 -0
- package/src/functional/Namespace.ts +168 -164
- package/src/module.ts +662 -662
- package/src/notations.ts +855 -855
- package/src/programmers/AssertProgrammer.ts +36 -31
- package/src/programmers/IsProgrammer.ts +13 -7
- package/src/programmers/ValidateProgrammer.ts +34 -31
- package/src/programmers/helpers/AtomicPredicator.ts +31 -31
- package/src/programmers/helpers/NotationJoiner.ts +146 -146
- package/src/programmers/internal/check_dynamic_key.ts +178 -0
- package/src/programmers/internal/check_dynamic_properties.ts +19 -12
- package/src/programmers/internal/check_object.ts +8 -1
- package/src/programmers/json/JsonStringifyProgrammer.ts +1 -1
- package/src/programmers/misc/MiscCloneProgrammer.ts +790 -790
- package/src/programmers/misc/MiscPruneProgrammer.ts +552 -552
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +72 -72
- package/src/programmers/notations/NotationGeneralProgrammer.ts +720 -720
- package/src/programmers/notations/NotationIsGeneralProgrammer.ts +79 -79
- package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +88 -88
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +1 -1
- package/src/transformers/CallExpressionTransformer.ts +380 -380
- package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
- package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
- package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +12 -12
- package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
- package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
- package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +12 -12
- package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
- package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +12 -12
- package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
- package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
- package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
- package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
- package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
- package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
- package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
- package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
- package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +12 -12
- package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +12 -12
- package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +12 -12
- package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +12 -12
- package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
- package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
- package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
- package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -15
- package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -15
- package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -15
- package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -15
- package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +17 -17
- package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -11
- package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -15
- package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +17 -17
- package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +12 -12
- package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +12 -12
- package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +9 -9
- package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +9 -9
- package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +12 -12
- package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +12 -12
- package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +12 -12
- package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +12 -12
- package/src/utils/NamingConvention.ts +91 -91
- package/src/utils/StringUtil.ts +4 -4
|
@@ -82,8 +82,8 @@ var ValidateProgrammer;
|
|
|
82
82
|
: "_path"), entry.expected, input)),
|
|
83
83
|
])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
|
|
84
84
|
}; }; },
|
|
85
|
-
combiner: combine(equals)(importer),
|
|
86
|
-
joiner: joiner(equals)(importer),
|
|
85
|
+
combiner: combine(equals)(project)(importer),
|
|
86
|
+
joiner: joiner(equals)(project)(importer),
|
|
87
87
|
success: typescript_1.default.factory.createTrue(),
|
|
88
88
|
addition: function () { return importer.declare(modulo); },
|
|
89
89
|
})(importer)(type, name);
|
|
@@ -109,37 +109,39 @@ var ValidateProgrammer;
|
|
|
109
109
|
};
|
|
110
110
|
})(ValidateProgrammer || (exports.ValidateProgrammer = ValidateProgrammer = {}));
|
|
111
111
|
var combine = function (equals) {
|
|
112
|
-
return function (
|
|
113
|
-
return function (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return logic
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
112
|
+
return function (project) {
|
|
113
|
+
return function (importer) {
|
|
114
|
+
return function (explore) {
|
|
115
|
+
if (explore.tracable === false)
|
|
116
|
+
return IsProgrammer_1.IsProgrammer.configure({
|
|
117
|
+
object: validate_object(equals)(project)(importer),
|
|
118
|
+
numeric: true,
|
|
119
|
+
})(project)(importer).combiner(explore);
|
|
120
|
+
var path = explore.postfix
|
|
121
|
+
? "_path + ".concat(explore.postfix)
|
|
122
|
+
: "_path";
|
|
123
|
+
return function (logic) { return function (input, binaries, expected) {
|
|
124
|
+
return logic === "and"
|
|
125
|
+
? binaries
|
|
126
|
+
.map(function (binary) {
|
|
127
|
+
return binary.combined
|
|
128
|
+
? binary.expression
|
|
129
|
+
: typescript_1.default.factory.createLogicalOr(binary.expression, create_report_call(explore.source === "top"
|
|
130
|
+
? typescript_1.default.factory.createTrue()
|
|
131
|
+
: typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
|
|
132
|
+
})
|
|
133
|
+
.reduce(typescript_1.default.factory.createLogicalAnd)
|
|
134
|
+
: typescript_1.default.factory.createLogicalOr(binaries
|
|
135
|
+
.map(function (binary) { return binary.expression; })
|
|
136
|
+
.reduce(typescript_1.default.factory.createLogicalOr), create_report_call(explore.source === "top"
|
|
137
|
+
? typescript_1.default.factory.createTrue()
|
|
138
|
+
: typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
|
|
139
|
+
}; };
|
|
140
|
+
};
|
|
139
141
|
};
|
|
140
142
|
};
|
|
141
143
|
};
|
|
142
|
-
var validate_object = function (equals) { return function (importer) {
|
|
144
|
+
var validate_object = function (equals) { return function (project) { return function (importer) {
|
|
143
145
|
return (0, check_object_1.check_object)({
|
|
144
146
|
equals: equals,
|
|
145
147
|
undefined: true,
|
|
@@ -152,23 +154,25 @@ var validate_object = function (equals) { return function (importer) {
|
|
|
152
154
|
halt: function (expr) {
|
|
153
155
|
return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("_exceptionable")), expr);
|
|
154
156
|
},
|
|
155
|
-
})(importer);
|
|
156
|
-
}; };
|
|
157
|
+
})(project)(importer);
|
|
158
|
+
}; }; };
|
|
157
159
|
var joiner = function (equals) {
|
|
158
|
-
return function (
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
?
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
160
|
+
return function (project) {
|
|
161
|
+
return function (importer) { return ({
|
|
162
|
+
object: validate_object(equals)(project)(importer),
|
|
163
|
+
array: function (input, arrow) {
|
|
164
|
+
return (0, check_everything_1.check_everything)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("map"), undefined, [arrow]));
|
|
165
|
+
},
|
|
166
|
+
failure: function (value, expected, explore) {
|
|
167
|
+
return create_report_call((explore === null || explore === void 0 ? void 0 : explore.from) === "top"
|
|
168
|
+
? typescript_1.default.factory.createTrue()
|
|
169
|
+
: typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier((explore === null || explore === void 0 ? void 0 : explore.postfix) ? "_path + ".concat(explore.postfix) : "_path"), expected, value);
|
|
170
|
+
},
|
|
171
|
+
tuple: function (binaries) {
|
|
172
|
+
return (0, check_everything_1.check_everything)(typescript_1.default.factory.createArrayLiteralExpression(binaries, true));
|
|
173
|
+
},
|
|
174
|
+
}); };
|
|
175
|
+
};
|
|
172
176
|
};
|
|
173
177
|
var create_output = function () {
|
|
174
178
|
return typescript_1.default.factory.createObjectLiteralExpression([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
3
|
+
import { IProject } from "../../transformers/IProject";
|
|
4
|
+
import { FunctionImporter } from "../helpers/FunctionImporeter";
|
|
5
|
+
export declare const check_dynamic_key: (project: IProject) => (importer: FunctionImporter) => (input: ts.Expression, metadata: Metadata) => ts.Expression;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
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
|
+
};
|
|
29
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
30
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
31
|
+
if (ar || !(i in from)) {
|
|
32
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
33
|
+
ar[i] = from[i];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.check_dynamic_key = void 0;
|
|
43
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
44
|
+
var check_bigint_1 = require("./check_bigint");
|
|
45
|
+
var check_number_1 = require("./check_number");
|
|
46
|
+
var check_string_1 = require("./check_string");
|
|
47
|
+
var check_template_1 = require("./check_template");
|
|
48
|
+
var check_dynamic_key = function (project) {
|
|
49
|
+
return function (importer) {
|
|
50
|
+
return function (input, metadata) {
|
|
51
|
+
var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
|
|
52
|
+
if ((metadata.atomics.length !== 0 &&
|
|
53
|
+
metadata.atomics.some(function (a) {
|
|
54
|
+
return a.type === "string" &&
|
|
55
|
+
a.tags.filter(function (row) {
|
|
56
|
+
return row.every(function (t) { return t.validate !== undefined; });
|
|
57
|
+
}).length === 0;
|
|
58
|
+
})) ||
|
|
59
|
+
(metadata.natives.length !== 0 &&
|
|
60
|
+
metadata.natives.some(function (type) { return type === "String"; })))
|
|
61
|
+
return typescript_1.default.factory.createTrue();
|
|
62
|
+
var conditions = [];
|
|
63
|
+
if (metadata.nullable === true)
|
|
64
|
+
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("null"), input));
|
|
65
|
+
if (metadata.isRequired() === false)
|
|
66
|
+
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("undefined"), input));
|
|
67
|
+
try {
|
|
68
|
+
for (var _e = __values(metadata.atomics), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
69
|
+
var atom = _f.value;
|
|
70
|
+
if (atom.type === "boolean")
|
|
71
|
+
conditions.push(typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("false"), input), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("true"), input)));
|
|
72
|
+
else if (atom.type === "bigint")
|
|
73
|
+
conditions.push(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createCallExpression(importer.use("is_bigint_string"), undefined, [input]), atomist((0, check_bigint_1.check_bigint)(project)(atom)(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [input])))));
|
|
74
|
+
else if (atom.type === "number")
|
|
75
|
+
conditions.push(atomist((0, check_number_1.check_number)(project, true)(atom)(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number"), undefined, [input]))));
|
|
76
|
+
else
|
|
77
|
+
conditions.push(atomist((0, check_string_1.check_string)(project)(atom)(input)));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
81
|
+
finally {
|
|
82
|
+
try {
|
|
83
|
+
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
84
|
+
}
|
|
85
|
+
finally { if (e_1) throw e_1.error; }
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
for (var _g = __values(metadata.constants), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
89
|
+
var constant = _h.value;
|
|
90
|
+
try {
|
|
91
|
+
for (var _j = (e_3 = void 0, __values(constant.values)), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
92
|
+
var value = _k.value;
|
|
93
|
+
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(String(value)), input));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
97
|
+
finally {
|
|
98
|
+
try {
|
|
99
|
+
if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
|
|
100
|
+
}
|
|
101
|
+
finally { if (e_3) throw e_3.error; }
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
106
|
+
finally {
|
|
107
|
+
try {
|
|
108
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
109
|
+
}
|
|
110
|
+
finally { if (e_2) throw e_2.error; }
|
|
111
|
+
}
|
|
112
|
+
if (!!metadata.templates.length)
|
|
113
|
+
conditions.push(atomist((0, check_template_1.check_template)(metadata.templates)(input)));
|
|
114
|
+
try {
|
|
115
|
+
for (var _l = __values(metadata.natives), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
116
|
+
var native = _m.value;
|
|
117
|
+
if (native === "Boolean")
|
|
118
|
+
conditions.push(typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("false"), input), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("true"), input)));
|
|
119
|
+
else if (native === "BigInt")
|
|
120
|
+
conditions.push(typescript_1.default.factory.createCallExpression(importer.use("is_bigint_string"), undefined, [input]));
|
|
121
|
+
else if (native === "Number")
|
|
122
|
+
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isNaN"), undefined, [
|
|
123
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number"), undefined, [input]),
|
|
124
|
+
])));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
128
|
+
finally {
|
|
129
|
+
try {
|
|
130
|
+
if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
|
|
131
|
+
}
|
|
132
|
+
finally { if (e_4) throw e_4.error; }
|
|
133
|
+
}
|
|
134
|
+
return conditions.length === 0
|
|
135
|
+
? typescript_1.default.factory.createTrue()
|
|
136
|
+
: conditions.length === 1
|
|
137
|
+
? conditions[0]
|
|
138
|
+
: conditions.reduce(typescript_1.default.factory.createLogicalOr);
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
exports.check_dynamic_key = check_dynamic_key;
|
|
143
|
+
var atomist = function (entry) {
|
|
144
|
+
return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read((entry.conditions.length === 0
|
|
145
|
+
? []
|
|
146
|
+
: [
|
|
147
|
+
entry.conditions
|
|
148
|
+
.map(function (set) {
|
|
149
|
+
return set
|
|
150
|
+
.map(function (s) { return s.expression; })
|
|
151
|
+
.reduce(function (a, b) {
|
|
152
|
+
return typescript_1.default.factory.createLogicalAnd(a, b);
|
|
153
|
+
});
|
|
154
|
+
})
|
|
155
|
+
.reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }),
|
|
156
|
+
])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=check_dynamic_key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check_dynamic_key.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_dynamic_key.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,76 +43,84 @@ exports.check_dynamic_properties = void 0;
|
|
|
43
43
|
var typescript_1 = __importDefault(require("typescript"));
|
|
44
44
|
var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
45
45
|
var StatementFactory_1 = require("../../factories/StatementFactory");
|
|
46
|
+
var check_dynamic_key_1 = require("./check_dynamic_key");
|
|
46
47
|
var check_everything_1 = require("./check_everything");
|
|
47
|
-
var metadata_to_pattern_1 = require("./metadata_to_pattern");
|
|
48
48
|
var check_dynamic_properties = function (props) {
|
|
49
|
-
return function (
|
|
50
|
-
return function (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
.
|
|
60
|
-
|
|
49
|
+
return function (project) {
|
|
50
|
+
return function (importer) {
|
|
51
|
+
return function (input, regular, dynamic) {
|
|
52
|
+
var length = IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.keys"), undefined, [input]))("length");
|
|
53
|
+
var left = props.equals === true && dynamic.length === 0
|
|
54
|
+
? props.undefined === true ||
|
|
55
|
+
regular.every(function (r) { return r.meta.isRequired(); })
|
|
56
|
+
? typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(regular.filter(function (r) { return r.meta.isRequired(); }).length), length)
|
|
57
|
+
: typescript_1.default.factory.createCallExpression(importer.use("is_between"), [], [
|
|
58
|
+
length,
|
|
59
|
+
typescript_1.default.factory.createNumericLiteral(regular.filter(function (r) { return r.meta.isRequired(); })
|
|
60
|
+
.length),
|
|
61
|
+
typescript_1.default.factory.createNumericLiteral(regular.length),
|
|
62
|
+
])
|
|
63
|
+
: null;
|
|
64
|
+
if (props.undefined === false &&
|
|
65
|
+
left !== null &&
|
|
66
|
+
regular.every(function (r) { return r.meta.isRequired(); }))
|
|
67
|
+
return left;
|
|
68
|
+
var criteria = props.entries
|
|
69
|
+
? typescript_1.default.factory.createCallExpression(props.entries, undefined, [
|
|
70
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.keys"), undefined, [input]),
|
|
71
|
+
check_dynamic_property(props)(project)(importer)(input, regular, dynamic),
|
|
61
72
|
])
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return left
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.keys"), undefined, [input]))(props.assert ? "every" : "map"), undefined, [check_dynamic_property(props)(input, regular, dynamic)]);
|
|
73
|
-
var right = (props.halt || (function (elem) { return elem; }))(props.assert ? criteria : (0, check_everything_1.check_everything)(criteria));
|
|
74
|
-
return left
|
|
75
|
-
? (props.undefined
|
|
76
|
-
? typescript_1.default.factory.createLogicalOr
|
|
77
|
-
: typescript_1.default.factory.createLogicalAnd)(left, right)
|
|
78
|
-
: right;
|
|
73
|
+
: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.keys"), undefined, [input]))(props.assert ? "every" : "map"), undefined, [
|
|
74
|
+
check_dynamic_property(props)(project)(importer)(input, regular, dynamic),
|
|
75
|
+
]);
|
|
76
|
+
var right = (props.halt || (function (elem) { return elem; }))(props.assert ? criteria : (0, check_everything_1.check_everything)(criteria));
|
|
77
|
+
return left
|
|
78
|
+
? (props.undefined
|
|
79
|
+
? typescript_1.default.factory.createLogicalOr
|
|
80
|
+
: typescript_1.default.factory.createLogicalAnd)(left, right)
|
|
81
|
+
: right;
|
|
82
|
+
};
|
|
79
83
|
};
|
|
80
84
|
};
|
|
81
85
|
};
|
|
82
86
|
exports.check_dynamic_properties = check_dynamic_properties;
|
|
83
87
|
var check_dynamic_property = function (props) {
|
|
84
|
-
return function (
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
return function (project) {
|
|
89
|
+
return function (importer) {
|
|
90
|
+
return function (input, regular, dynamic) {
|
|
91
|
+
var e_1, _a;
|
|
92
|
+
var key = typescript_1.default.factory.createIdentifier("key");
|
|
93
|
+
var value = typescript_1.default.factory.createIdentifier("value");
|
|
94
|
+
var statements = [];
|
|
95
|
+
var add = function (exp, output) {
|
|
96
|
+
return statements.push(typescript_1.default.factory.createIfStatement(exp, typescript_1.default.factory.createReturnStatement(output)));
|
|
97
|
+
};
|
|
98
|
+
if (regular.length)
|
|
99
|
+
add(is_regular_property(regular), props.positive);
|
|
100
|
+
statements.push(StatementFactory_1.StatementFactory.constant("value", typescript_1.default.factory.createElementAccessExpression(input, key)));
|
|
101
|
+
if (props.undefined === true)
|
|
102
|
+
add(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), value), props.positive);
|
|
103
|
+
try {
|
|
104
|
+
for (var dynamic_1 = __values(dynamic), dynamic_1_1 = dynamic_1.next(); !dynamic_1_1.done; dynamic_1_1 = dynamic_1.next()) {
|
|
105
|
+
var entry = dynamic_1_1.value;
|
|
106
|
+
add((0, check_dynamic_key_1.check_dynamic_key)(project)(importer)(key, entry.key), entry.expression);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
110
|
+
finally {
|
|
111
|
+
try {
|
|
112
|
+
if (dynamic_1_1 && !dynamic_1_1.done && (_a = dynamic_1.return)) _a.call(dynamic_1);
|
|
113
|
+
}
|
|
114
|
+
finally { if (e_1) throw e_1.error; }
|
|
115
|
+
}
|
|
116
|
+
var block = typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(statements), false), [
|
|
117
|
+
typescript_1.default.factory.createReturnStatement(props.equals === true
|
|
118
|
+
? props.superfluous(value)
|
|
119
|
+
: props.positive),
|
|
120
|
+
], false), true);
|
|
121
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("key")], undefined, undefined, block);
|
|
122
|
+
};
|
|
91
123
|
};
|
|
92
|
-
if (regular.length)
|
|
93
|
-
add(is_regular_property(regular), props.positive);
|
|
94
|
-
statements.push(StatementFactory_1.StatementFactory.constant("value", typescript_1.default.factory.createElementAccessExpression(input, key)));
|
|
95
|
-
if (props.undefined === true)
|
|
96
|
-
add(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), value), props.positive);
|
|
97
|
-
try {
|
|
98
|
-
for (var dynamic_1 = __values(dynamic), dynamic_1_1 = dynamic_1.next(); !dynamic_1_1.done; dynamic_1_1 = dynamic_1.next()) {
|
|
99
|
-
var entry = dynamic_1_1.value;
|
|
100
|
-
add(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat((0, metadata_to_pattern_1.metadata_to_pattern)(true)(entry.key), "/).test")), undefined, [key]), entry.expression);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
104
|
-
finally {
|
|
105
|
-
try {
|
|
106
|
-
if (dynamic_1_1 && !dynamic_1_1.done && (_a = dynamic_1.return)) _a.call(dynamic_1);
|
|
107
|
-
}
|
|
108
|
-
finally { if (e_1) throw e_1.error; }
|
|
109
|
-
}
|
|
110
|
-
var block = typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(statements), false), [
|
|
111
|
-
typescript_1.default.factory.createReturnStatement(props.equals === true
|
|
112
|
-
? props.superfluous(value)
|
|
113
|
-
: props.positive),
|
|
114
|
-
], false), true);
|
|
115
|
-
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("key")], undefined, undefined, block);
|
|
116
124
|
};
|
|
117
125
|
};
|
|
118
126
|
var is_regular_property = function (regular) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_dynamic_properties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;
|
|
1
|
+
{"version":3,"file":"check_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_dynamic_properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,17 @@ var typescript_1 = __importDefault(require("typescript"));
|
|
|
8
8
|
var check_dynamic_properties_1 = require("./check_dynamic_properties");
|
|
9
9
|
var check_everything_1 = require("./check_everything");
|
|
10
10
|
var check_object = function (props) {
|
|
11
|
-
return function (
|
|
12
|
-
return function (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
return function (project) {
|
|
12
|
+
return function (importer) {
|
|
13
|
+
return function (input, entries) {
|
|
14
|
+
var regular = entries.filter(function (entry) { return entry.key.isSoleLiteral(); });
|
|
15
|
+
var dynamic = entries.filter(function (entry) { return !entry.key.isSoleLiteral(); });
|
|
16
|
+
var flags = regular.map(function (entry) { return entry.expression; });
|
|
17
|
+
if (props.equals === false && dynamic.length === 0)
|
|
18
|
+
return regular.length === 0 ? props.positive : reduce(props)(flags);
|
|
19
|
+
flags.push((0, check_dynamic_properties_1.check_dynamic_properties)(props)(project)(importer)(input, regular, dynamic));
|
|
20
|
+
return reduce(props)(flags);
|
|
21
|
+
};
|
|
20
22
|
};
|
|
21
23
|
};
|
|
22
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"check_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAM5B,uEAAsE;AACtE,uDAAsD;AAK/C,IAAM,YAAY,GACrB,UAAC,KAA0B;IAC3B,OAAA,UAAC,OAAiB;QAClB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,KAAoB,EAAE,OAA0C;gBAE7D,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAzB,CAAyB,CAAC,CAAC;gBACrE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAA1B,CAA0B,CAAC,CAAC;gBACtE,IAAM,KAAK,GAAoB,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC,CAAC;gBAGxE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAC9C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAGxE,KAAK,CAAC,IAAI,CACN,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAC9C,KAAK,EACL,OAAO,EACP,OAAO,CACV,CACJ,CAAC;gBACF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QAnBD,CAmBC;IApBD,CAoBC;AArBD,CAqBC,CAAC;AAvBO,QAAA,YAAY,gBAuBnB;AAqBN,IAAM,MAAM,GAAG,UAAC,KAA0B,IAAK,OAAA,UAAC,WAA4B;IACxE,OAAA,KAAK,CAAC,MAAM;QACR,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,IAAA,mCAAgB,EACZ,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,CACvD;AAJP,CAIO,EALoC,CAKpC,CAAC"}
|
|
@@ -580,7 +580,7 @@ var JsonStringifyProgrammer;
|
|
|
580
580
|
}; },
|
|
581
581
|
decoder: function () { return decode_object(importer); },
|
|
582
582
|
joiner: StringifyJoinder_1.StringifyJoiner.object(importer),
|
|
583
|
-
unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(importer))(decode_object(importer))(function (exp) { return exp; })(function (value, expected) {
|
|
583
|
+
unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(project)(importer))(decode_object(importer))(function (exp) { return exp; })(function (value, expected) {
|
|
584
584
|
return create_throw_error(importer)(expected)(value);
|
|
585
585
|
}),
|
|
586
586
|
failure: function (input, expected) {
|