typia 7.0.0-dev.20241001 → 7.0.0-dev.20241002-2
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/executable/TypiaGenerateWizard.js +1 -1
- package/lib/executable/TypiaGenerateWizard.js.map +1 -1
- package/lib/executable/TypiaSetupWizard.js +1 -1
- package/lib/executable/TypiaSetupWizard.js.map +1 -1
- package/lib/executable/setup/ArgumentParser.d.ts +1 -1
- package/lib/executable/setup/ArgumentParser.js +31 -33
- package/lib/executable/setup/ArgumentParser.js.map +1 -1
- package/lib/executable/setup/FileRetriever.d.ts +5 -2
- package/lib/executable/setup/FileRetriever.js +12 -21
- package/lib/executable/setup/FileRetriever.js.map +1 -1
- package/lib/executable/setup/PackageManager.js +4 -1
- package/lib/executable/setup/PackageManager.js.map +1 -1
- package/lib/factories/ExpressionFactory.d.ts +14 -7
- package/lib/factories/ExpressionFactory.js +26 -34
- package/lib/factories/ExpressionFactory.js.map +1 -1
- package/lib/factories/IdentifierFactory.d.ts +2 -2
- package/lib/factories/IdentifierFactory.js +10 -6
- package/lib/factories/IdentifierFactory.js.map +1 -1
- package/lib/factories/MetadataCollection.js +6 -3
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataCommentTagFactory.js +414 -330
- package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
- package/lib/factories/MetadataFactory.js +1 -1
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagFactory.d.ts +14 -2
- package/lib/factories/MetadataTypeTagFactory.js +312 -267
- package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagSchemaFactory.d.ts +4 -1
- package/lib/factories/MetadataTypeTagSchemaFactory.js +70 -61
- package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -1
- package/lib/factories/NumericRangeFactory.d.ts +2 -2
- package/lib/factories/NumericRangeFactory.js +2 -10
- package/lib/factories/NumericRangeFactory.js.map +1 -1
- package/lib/factories/StatementFactory.d.ts +14 -3
- package/lib/factories/StatementFactory.js +16 -8
- package/lib/factories/StatementFactory.js.map +1 -1
- package/lib/factories/TemplateFactory.js +24 -18
- package/lib/factories/TemplateFactory.js.map +1 -1
- package/lib/factories/TypeFactory.d.ts +10 -2
- package/lib/factories/TypeFactory.js +65 -53
- package/lib/factories/TypeFactory.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js +4 -1
- package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +16 -11
- package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_escape.js +5 -1
- package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js +6 -1
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_map.js +5 -1
- package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_native.js +11 -3
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_set.js +5 -1
- package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +16 -5
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +42 -35
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.js +21 -15
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.js +3 -2
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +88 -67
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +16 -7
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +30 -15
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +16 -13
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +11 -8
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +8 -2
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +11 -5
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +8 -2
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
- package/lib/programmers/helpers/CloneJoiner.js +9 -3
- package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
- package/lib/programmers/helpers/FunctionImporter.js +10 -7
- package/lib/programmers/helpers/FunctionImporter.js.map +1 -1
- package/lib/programmers/helpers/NotationJoiner.js +9 -3
- package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
- package/lib/programmers/helpers/PruneJoiner.js +2 -2
- package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomJoiner.js +4 -1
- package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
- package/lib/programmers/helpers/StringifyJoinder.js +1 -1
- package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.js +7 -7
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/helpers/UnionPredicator.js +1 -1
- package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js +8 -2
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js +8 -2
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.js +8 -2
- package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js +14 -8
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpHeadersProgrammer.js +21 -15
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsFormDataProgrammer.js +12 -3
- package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsHeadersProgrammer.js +12 -3
- package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsQueryProgrammer.js +12 -3
- package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpParameterProgrammer.js +17 -10
- package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.js +14 -8
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js +8 -2
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js +8 -2
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQueryProgrammer.js +8 -2
- package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
- package/lib/programmers/internal/check_array_length.js +1 -1
- package/lib/programmers/internal/check_array_length.js.map +1 -1
- package/lib/programmers/internal/check_bigint.js +1 -1
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js +7 -4
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_everything.js +1 -1
- package/lib/programmers/internal/check_everything.js.map +1 -1
- package/lib/programmers/internal/check_native.js +1 -1
- package/lib/programmers/internal/check_native.js.map +1 -1
- package/lib/programmers/internal/check_number.js +1 -1
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/internal/check_string.js +1 -1
- package/lib/programmers/internal/check_string.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.js +25 -7
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/prune_object_properties.js +1 -1
- package/lib/programmers/internal/prune_object_properties.js.map +1 -1
- package/lib/programmers/internal/random_custom.js +1 -1
- package/lib/programmers/internal/random_custom.js.map +1 -1
- package/lib/programmers/internal/stringify_dynamic_properties.js +4 -4
- package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.js +8 -2
- package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js +8 -2
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonIsParseProgrammer.js +8 -2
- package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonIsStringifyProgrammer.js +8 -2
- package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +50 -43
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonValidateParseProgrammer.js +8 -2
- package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonValidateStringifyProgrammer.js +12 -3
- package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js +8 -2
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js +12 -3
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +60 -47
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscIsCloneProgrammer.js +8 -2
- package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscIsPruneProgrammer.js +8 -2
- package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +49 -42
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js +12 -3
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscValidatePruneProgrammer.js +16 -4
- package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +8 -2
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +45 -32
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationIsGeneralProgrammer.js +8 -2
- package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +12 -3
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +8 -2
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +8 -2
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +51 -30
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +57 -41
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +12 -3
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +8 -2
- package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +8 -2
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +12 -3
- package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +5 -2
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/utils/MapUtil.d.ts +1 -1
- package/lib/utils/MapUtil.js +7 -9
- package/lib/utils/MapUtil.js.map +1 -1
- package/lib/utils/NameEncoder.d.ts +2 -2
- package/lib/utils/NameEncoder.js +4 -6
- package/lib/utils/NameEncoder.js.map +1 -1
- package/package.json +1 -1
- package/src/executable/TypiaGenerateWizard.ts +1 -1
- package/src/executable/TypiaSetupWizard.ts +1 -1
- package/src/executable/setup/ArgumentParser.ts +27 -28
- package/src/executable/setup/FileRetriever.ts +14 -17
- package/src/executable/setup/PackageManager.ts +4 -3
- package/src/factories/ExpressionFactory.ts +98 -84
- package/src/factories/IdentifierFactory.ts +26 -7
- package/src/factories/MetadataCollection.ts +7 -3
- package/src/factories/MetadataCommentTagFactory.ts +306 -218
- package/src/factories/MetadataFactory.ts +2 -1
- package/src/factories/MetadataTypeTagFactory.ts +334 -285
- package/src/factories/MetadataTypeTagSchemaFactory.ts +75 -52
- package/src/factories/NumericRangeFactory.ts +8 -8
- package/src/factories/StatementFactory.ts +27 -11
- package/src/factories/TemplateFactory.ts +29 -21
- package/src/factories/TypeFactory.ts +80 -58
- package/src/factories/internal/metadata/iterate_metadata.ts +4 -1
- package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +6 -4
- package/src/factories/internal/metadata/iterate_metadata_escape.ts +5 -3
- package/src/factories/internal/metadata/iterate_metadata_function.ts +4 -4
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +6 -3
- package/src/factories/internal/metadata/iterate_metadata_map.ts +4 -3
- package/src/factories/internal/metadata/iterate_metadata_native.ts +12 -9
- package/src/factories/internal/metadata/iterate_metadata_set.ts +5 -1
- package/src/programmers/AssertProgrammer.ts +16 -5
- package/src/programmers/CheckerProgrammer.ts +16 -13
- package/src/programmers/FeatureProgrammer.ts +8 -8
- package/src/programmers/IsProgrammer.ts +4 -3
- package/src/programmers/RandomProgrammer.ts +37 -30
- package/src/programmers/ValidateProgrammer.ts +17 -10
- package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +4 -4
- package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +4 -4
- package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +4 -4
- package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +7 -7
- package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +14 -8
- package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +7 -7
- package/src/programmers/helpers/CloneJoiner.ts +13 -6
- package/src/programmers/helpers/FunctionImporter.ts +12 -11
- package/src/programmers/helpers/NotationJoiner.ts +13 -6
- package/src/programmers/helpers/PruneJoiner.ts +3 -2
- package/src/programmers/helpers/RandomJoiner.ts +7 -4
- package/src/programmers/helpers/StringifyJoinder.ts +1 -1
- package/src/programmers/helpers/UnionExplorer.ts +16 -11
- package/src/programmers/helpers/UnionPredicator.ts +1 -1
- package/src/programmers/http/HttpAssertFormDataProgrammer.ts +8 -2
- package/src/programmers/http/HttpAssertHeadersProgrammer.ts +8 -2
- package/src/programmers/http/HttpAssertQueryProgrammer.ts +8 -2
- package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
- package/src/programmers/http/HttpHeadersProgrammer.ts +14 -10
- package/src/programmers/http/HttpIsFormDataProgrammer.ts +12 -6
- package/src/programmers/http/HttpIsHeadersProgrammer.ts +12 -6
- package/src/programmers/http/HttpIsQueryProgrammer.ts +12 -6
- package/src/programmers/http/HttpParameterProgrammer.ts +16 -11
- package/src/programmers/http/HttpQueryProgrammer.ts +10 -6
- package/src/programmers/http/HttpValidateFormDataProgrammer.ts +8 -2
- package/src/programmers/http/HttpValidateHeadersProgrammer.ts +8 -2
- package/src/programmers/http/HttpValidateQueryProgrammer.ts +8 -2
- package/src/programmers/internal/check_array_length.ts +1 -1
- package/src/programmers/internal/check_bigint.ts +1 -1
- package/src/programmers/internal/check_dynamic_properties.ts +10 -7
- package/src/programmers/internal/check_everything.ts +1 -1
- package/src/programmers/internal/check_native.ts +1 -1
- package/src/programmers/internal/check_number.ts +1 -1
- package/src/programmers/internal/check_string.ts +1 -1
- package/src/programmers/internal/check_union_array_like.ts +27 -17
- package/src/programmers/internal/prune_object_properties.ts +1 -1
- package/src/programmers/internal/random_custom.ts +2 -1
- package/src/programmers/internal/stringify_dynamic_properties.ts +162 -160
- package/src/programmers/json/JsonAssertParseProgrammer.ts +8 -2
- package/src/programmers/json/JsonAssertStringifyProgrammer.ts +8 -2
- package/src/programmers/json/JsonIsParseProgrammer.ts +8 -2
- package/src/programmers/json/JsonIsStringifyProgrammer.ts +8 -2
- package/src/programmers/json/JsonStringifyProgrammer.ts +17 -15
- package/src/programmers/json/JsonValidateParseProgrammer.ts +8 -2
- package/src/programmers/json/JsonValidateStringifyProgrammer.ts +12 -6
- package/src/programmers/misc/MiscAssertCloneProgrammer.ts +8 -2
- package/src/programmers/misc/MiscAssertPruneProgrammer.ts +12 -3
- package/src/programmers/misc/MiscCloneProgrammer.ts +30 -23
- package/src/programmers/misc/MiscIsCloneProgrammer.ts +8 -2
- package/src/programmers/misc/MiscIsPruneProgrammer.ts +8 -2
- package/src/programmers/misc/MiscPruneProgrammer.ts +16 -14
- package/src/programmers/misc/MiscValidateCloneProgrammer.ts +12 -6
- package/src/programmers/misc/MiscValidatePruneProgrammer.ts +16 -7
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +8 -2
- package/src/programmers/notations/NotationGeneralProgrammer.ts +26 -17
- package/src/programmers/notations/NotationIsGeneralProgrammer.ts +8 -2
- package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +12 -6
- package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +8 -2
- package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +8 -2
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +48 -46
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +42 -34
- package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -6
- package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +8 -2
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +1 -1
- package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +8 -2
- package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +12 -6
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +7 -6
- package/src/utils/MapUtil.ts +11 -9
- package/src/utils/NameEncoder.ts +4 -4
|
@@ -117,12 +117,18 @@ export namespace AssertProgrammer {
|
|
|
117
117
|
ts.factory.createIdentifier("input"),
|
|
118
118
|
ts.factory.createTypeReferenceNode(
|
|
119
119
|
props.name ??
|
|
120
|
-
TypeFactory.getFullName(
|
|
120
|
+
TypeFactory.getFullName({
|
|
121
|
+
checker: props.context.checker,
|
|
122
|
+
type: props.type,
|
|
123
|
+
}),
|
|
121
124
|
),
|
|
122
125
|
)
|
|
123
126
|
: ts.factory.createTypeReferenceNode(
|
|
124
127
|
props.name ??
|
|
125
|
-
TypeFactory.getFullName(
|
|
128
|
+
TypeFactory.getFullName({
|
|
129
|
+
checker: props.context.checker,
|
|
130
|
+
type: props.type,
|
|
131
|
+
}),
|
|
126
132
|
),
|
|
127
133
|
undefined,
|
|
128
134
|
ts.factory.createBlock(
|
|
@@ -187,8 +193,13 @@ export namespace AssertProgrammer {
|
|
|
187
193
|
statements: [
|
|
188
194
|
...is.statements,
|
|
189
195
|
...composed.statements,
|
|
190
|
-
StatementFactory.constant(
|
|
191
|
-
|
|
196
|
+
StatementFactory.constant({
|
|
197
|
+
name: "__is",
|
|
198
|
+
value: is.arrow,
|
|
199
|
+
}),
|
|
200
|
+
StatementFactory.mut({
|
|
201
|
+
name: "_errorFactory",
|
|
202
|
+
}),
|
|
192
203
|
],
|
|
193
204
|
arrow,
|
|
194
205
|
};
|
|
@@ -355,7 +366,7 @@ export namespace AssertProgrammer {
|
|
|
355
366
|
}),
|
|
356
367
|
array: (props) =>
|
|
357
368
|
ts.factory.createCallExpression(
|
|
358
|
-
IdentifierFactory.access(props.input
|
|
369
|
+
IdentifierFactory.access(props.input, "every"),
|
|
359
370
|
undefined,
|
|
360
371
|
[props.arrow],
|
|
361
372
|
),
|
|
@@ -173,9 +173,9 @@ export namespace CheckerProgrammer {
|
|
|
173
173
|
.arrays()
|
|
174
174
|
.filter((a) => a.recursive)
|
|
175
175
|
.map((type, i) =>
|
|
176
|
-
StatementFactory.constant(
|
|
177
|
-
`${props.config.prefix}a${i}`,
|
|
178
|
-
ts.factory.createArrowFunction(
|
|
176
|
+
StatementFactory.constant({
|
|
177
|
+
name: `${props.config.prefix}a${i}`,
|
|
178
|
+
value: ts.factory.createArrowFunction(
|
|
179
179
|
undefined,
|
|
180
180
|
undefined,
|
|
181
181
|
FeatureProgrammer.parameterDeclarations({
|
|
@@ -200,7 +200,7 @@ export namespace CheckerProgrammer {
|
|
|
200
200
|
},
|
|
201
201
|
}),
|
|
202
202
|
),
|
|
203
|
-
),
|
|
203
|
+
}),
|
|
204
204
|
);
|
|
205
205
|
|
|
206
206
|
export const write_tuple_functions = (props: {
|
|
@@ -213,9 +213,9 @@ export namespace CheckerProgrammer {
|
|
|
213
213
|
.tuples()
|
|
214
214
|
.filter((t) => t.recursive)
|
|
215
215
|
.map((tuple, i) =>
|
|
216
|
-
StatementFactory.constant(
|
|
217
|
-
`${props.config.prefix}t${i}`,
|
|
218
|
-
ts.factory.createArrowFunction(
|
|
216
|
+
StatementFactory.constant({
|
|
217
|
+
name: `${props.config.prefix}t${i}`,
|
|
218
|
+
value: ts.factory.createArrowFunction(
|
|
219
219
|
undefined,
|
|
220
220
|
undefined,
|
|
221
221
|
FeatureProgrammer.parameterDeclarations({
|
|
@@ -239,7 +239,7 @@ export namespace CheckerProgrammer {
|
|
|
239
239
|
},
|
|
240
240
|
}),
|
|
241
241
|
),
|
|
242
|
-
),
|
|
242
|
+
}),
|
|
243
243
|
);
|
|
244
244
|
|
|
245
245
|
const configure = (props: {
|
|
@@ -254,7 +254,8 @@ export namespace CheckerProgrammer {
|
|
|
254
254
|
undefined,
|
|
255
255
|
"input",
|
|
256
256
|
ts.factory.createTypeReferenceNode(
|
|
257
|
-
name ??
|
|
257
|
+
name ??
|
|
258
|
+
TypeFactory.getFullName({ checker: props.context.checker, type }),
|
|
258
259
|
),
|
|
259
260
|
),
|
|
260
261
|
},
|
|
@@ -530,7 +531,8 @@ export namespace CheckerProgrammer {
|
|
|
530
531
|
],
|
|
531
532
|
),
|
|
532
533
|
),
|
|
533
|
-
|
|
534
|
+
"has",
|
|
535
|
+
),
|
|
534
536
|
undefined,
|
|
535
537
|
[props.input],
|
|
536
538
|
),
|
|
@@ -808,7 +810,8 @@ export namespace CheckerProgrammer {
|
|
|
808
810
|
(prop) => !prop.key.isSoleLiteral() || !prop.value.isRequired(),
|
|
809
811
|
),
|
|
810
812
|
),
|
|
811
|
-
|
|
813
|
+
input: props.input,
|
|
814
|
+
}),
|
|
812
815
|
expected: props.metadata.objects.map((obj) => obj.name).join(" | "),
|
|
813
816
|
body: explore_objects({
|
|
814
817
|
config: props.config,
|
|
@@ -1104,7 +1107,7 @@ export namespace CheckerProgrammer {
|
|
|
1104
1107
|
context: props.context,
|
|
1105
1108
|
importer: props.importer,
|
|
1106
1109
|
input: ts.factory.createCallExpression(
|
|
1107
|
-
IdentifierFactory.access(props.input
|
|
1110
|
+
IdentifierFactory.access(props.input, "slice"),
|
|
1108
1111
|
undefined,
|
|
1109
1112
|
[ExpressionFactory.number(props.tuple.elements.length - 1)],
|
|
1110
1113
|
),
|
|
@@ -1205,7 +1208,7 @@ export namespace CheckerProgrammer {
|
|
|
1205
1208
|
undefined,
|
|
1206
1209
|
[
|
|
1207
1210
|
ts.factory.createCallExpression(
|
|
1208
|
-
IdentifierFactory.access(props.input
|
|
1211
|
+
IdentifierFactory.access(props.input, "toJSON"),
|
|
1209
1212
|
undefined,
|
|
1210
1213
|
[],
|
|
1211
1214
|
),
|
|
@@ -397,9 +397,9 @@ export namespace FeatureProgrammer {
|
|
|
397
397
|
collection: MetadataCollection;
|
|
398
398
|
}) =>
|
|
399
399
|
props.collection.objects().map((object) =>
|
|
400
|
-
StatementFactory.constant(
|
|
401
|
-
`${props.config.prefix}o${object.index}`,
|
|
402
|
-
ts.factory.createArrowFunction(
|
|
400
|
+
StatementFactory.constant({
|
|
401
|
+
name: `${props.config.prefix}o${object.index}`,
|
|
402
|
+
value: ts.factory.createArrowFunction(
|
|
403
403
|
undefined,
|
|
404
404
|
undefined,
|
|
405
405
|
parameterDeclarations({
|
|
@@ -420,7 +420,7 @@ export namespace FeatureProgrammer {
|
|
|
420
420
|
object,
|
|
421
421
|
}),
|
|
422
422
|
),
|
|
423
|
-
),
|
|
423
|
+
}),
|
|
424
424
|
);
|
|
425
425
|
|
|
426
426
|
export const write_union_functions = (props: {
|
|
@@ -428,13 +428,13 @@ export namespace FeatureProgrammer {
|
|
|
428
428
|
collection: MetadataCollection;
|
|
429
429
|
}) =>
|
|
430
430
|
props.collection.unions().map((union, i) =>
|
|
431
|
-
StatementFactory.constant(
|
|
432
|
-
`${props.config.prefix}u${i}`,
|
|
433
|
-
write_union({
|
|
431
|
+
StatementFactory.constant({
|
|
432
|
+
name: `${props.config.prefix}u${i}`,
|
|
433
|
+
value: write_union({
|
|
434
434
|
config: props.config,
|
|
435
435
|
objects: union,
|
|
436
436
|
}),
|
|
437
|
-
),
|
|
437
|
+
}),
|
|
438
438
|
);
|
|
439
439
|
|
|
440
440
|
const write_union = (props: { config: IConfig; objects: MetadataObject[] }) =>
|
|
@@ -81,7 +81,7 @@ export namespace IsProgrammer {
|
|
|
81
81
|
}),
|
|
82
82
|
array: (props) =>
|
|
83
83
|
ts.factory.createCallExpression(
|
|
84
|
-
IdentifierFactory.access(props.input
|
|
84
|
+
IdentifierFactory.access(props.input, "every"),
|
|
85
85
|
undefined,
|
|
86
86
|
[props.arrow],
|
|
87
87
|
),
|
|
@@ -259,10 +259,11 @@ export namespace IsProgrammer {
|
|
|
259
259
|
ExpressionFactory.isObject({
|
|
260
260
|
checkArray: false,
|
|
261
261
|
checkNull: props.checkNull,
|
|
262
|
-
|
|
262
|
+
input: props.input,
|
|
263
|
+
}),
|
|
263
264
|
ts.factory.createStrictEquality(
|
|
264
265
|
ts.factory.createStringLiteral("function"),
|
|
265
|
-
ValueFactory.TYPEOF(IdentifierFactory.access(props.input
|
|
266
|
+
ValueFactory.TYPEOF(IdentifierFactory.access(props.input, "toJSON")),
|
|
266
267
|
),
|
|
267
268
|
);
|
|
268
269
|
|
|
@@ -107,7 +107,10 @@ export namespace RandomProgrammer {
|
|
|
107
107
|
[
|
|
108
108
|
ts.factory.createTypeReferenceNode(
|
|
109
109
|
props.name ??
|
|
110
|
-
TypeFactory.getFullName(
|
|
110
|
+
TypeFactory.getFullName({
|
|
111
|
+
checker: props.context.checker,
|
|
112
|
+
type: props.type,
|
|
113
|
+
}),
|
|
111
114
|
),
|
|
112
115
|
],
|
|
113
116
|
false,
|
|
@@ -138,7 +141,7 @@ export namespace RandomProgrammer {
|
|
|
138
141
|
);
|
|
139
142
|
return {
|
|
140
143
|
functions,
|
|
141
|
-
statements: [StatementFactory.mut("_generator")],
|
|
144
|
+
statements: [StatementFactory.mut({ name: "_generator" })],
|
|
142
145
|
arrow,
|
|
143
146
|
};
|
|
144
147
|
};
|
|
@@ -163,9 +166,9 @@ export namespace RandomProgrammer {
|
|
|
163
166
|
collection: MetadataCollection;
|
|
164
167
|
}): ts.VariableStatement[] =>
|
|
165
168
|
props.collection.objects().map((obj, i) =>
|
|
166
|
-
StatementFactory.constant(
|
|
167
|
-
Prefix.object(i),
|
|
168
|
-
ts.factory.createArrowFunction(
|
|
169
|
+
StatementFactory.constant({
|
|
170
|
+
name: Prefix.object(i),
|
|
171
|
+
value: ts.factory.createArrowFunction(
|
|
169
172
|
undefined,
|
|
170
173
|
undefined,
|
|
171
174
|
[
|
|
@@ -196,7 +199,7 @@ export namespace RandomProgrammer {
|
|
|
196
199
|
object: obj,
|
|
197
200
|
}),
|
|
198
201
|
),
|
|
199
|
-
),
|
|
202
|
+
}),
|
|
200
203
|
);
|
|
201
204
|
|
|
202
205
|
const write_array_functions = (props: {
|
|
@@ -207,9 +210,9 @@ export namespace RandomProgrammer {
|
|
|
207
210
|
.arrays()
|
|
208
211
|
.filter((a) => a.recursive)
|
|
209
212
|
.map((array, i) =>
|
|
210
|
-
StatementFactory.constant(
|
|
211
|
-
Prefix.array(i),
|
|
212
|
-
ts.factory.createArrowFunction(
|
|
213
|
+
StatementFactory.constant({
|
|
214
|
+
name: Prefix.array(i),
|
|
215
|
+
value: ts.factory.createArrowFunction(
|
|
213
216
|
undefined,
|
|
214
217
|
undefined,
|
|
215
218
|
[
|
|
@@ -254,7 +257,7 @@ export namespace RandomProgrammer {
|
|
|
254
257
|
metadata: array.value,
|
|
255
258
|
}),
|
|
256
259
|
),
|
|
257
|
-
),
|
|
260
|
+
}),
|
|
258
261
|
);
|
|
259
262
|
|
|
260
263
|
const write_tuple_functions = (props: {
|
|
@@ -265,9 +268,9 @@ export namespace RandomProgrammer {
|
|
|
265
268
|
.tuples()
|
|
266
269
|
.filter((a) => a.recursive)
|
|
267
270
|
.map((tuple, i) =>
|
|
268
|
-
StatementFactory.constant(
|
|
269
|
-
Prefix.tuple(i),
|
|
270
|
-
ts.factory.createArrowFunction(
|
|
271
|
+
StatementFactory.constant({
|
|
272
|
+
name: Prefix.tuple(i),
|
|
273
|
+
value: ts.factory.createArrowFunction(
|
|
271
274
|
undefined,
|
|
272
275
|
undefined,
|
|
273
276
|
[
|
|
@@ -297,7 +300,7 @@ export namespace RandomProgrammer {
|
|
|
297
300
|
elements: tuple.elements,
|
|
298
301
|
}),
|
|
299
302
|
),
|
|
300
|
-
),
|
|
303
|
+
}),
|
|
301
304
|
);
|
|
302
305
|
|
|
303
306
|
/* -----------------------------------------------------------
|
|
@@ -1005,39 +1008,41 @@ export namespace RandomProgrammer {
|
|
|
1005
1008
|
importer: props.importer,
|
|
1006
1009
|
name: "Uint8Array",
|
|
1007
1010
|
}),
|
|
1008
|
-
|
|
1011
|
+
"buffer",
|
|
1012
|
+
)
|
|
1009
1013
|
: ExpressionFactory.selfCall(
|
|
1010
1014
|
ts.factory.createBlock(
|
|
1011
1015
|
[
|
|
1012
|
-
StatementFactory.constant(
|
|
1013
|
-
"length",
|
|
1014
|
-
ts.factory.createCallExpression(
|
|
1016
|
+
StatementFactory.constant({
|
|
1017
|
+
name: "length",
|
|
1018
|
+
value: ts.factory.createCallExpression(
|
|
1015
1019
|
coalesce(props.importer)("integer"),
|
|
1016
1020
|
undefined,
|
|
1017
1021
|
[],
|
|
1018
1022
|
),
|
|
1019
|
-
),
|
|
1020
|
-
StatementFactory.constant(
|
|
1021
|
-
"buffer",
|
|
1022
|
-
ts.factory.createNewExpression(
|
|
1023
|
+
}),
|
|
1024
|
+
StatementFactory.constant({
|
|
1025
|
+
name: "buffer",
|
|
1026
|
+
value: ts.factory.createNewExpression(
|
|
1023
1027
|
ts.factory.createIdentifier("SharedArrayBuffer"),
|
|
1024
1028
|
[],
|
|
1025
1029
|
[ts.factory.createIdentifier("length")],
|
|
1026
1030
|
),
|
|
1027
|
-
),
|
|
1028
|
-
StatementFactory.constant(
|
|
1029
|
-
"bytes",
|
|
1030
|
-
ts.factory.createNewExpression(
|
|
1031
|
+
}),
|
|
1032
|
+
StatementFactory.constant({
|
|
1033
|
+
name: "bytes",
|
|
1034
|
+
value: ts.factory.createNewExpression(
|
|
1031
1035
|
ts.factory.createIdentifier("Uint8Array"),
|
|
1032
1036
|
[],
|
|
1033
1037
|
[ts.factory.createIdentifier("buffer")],
|
|
1034
1038
|
),
|
|
1035
|
-
),
|
|
1039
|
+
}),
|
|
1036
1040
|
ts.factory.createExpressionStatement(
|
|
1037
1041
|
ts.factory.createCallExpression(
|
|
1038
1042
|
IdentifierFactory.access(
|
|
1039
1043
|
ts.factory.createIdentifier("bytes"),
|
|
1040
|
-
|
|
1044
|
+
"set",
|
|
1045
|
+
),
|
|
1041
1046
|
undefined,
|
|
1042
1047
|
[
|
|
1043
1048
|
ts.factory.createCallExpression(
|
|
@@ -1084,7 +1089,8 @@ export namespace RandomProgrammer {
|
|
|
1084
1089
|
importer,
|
|
1085
1090
|
name: "Uint8Array",
|
|
1086
1091
|
}),
|
|
1087
|
-
|
|
1092
|
+
"buffer",
|
|
1093
|
+
),
|
|
1088
1094
|
],
|
|
1089
1095
|
);
|
|
1090
1096
|
|
|
@@ -1121,7 +1127,8 @@ const coalesce = (importer: FunctionImporter) => (name: string) =>
|
|
|
1121
1127
|
ts.factory.createToken(ts.SyntaxKind.QuestionDotToken),
|
|
1122
1128
|
ts.factory.createStringLiteral(name),
|
|
1123
1129
|
),
|
|
1124
|
-
|
|
1130
|
+
IdentifierFactory.access(importer.use("generator"), name),
|
|
1131
|
+
);
|
|
1125
1132
|
|
|
1126
1133
|
const emendFormat = (key: keyof Format.Validator) =>
|
|
1127
1134
|
key === "date-time"
|
|
@@ -105,7 +105,10 @@ export namespace ValidateProgrammer {
|
|
|
105
105
|
ts.factory.createTypeReferenceNode(
|
|
106
106
|
`typia.IValidation<${
|
|
107
107
|
props.name ??
|
|
108
|
-
TypeFactory.getFullName(
|
|
108
|
+
TypeFactory.getFullName({
|
|
109
|
+
checker: props.context.checker,
|
|
110
|
+
type: props.type,
|
|
111
|
+
})
|
|
109
112
|
}>`,
|
|
110
113
|
),
|
|
111
114
|
undefined,
|
|
@@ -142,7 +145,8 @@ export namespace ValidateProgrammer {
|
|
|
142
145
|
TypeFactory.keyword("any"),
|
|
143
146
|
),
|
|
144
147
|
),
|
|
145
|
-
|
|
148
|
+
"report",
|
|
149
|
+
),
|
|
146
150
|
[],
|
|
147
151
|
[ts.factory.createIdentifier("errors")],
|
|
148
152
|
),
|
|
@@ -166,13 +170,13 @@ export namespace ValidateProgrammer {
|
|
|
166
170
|
],
|
|
167
171
|
),
|
|
168
172
|
),
|
|
169
|
-
StatementFactory.constant(
|
|
170
|
-
"success",
|
|
171
|
-
ts.factory.createStrictEquality(
|
|
173
|
+
StatementFactory.constant({
|
|
174
|
+
name: "success",
|
|
175
|
+
value: ts.factory.createStrictEquality(
|
|
172
176
|
ExpressionFactory.number(0),
|
|
173
177
|
ts.factory.createIdentifier("errors.length"),
|
|
174
178
|
),
|
|
175
|
-
),
|
|
179
|
+
}),
|
|
176
180
|
ts.factory.createReturnStatement(
|
|
177
181
|
ts.factory.createAsExpression(
|
|
178
182
|
create_output(),
|
|
@@ -215,9 +219,12 @@ export namespace ValidateProgrammer {
|
|
|
215
219
|
statements: [
|
|
216
220
|
...is.statements,
|
|
217
221
|
...composed.statements,
|
|
218
|
-
StatementFactory.constant(
|
|
219
|
-
|
|
220
|
-
|
|
222
|
+
StatementFactory.constant({
|
|
223
|
+
name: "__is",
|
|
224
|
+
value: is.arrow,
|
|
225
|
+
}),
|
|
226
|
+
StatementFactory.mut({ name: "errors" }),
|
|
227
|
+
StatementFactory.mut({ name: "$report" }),
|
|
221
228
|
],
|
|
222
229
|
arrow,
|
|
223
230
|
};
|
|
@@ -363,7 +370,7 @@ const joiner = (props: {
|
|
|
363
370
|
array: (props) =>
|
|
364
371
|
check_everything(
|
|
365
372
|
ts.factory.createCallExpression(
|
|
366
|
-
IdentifierFactory.access(props.input
|
|
373
|
+
IdentifierFactory.access(props.input, "map"),
|
|
367
374
|
undefined,
|
|
368
375
|
[props.arrow],
|
|
369
376
|
),
|
|
@@ -92,9 +92,9 @@ export namespace FunctionalAssertParametersProgrammer {
|
|
|
92
92
|
|
|
93
93
|
export const decompose = (props: IDecomposeProps): IDecomposeOutput => ({
|
|
94
94
|
functions: props.parameters.map((p, i) =>
|
|
95
|
-
StatementFactory.constant(
|
|
96
|
-
`__assert_param_${i}`,
|
|
97
|
-
AssertProgrammer.write({
|
|
95
|
+
StatementFactory.constant({
|
|
96
|
+
name: `__assert_param_${i}`,
|
|
97
|
+
value: AssertProgrammer.write({
|
|
98
98
|
context: props.context,
|
|
99
99
|
modulo: props.modulo,
|
|
100
100
|
config: {
|
|
@@ -124,7 +124,7 @@ export namespace FunctionalAssertParametersProgrammer {
|
|
|
124
124
|
// ),
|
|
125
125
|
// undefined,
|
|
126
126
|
// [ts.factory.createIdentifier(p.name.getText())],
|
|
127
|
-
),
|
|
127
|
+
}),
|
|
128
128
|
),
|
|
129
129
|
expressions: props.parameters.map((p, i) =>
|
|
130
130
|
ts.factory.createCallExpression(
|
|
@@ -87,9 +87,9 @@ export namespace FunctionAssertReturnProgrammer {
|
|
|
87
87
|
return {
|
|
88
88
|
async,
|
|
89
89
|
functions: [
|
|
90
|
-
StatementFactory.constant(
|
|
91
|
-
"__assert_return",
|
|
92
|
-
AssertProgrammer.write({
|
|
90
|
+
StatementFactory.constant({
|
|
91
|
+
name: "__assert_return",
|
|
92
|
+
value: AssertProgrammer.write({
|
|
93
93
|
context: props.context,
|
|
94
94
|
modulo: props.modulo,
|
|
95
95
|
config: {
|
|
@@ -103,7 +103,7 @@ export namespace FunctionAssertReturnProgrammer {
|
|
|
103
103
|
replacer: "$input.return",
|
|
104
104
|
}),
|
|
105
105
|
}),
|
|
106
|
-
),
|
|
106
|
+
}),
|
|
107
107
|
],
|
|
108
108
|
value: ts.factory.createCallExpression(
|
|
109
109
|
ts.factory.createIdentifier("__assert_return"),
|
|
@@ -80,9 +80,9 @@ export namespace FunctionalIsParametersProgrammer {
|
|
|
80
80
|
|
|
81
81
|
export const decompose = (props: IDecomposeProps): IDecomposeOutput => ({
|
|
82
82
|
functions: props.declaration.parameters.map((p, i) =>
|
|
83
|
-
StatementFactory.constant(
|
|
84
|
-
`__is_param_${i}`,
|
|
85
|
-
IsProgrammer.write({
|
|
83
|
+
StatementFactory.constant({
|
|
84
|
+
name: `__is_param_${i}`,
|
|
85
|
+
value: IsProgrammer.write({
|
|
86
86
|
context: props.context,
|
|
87
87
|
modulo: props.modulo,
|
|
88
88
|
config: props.config,
|
|
@@ -92,7 +92,7 @@ export namespace FunctionalIsParametersProgrammer {
|
|
|
92
92
|
init: undefined,
|
|
93
93
|
name: undefined,
|
|
94
94
|
}),
|
|
95
|
-
),
|
|
95
|
+
}),
|
|
96
96
|
),
|
|
97
97
|
statements: props.declaration.parameters
|
|
98
98
|
.map((p, i) => [
|
|
@@ -81,21 +81,21 @@ export namespace FunctionalIsReturnProgrammer {
|
|
|
81
81
|
return {
|
|
82
82
|
async,
|
|
83
83
|
functions: [
|
|
84
|
-
StatementFactory.constant(
|
|
85
|
-
"__is_return",
|
|
86
|
-
IsProgrammer.write({
|
|
84
|
+
StatementFactory.constant({
|
|
85
|
+
name: "__is_return",
|
|
86
|
+
value: IsProgrammer.write({
|
|
87
87
|
...props,
|
|
88
88
|
type,
|
|
89
89
|
name: undefined,
|
|
90
90
|
init: undefined,
|
|
91
91
|
}),
|
|
92
|
-
),
|
|
92
|
+
}),
|
|
93
93
|
],
|
|
94
94
|
statements: [
|
|
95
|
-
StatementFactory.constant(
|
|
95
|
+
StatementFactory.constant({
|
|
96
96
|
name,
|
|
97
|
-
async ? ts.factory.createAwaitExpression(caller) : caller,
|
|
98
|
-
),
|
|
97
|
+
value: async ? ts.factory.createAwaitExpression(caller) : caller,
|
|
98
|
+
}),
|
|
99
99
|
ts.factory.createReturnStatement(
|
|
100
100
|
ts.factory.createConditionalExpression(
|
|
101
101
|
ts.factory.createCallExpression(
|
|
@@ -202,9 +202,9 @@ export namespace FunctionalValidateParametersProgrammer {
|
|
|
202
202
|
);
|
|
203
203
|
return {
|
|
204
204
|
functions: props.declaration.parameters.map((p, i) =>
|
|
205
|
-
StatementFactory.constant(
|
|
206
|
-
`__validate_param_${i}`,
|
|
207
|
-
ValidateProgrammer.write({
|
|
205
|
+
StatementFactory.constant({
|
|
206
|
+
name: `__validate_param_${i}`,
|
|
207
|
+
value: ValidateProgrammer.write({
|
|
208
208
|
...props,
|
|
209
209
|
type: props.context.checker.getTypeFromTypeNode(
|
|
210
210
|
p.type ?? TypeFactory.keyword("any"),
|
|
@@ -212,10 +212,13 @@ export namespace FunctionalValidateParametersProgrammer {
|
|
|
212
212
|
name: undefined,
|
|
213
213
|
init: undefined,
|
|
214
214
|
}),
|
|
215
|
-
),
|
|
215
|
+
}),
|
|
216
216
|
),
|
|
217
217
|
statements: [
|
|
218
|
-
StatementFactory.constant(
|
|
218
|
+
StatementFactory.constant({
|
|
219
|
+
name: resultName,
|
|
220
|
+
value: failures,
|
|
221
|
+
}),
|
|
219
222
|
ts.factory.createIfStatement(
|
|
220
223
|
ts.factory.createStrictInequality(
|
|
221
224
|
ts.factory.createNumericLiteral("0"),
|
|
@@ -238,7 +241,8 @@ export namespace FunctionalValidateParametersProgrammer {
|
|
|
238
241
|
ts.factory.createCallExpression(
|
|
239
242
|
IdentifierFactory.access(
|
|
240
243
|
ts.factory.createIdentifier(resultName),
|
|
241
|
-
|
|
244
|
+
"map",
|
|
245
|
+
),
|
|
242
246
|
undefined,
|
|
243
247
|
[
|
|
244
248
|
ts.factory.createArrowFunction(
|
|
@@ -254,11 +258,13 @@ export namespace FunctionalValidateParametersProgrammer {
|
|
|
254
258
|
undefined,
|
|
255
259
|
IdentifierFactory.access(
|
|
256
260
|
ts.factory.createIdentifier("r"),
|
|
257
|
-
|
|
261
|
+
"errors",
|
|
262
|
+
),
|
|
258
263
|
),
|
|
259
264
|
],
|
|
260
265
|
),
|
|
261
|
-
|
|
266
|
+
"flat",
|
|
267
|
+
),
|
|
262
268
|
undefined,
|
|
263
269
|
undefined,
|
|
264
270
|
),
|
|
@@ -82,25 +82,25 @@ export namespace FunctionalValidateReturnProgrammer {
|
|
|
82
82
|
return {
|
|
83
83
|
async,
|
|
84
84
|
functions: [
|
|
85
|
-
StatementFactory.constant(
|
|
86
|
-
"__validate_return",
|
|
87
|
-
ValidateProgrammer.write({
|
|
85
|
+
StatementFactory.constant({
|
|
86
|
+
name: "__validate_return",
|
|
87
|
+
value: ValidateProgrammer.write({
|
|
88
88
|
...props,
|
|
89
89
|
type,
|
|
90
90
|
name: undefined,
|
|
91
91
|
init: undefined,
|
|
92
92
|
}),
|
|
93
|
-
),
|
|
93
|
+
}),
|
|
94
94
|
],
|
|
95
95
|
statements: [
|
|
96
|
-
StatementFactory.constant(
|
|
96
|
+
StatementFactory.constant({
|
|
97
97
|
name,
|
|
98
|
-
ts.factory.createCallExpression(
|
|
98
|
+
value: ts.factory.createCallExpression(
|
|
99
99
|
ts.factory.createIdentifier("__validate_return"),
|
|
100
100
|
undefined,
|
|
101
101
|
[async ? ts.factory.createAwaitExpression(caller) : caller],
|
|
102
102
|
),
|
|
103
|
-
),
|
|
103
|
+
}),
|
|
104
104
|
ts.factory.createIfStatement(
|
|
105
105
|
ts.factory.createStrictEquality(
|
|
106
106
|
ts.factory.createFalse(),
|
|
@@ -44,7 +44,8 @@ export namespace CloneJoiner {
|
|
|
44
44
|
ts.factory.createStringLiteral(r.key.getSoleLiteral()!),
|
|
45
45
|
),
|
|
46
46
|
),
|
|
47
|
-
|
|
47
|
+
"some",
|
|
48
|
+
),
|
|
48
49
|
undefined,
|
|
49
50
|
[
|
|
50
51
|
ts.factory.createArrowFunction(
|
|
@@ -91,13 +92,19 @@ export namespace CloneJoiner {
|
|
|
91
92
|
);
|
|
92
93
|
|
|
93
94
|
return ts.factory.createBlock([
|
|
94
|
-
StatementFactory.constant(
|
|
95
|
-
"output",
|
|
96
|
-
ts.factory.createAsExpression(
|
|
97
|
-
|
|
95
|
+
StatementFactory.constant({
|
|
96
|
+
name: "output",
|
|
97
|
+
value: ts.factory.createAsExpression(
|
|
98
|
+
literal,
|
|
99
|
+
TypeFactory.keyword("any"),
|
|
100
|
+
),
|
|
101
|
+
}),
|
|
98
102
|
ts.factory.createForOfStatement(
|
|
99
103
|
undefined,
|
|
100
|
-
StatementFactory.entry(
|
|
104
|
+
StatementFactory.entry({
|
|
105
|
+
key: "key",
|
|
106
|
+
value: "value",
|
|
107
|
+
}),
|
|
101
108
|
ts.factory.createCallExpression(
|
|
102
109
|
ts.factory.createIdentifier("Object.entries"),
|
|
103
110
|
undefined,
|