typia 5.0.0-dev.20230824 → 5.0.0-dev.20230827
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 +1 -2
- package/lib/IRandomGenerator.d.ts +4 -3
- package/lib/factories/ExpressionFactory.d.ts +1 -1
- package/lib/factories/ExpressionFactory.js +1 -1
- package/lib/factories/ExpressionFactory.js.map +1 -1
- package/lib/factories/LiteralFactory.js +6 -2
- package/lib/factories/LiteralFactory.js.map +1 -1
- package/lib/factories/MetadataCollection.js +0 -1
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataCommentTagFactory.js +532 -0
- package/lib/factories/MetadataCommentTagFactory.js.map +1 -0
- package/lib/factories/MetadataTypeTagFactory.d.ts +6 -0
- package/lib/factories/MetadataTypeTagFactory.js +207 -0
- package/lib/factories/MetadataTypeTagFactory.js.map +1 -0
- package/lib/factories/NumericRangeFactory.d.ts +6 -0
- package/lib/factories/NumericRangeFactory.js +34 -0
- package/lib/factories/NumericRangeFactory.js.map +1 -0
- package/lib/factories/ProtobufFactory.js +41 -10
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/factories/internal/metadata/emend_metadata_atomics.js +7 -1
- package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_alias.js +1 -13
- package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_object.js +0 -1
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -1
- package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +3 -4
- package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js +8 -6
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
- package/lib/functional/Namespace.js +0 -16
- package/lib/functional/Namespace.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +28 -8
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +65 -52
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.d.ts +3 -5
- package/lib/programmers/FeatureProgrammer.js +6 -6
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.d.ts +1 -1
- package/lib/programmers/IsProgrammer.js +32 -19
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +155 -135
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +28 -8
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/CloneJoiner.js +10 -2
- package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
- package/lib/programmers/helpers/ICheckEntry.d.ts +3 -2
- package/lib/programmers/helpers/ProtobufUtil.d.ts +6 -2
- package/lib/programmers/helpers/ProtobufUtil.js +175 -17
- package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
- package/lib/programmers/helpers/RandomJoiner.d.ts +3 -5
- package/lib/programmers/helpers/RandomJoiner.js +7 -10
- package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomRanger.d.ts +5 -6
- package/lib/programmers/helpers/RandomRanger.js +13 -33
- package/lib/programmers/helpers/RandomRanger.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.d.ts +7 -8
- package/lib/programmers/helpers/UnionExplorer.js +6 -6
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/internal/application_alias.js +0 -1
- package/lib/programmers/internal/application_alias.js.map +1 -1
- package/lib/programmers/internal/application_array.js +60 -20
- package/lib/programmers/internal/application_array.js.map +1 -1
- package/lib/programmers/internal/application_number.js +95 -69
- package/lib/programmers/internal/application_number.js.map +1 -1
- package/lib/programmers/internal/application_object.js +0 -3
- package/lib/programmers/internal/application_object.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +37 -20
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/programmers/internal/application_string.js +56 -22
- package/lib/programmers/internal/application_string.js.map +1 -1
- package/lib/programmers/internal/check_array_length.js +25 -25
- package/lib/programmers/internal/check_array_length.js.map +1 -1
- package/lib/programmers/internal/check_bigint.js +13 -116
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_number.js +62 -163
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/internal/check_string.js +16 -52
- package/lib/programmers/internal/check_string.js.map +1 -1
- package/lib/programmers/internal/check_template.js +16 -1
- package/lib/programmers/internal/check_template.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.js +4 -4
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.js +1 -1
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/internal/random_custom.js +2 -2
- package/lib/programmers/internal/random_custom.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +21 -16
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +13 -9
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/{IsPruneProgrammer.d.ts → misc/MiscIsPruneProgrammer.d.ts} +2 -2
- package/lib/programmers/{IsPruneProgrammer.js → misc/MiscIsPruneProgrammer.js} +11 -11
- package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -0
- package/lib/programmers/misc/MiscPruneProgrammer.js +10 -6
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +24 -44
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +138 -65
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +59 -85
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/schemas/json/IJsonSchema.d.ts +10 -38
- package/lib/schemas/metadata/IMetadataAlias.d.ts +0 -2
- package/lib/schemas/metadata/IMetadataProperty.d.ts +0 -2
- package/lib/schemas/metadata/IMetadataTypeTag.d.ts +2 -0
- package/lib/schemas/metadata/Metadata.d.ts +2 -2
- package/lib/schemas/metadata/Metadata.js +25 -25
- package/lib/schemas/metadata/Metadata.js.map +1 -1
- package/lib/schemas/metadata/MetadataAlias.d.ts +0 -2
- package/lib/schemas/metadata/MetadataAlias.js +0 -3
- package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
- package/lib/schemas/metadata/MetadataArray.d.ts +2 -0
- package/lib/schemas/metadata/MetadataArray.js +45 -2
- package/lib/schemas/metadata/MetadataArray.js.map +1 -1
- package/lib/schemas/metadata/MetadataAtomic.d.ts +9 -0
- package/lib/schemas/metadata/MetadataAtomic.js +59 -0
- package/lib/schemas/metadata/MetadataAtomic.js.map +1 -0
- package/lib/schemas/metadata/MetadataProperty.d.ts +0 -2
- package/lib/schemas/metadata/MetadataProperty.js +0 -3
- package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
- package/lib/schemas/metadata/MetadataTuple.d.ts +4 -2
- package/lib/schemas/metadata/MetadataTuple.js +1 -2
- package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
- package/lib/tags/ExclusiveMaximum.d.ts +10 -8
- package/lib/tags/ExclusiveMinimum.d.ts +10 -8
- package/lib/tags/Format.d.ts +8 -8
- package/lib/tags/MaxItems.d.ts +8 -8
- package/lib/tags/MaxLength.d.ts +8 -8
- package/lib/tags/Maximum.d.ts +10 -8
- package/lib/tags/MinItems.d.ts +8 -8
- package/lib/tags/MinLength.d.ts +8 -8
- package/lib/tags/Minimum.d.ts +10 -8
- package/lib/tags/MultipleOf.d.ts +10 -8
- package/lib/tags/Pattern.d.ts +7 -8
- package/lib/tags/TagBase.d.ts +10 -6
- package/lib/tags/Type.d.ts +14 -13
- package/lib/tags/index.d.ts +1 -0
- package/lib/tags/index.js +1 -0
- package/lib/tags/index.js.map +1 -1
- package/lib/transformers/FileTransformer.js +3 -1
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +2 -2
- package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscIsPruneTransformer.js +2 -2
- package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
- package/lib/typings/ProtobufAtomic.d.ts +5 -0
- package/lib/{schemas/metadata/ICommentTag.js → typings/ProtobufAtomic.js} +1 -1
- package/lib/typings/ProtobufAtomic.js.map +1 -0
- package/package.json +2 -2
- package/src/IRandomGenerator.ts +4 -3
- package/src/factories/ExpressionFactory.ts +2 -2
- package/src/factories/LiteralFactory.ts +10 -3
- package/src/factories/MetadataCollection.ts +0 -1
- package/src/factories/MetadataCommentTagFactory.ts +583 -0
- package/src/factories/MetadataTypeTagFactory.ts +263 -0
- package/src/factories/NumericRangeFactory.ts +33 -0
- package/src/factories/ProtobufFactory.ts +27 -13
- package/src/factories/internal/metadata/emend_metadata_atomics.ts +6 -1
- package/src/factories/internal/metadata/emplace_metadata_alias.ts +0 -6
- package/src/factories/internal/metadata/emplace_metadata_object.ts +0 -1
- package/src/factories/internal/metadata/iterate_metadata_atomic.ts +2 -1
- package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +3 -7
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +13 -10
- package/src/functional/Namespace.ts +0 -16
- package/src/programmers/AssertProgrammer.ts +57 -21
- package/src/programmers/CheckerProgrammer.ts +43 -118
- package/src/programmers/FeatureProgrammer.ts +11 -33
- package/src/programmers/IsProgrammer.ts +52 -41
- package/src/programmers/RandomProgrammer.ts +206 -226
- package/src/programmers/ValidateProgrammer.ts +60 -21
- package/src/programmers/helpers/CloneJoiner.ts +57 -20
- package/src/programmers/helpers/ICheckEntry.ts +3 -2
- package/src/programmers/helpers/ProtobufUtil.ts +113 -17
- package/src/programmers/helpers/RandomJoiner.ts +11 -37
- package/src/programmers/helpers/RandomRanger.ts +16 -51
- package/src/programmers/helpers/UnionExplorer.ts +1 -20
- package/src/programmers/internal/application_alias.ts +0 -1
- package/src/programmers/internal/application_array.ts +32 -10
- package/src/programmers/internal/application_number.ts +76 -70
- package/src/programmers/internal/application_object.ts +0 -3
- package/src/programmers/internal/application_schema.ts +36 -18
- package/src/programmers/internal/application_string.ts +33 -27
- package/src/programmers/internal/check_array_length.ts +34 -28
- package/src/programmers/internal/check_bigint.ts +25 -118
- package/src/programmers/internal/check_dynamic_properties.ts +1 -2
- package/src/programmers/internal/check_number.ts +81 -261
- package/src/programmers/internal/check_string.ts +28 -39
- package/src/programmers/internal/check_template.ts +17 -1
- package/src/programmers/internal/check_union_array_like.ts +1 -16
- package/src/programmers/internal/feature_object_entries.ts +12 -18
- package/src/programmers/internal/random_custom.ts +3 -3
- package/src/programmers/json/JsonStringifyProgrammer.ts +25 -36
- package/src/programmers/misc/MiscCloneProgrammer.ts +10 -24
- package/src/programmers/{IsPruneProgrammer.ts → misc/MiscIsPruneProgrammer.ts} +7 -7
- package/src/programmers/misc/MiscPruneProgrammer.ts +8 -18
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +34 -68
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +153 -98
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +6 -36
- package/src/schemas/json/IJsonSchema.ts +11 -38
- package/src/schemas/metadata/IMetadataAlias.ts +0 -2
- package/src/schemas/metadata/IMetadataProperty.ts +0 -2
- package/src/schemas/metadata/IMetadataTypeTag.ts +2 -0
- package/src/schemas/metadata/Metadata.ts +28 -42
- package/src/schemas/metadata/MetadataAlias.ts +0 -5
- package/src/schemas/metadata/MetadataArray.ts +21 -3
- package/src/schemas/metadata/MetadataAtomic.ts +42 -0
- package/src/schemas/metadata/MetadataProperty.ts +0 -5
- package/src/schemas/metadata/MetadataTuple.ts +5 -4
- package/src/tags/ExclusiveMaximum.ts +13 -8
- package/src/tags/ExclusiveMinimum.ts +13 -8
- package/src/tags/Format.ts +21 -20
- package/src/tags/MaxItems.ts +9 -8
- package/src/tags/MaxLength.ts +9 -8
- package/src/tags/Maximum.ts +13 -8
- package/src/tags/MinItems.ts +9 -8
- package/src/tags/MinLength.ts +9 -8
- package/src/tags/Minimum.ts +13 -8
- package/src/tags/MultipleOf.ts +15 -10
- package/src/tags/Pattern.ts +8 -8
- package/src/tags/TagBase.ts +18 -13
- package/src/tags/Type.ts +26 -29
- package/src/tags/index.ts +1 -0
- package/src/transformers/FileTransformer.ts +4 -4
- package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +2 -2
- package/src/transformers/features/misc/MiscIsPruneTransformer.ts +2 -2
- package/src/typings/ProtobufAtomic.ts +19 -0
- package/lib/factories/MetadataTagFactory.d.ts +0 -6
- package/lib/factories/MetadataTagFactory.js +0 -312
- package/lib/factories/MetadataTagFactory.js.map +0 -1
- package/lib/factories/internal/metadata/iterate_metadata_type_tags.d.ts +0 -3
- package/lib/factories/internal/metadata/iterate_metadata_type_tags.js +0 -157
- package/lib/factories/internal/metadata/iterate_metadata_type_tags.js.map +0 -1
- package/lib/functional/$is_custom.d.ts +0 -2
- package/lib/functional/$is_custom.js +0 -13
- package/lib/functional/$is_custom.js.map +0 -1
- package/lib/functional/$is_date.d.ts +0 -1
- package/lib/functional/$is_date.js +0 -7
- package/lib/functional/$is_date.js.map +0 -1
- package/lib/functional/$is_datetime.d.ts +0 -1
- package/lib/functional/$is_datetime.js +0 -8
- package/lib/functional/$is_datetime.js.map +0 -1
- package/lib/functional/$is_email.d.ts +0 -1
- package/lib/functional/$is_email.js +0 -7
- package/lib/functional/$is_email.js.map +0 -1
- package/lib/functional/$is_ipv4.d.ts +0 -1
- package/lib/functional/$is_ipv4.js +0 -7
- package/lib/functional/$is_ipv4.js.map +0 -1
- package/lib/functional/$is_ipv6.d.ts +0 -1
- package/lib/functional/$is_ipv6.js +0 -7
- package/lib/functional/$is_ipv6.js.map +0 -1
- package/lib/functional/$is_url.d.ts +0 -1
- package/lib/functional/$is_url.js +0 -7
- package/lib/functional/$is_url.js.map +0 -1
- package/lib/functional/$is_uuid.d.ts +0 -1
- package/lib/functional/$is_uuid.js +0 -7
- package/lib/functional/$is_uuid.js.map +0 -1
- package/lib/programmers/IsPruneProgrammer.js.map +0 -1
- package/lib/programmers/internal/check_array_tags.js +0 -39
- package/lib/programmers/internal/check_array_tags.js.map +0 -1
- package/lib/programmers/internal/check_string_tags.d.ts +0 -1
- package/lib/programmers/internal/check_string_tags.js +0 -89
- package/lib/programmers/internal/check_string_tags.js.map +0 -1
- package/lib/programmers/internal/get_comment_tags.d.ts +0 -1
- package/lib/programmers/internal/get_comment_tags.js +0 -25
- package/lib/programmers/internal/get_comment_tags.js.map +0 -1
- package/lib/schemas/metadata/ICommentTag.d.ts +0 -4
- package/lib/schemas/metadata/ICommentTag.js.map +0 -1
- package/lib/schemas/metadata/IMetadataCommentTag.d.ts +0 -63
- package/lib/schemas/metadata/IMetadataCommentTag.js +0 -3
- package/lib/schemas/metadata/IMetadataCommentTag.js.map +0 -1
- package/src/factories/MetadataTagFactory.ts +0 -365
- package/src/factories/internal/metadata/iterate_metadata_type_tags.ts +0 -183
- package/src/functional/$is_custom.ts +0 -14
- package/src/functional/$is_date.ts +0 -3
- package/src/functional/$is_datetime.ts +0 -2
- package/src/functional/$is_email.ts +0 -4
- package/src/functional/$is_ipv4.ts +0 -4
- package/src/functional/$is_ipv6.ts +0 -4
- package/src/functional/$is_url.ts +0 -4
- package/src/functional/$is_uuid.ts +0 -4
- package/src/programmers/internal/check_array_tags.ts +0 -45
- package/src/programmers/internal/check_string_tags.ts +0 -67
- package/src/programmers/internal/get_comment_tags.ts +0 -23
- package/src/schemas/metadata/ICommentTag.ts +0 -4
- package/src/schemas/metadata/IMetadataCommentTag.ts +0 -112
- /package/lib/{programmers/internal/check_array_tags.d.ts → factories/MetadataCommentTagFactory.d.ts} +0 -0
|
@@ -8,11 +8,9 @@ import { StatementFactory } from "../../factories/StatementFactory";
|
|
|
8
8
|
import { TypeFactory } from "../../factories/TypeFactory";
|
|
9
9
|
import { ValueFactory } from "../../factories/ValueFactory";
|
|
10
10
|
|
|
11
|
-
import { IJsDocTagInfo } from "../../schemas/metadata/IJsDocTagInfo";
|
|
12
|
-
import { IMetadataCommentTag } from "../../schemas/metadata/IMetadataCommentTag";
|
|
13
11
|
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
14
12
|
import { MetadataArray } from "../../schemas/metadata/MetadataArray";
|
|
15
|
-
import {
|
|
13
|
+
import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
|
|
16
14
|
import { MetadataObject } from "../../schemas/metadata/MetadataObject";
|
|
17
15
|
import { MetadataTuple } from "../../schemas/metadata/MetadataTuple";
|
|
18
16
|
import { MetadataTupleType } from "../../schemas/metadata/MetadataTupleType";
|
|
@@ -68,7 +66,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
68
66
|
collection
|
|
69
67
|
.arrays()
|
|
70
68
|
.filter((a) => a.recursive)
|
|
71
|
-
.map((
|
|
69
|
+
.map((type, i) =>
|
|
72
70
|
StatementFactory.constant(
|
|
73
71
|
`${config.prefix}a${i}`,
|
|
74
72
|
ts.factory.createArrowFunction(
|
|
@@ -81,7 +79,10 @@ export namespace JsonStringifyProgrammer {
|
|
|
81
79
|
undefined,
|
|
82
80
|
decode_array_inline(config)(importer)(
|
|
83
81
|
ts.factory.createIdentifier("input"),
|
|
84
|
-
|
|
82
|
+
MetadataArray.create({
|
|
83
|
+
type,
|
|
84
|
+
tags: [],
|
|
85
|
+
}),
|
|
85
86
|
{
|
|
86
87
|
tracable: config.trace,
|
|
87
88
|
source: "function",
|
|
@@ -215,7 +216,9 @@ export namespace JsonStringifyProgrammer {
|
|
|
215
216
|
)
|
|
216
217
|
if (AtomicPredicator.template(meta)) {
|
|
217
218
|
const partial = Metadata.initialize();
|
|
218
|
-
partial.atomics.push(
|
|
219
|
+
partial.atomics.push(
|
|
220
|
+
MetadataAtomic.create({ type: "string", tags: [] }),
|
|
221
|
+
),
|
|
219
222
|
unions.push({
|
|
220
223
|
type: "template literal",
|
|
221
224
|
is: () =>
|
|
@@ -223,8 +226,6 @@ export namespace JsonStringifyProgrammer {
|
|
|
223
226
|
input,
|
|
224
227
|
partial,
|
|
225
228
|
explore,
|
|
226
|
-
[],
|
|
227
|
-
[],
|
|
228
229
|
),
|
|
229
230
|
value: () =>
|
|
230
231
|
decode_atomic(project)(importer)(
|
|
@@ -247,15 +248,15 @@ export namespace JsonStringifyProgrammer {
|
|
|
247
248
|
input,
|
|
248
249
|
(() => {
|
|
249
250
|
const partial = Metadata.initialize();
|
|
250
|
-
partial.atomics.push(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
251
|
+
partial.atomics.push(
|
|
252
|
+
MetadataAtomic.create({
|
|
253
|
+
type: constant.type,
|
|
254
|
+
tags: [],
|
|
255
|
+
}),
|
|
256
|
+
);
|
|
254
257
|
return partial;
|
|
255
258
|
})(),
|
|
256
259
|
explore,
|
|
257
|
-
[],
|
|
258
|
-
[],
|
|
259
260
|
),
|
|
260
261
|
value: () =>
|
|
261
262
|
decode_atomic(project)(importer)(
|
|
@@ -272,15 +273,15 @@ export namespace JsonStringifyProgrammer {
|
|
|
272
273
|
input,
|
|
273
274
|
(() => {
|
|
274
275
|
const partial = Metadata.initialize();
|
|
275
|
-
partial.atomics.push(
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
276
|
+
partial.atomics.push(
|
|
277
|
+
MetadataAtomic.create({
|
|
278
|
+
type: "string",
|
|
279
|
+
tags: [],
|
|
280
|
+
}),
|
|
281
|
+
);
|
|
279
282
|
return partial;
|
|
280
283
|
})(),
|
|
281
284
|
explore,
|
|
282
|
-
[],
|
|
283
|
-
[],
|
|
284
285
|
),
|
|
285
286
|
value: () =>
|
|
286
287
|
decode_constant_string(project)(importer)(
|
|
@@ -304,8 +305,6 @@ export namespace JsonStringifyProgrammer {
|
|
|
304
305
|
return partial;
|
|
305
306
|
})(),
|
|
306
307
|
explore,
|
|
307
|
-
[],
|
|
308
|
-
[],
|
|
309
308
|
),
|
|
310
309
|
value: () =>
|
|
311
310
|
decode_atomic(project)(importer)(
|
|
@@ -333,8 +332,6 @@ export namespace JsonStringifyProgrammer {
|
|
|
333
332
|
return partial;
|
|
334
333
|
})(),
|
|
335
334
|
explore,
|
|
336
|
-
[],
|
|
337
|
-
[],
|
|
338
335
|
),
|
|
339
336
|
value: () =>
|
|
340
337
|
decode_tuple(project)(config)(importer)(
|
|
@@ -534,23 +531,19 @@ export namespace JsonStringifyProgrammer {
|
|
|
534
531
|
from: "array",
|
|
535
532
|
})(input),
|
|
536
533
|
)
|
|
537
|
-
: decode_array_inline(config)(importer)(
|
|
538
|
-
input,
|
|
539
|
-
array.type,
|
|
540
|
-
explore,
|
|
541
|
-
);
|
|
534
|
+
: decode_array_inline(config)(importer)(input, array, explore);
|
|
542
535
|
|
|
543
536
|
const decode_array_inline =
|
|
544
537
|
(config: FeatureProgrammer.IConfig) =>
|
|
545
538
|
(importer: FunctionImporter) =>
|
|
546
539
|
(
|
|
547
540
|
input: ts.Expression,
|
|
548
|
-
array:
|
|
541
|
+
array: MetadataArray,
|
|
549
542
|
explore: FeatureProgrammer.IExplore,
|
|
550
543
|
) =>
|
|
551
544
|
FeatureProgrammer.decode_array(config)(importer)(
|
|
552
545
|
StringifyJoiner.array,
|
|
553
|
-
)(input, array, explore
|
|
546
|
+
)(input, array, explore);
|
|
554
547
|
|
|
555
548
|
const decode_tuple =
|
|
556
549
|
(project: IProject) =>
|
|
@@ -765,8 +758,6 @@ export namespace JsonStringifyProgrammer {
|
|
|
765
758
|
input: ts.Expression,
|
|
766
759
|
elements: T[],
|
|
767
760
|
explore: FeatureProgrammer.IExplore,
|
|
768
|
-
tags: IMetadataCommentTag[],
|
|
769
|
-
jsDocTags: IJsDocTagInfo[],
|
|
770
761
|
) => ts.ArrowFunction,
|
|
771
762
|
) =>
|
|
772
763
|
(
|
|
@@ -778,7 +769,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
778
769
|
(parameters: ts.ParameterDeclaration[]) =>
|
|
779
770
|
(explore: FeatureProgrammer.IExplore) =>
|
|
780
771
|
(input: ts.Expression): ts.ArrowFunction =>
|
|
781
|
-
factory(parameters)(input, elements, explore
|
|
772
|
+
factory(parameters)(input, elements, explore);
|
|
782
773
|
if (elements.every((e) => e.type.recursive === false))
|
|
783
774
|
ts.factory.createCallExpression(
|
|
784
775
|
arrow([])(explore)(input),
|
|
@@ -921,8 +912,6 @@ export namespace JsonStringifyProgrammer {
|
|
|
921
912
|
input,
|
|
922
913
|
meta,
|
|
923
914
|
explore,
|
|
924
|
-
[],
|
|
925
|
-
[],
|
|
926
915
|
),
|
|
927
916
|
decoder: () => decode_object(importer),
|
|
928
917
|
joiner: StringifyJoiner.object(importer),
|
|
@@ -7,11 +7,8 @@ import { MetadataFactory } from "../../factories/MetadataFactory";
|
|
|
7
7
|
import { StatementFactory } from "../../factories/StatementFactory";
|
|
8
8
|
import { TypeFactory } from "../../factories/TypeFactory";
|
|
9
9
|
|
|
10
|
-
import { IJsDocTagInfo } from "../../schemas/metadata/IJsDocTagInfo";
|
|
11
|
-
import { IMetadataCommentTag } from "../../schemas/metadata/IMetadataCommentTag";
|
|
12
10
|
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
13
11
|
import { MetadataArray } from "../../schemas/metadata/MetadataArray";
|
|
14
|
-
import { MetadataArrayType } from "../../schemas/metadata/MetadataArrayType";
|
|
15
12
|
import { MetadataTuple } from "../../schemas/metadata/MetadataTuple";
|
|
16
13
|
import { MetadataTupleType } from "../../schemas/metadata/MetadataTupleType";
|
|
17
14
|
|
|
@@ -49,7 +46,7 @@ export namespace MiscCloneProgrammer {
|
|
|
49
46
|
collection
|
|
50
47
|
.arrays()
|
|
51
48
|
.filter((a) => a.recursive)
|
|
52
|
-
.map((
|
|
49
|
+
.map((type, i) =>
|
|
53
50
|
StatementFactory.constant(
|
|
54
51
|
`${config.prefix}a${i}`,
|
|
55
52
|
ts.factory.createArrowFunction(
|
|
@@ -62,7 +59,10 @@ export namespace MiscCloneProgrammer {
|
|
|
62
59
|
undefined,
|
|
63
60
|
decode_array_inline(config)(importer)(
|
|
64
61
|
ts.factory.createIdentifier("input"),
|
|
65
|
-
|
|
62
|
+
MetadataArray.create({
|
|
63
|
+
type,
|
|
64
|
+
tags: [],
|
|
65
|
+
}),
|
|
66
66
|
{
|
|
67
67
|
tracable: config.trace,
|
|
68
68
|
source: "function",
|
|
@@ -154,8 +154,6 @@ export namespace MiscCloneProgrammer {
|
|
|
154
154
|
return partial;
|
|
155
155
|
})(),
|
|
156
156
|
explore,
|
|
157
|
-
[],
|
|
158
|
-
[],
|
|
159
157
|
),
|
|
160
158
|
value: () =>
|
|
161
159
|
decode_tuple(project)(config)(importer)(
|
|
@@ -284,26 +282,20 @@ export namespace MiscCloneProgrammer {
|
|
|
284
282
|
from: "array",
|
|
285
283
|
})(input),
|
|
286
284
|
)
|
|
287
|
-
: decode_array_inline(config)(importer)(
|
|
288
|
-
input,
|
|
289
|
-
array.type,
|
|
290
|
-
explore,
|
|
291
|
-
);
|
|
285
|
+
: decode_array_inline(config)(importer)(input, array, explore);
|
|
292
286
|
|
|
293
287
|
const decode_array_inline =
|
|
294
288
|
(config: FeatureProgrammer.IConfig) =>
|
|
295
289
|
(importer: FunctionImporter) =>
|
|
296
290
|
(
|
|
297
291
|
input: ts.Expression,
|
|
298
|
-
array:
|
|
292
|
+
array: MetadataArray,
|
|
299
293
|
explore: FeatureProgrammer.IExplore,
|
|
300
294
|
) =>
|
|
301
295
|
FeatureProgrammer.decode_array(config)(importer)(CloneJoiner.array)(
|
|
302
296
|
input,
|
|
303
297
|
array,
|
|
304
298
|
explore,
|
|
305
|
-
[],
|
|
306
|
-
[],
|
|
307
299
|
);
|
|
308
300
|
|
|
309
301
|
const decode_tuple =
|
|
@@ -505,7 +497,7 @@ export namespace MiscCloneProgrammer {
|
|
|
505
497
|
success: ts.factory.createTrue(),
|
|
506
498
|
failure: (input, expected) =>
|
|
507
499
|
create_throw_error(importer)(expected)(input),
|
|
508
|
-
})([])(input, sets, explore
|
|
500
|
+
})([])(input, sets, explore),
|
|
509
501
|
undefined,
|
|
510
502
|
undefined,
|
|
511
503
|
);
|
|
@@ -534,8 +526,6 @@ export namespace MiscCloneProgrammer {
|
|
|
534
526
|
...explore,
|
|
535
527
|
postfix: `${explore.postfix}[0]`,
|
|
536
528
|
},
|
|
537
|
-
[],
|
|
538
|
-
[],
|
|
539
529
|
),
|
|
540
530
|
func(
|
|
541
531
|
ts.factory.createElementAccessExpression(
|
|
@@ -547,8 +537,6 @@ export namespace MiscCloneProgrammer {
|
|
|
547
537
|
...explore,
|
|
548
538
|
postfix: `${explore.postfix}[1]`,
|
|
549
539
|
},
|
|
550
|
-
[],
|
|
551
|
-
[],
|
|
552
540
|
),
|
|
553
541
|
);
|
|
554
542
|
},
|
|
@@ -578,7 +566,7 @@ export namespace MiscCloneProgrammer {
|
|
|
578
566
|
success: ts.factory.createTrue(),
|
|
579
567
|
failure: (input, expected) =>
|
|
580
568
|
create_throw_error(importer)(expected)(input),
|
|
581
|
-
})([])(input, maps, explore
|
|
569
|
+
})([])(input, maps, explore),
|
|
582
570
|
undefined,
|
|
583
571
|
undefined,
|
|
584
572
|
);
|
|
@@ -637,8 +625,6 @@ export namespace MiscCloneProgrammer {
|
|
|
637
625
|
input: ts.Expression,
|
|
638
626
|
elements: T[],
|
|
639
627
|
explore: FeatureProgrammer.IExplore,
|
|
640
|
-
tags: IMetadataCommentTag[],
|
|
641
|
-
jsDocTags: IJsDocTagInfo[],
|
|
642
628
|
) => ts.ArrowFunction,
|
|
643
629
|
) =>
|
|
644
630
|
(
|
|
@@ -650,7 +636,7 @@ export namespace MiscCloneProgrammer {
|
|
|
650
636
|
(parameters: ts.ParameterDeclaration[]) =>
|
|
651
637
|
(explore: FeatureProgrammer.IExplore) =>
|
|
652
638
|
(input: ts.Expression): ts.ArrowFunction =>
|
|
653
|
-
factory(parameters)(input, elements, explore
|
|
639
|
+
factory(parameters)(input, elements, explore);
|
|
654
640
|
if (elements.every((e) => e.type.recursive === false))
|
|
655
641
|
ts.factory.createCallExpression(
|
|
656
642
|
arrow([])(explore)(input),
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
|
-
import { IdentifierFactory } from "
|
|
4
|
-
import { StatementFactory } from "
|
|
5
|
-
import { TypeFactory } from "
|
|
3
|
+
import { IdentifierFactory } from "../../factories/IdentifierFactory";
|
|
4
|
+
import { StatementFactory } from "../../factories/StatementFactory";
|
|
5
|
+
import { TypeFactory } from "../../factories/TypeFactory";
|
|
6
6
|
|
|
7
|
-
import { IProject } from "
|
|
7
|
+
import { IProject } from "../../transformers/IProject";
|
|
8
8
|
|
|
9
|
-
import { IsProgrammer } from "
|
|
10
|
-
import { MiscPruneProgrammer } from "./
|
|
9
|
+
import { IsProgrammer } from "../IsProgrammer";
|
|
10
|
+
import { MiscPruneProgrammer } from "./MiscPruneProgrammer";
|
|
11
11
|
|
|
12
|
-
export namespace
|
|
12
|
+
export namespace MiscIsPruneProgrammer {
|
|
13
13
|
export const write =
|
|
14
14
|
(project: IProject) =>
|
|
15
15
|
(modulo: ts.LeftHandSideExpression) =>
|
|
@@ -7,11 +7,8 @@ import { MetadataFactory } from "../../factories/MetadataFactory";
|
|
|
7
7
|
import { StatementFactory } from "../../factories/StatementFactory";
|
|
8
8
|
import { TypeFactory } from "../../factories/TypeFactory";
|
|
9
9
|
|
|
10
|
-
import { IJsDocTagInfo } from "../../schemas/metadata/IJsDocTagInfo";
|
|
11
|
-
import { IMetadataCommentTag } from "../../schemas/metadata/IMetadataCommentTag";
|
|
12
10
|
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
13
11
|
import { MetadataArray } from "../../schemas/metadata/MetadataArray";
|
|
14
|
-
import { MetadataArrayType } from "../../schemas/metadata/MetadataArrayType";
|
|
15
12
|
import { MetadataTuple } from "../../schemas/metadata/MetadataTuple";
|
|
16
13
|
import { MetadataTupleType } from "../../schemas/metadata/MetadataTupleType";
|
|
17
14
|
|
|
@@ -49,7 +46,7 @@ export namespace MiscPruneProgrammer {
|
|
|
49
46
|
collection
|
|
50
47
|
.arrays()
|
|
51
48
|
.filter((a) => a.recursive)
|
|
52
|
-
.map((
|
|
49
|
+
.map((type, i) =>
|
|
53
50
|
StatementFactory.constant(
|
|
54
51
|
`${config.prefix}a${i}`,
|
|
55
52
|
ts.factory.createArrowFunction(
|
|
@@ -62,7 +59,10 @@ export namespace MiscPruneProgrammer {
|
|
|
62
59
|
undefined,
|
|
63
60
|
decode_array_inline(config)(importer)(
|
|
64
61
|
ts.factory.createIdentifier("input"),
|
|
65
|
-
|
|
62
|
+
MetadataArray.create({
|
|
63
|
+
type,
|
|
64
|
+
tags: [],
|
|
65
|
+
}),
|
|
66
66
|
{
|
|
67
67
|
tracable: config.trace,
|
|
68
68
|
source: "function",
|
|
@@ -146,8 +146,6 @@ export namespace MiscPruneProgrammer {
|
|
|
146
146
|
return partial;
|
|
147
147
|
})(),
|
|
148
148
|
explore,
|
|
149
|
-
[],
|
|
150
|
-
[],
|
|
151
149
|
),
|
|
152
150
|
value: () =>
|
|
153
151
|
decode_tuple(project)(config)(importer)(
|
|
@@ -255,26 +253,20 @@ export namespace MiscPruneProgrammer {
|
|
|
255
253
|
from: "array",
|
|
256
254
|
})(input),
|
|
257
255
|
)
|
|
258
|
-
: decode_array_inline(config)(importer)(
|
|
259
|
-
input,
|
|
260
|
-
array.type,
|
|
261
|
-
explore,
|
|
262
|
-
);
|
|
256
|
+
: decode_array_inline(config)(importer)(input, array, explore);
|
|
263
257
|
|
|
264
258
|
const decode_array_inline =
|
|
265
259
|
(config: FeatureProgrammer.IConfig) =>
|
|
266
260
|
(importer: FunctionImporter) =>
|
|
267
261
|
(
|
|
268
262
|
input: ts.Expression,
|
|
269
|
-
array:
|
|
263
|
+
array: MetadataArray,
|
|
270
264
|
explore: FeatureProgrammer.IExplore,
|
|
271
265
|
): ts.Expression =>
|
|
272
266
|
FeatureProgrammer.decode_array(config)(importer)(PruneJoiner.array)(
|
|
273
267
|
input,
|
|
274
268
|
array,
|
|
275
269
|
explore,
|
|
276
|
-
[],
|
|
277
|
-
[],
|
|
278
270
|
);
|
|
279
271
|
|
|
280
272
|
const decode_tuple =
|
|
@@ -414,8 +406,6 @@ export namespace MiscPruneProgrammer {
|
|
|
414
406
|
input: ts.Expression,
|
|
415
407
|
elements: T[],
|
|
416
408
|
explore: FeatureProgrammer.IExplore,
|
|
417
|
-
tags: IMetadataCommentTag[],
|
|
418
|
-
jsDocTags: IJsDocTagInfo[],
|
|
419
409
|
) => ts.ArrowFunction,
|
|
420
410
|
) =>
|
|
421
411
|
(
|
|
@@ -427,7 +417,7 @@ export namespace MiscPruneProgrammer {
|
|
|
427
417
|
(parameters: ts.ParameterDeclaration[]) =>
|
|
428
418
|
(explore: FeatureProgrammer.IExplore) =>
|
|
429
419
|
(input: ts.Expression): ts.ArrowFunction =>
|
|
430
|
-
factory(parameters)(input, elements, explore
|
|
420
|
+
factory(parameters)(input, elements, explore);
|
|
431
421
|
if (elements.every((e) => e.type.recursive === false))
|
|
432
422
|
ts.factory.createCallExpression(
|
|
433
423
|
arrow([])(explore)(input),
|
|
@@ -8,7 +8,6 @@ import { ProtobufFactory } from "../../factories/ProtobufFactory";
|
|
|
8
8
|
import { StatementFactory } from "../../factories/StatementFactory";
|
|
9
9
|
import { TypeFactory } from "../../factories/TypeFactory";
|
|
10
10
|
|
|
11
|
-
import { IMetadataCommentTag } from "../../schemas/metadata/IMetadataCommentTag";
|
|
12
11
|
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
13
12
|
import { MetadataArray } from "../../schemas/metadata/MetadataArray";
|
|
14
13
|
import { MetadataObject } from "../../schemas/metadata/MetadataObject";
|
|
@@ -16,7 +15,7 @@ import { MetadataProperty } from "../../schemas/metadata/MetadataProperty";
|
|
|
16
15
|
|
|
17
16
|
import { IProject } from "../../transformers/IProject";
|
|
18
17
|
|
|
19
|
-
import {
|
|
18
|
+
import { ProtobufAtomic } from "../../typings/ProtobufAtomic";
|
|
20
19
|
|
|
21
20
|
import { FunctionImporter } from "../helpers/FunctionImporeter";
|
|
22
21
|
import { ProtobufUtil } from "../helpers/ProtobufUtil";
|
|
@@ -166,9 +165,8 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
166
165
|
ts.factory.createIdentifier(props.output),
|
|
167
166
|
)(p.key.getSoleLiteral()!),
|
|
168
167
|
p.value,
|
|
169
|
-
p.tags,
|
|
170
168
|
);
|
|
171
|
-
i += p.value
|
|
169
|
+
i += ProtobufUtil.size(p.value);
|
|
172
170
|
return clause;
|
|
173
171
|
})
|
|
174
172
|
.flat();
|
|
@@ -280,7 +278,6 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
280
278
|
(
|
|
281
279
|
accessor: ts.ElementAccessExpression | ts.PropertyAccessExpression,
|
|
282
280
|
meta: Metadata,
|
|
283
|
-
tags: IMetadataCommentTag[],
|
|
284
281
|
): ts.CaseClause[] => {
|
|
285
282
|
const clauses: ts.CaseClause[] = [];
|
|
286
283
|
const emplace =
|
|
@@ -320,20 +317,15 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
320
317
|
|
|
321
318
|
const required: boolean = meta.isRequired() && !meta.nullable;
|
|
322
319
|
for (const atomic of ProtobufUtil.getAtomics(meta))
|
|
323
|
-
emplace(atomic)(decode_atomic(atomic
|
|
320
|
+
emplace(atomic)(decode_atomic(meta)(atomic));
|
|
324
321
|
if (meta.natives.length) emplace("bytes")(decode_bytes("bytes"));
|
|
325
322
|
for (const array of meta.arrays)
|
|
326
323
|
emplace(`Array<${array.type.value.getName()}>`)(
|
|
327
|
-
decode_array(accessor, array, required
|
|
324
|
+
decode_array(accessor, array, required),
|
|
328
325
|
);
|
|
329
326
|
for (const map of meta.maps)
|
|
330
327
|
emplace(`Map<string, ${map.value.getName()}>`)(
|
|
331
|
-
decode_map(project)(importer)(
|
|
332
|
-
accessor,
|
|
333
|
-
map,
|
|
334
|
-
required,
|
|
335
|
-
tags,
|
|
336
|
-
),
|
|
328
|
+
decode_map(project)(importer)(accessor, map, required),
|
|
337
329
|
);
|
|
338
330
|
for (const obj of meta.objects)
|
|
339
331
|
emplace(obj.name)(
|
|
@@ -348,49 +340,31 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
348
340
|
return clauses;
|
|
349
341
|
};
|
|
350
342
|
|
|
351
|
-
const decode_atomic =
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
})()
|
|
377
|
-
: "bool";
|
|
378
|
-
const call = ts.factory.createCallExpression(
|
|
379
|
-
IdentifierFactory.access(ts.factory.createIdentifier("reader"))(
|
|
380
|
-
method,
|
|
381
|
-
),
|
|
382
|
-
undefined,
|
|
383
|
-
undefined,
|
|
384
|
-
);
|
|
385
|
-
return atomic === "number" &&
|
|
386
|
-
(method === "int64" || method === "uint64")
|
|
387
|
-
? ts.factory.createCallExpression(
|
|
388
|
-
ts.factory.createIdentifier("Number"),
|
|
389
|
-
undefined,
|
|
390
|
-
[call],
|
|
391
|
-
)
|
|
392
|
-
: call;
|
|
393
|
-
};
|
|
343
|
+
const decode_atomic =
|
|
344
|
+
(meta: Metadata) =>
|
|
345
|
+
(atomic: ProtobufAtomic): ts.Expression => {
|
|
346
|
+
if (atomic === "string") return decode_bytes("string");
|
|
347
|
+
|
|
348
|
+
const call: ts.CallExpression = ts.factory.createCallExpression(
|
|
349
|
+
IdentifierFactory.access(ts.factory.createIdentifier("reader"))(
|
|
350
|
+
atomic,
|
|
351
|
+
),
|
|
352
|
+
undefined,
|
|
353
|
+
undefined,
|
|
354
|
+
);
|
|
355
|
+
if (atomic !== "int64" && atomic !== "uint64") return call;
|
|
356
|
+
|
|
357
|
+
const isNumber: boolean = ProtobufUtil.getNumbers(meta).some(
|
|
358
|
+
(n) => n === atomic,
|
|
359
|
+
);
|
|
360
|
+
return isNumber
|
|
361
|
+
? ts.factory.createCallExpression(
|
|
362
|
+
ts.factory.createIdentifier("Number"),
|
|
363
|
+
undefined,
|
|
364
|
+
[call],
|
|
365
|
+
)
|
|
366
|
+
: call;
|
|
367
|
+
};
|
|
394
368
|
|
|
395
369
|
const decode_bytes = (method: "bytes" | "string"): ts.Expression =>
|
|
396
370
|
ts.factory.createCallExpression(
|
|
@@ -405,7 +379,6 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
405
379
|
accessor: ts.ElementAccessExpression | ts.PropertyAccessExpression,
|
|
406
380
|
array: MetadataArray,
|
|
407
381
|
required: boolean,
|
|
408
|
-
tags: IMetadataCommentTag[],
|
|
409
382
|
): ts.Statement[] => {
|
|
410
383
|
const statements: Array<ts.Expression | ts.Statement> = [];
|
|
411
384
|
if (required === false)
|
|
@@ -423,7 +396,7 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
423
396
|
);
|
|
424
397
|
const atomics = ProtobufUtil.getAtomics(array.type.value);
|
|
425
398
|
const decoder = atomics.length
|
|
426
|
-
? () => decode_atomic(atomics[0]
|
|
399
|
+
? () => decode_atomic(array.type.value)(atomics[0]!)
|
|
427
400
|
: array.type.value.natives.length
|
|
428
401
|
? () => decode_bytes("bytes")
|
|
429
402
|
: array.type.value.objects.length
|
|
@@ -556,7 +529,7 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
556
529
|
ts.factory.createToken(ts.SyntaxKind.EqualsToken),
|
|
557
530
|
ts.factory.createIdentifier("entry.value"),
|
|
558
531
|
),
|
|
559
|
-
})(top, required
|
|
532
|
+
})(top, required);
|
|
560
533
|
};
|
|
561
534
|
|
|
562
535
|
const decode_map =
|
|
@@ -566,7 +539,6 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
566
539
|
accessor: ts.ElementAccessExpression | ts.PropertyAccessExpression,
|
|
567
540
|
map: Metadata.Entry,
|
|
568
541
|
required: boolean,
|
|
569
|
-
tags: IMetadataCommentTag[],
|
|
570
542
|
): ts.Statement[] =>
|
|
571
543
|
decode_entry(project)(importer)({
|
|
572
544
|
initializer: () =>
|
|
@@ -593,7 +565,7 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
593
565
|
ts.factory.createIdentifier("entry.value"),
|
|
594
566
|
],
|
|
595
567
|
),
|
|
596
|
-
})(map, required
|
|
568
|
+
})(map, required);
|
|
597
569
|
|
|
598
570
|
const decode_entry =
|
|
599
571
|
(project: IProject) =>
|
|
@@ -602,11 +574,7 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
602
574
|
initializer: () => ts.Expression;
|
|
603
575
|
setter: () => ts.Expression;
|
|
604
576
|
}) =>
|
|
605
|
-
(
|
|
606
|
-
map: Metadata.Entry,
|
|
607
|
-
required: boolean,
|
|
608
|
-
tags: IMetadataCommentTag[],
|
|
609
|
-
): ts.Statement[] => {
|
|
577
|
+
(map: Metadata.Entry, required: boolean): ts.Statement[] => {
|
|
610
578
|
const statements: ts.Statement[] = [
|
|
611
579
|
...(required
|
|
612
580
|
? []
|
|
@@ -646,14 +614,12 @@ export namespace ProtobufDecodeProgrammer {
|
|
|
646
614
|
key: MetadataFactory.soleLiteral("key"),
|
|
647
615
|
value: map.key,
|
|
648
616
|
description: null,
|
|
649
|
-
tags: [],
|
|
650
617
|
jsDocTags: [],
|
|
651
618
|
}),
|
|
652
619
|
MetadataProperty.create({
|
|
653
620
|
key: MetadataFactory.soleLiteral("value"),
|
|
654
621
|
value: map.value,
|
|
655
622
|
description: null,
|
|
656
|
-
tags,
|
|
657
623
|
jsDocTags: [],
|
|
658
624
|
}),
|
|
659
625
|
]),
|