typia 3.5.0-dev.20230126 → 3.5.0-dev.20230211
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -71
- package/lib/factories/MetadataCollection.d.ts +9 -1
- package/lib/factories/MetadataCollection.js +75 -2
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_native.js +0 -3
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/functional/$is_between.d.ts +1 -0
- package/lib/functional/$is_between.js +8 -0
- package/lib/functional/$is_between.js.map +1 -0
- package/lib/metadata/IMetadataTag.d.ts +3 -7
- package/lib/metadata/Metadata.js +2 -2
- package/lib/metadata/Metadata.js.map +1 -1
- package/lib/module.d.ts +33 -3
- package/lib/module.js +36 -8
- package/lib/module.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +3 -2
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.d.ts +2 -2
- package/lib/programmers/CheckerProgrammer.js +21 -16
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.d.ts +114 -18
- package/lib/programmers/FeatureProgrammer.js +4 -4
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.d.ts +4 -3
- package/lib/programmers/IsProgrammer.js +72 -61
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/PruneProgrammer.d.ts +5 -0
- package/lib/programmers/PruneProgrammer.js +279 -0
- package/lib/programmers/PruneProgrammer.js.map +1 -0
- package/lib/programmers/StringifyProgrammer.js +26 -21
- package/lib/programmers/StringifyProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +3 -2
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/AtomicPredicator.d.ts +2 -0
- package/lib/programmers/helpers/AtomicPredicator.js +9 -1
- package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
- package/lib/programmers/helpers/IExpressionEntry.d.ts +2 -2
- package/lib/programmers/helpers/OptionPredicator.d.ts +1 -0
- package/lib/programmers/helpers/OptionPredicator.js +4 -0
- package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
- package/lib/programmers/helpers/PruneJoiner.d.ts +8 -0
- package/lib/programmers/helpers/PruneJoiner.js +60 -0
- package/lib/programmers/helpers/PruneJoiner.js.map +1 -0
- package/lib/programmers/helpers/StringifyJoinder.d.ts +1 -1
- package/lib/programmers/helpers/StringifyJoinder.js +2 -4
- package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
- package/lib/programmers/internal/application_object.js +11 -11
- package/lib/programmers/internal/application_object.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +21 -12
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js +34 -11
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_native.js +9 -1
- package/lib/programmers/internal/check_native.js.map +1 -1
- package/lib/programmers/internal/check_object.d.ts +1 -0
- package/lib/programmers/internal/check_object.js +13 -9
- package/lib/programmers/internal/check_object.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.d.ts +1 -1
- package/lib/programmers/internal/check_union_array_like.js +3 -1
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.d.ts +2 -2
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/internal/prune_object_properties.d.ts +1 -0
- package/lib/programmers/internal/prune_object_properties.js +28 -0
- package/lib/programmers/internal/prune_object_properties.js.map +1 -0
- package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
- package/lib/transformers/CallExpressionTransformer.js +5 -3
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/ITransformOptions.d.ts +14 -0
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +3 -1
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/CreatePruneTransformer.d.ts +5 -0
- package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js +17 -0
- package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js.map +1 -0
- package/lib/transformers/features/miscellaneous/PruneTransformer.d.ts +5 -0
- package/lib/transformers/features/miscellaneous/PruneTransformer.js +34 -0
- package/lib/transformers/features/miscellaneous/PruneTransformer.js.map +1 -0
- package/package.json +5 -4
- package/src/factories/MetadataCollection.ts +41 -2
- package/src/factories/internal/metadata/iterate_metadata_native.ts +0 -5
- package/src/functional/$is_between.ts +7 -0
- package/src/metadata/IMetadataTag.ts +4 -19
- package/src/metadata/Metadata.ts +3 -6
- package/src/module.ts +91 -17
- package/src/programmers/AssertProgrammer.ts +3 -2
- package/src/programmers/CheckerProgrammer.ts +21 -13
- package/src/programmers/FeatureProgrammer.ts +146 -21
- package/src/programmers/IsProgrammer.ts +107 -87
- package/src/programmers/PruneProgrammer.ts +320 -0
- package/src/programmers/StringifyProgrammer.ts +51 -34
- package/src/programmers/ValidateProgrammer.ts +3 -2
- package/src/programmers/helpers/AtomicPredicator.ts +17 -1
- package/src/programmers/helpers/IExpressionEntry.ts +4 -2
- package/src/programmers/helpers/OptionPredicator.ts +4 -0
- package/src/programmers/helpers/PruneJoiner.ts +52 -0
- package/src/programmers/helpers/StringifyJoinder.ts +7 -4
- package/src/programmers/internal/application_object.ts +5 -5
- package/src/programmers/internal/application_schema.ts +33 -27
- package/src/programmers/internal/check_dynamic_properties.ts +67 -16
- package/src/programmers/internal/check_native.ts +14 -2
- package/src/programmers/internal/check_object.ts +8 -2
- package/src/programmers/internal/check_union_array_like.ts +4 -2
- package/src/programmers/internal/feature_object_entries.ts +6 -1
- package/src/programmers/internal/prune_object_properties.ts +60 -0
- package/src/programmers/internal/stringify_dynamic_properties.ts +2 -2
- package/src/programmers/internal/stringify_regular_properties.ts +2 -2
- package/src/transformers/CallExpressionTransformer.ts +15 -16
- package/src/transformers/ITransformOptions.ts +15 -0
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +3 -1
- package/src/transformers/features/{protocols/MessageTransformer.ts → miscellaneous/CreatePruneTransformer.ts} +6 -7
- package/src/transformers/features/miscellaneous/PruneTransformer.ts +46 -0
- package/lib/factories/ProtocolFactory.d.ts +0 -8
- package/lib/factories/ProtocolFactory.js +0 -112
- package/lib/factories/ProtocolFactory.js.map +0 -1
- package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +0 -16
- package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +0 -156
- package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +0 -1
- package/lib/factories/internal/protocols/emplace_protocol_object.d.ts +0 -3
- package/lib/factories/internal/protocols/emplace_protocol_object.js +0 -47
- package/lib/factories/internal/protocols/emplace_protocol_object.js.map +0 -1
- package/lib/factories/internal/protocols/emplace_protocol_property.d.ts +0 -4
- package/lib/factories/internal/protocols/emplace_protocol_property.js +0 -20
- package/lib/factories/internal/protocols/emplace_protocol_property.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_atomic.d.ts +0 -3
- package/lib/factories/internal/protocols/iterate_protocol_atomic.js +0 -69
- package/lib/factories/internal/protocols/iterate_protocol_atomic.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_constant.d.ts +0 -2
- package/lib/factories/internal/protocols/iterate_protocol_constant.js +0 -30
- package/lib/factories/internal/protocols/iterate_protocol_constant.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_main.d.ts +0 -3
- package/lib/factories/internal/protocols/iterate_protocol_main.js +0 -17
- package/lib/factories/internal/protocols/iterate_protocol_main.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +0 -4
- package/lib/factories/internal/protocols/iterate_protocol_map.js +0 -75
- package/lib/factories/internal/protocols/iterate_protocol_map.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_metadata.d.ts +0 -5
- package/lib/factories/internal/protocols/iterate_protocol_metadata.js +0 -190
- package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_native.d.ts +0 -2
- package/lib/factories/internal/protocols/iterate_protocol_native.js +0 -33
- package/lib/factories/internal/protocols/iterate_protocol_native.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_never.js +0 -6
- package/lib/factories/internal/protocols/iterate_protocol_never.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +0 -4
- package/lib/factories/internal/protocols/iterate_protocol_object.js +0 -157
- package/lib/factories/internal/protocols/iterate_protocol_object.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +0 -5
- package/lib/factories/internal/protocols/iterate_protocol_repeated.js +0 -25
- package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +0 -1
- package/lib/factories/internal/protocols/iterate_protocol_tuple.d.ts +0 -3
- package/lib/factories/internal/protocols/iterate_protocol_tuple.js +0 -46
- package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +0 -1
- package/lib/functional/$proto_bytes.d.ts +0 -2
- package/lib/functional/$proto_bytes.js +0 -37
- package/lib/functional/$proto_bytes.js.map +0 -1
- package/lib/functional/$proto_field.d.ts +0 -10
- package/lib/functional/$proto_field.js +0 -42
- package/lib/functional/$proto_field.js.map +0 -1
- package/lib/functional/$proto_float.d.ts +0 -4
- package/lib/functional/$proto_float.js +0 -28
- package/lib/functional/$proto_float.js.map +0 -1
- package/lib/functional/$proto_i32.d.ts +0 -2
- package/lib/functional/$proto_i32.js +0 -23
- package/lib/functional/$proto_i32.js.map +0 -1
- package/lib/functional/$proto_i64.d.ts +0 -2
- package/lib/functional/$proto_i64.js +0 -31
- package/lib/functional/$proto_i64.js.map +0 -1
- package/lib/functional/$proto_size.d.ts +0 -6
- package/lib/functional/$proto_size.js +0 -76
- package/lib/functional/$proto_size.js.map +0 -1
- package/lib/functional/$proto_string.d.ts +0 -2
- package/lib/functional/$proto_string.js +0 -34
- package/lib/functional/$proto_string.js.map +0 -1
- package/lib/functional/$varint.d.ts +0 -6
- package/lib/functional/$varint.js +0 -99
- package/lib/functional/$varint.js.map +0 -1
- package/lib/functional/$zigzag.d.ts +0 -4
- package/lib/functional/$zigzag.js +0 -34
- package/lib/functional/$zigzag.js.map +0 -1
- package/lib/messages/IProtocolMap.d.ts +0 -5
- package/lib/messages/IProtocolMap.js +0 -3
- package/lib/messages/IProtocolMap.js.map +0 -1
- package/lib/messages/IProtocolMessage.d.ts +0 -5
- package/lib/messages/IProtocolMessage.js +0 -3
- package/lib/messages/IProtocolMessage.js.map +0 -1
- package/lib/messages/IProtocolProperty.d.ts +0 -12
- package/lib/messages/IProtocolProperty.js +0 -3
- package/lib/messages/IProtocolProperty.js.map +0 -1
- package/lib/programmers/MessageProgrammer.d.ts +0 -5
- package/lib/programmers/MessageProgrammer.js +0 -141
- package/lib/programmers/MessageProgrammer.js.map +0 -1
- package/lib/transformers/features/protocols/MessageTransformer.d.ts +0 -5
- package/lib/transformers/features/protocols/MessageTransformer.js +0 -17
- package/lib/transformers/features/protocols/MessageTransformer.js.map +0 -1
- package/lib/utils/NameEncoder.d.ts +0 -4
- package/lib/utils/NameEncoder.js +0 -89
- package/lib/utils/NameEncoder.js.map +0 -1
- package/src/factories/ProtocolFactory.ts +0 -79
- package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +0 -163
- package/src/factories/internal/protocols/emplace_protocol_object.ts +0 -25
- package/src/factories/internal/protocols/emplace_protocol_property.ts +0 -12
- package/src/factories/internal/protocols/iterate_protocol_atomic.ts +0 -34
- package/src/factories/internal/protocols/iterate_protocol_constant.ts +0 -27
- package/src/factories/internal/protocols/iterate_protocol_main.ts +0 -19
- package/src/factories/internal/protocols/iterate_protocol_map.ts +0 -58
- package/src/factories/internal/protocols/iterate_protocol_metadata.ts +0 -96
- package/src/factories/internal/protocols/iterate_protocol_native.ts +0 -34
- package/src/factories/internal/protocols/iterate_protocol_never.ts +0 -1
- package/src/factories/internal/protocols/iterate_protocol_object.ts +0 -110
- package/src/factories/internal/protocols/iterate_protocol_repeated.ts +0 -34
- package/src/factories/internal/protocols/iterate_protocol_tuple.ts +0 -29
- package/src/functional/$proto_bytes.ts +0 -25
- package/src/functional/$proto_field.ts +0 -30
- package/src/functional/$proto_float.ts +0 -37
- package/src/functional/$proto_i32.ts +0 -29
- package/src/functional/$proto_i64.ts +0 -37
- package/src/functional/$proto_size.ts +0 -82
- package/src/functional/$proto_string.ts +0 -24
- package/src/functional/$varint.ts +0 -130
- package/src/functional/$zigzag.ts +0 -39
- package/src/messages/IProtocolMap.ts +0 -5
- package/src/messages/IProtocolMessage.ts +0 -6
- package/src/messages/IProtocolProperty.ts +0 -13
- package/src/programmers/MessageProgrammer.ts +0 -126
- package/src/utils/NameEncoder.ts +0 -32
|
@@ -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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"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.check_native = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
4
8
|
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
5
9
|
var check_native = function (type) { return function (input) {
|
|
6
|
-
|
|
10
|
+
var instanceOf = ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, type);
|
|
11
|
+
return ATOMIC_LIKE.has(type)
|
|
12
|
+
? typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(type.toLowerCase()), typescript_1.default.factory.createTypeOfExpression(input)), instanceOf)
|
|
13
|
+
: instanceOf;
|
|
7
14
|
}; };
|
|
8
15
|
exports.check_native = check_native;
|
|
16
|
+
var ATOMIC_LIKE = new Set(["Boolean", "Number", "String"]);
|
|
9
17
|
//# sourceMappingURL=check_native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_native.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_native.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAK/D,IAAM,YAAY,GAAG,UAAC,IAAY,IAAK,OAAA,UAAC,KAAoB;IAC/D,IAAM,UAAU,GAAG,qCAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAClD,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C,EACD,UAAU,CACb;QACH,CAAC,CAAC,UAAU,CAAC;AACrB,CAAC,EAX6C,CAW7C,CAAC;AAXW,QAAA,YAAY,gBAWvB;AAEF,IAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -7,15 +7,19 @@ exports.check_object = void 0;
|
|
|
7
7
|
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
|
-
var check_object = function (props) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
var check_object = function (props) {
|
|
11
|
+
return function (importer) {
|
|
12
|
+
return function (input, entries) {
|
|
13
|
+
var regular = entries.filter(function (entry) { return entry.key.isSoleLiteral(); });
|
|
14
|
+
var dynamic = entries.filter(function (entry) { return !entry.key.isSoleLiteral(); });
|
|
15
|
+
var flags = regular.map(function (entry) { return entry.expression; });
|
|
16
|
+
if (props.equals === false && dynamic.length === 0)
|
|
17
|
+
return regular.length === 0 ? props.positive : reduce(props)(flags);
|
|
18
|
+
flags.push((0, check_dynamic_properties_1.check_dynamic_properties)(props)(importer)(input, regular, dynamic));
|
|
19
|
+
return reduce(props)(flags);
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
19
23
|
exports.check_object = check_object;
|
|
20
24
|
var reduce = function (props) { return function (expressions) {
|
|
21
25
|
return props.assert
|
|
@@ -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;AAI5B,uEAAsE;AACtE,uDAAsD;AAK/C,IAAM,YAAY,GACrB,UAAC,KAA0B;IAC3B,OAAA,UAAC,QAA0B;QAC3B,OAAA,UAAC,KAAoB,EAAE,OAA0C;YAE7D,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAzB,CAAyB,CAAC,CAAC;YACrE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAA1B,CAA0B,CAAC,CAAC;YACtE,IAAM,KAAK,GAAoB,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC,CAAC;YAGxE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC9C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAGxE,KAAK,CAAC,IAAI,CACN,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CACrE,CAAC;YACF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBO,QAAA,YAAY,gBAkBnB;AAcN,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"}
|
|
@@ -8,7 +8,7 @@ export declare namespace check_union_array_like {
|
|
|
8
8
|
interface IProps<T> {
|
|
9
9
|
checker(front: ts.Expression, target: T, explore: FeatureProgrammer.IExplore, tags: IMetadataTag[], array: ts.Expression): ts.Expression;
|
|
10
10
|
decoder: UnionExplorer.Decoder<T>;
|
|
11
|
-
empty: ts.Expression;
|
|
11
|
+
empty: ts.ReturnStatement | ts.Expression;
|
|
12
12
|
success: ts.Expression;
|
|
13
13
|
failure(input: ts.Expression, expected: string, explore: CheckerProgrammer.IExplore): ts.Statement;
|
|
14
14
|
}
|
|
@@ -64,7 +64,9 @@ var check_union_array_like = function (accessor) {
|
|
|
64
64
|
var unionStatement = typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("filtered.length")), forOfStatement);
|
|
65
65
|
var block = __spreadArray(__spreadArray([], __read((accessor.size !== null
|
|
66
66
|
? [
|
|
67
|
-
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), accessor.size(input)), typescript_1.default.
|
|
67
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), accessor.size(input)), typescript_1.default.isReturnStatement(props.empty)
|
|
68
|
+
? props.empty
|
|
69
|
+
: typescript_1.default.factory.createReturnStatement(props.empty)),
|
|
68
70
|
]
|
|
69
71
|
: [])), false), [
|
|
70
72
|
tupleListVariable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AAQ7D,IAAM,sBAAsB,GAC/B,UAAI,QAA6C;IACjD,OAAA,UAAC,KAAuC;QACxC,OAAA,UACI,KAAoB,EACpB,OAAY,EACZ,OAAmC,EACnC,IAAoB;YAGpB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpB,OAAO,KAAK,CAAC,OAAO,CAChB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EACrB,OAAO,CAAC,CAAC,CAAE,EACX,OAAO,EACP,IAAI,CACP,CAAC;YAMN,IAAM,iBAAiB,GACnB,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACnC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI;gBACb,OAAA,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;oBACpC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACpC,SAAS,EACT,SAAS,EACT,KAAK,CAAC,OAAO,CACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,IAAI,wBAEG,OAAO,KACV,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,SAAO,KAEpB,IAAI,EACJ,KAAK,CACR,CACJ;oBACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACpC,SAAS,EACT,SAAS,EACT,KAAK,CAAC,OAAO,CACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,IAAI,wBAEG,OAAO,KACV,QAAQ,EAAE,IAAI,KAElB,IAAI,CACP,CACJ;iBACJ,CAAC;YAnCF,CAmCE,CACL,CACJ,CACJ,CAAC;YAGN,IAAM,gBAAgB,GAAG,mCAAgB,CAAC,QAAQ,CAC9C,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAC/C,SAAS,EACT;gBACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,KAAK,CAAC,OAAO,EACb,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;aACJ,CACJ,CACJ,CAAC;YAMF,IAAM,eAAe,GAAG,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAChD,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CACjD,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,SAAS,EACT,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC1B,CACJ,CACJ,CAAC;YAGF,IAAM,cAAc,GAAG,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,EAC/C,oBAAE,CAAC,SAAS,CAAC,KAAK,CACrB,EAED,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,IAAI,CAClB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,OAAO,CACV,EACD,SAAS,EACT;gBACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,KAAK,CAAC,OAAO,EACb,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;aACJ,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ,CACJ,CAAC;YACF,IAAM,cAAc,GAAG,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAC/C,oBAAE,CAAC,OAAO,CAAC,cAAc,CACrB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CACjD,EACD,cAAc,CACjB,CAAC;YAEF,IAAM,KAAK,0CAEJ,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;gBACtB,CAAC,CAAC;oBACI,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { MetadataObject } from "../../metadata/MetadataObject";
|
|
3
3
|
import { FeatureProgrammer } from "../FeatureProgrammer";
|
|
4
|
-
export declare const feature_object_entries: (config: Pick<FeatureProgrammer.IConfig
|
|
4
|
+
export declare const feature_object_entries: <Output extends ts.ConciseBody>(config: Pick<FeatureProgrammer.IConfig<Output>, "path" | "trace" | "decoder">) => (obj: MetadataObject) => (input: ts.Expression) => {
|
|
5
5
|
input: ts.Identifier | ts.ElementAccessExpression | ts.PropertyAccessExpression;
|
|
6
6
|
key: import("../../metadata/Metadata").Metadata;
|
|
7
7
|
meta: import("../../metadata/Metadata").Metadata;
|
|
8
|
-
expression:
|
|
8
|
+
expression: Output;
|
|
9
9
|
}[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAIvC,IAAM,sBAAsB,GAC/B,
|
|
1
|
+
{"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAIvC,IAAM,sBAAsB,GAC/B,UACI,MAGC;IAEL,OAAA,UAAC,GAAmB;QACpB,OAAA,UAAC,KAAoB;YACjB,OAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;gBACpB,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAM,SAAS,GACX,IAAI,KAAK,IAAI;oBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACrC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC;wBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACvC,CAAC;gBAEZ,OAAO;oBACH,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,IAAI,EAAE,IAAI,CAAC,KAAK;oBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CACtB,SAAS,EACT,IAAI,CAAC,KAAK,EACV;wBACI,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;wBACrC,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,QAAQ;wBACd,OAAO,EACH,IAAI,KAAK,IAAI;4BACT,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;4BACjC,CAAC,CAAC,YAAY;qBACzB,EACD,IAAI,CAAC,IAAI,CACZ;iBACJ,CAAC;YACN,CAAC,CAAC;QAlCF,CAkCE;IAnCN,CAmCM;AApCN,CAoCM,CAAC;AA3CE,QAAA,sBAAsB,0BA2CxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.prune_object_properties = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var StatementFactory_1 = require("../../factories/StatementFactory");
|
|
9
|
+
var metadata_to_pattern_1 = require("./metadata_to_pattern");
|
|
10
|
+
var prune_object_properties = function (obj) {
|
|
11
|
+
var input = typescript_1.default.factory.createIdentifier("input");
|
|
12
|
+
var key = typescript_1.default.factory.createIdentifier("key");
|
|
13
|
+
var condition = obj.properties.map(function (prop) {
|
|
14
|
+
var name = prop.key.getSoleLiteral();
|
|
15
|
+
if (name !== null)
|
|
16
|
+
return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(name), typescript_1.default.factory.createIdentifier("key"));
|
|
17
|
+
return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat((0, metadata_to_pattern_1.metadata_to_pattern)(true)(prop.key), "/).test")), undefined, [key]);
|
|
18
|
+
});
|
|
19
|
+
var statements = [];
|
|
20
|
+
if (condition.length)
|
|
21
|
+
statements.push(typescript_1.default.factory.createIfStatement(condition.reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }), typescript_1.default.factory.createContinueStatement()));
|
|
22
|
+
statements.push(typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createDeleteExpression(typescript_1.default.factory.createElementAccessExpression(input, key))));
|
|
23
|
+
return typescript_1.default.factory.createForOfStatement(undefined, StatementFactory_1.StatementFactory.constant("key").declarationList, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.keys"), undefined, [input]), statements.length === 1
|
|
24
|
+
? statements[0]
|
|
25
|
+
: typescript_1.default.factory.createBlock(statements, true));
|
|
26
|
+
};
|
|
27
|
+
exports.prune_object_properties = prune_object_properties;
|
|
28
|
+
//# sourceMappingURL=prune_object_properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prune_object_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/prune_object_properties.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,qEAAoE;AAIpE,6DAA4D;AAKrD,IAAM,uBAAuB,GAAG,UAAC,GAAmB;IACvD,IAAM,KAAK,GAAkB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClE,IAAM,GAAG,GAAkB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9D,IAAM,SAAS,GAAoB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;QACvD,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACtD,IAAI,IAAI,KAAK,IAAI;YACb,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACrC,CAAC;QACN,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,IAAA,yCAAmB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAS,CAC1D,EACD,SAAS,EACT,CAAC,GAAG,CAAC,CACR,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAM,UAAU,GAAmB,EAAE,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM;QAChB,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,SAAS,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAhC,CAAgC,CAAC,EAC5D,oBAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,CACvC,CACJ,CAAC;IACN,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,GAAG,CAAC,CACvD,CACJ,CACJ,CAAC;IAEF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,SAAS,EACT,mCAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,eAAe,EAChD,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC1C,SAAS,EACT,CAAC,KAAK,CAAC,CACV,EACD,UAAU,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE;QAChB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CACjD,CAAC;AACN,CAAC,CAAC;AAhDW,QAAA,uBAAuB,2BAgDlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,mEAAkE;AAGlE,6DAA4D;AAK5D,SAAgB,4BAA4B,CACxC,
|
|
1
|
+
{"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify_regular_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_regular_properties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,mEAAkE;AAClE,6DAA4D;AAS5D,SAAgB,4BAA4B,CACxC,
|
|
1
|
+
{"version":3,"file":"stringify_regular_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_regular_properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,14 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.CallExpressionTransformer = void 0;
|
|
7
7
|
var path_1 = __importDefault(require("path"));
|
|
8
8
|
var ApplicationTransformer_1 = require("./features/miscellaneous/ApplicationTransformer");
|
|
9
|
+
var CreatePruneTransformer_1 = require("./features/miscellaneous/CreatePruneTransformer");
|
|
9
10
|
var MetadataTransformer_1 = require("./features/miscellaneous/MetadataTransformer");
|
|
11
|
+
var PruneTransformer_1 = require("./features/miscellaneous/PruneTransformer");
|
|
10
12
|
var AssertParseTransformer_1 = require("./features/parsers/AssertParseTransformer");
|
|
11
13
|
var CreateAssertParseTransformer_1 = require("./features/parsers/CreateAssertParseTransformer");
|
|
12
14
|
var CreateIsParseTransformer_1 = require("./features/parsers/CreateIsParseTransformer");
|
|
13
15
|
var CreateValidateParseTransformer_1 = require("./features/parsers/CreateValidateParseTransformer");
|
|
14
16
|
var IsParseTransformer_1 = require("./features/parsers/IsParseTransformer");
|
|
15
17
|
var ValidateParseTransformer_1 = require("./features/parsers/ValidateParseTransformer");
|
|
16
|
-
var MessageTransformer_1 = require("./features/protocols/MessageTransformer");
|
|
17
18
|
var AssertStringifyTransformer_1 = require("./features/stringifiers/AssertStringifyTransformer");
|
|
18
19
|
var CreateAssertStringifyTransformer_1 = require("./features/stringifiers/CreateAssertStringifyTransformer");
|
|
19
20
|
var CreateIsStringifyTransformer_1 = require("./features/stringifiers/CreateIsStringifyTransformer");
|
|
@@ -56,8 +57,6 @@ var FUNCTORS = {
|
|
|
56
57
|
assertEquals: function () { return AssertTransformer_1.AssertTransformer.transform(true); },
|
|
57
58
|
equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
|
|
58
59
|
validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
|
|
59
|
-
message: function () { return MessageTransformer_1.MessageTransformer.transform; },
|
|
60
|
-
application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
|
|
61
60
|
isParse: function () { return IsParseTransformer_1.IsParseTransformer.transform; },
|
|
62
61
|
assertParse: function () { return AssertParseTransformer_1.AssertParseTransformer.transform; },
|
|
63
62
|
validateParse: function () { return ValidateParseTransformer_1.ValidateParseTransformer.transform; },
|
|
@@ -65,7 +64,9 @@ var FUNCTORS = {
|
|
|
65
64
|
assertStringify: function () { return AssertStringifyTransformer_1.AssertStringifyTransformer.transform; },
|
|
66
65
|
isStringify: function () { return IsStringifyTransformer_1.IsStringifyTransformer.transform; },
|
|
67
66
|
validateStringify: function () { return ValidateStringifyTransformer_1.ValidateStringifyTransformer.transform; },
|
|
67
|
+
application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
|
|
68
68
|
metadata: function () { return MetadataTransformer_1.MetadataTransformer.transform; },
|
|
69
|
+
prune: function () { return PruneTransformer_1.PruneTransformer.transform; },
|
|
69
70
|
createAssert: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
|
|
70
71
|
createAssertType: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
|
|
71
72
|
createIs: function () { return CreateIsTransformer_1.CreateIsTransformer.transform(false); },
|
|
@@ -80,5 +81,6 @@ var FUNCTORS = {
|
|
|
80
81
|
createAssertStringify: function () { return CreateAssertStringifyTransformer_1.CreateAssertStringifyTransformer.transform; },
|
|
81
82
|
createIsStringify: function () { return CreateIsStringifyTransformer_1.CreateIsStringifyTransformer.transform; },
|
|
82
83
|
createValidateStringify: function () { return CreateValidateStringifyProgrammer_1.CreateValidateStringifyTransformer.transform; },
|
|
84
|
+
createPrune: function () { return CreatePruneTransformer_1.CreatePruneTransformer.transform; },
|
|
83
85
|
};
|
|
84
86
|
//# sourceMappingURL=CallExpressionTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AAIxB,0FAAyF;AACzF,oFAAmF;AACnF,oFAAmF;AACnF,gGAA+F;AAC/F,wFAAuF;AACvF,oGAAmG;AACnG,4EAA2E;AAC3E,wFAAuF;AACvF,
|
|
1
|
+
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,4 +42,18 @@ export interface ITransformOptions {
|
|
|
42
42
|
* @default false
|
|
43
43
|
*/
|
|
44
44
|
functional?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether to check undefined value or not.
|
|
47
|
+
*
|
|
48
|
+
* JavaScript can assign `undefined` value to a specific property and it is an
|
|
49
|
+
* issue when validating without allowing superfluous properties. Should undefined
|
|
50
|
+
* value assigned superfluous property be allowed or not?
|
|
51
|
+
*
|
|
52
|
+
* Note that, this option only works on {@link equals} function. Other function
|
|
53
|
+
* like {@link assertEquals} or {@link validateEquals} would ignore this option
|
|
54
|
+
* value and always allow the `undefined` value.
|
|
55
|
+
*
|
|
56
|
+
* @default true
|
|
57
|
+
*/
|
|
58
|
+
undefined?: boolean;
|
|
45
59
|
}
|
|
@@ -32,7 +32,9 @@ var ApplicationTransformer;
|
|
|
32
32
|
? "#/components/schemas"
|
|
33
33
|
: "components#/schemas";
|
|
34
34
|
});
|
|
35
|
-
var collection = new MetadataCollection_1.MetadataCollection(
|
|
35
|
+
var collection = new MetadataCollection_1.MetadataCollection({
|
|
36
|
+
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
37
|
+
});
|
|
36
38
|
var metadatas = types.map(function (type) {
|
|
37
39
|
return MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
|
|
38
40
|
resolve: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/ApplicationTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAKrE,oFAAmF;AAInF,IAAiB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/ApplicationTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreatePruneTransformer = void 0;
|
|
4
|
+
var PruneProgrammer_1 = require("../../../programmers/PruneProgrammer");
|
|
5
|
+
var CreatePruneTransformer;
|
|
6
|
+
(function (CreatePruneTransformer) {
|
|
7
|
+
function transform(project, modulo, expression) {
|
|
8
|
+
if (!expression.typeArguments || !expression.typeArguments[0])
|
|
9
|
+
throw new Error("Error on typia.prune(): generic argument is not specified.");
|
|
10
|
+
var type = project.checker.getTypeFromTypeNode(expression.typeArguments[0]);
|
|
11
|
+
if (type.isTypeParameter())
|
|
12
|
+
throw new Error("Error on typia.prune(): non-specified generic argument.");
|
|
13
|
+
return PruneProgrammer_1.PruneProgrammer.generate(project, modulo)(type);
|
|
14
|
+
}
|
|
15
|
+
CreatePruneTransformer.transform = transform;
|
|
16
|
+
})(CreatePruneTransformer = exports.CreatePruneTransformer || (exports.CreatePruneTransformer = {}));
|
|
17
|
+
//# sourceMappingURL=CreatePruneTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreatePruneTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/CreatePruneTransformer.ts"],"names":[],"mappings":";;;AAEA,wEAAuE;AAIvE,IAAiB,sBAAsB,CAmBtC;AAnBD,WAAiB,sBAAsB;IACnC,SAAgB,SAAS,CACrB,OAAiB,EACjB,MAAiC,EACjC,UAA6B;QAG7B,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,8DAA6B,CAAC;QAGjD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACrD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,IAAI,KAAK,2DAAgC,CAAC;QAEpD,OAAO,iCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAjBe,gCAAS,YAiBxB,CAAA;AACL,CAAC,EAnBgB,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAmBtC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.PruneTransformer = void 0;
|
|
18
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
19
|
+
var PruneProgrammer_1 = require("../../../programmers/PruneProgrammer");
|
|
20
|
+
var PruneTransformer;
|
|
21
|
+
(function (PruneTransformer) {
|
|
22
|
+
function transform(project, modulo, expression) {
|
|
23
|
+
if (expression.arguments.length !== 1)
|
|
24
|
+
throw new Error("Error on typia.prune(): no input value.");
|
|
25
|
+
var type = expression.typeArguments && expression.typeArguments[0]
|
|
26
|
+
? project.checker.getTypeFromTypeNode(expression.typeArguments[0])
|
|
27
|
+
: project.checker.getTypeAtLocation(expression.arguments[0]);
|
|
28
|
+
if (type.isTypeParameter())
|
|
29
|
+
throw new Error("Error on typia.prune(): non-specified generic argument.");
|
|
30
|
+
return typescript_1.default.factory.createCallExpression(PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type), undefined, [expression.arguments[0]]);
|
|
31
|
+
}
|
|
32
|
+
PruneTransformer.transform = transform;
|
|
33
|
+
})(PruneTransformer = exports.PruneTransformer || (exports.PruneTransformer = {}));
|
|
34
|
+
//# sourceMappingURL=PruneTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PruneTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/PruneTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,wEAAuE;AAIvE,IAAiB,gBAAgB,CAkChC;AAlCD,WAAiB,gBAAgB;IAC7B,SAAgB,SAAS,CACrB,OAAiB,EACjB,MAAiC,EACjC,UAA6B;QAE7B,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,MAAM,IAAI,KAAK,2CAA8B,CAAC;QAElD,IAAM,IAAI,GACN,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC/B,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B;YACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,IAAI,KAAK,2DAAgC,CAAC;QAEpD,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,EACP,SAAS,EACT,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAC7B,CAAC;IACN,CAAC;IAhCe,0BAAS,YAgCxB,CAAA;AACL,CAAC,EAlCgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAkChC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "3.5.0-dev.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.5.0-dev.20230211",
|
|
4
|
+
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
7
7
|
"bin": {
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"prettier": "prettier --write ./**/*.ts",
|
|
25
25
|
"test": "node bin/test",
|
|
26
26
|
"test:generate": "ts-node -P tsconfig.test.json build/test.ts",
|
|
27
|
-
"test:manual": "node test/manual"
|
|
27
|
+
"test:manual": "node test/manual",
|
|
28
|
+
"test:application:replace": "node test/features/application/replace && npm run prettier"
|
|
28
29
|
},
|
|
29
30
|
"repository": {
|
|
30
31
|
"type": "git",
|
|
@@ -67,6 +68,7 @@
|
|
|
67
68
|
"devDependencies": {
|
|
68
69
|
"@fastify/type-provider-typebox": "^2.3.0",
|
|
69
70
|
"@trivago/prettier-plugin-sort-imports": "^3.3.0",
|
|
71
|
+
"@typegoose/typegoose": "^10.1.1",
|
|
70
72
|
"@types/autocannon": "^7.9.0",
|
|
71
73
|
"@types/benchmark": "^2.1.2",
|
|
72
74
|
"@types/cli": "^0.11.20",
|
|
@@ -101,7 +103,6 @@
|
|
|
101
103
|
"source-map-support": "^0.5.21",
|
|
102
104
|
"suppress-warnings": "^1.0.2",
|
|
103
105
|
"ts-node": "^10.9.1",
|
|
104
|
-
"ts-proto": "^1.138.0",
|
|
105
106
|
"ttypescript": "^1.5.15",
|
|
106
107
|
"typescript": "^4.9.4",
|
|
107
108
|
"uuid": "^8.3.2",
|
|
@@ -14,7 +14,9 @@ export class MetadataCollection {
|
|
|
14
14
|
private readonly unions_: Map<string, MetadataObject[]>;
|
|
15
15
|
private index_: number;
|
|
16
16
|
|
|
17
|
-
public constructor(
|
|
17
|
+
public constructor(
|
|
18
|
+
private readonly options?: Partial<MetadataCollection.IOptions>,
|
|
19
|
+
) {
|
|
18
20
|
this.dict_ = new Map();
|
|
19
21
|
this.names_ = new Map();
|
|
20
22
|
this.unions_ = new Map();
|
|
@@ -65,7 +67,11 @@ export class MetadataCollection {
|
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
private get_name(checker: ts.TypeChecker, type: ts.Type): string {
|
|
68
|
-
const name: string =
|
|
70
|
+
const name: string = (() => {
|
|
71
|
+
const str: string = TypeFactory.getFullName(checker, type);
|
|
72
|
+
return this.options?.replace ? this.options.replace(str) : str;
|
|
73
|
+
})();
|
|
74
|
+
|
|
69
75
|
const duplicates: Map<ts.Type, string> = MapUtil.take(
|
|
70
76
|
this.names_,
|
|
71
77
|
name,
|
|
@@ -81,3 +87,36 @@ export class MetadataCollection {
|
|
|
81
87
|
return addicted;
|
|
82
88
|
}
|
|
83
89
|
}
|
|
90
|
+
export namespace MetadataCollection {
|
|
91
|
+
export interface IOptions {
|
|
92
|
+
replace?(str: string): string;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function replace(str: string): string {
|
|
96
|
+
for (const [before, after] of REPLACERS)
|
|
97
|
+
str = str.split(before).join(after);
|
|
98
|
+
return str;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function escape(str: string): string {
|
|
102
|
+
for (const [before, after] of REPLACERS)
|
|
103
|
+
if (after !== "") str = str.split(after).join(before);
|
|
104
|
+
return str;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const REPLACERS: [string, string][] = [
|
|
108
|
+
["$", "_dollar_"],
|
|
109
|
+
["&", "_and_"],
|
|
110
|
+
["|", "_or_"],
|
|
111
|
+
["{", "_blt_"],
|
|
112
|
+
["}", "_bgt_"],
|
|
113
|
+
["<", "_lt_"],
|
|
114
|
+
[">", "_gt_"],
|
|
115
|
+
["[", "_alt_"],
|
|
116
|
+
["]", "_agt_"],
|
|
117
|
+
[",", "_comma_"],
|
|
118
|
+
["`", "_backquote_"],
|
|
119
|
+
["'", "_singlequote_"],
|
|
120
|
+
['"', "_doublequote_"],
|
|
121
|
+
[" ", "_space_"],
|
|
122
|
+
];
|
|
@@ -18,10 +18,6 @@ export const iterate_metadata_native =
|
|
|
18
18
|
|
|
19
19
|
const simple = SIMPLES.get(name);
|
|
20
20
|
if (simple && validator(simple)) {
|
|
21
|
-
if (FORBIDDEN.has(name))
|
|
22
|
-
throw new Error(
|
|
23
|
-
`Error on typia.metadata(): typia does not allow "${name}" class type. Use "${name.toLowerCase()}" type instead.`,
|
|
24
|
-
);
|
|
25
21
|
ArrayUtil.set(meta.natives, name, (str) => str);
|
|
26
22
|
return true;
|
|
27
23
|
}
|
|
@@ -210,7 +206,6 @@ const GENERICS: Array<IClassInfo & { name: string }> = [
|
|
|
210
206
|
return: "boolean",
|
|
211
207
|
})),
|
|
212
208
|
}));
|
|
213
|
-
const FORBIDDEN: Set<string> = new Set(["Bolean", "Number", "String"]);
|
|
214
209
|
|
|
215
210
|
interface IClassInfo {
|
|
216
211
|
name?: string;
|
|
@@ -10,16 +10,14 @@ export type IMetadataTag =
|
|
|
10
10
|
| IMetadataTag.IMinLength
|
|
11
11
|
| IMetadataTag.IMaxLength
|
|
12
12
|
// NUMBER
|
|
13
|
-
| IMetadataTag.
|
|
13
|
+
| IMetadataTag.IType
|
|
14
14
|
| IMetadataTag.IRange
|
|
15
15
|
| IMetadataTag.IMinimum
|
|
16
16
|
| IMetadataTag.IMaximum
|
|
17
17
|
| IMetadataTag.IExclusiveMinimum
|
|
18
18
|
| IMetadataTag.IExclusiveMaximum
|
|
19
19
|
| IMetadataTag.IMultipleOf
|
|
20
|
-
| IMetadataTag.IStep
|
|
21
|
-
// BIGINT
|
|
22
|
-
| IMetadataTag.IBigintType;
|
|
20
|
+
| IMetadataTag.IStep;
|
|
23
21
|
|
|
24
22
|
export namespace IMetadataTag {
|
|
25
23
|
/* -----------------------------------------------------------
|
|
@@ -73,17 +71,9 @@ export namespace IMetadataTag {
|
|
|
73
71
|
/* -----------------------------------------------------------
|
|
74
72
|
NUMBER
|
|
75
73
|
----------------------------------------------------------- */
|
|
76
|
-
export interface
|
|
74
|
+
export interface IType {
|
|
77
75
|
kind: "type";
|
|
78
|
-
value:
|
|
79
|
-
| "int"
|
|
80
|
-
| "uint"
|
|
81
|
-
| "int32"
|
|
82
|
-
| "uint32"
|
|
83
|
-
| "int64"
|
|
84
|
-
| "uint64"
|
|
85
|
-
| "float"
|
|
86
|
-
| "double";
|
|
76
|
+
value: "int" | "uint";
|
|
87
77
|
}
|
|
88
78
|
|
|
89
79
|
export interface IRange {
|
|
@@ -125,11 +115,6 @@ export namespace IMetadataTag {
|
|
|
125
115
|
/* -----------------------------------------------------------
|
|
126
116
|
MISCELLANEOUS
|
|
127
117
|
----------------------------------------------------------- */
|
|
128
|
-
export interface IBigintType {
|
|
129
|
-
kind: "type";
|
|
130
|
-
value: "int64" | "uint64";
|
|
131
|
-
}
|
|
132
|
-
|
|
133
118
|
export interface ISign {
|
|
134
119
|
include: boolean;
|
|
135
120
|
value: number;
|