typia 7.0.0-dev.20240929 → 7.0.0-dev.20241001
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/index.mjs +25 -25
- package/lib/index.mjs.map +1 -1
- package/lib/programmers/AssertProgrammer.js +34 -27
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.d.ts +5 -1
- package/lib/programmers/CheckerProgrammer.js +432 -348
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.d.ts +91 -28
- package/lib/programmers/FeatureProgrammer.js +165 -138
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.d.ts +5 -1
- package/lib/programmers/IsProgrammer.js +87 -66
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +83 -68
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/TypiaProgrammer.d.ts +2 -2
- package/lib/programmers/TypiaProgrammer.js +79 -75
- package/lib/programmers/TypiaProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +45 -19
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/CloneJoiner.js +4 -1
- package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
- package/lib/programmers/helpers/NotationJoiner.d.ts +2 -1
- package/lib/programmers/helpers/NotationJoiner.js +34 -33
- package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
- package/lib/programmers/helpers/PruneJoiner.js +4 -1
- package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomJoiner.d.ts +1 -1
- package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomRanger.js.map +1 -1
- package/lib/programmers/helpers/StringifyJoinder.js +4 -1
- package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
- package/lib/programmers/helpers/StringifyPredicator.d.ts +1 -1
- package/lib/programmers/helpers/StringifyPredicator.js +4 -3
- package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.d.ts +52 -12
- package/lib/programmers/helpers/UnionExplorer.js +184 -120
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/helpers/UnionPredicator.d.ts +1 -1
- package/lib/programmers/helpers/UnionPredicator.js +7 -7
- package/lib/programmers/http/HttpFormDataProgrammer.js +77 -70
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpHeadersProgrammer.js +69 -68
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.js +69 -62
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/internal/application_escaped.js +4 -4
- package/lib/programmers/internal/application_escaped.js.map +1 -1
- package/lib/programmers/internal/application_templates.js +8 -2
- package/lib/programmers/internal/application_templates.js.map +1 -1
- package/lib/programmers/internal/application_union_discriminator.d.ts +1 -1
- package/lib/programmers/internal/application_union_discriminator.js +6 -6
- package/lib/programmers/internal/application_union_discriminator.js.map +1 -1
- package/lib/programmers/internal/application_v30_object.js +6 -3
- package/lib/programmers/internal/application_v30_object.js.map +1 -1
- package/lib/programmers/internal/application_v31_object.js +4 -1
- package/lib/programmers/internal/application_v31_object.js.map +1 -1
- package/lib/programmers/internal/check_array_length.js +21 -26
- package/lib/programmers/internal/check_array_length.js.map +1 -1
- package/lib/programmers/internal/check_bigint.js +18 -26
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.d.ts +1 -5
- package/lib/programmers/internal/check_dynamic_key.js +109 -91
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js +88 -90
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_native.js +8 -5
- package/lib/programmers/internal/check_native.js.map +1 -1
- package/lib/programmers/internal/check_number.js +59 -65
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/internal/check_object.js +31 -22
- package/lib/programmers/internal/check_object.js.map +1 -1
- package/lib/programmers/internal/check_string.js +18 -26
- package/lib/programmers/internal/check_string.js.map +1 -1
- package/lib/programmers/internal/check_template.js +20 -21
- package/lib/programmers/internal/check_template.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.js +68 -53
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/decode_union_object.js +59 -49
- package/lib/programmers/internal/decode_union_object.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.js +31 -33
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/internal/llm_schema_escaped.js +29 -11
- package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
- package/lib/programmers/internal/llm_schema_object.js +4 -1
- package/lib/programmers/internal/llm_schema_object.js.map +1 -1
- package/lib/programmers/internal/metadata_to_pattern.js +44 -41
- package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
- package/lib/programmers/internal/postfix_of_tuple.d.ts +1 -1
- package/lib/programmers/internal/postfix_of_tuple.js +3 -0
- package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
- package/lib/programmers/internal/prune_object_properties.js +6 -3
- package/lib/programmers/internal/prune_object_properties.js.map +1 -1
- package/lib/programmers/internal/random_custom.js +8 -14
- package/lib/programmers/internal/random_custom.js.map +1 -1
- package/lib/programmers/internal/stringify_dynamic_properties.js +4 -1
- package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/stringify_regular_properties.js +4 -4
- package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
- package/lib/programmers/internal/template_to_pattern.js +10 -5
- package/lib/programmers/internal/template_to_pattern.js.map +1 -1
- package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +1 -2
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js +3 -0
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +154 -91
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +221 -154
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +139 -89
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +4 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +257 -148
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +32 -24
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/utils/NamingConvention/NamingConvention.js +41 -47
- package/lib/utils/NamingConvention/NamingConvention.js.map +1 -1
- package/package.json +1 -1
- package/src/programmers/AssertProgrammer.ts +44 -37
- package/src/programmers/CheckerProgrammer.ts +394 -358
- package/src/programmers/FeatureProgrammer.ts +327 -267
- package/src/programmers/IsProgrammer.ts +93 -76
- package/src/programmers/RandomProgrammer.ts +18 -9
- package/src/programmers/TypiaProgrammer.ts +48 -34
- package/src/programmers/ValidateProgrammer.ts +56 -29
- package/src/programmers/helpers/CloneJoiner.ts +4 -1
- package/src/programmers/helpers/NotationJoiner.ts +85 -83
- package/src/programmers/helpers/ProtobufUtil.ts +2 -2
- package/src/programmers/helpers/PruneJoiner.ts +4 -1
- package/src/programmers/helpers/RandomJoiner.ts +5 -2
- package/src/programmers/helpers/RandomRanger.ts +8 -1
- package/src/programmers/helpers/StringifyJoinder.ts +4 -1
- package/src/programmers/helpers/StringifyPredicator.ts +4 -3
- package/src/programmers/helpers/UnionExplorer.ts +277 -179
- package/src/programmers/helpers/UnionPredicator.ts +5 -5
- package/src/programmers/http/HttpFormDataProgrammer.ts +135 -114
- package/src/programmers/http/HttpHeadersProgrammer.ts +145 -120
- package/src/programmers/http/HttpQueryProgrammer.ts +137 -116
- package/src/programmers/internal/application_escaped.ts +6 -6
- package/src/programmers/internal/application_templates.ts +8 -6
- package/src/programmers/internal/application_union_discriminator.ts +6 -6
- package/src/programmers/internal/application_v30_object.ts +6 -3
- package/src/programmers/internal/application_v31_object.ts +4 -1
- package/src/programmers/internal/application_v31_tuple.ts +1 -1
- package/src/programmers/internal/check_array_length.ts +31 -30
- package/src/programmers/internal/check_bigint.ts +31 -31
- package/src/programmers/internal/check_dynamic_key.ts +155 -126
- package/src/programmers/internal/check_dynamic_properties.ts +152 -154
- package/src/programmers/internal/check_native.ts +11 -5
- package/src/programmers/internal/check_number.ts +88 -84
- package/src/programmers/internal/check_object.ts +45 -31
- package/src/programmers/internal/check_string.ts +31 -30
- package/src/programmers/internal/check_template.ts +34 -32
- package/src/programmers/internal/check_union_array_like.ts +245 -228
- package/src/programmers/internal/decode_union_object.ts +92 -75
- package/src/programmers/internal/feature_object_entries.ts +36 -36
- package/src/programmers/internal/llm_schema_escaped.ts +36 -13
- package/src/programmers/internal/llm_schema_object.ts +4 -1
- package/src/programmers/internal/metadata_to_pattern.ts +31 -23
- package/src/programmers/internal/postfix_of_tuple.ts +3 -0
- package/src/programmers/internal/prune_object_properties.ts +6 -3
- package/src/programmers/internal/random_custom.ts +24 -23
- package/src/programmers/internal/stringify_dynamic_properties.ts +4 -1
- package/src/programmers/internal/stringify_regular_properties.ts +7 -7
- package/src/programmers/internal/template_to_pattern.ts +12 -4
- package/src/programmers/internal/wrap_metadata_rest_tuple.ts +3 -0
- package/src/programmers/json/JsonStringifyProgrammer.ts +151 -104
- package/src/programmers/misc/MiscCloneProgrammer.ts +255 -204
- package/src/programmers/misc/MiscPruneProgrammer.ts +149 -116
- package/src/programmers/notations/NotationGeneralProgrammer.ts +307 -211
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +25 -21
- package/src/utils/NamingConvention/NamingConvention.ts +40 -42
|
@@ -100,9 +100,11 @@ export namespace JsonStringifyProgrammer {
|
|
|
100
100
|
ts.factory.createArrowFunction(
|
|
101
101
|
undefined,
|
|
102
102
|
undefined,
|
|
103
|
-
FeatureProgrammer.parameterDeclarations(
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
FeatureProgrammer.parameterDeclarations({
|
|
104
|
+
config: props.config,
|
|
105
|
+
type: TypeFactory.keyword("any"),
|
|
106
|
+
input: ts.factory.createIdentifier("input"),
|
|
107
|
+
}),
|
|
106
108
|
TypeFactory.keyword("any"),
|
|
107
109
|
undefined,
|
|
108
110
|
decode_array_inline({
|
|
@@ -139,9 +141,11 @@ export namespace JsonStringifyProgrammer {
|
|
|
139
141
|
ts.factory.createArrowFunction(
|
|
140
142
|
undefined,
|
|
141
143
|
undefined,
|
|
142
|
-
FeatureProgrammer.parameterDeclarations(
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
FeatureProgrammer.parameterDeclarations({
|
|
145
|
+
config: props.config,
|
|
146
|
+
type: TypeFactory.keyword("any"),
|
|
147
|
+
input: ts.factory.createIdentifier("input"),
|
|
148
|
+
}),
|
|
145
149
|
TypeFactory.keyword("any"),
|
|
146
150
|
undefined,
|
|
147
151
|
decode_tuple_inline({
|
|
@@ -232,7 +236,11 @@ export namespace JsonStringifyProgrammer {
|
|
|
232
236
|
is:
|
|
233
237
|
props.metadata.escaped.original.size() === 1 &&
|
|
234
238
|
props.metadata.escaped.original.natives[0] === "Date"
|
|
235
|
-
? () =>
|
|
239
|
+
? () =>
|
|
240
|
+
check_native({
|
|
241
|
+
type: "Date",
|
|
242
|
+
input: props.input,
|
|
243
|
+
})
|
|
236
244
|
: () =>
|
|
237
245
|
IsProgrammer.decode_to_json({
|
|
238
246
|
checkNull: false,
|
|
@@ -417,7 +425,11 @@ export namespace JsonStringifyProgrammer {
|
|
|
417
425
|
for (const native of props.metadata.natives)
|
|
418
426
|
unions.push({
|
|
419
427
|
type: "object",
|
|
420
|
-
is: () =>
|
|
428
|
+
is: () =>
|
|
429
|
+
check_native({
|
|
430
|
+
type: native,
|
|
431
|
+
input: props.input,
|
|
432
|
+
}),
|
|
421
433
|
value: () =>
|
|
422
434
|
AtomicPredicator.native(native)
|
|
423
435
|
? decode_atomic({
|
|
@@ -520,10 +532,16 @@ export namespace JsonStringifyProgrammer {
|
|
|
520
532
|
explore: FeatureProgrammer.IExplore;
|
|
521
533
|
}): ts.CallExpression =>
|
|
522
534
|
FeatureProgrammer.decode_object({
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
535
|
+
config: {
|
|
536
|
+
trace: false,
|
|
537
|
+
path: false,
|
|
538
|
+
prefix: PREFIX,
|
|
539
|
+
},
|
|
540
|
+
importer: props.importer,
|
|
541
|
+
object: props.object,
|
|
542
|
+
input: props.input,
|
|
543
|
+
explore: props.explore,
|
|
544
|
+
});
|
|
527
545
|
|
|
528
546
|
const decode_array = (props: {
|
|
529
547
|
config: FeatureProgrammer.IConfig;
|
|
@@ -540,11 +558,15 @@ export namespace JsonStringifyProgrammer {
|
|
|
540
558
|
),
|
|
541
559
|
),
|
|
542
560
|
undefined,
|
|
543
|
-
FeatureProgrammer.argumentsArray(
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
561
|
+
FeatureProgrammer.argumentsArray({
|
|
562
|
+
config: props.config,
|
|
563
|
+
input: props.input,
|
|
564
|
+
explore: {
|
|
565
|
+
...props.explore,
|
|
566
|
+
source: "function",
|
|
567
|
+
from: "array",
|
|
568
|
+
},
|
|
569
|
+
}),
|
|
548
570
|
)
|
|
549
571
|
: decode_array_inline(props);
|
|
550
572
|
|
|
@@ -555,9 +577,14 @@ export namespace JsonStringifyProgrammer {
|
|
|
555
577
|
array: MetadataArray;
|
|
556
578
|
explore: FeatureProgrammer.IExplore;
|
|
557
579
|
}) =>
|
|
558
|
-
FeatureProgrammer.decode_array(
|
|
559
|
-
|
|
560
|
-
|
|
580
|
+
FeatureProgrammer.decode_array({
|
|
581
|
+
config: props.config,
|
|
582
|
+
importer: props.importer,
|
|
583
|
+
combiner: StringifyJoiner.array,
|
|
584
|
+
array: props.array,
|
|
585
|
+
input: props.input,
|
|
586
|
+
explore: props.explore,
|
|
587
|
+
});
|
|
561
588
|
|
|
562
589
|
const decode_tuple = (props: {
|
|
563
590
|
context: ITypiaContext;
|
|
@@ -575,10 +602,14 @@ export namespace JsonStringifyProgrammer {
|
|
|
575
602
|
),
|
|
576
603
|
),
|
|
577
604
|
undefined,
|
|
578
|
-
FeatureProgrammer.argumentsArray(
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
605
|
+
FeatureProgrammer.argumentsArray({
|
|
606
|
+
config: props.config,
|
|
607
|
+
explore: {
|
|
608
|
+
...props.explore,
|
|
609
|
+
source: "function",
|
|
610
|
+
},
|
|
611
|
+
input: props.input,
|
|
612
|
+
}),
|
|
582
613
|
)
|
|
583
614
|
: decode_tuple_inline({
|
|
584
615
|
...props,
|
|
@@ -738,9 +769,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
738
769
|
props.importer.useLocal(`${PREFIX}u${props.metadata.union_index!}`),
|
|
739
770
|
),
|
|
740
771
|
undefined,
|
|
741
|
-
FeatureProgrammer.argumentsArray(props
|
|
742
|
-
props.input,
|
|
743
|
-
),
|
|
772
|
+
FeatureProgrammer.argumentsArray(props),
|
|
744
773
|
);
|
|
745
774
|
|
|
746
775
|
const explore_arrays = (props: {
|
|
@@ -756,31 +785,38 @@ export namespace JsonStringifyProgrammer {
|
|
|
756
785
|
elements: props.arrays,
|
|
757
786
|
factory: (next) =>
|
|
758
787
|
UnionExplorer.array({
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
788
|
+
config: {
|
|
789
|
+
checker: (v) =>
|
|
790
|
+
IsProgrammer.decode({
|
|
791
|
+
context: props.context,
|
|
792
|
+
importer: props.importer,
|
|
793
|
+
metadata: v.definition,
|
|
794
|
+
input: v.input,
|
|
795
|
+
explore: v.explore,
|
|
796
|
+
}),
|
|
797
|
+
decoder: (v) =>
|
|
798
|
+
decode_array({
|
|
799
|
+
config: props.config,
|
|
800
|
+
importer: props.importer,
|
|
801
|
+
input: v.input,
|
|
802
|
+
array: v.definition,
|
|
803
|
+
explore: v.explore,
|
|
804
|
+
}),
|
|
805
|
+
empty: ts.factory.createStringLiteral("[]"),
|
|
806
|
+
success: ts.factory.createTrue(),
|
|
807
|
+
failure: (v) =>
|
|
808
|
+
create_throw_error({
|
|
809
|
+
importer: props.importer,
|
|
810
|
+
expected: v.expected,
|
|
811
|
+
input: v.input,
|
|
812
|
+
}),
|
|
813
|
+
},
|
|
814
|
+
parameters: next.parameters,
|
|
815
|
+
input: next.input,
|
|
816
|
+
arrays: next.definitions,
|
|
817
|
+
explore: next.explore,
|
|
818
|
+
}),
|
|
819
|
+
//(next.parameters)(next.input, next.elements, next.explore),
|
|
784
820
|
});
|
|
785
821
|
|
|
786
822
|
const explore_array_like_union_types = <
|
|
@@ -791,7 +827,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
791
827
|
factory: (next: {
|
|
792
828
|
parameters: ts.ParameterDeclaration[];
|
|
793
829
|
input: ts.Expression;
|
|
794
|
-
|
|
830
|
+
definitions: T[];
|
|
795
831
|
explore: FeatureProgrammer.IExplore;
|
|
796
832
|
}) => ts.ArrowFunction;
|
|
797
833
|
input: ts.Expression;
|
|
@@ -804,7 +840,7 @@ export namespace JsonStringifyProgrammer {
|
|
|
804
840
|
input: ts.Expression;
|
|
805
841
|
}): ts.ArrowFunction =>
|
|
806
842
|
props.factory({
|
|
807
|
-
|
|
843
|
+
definitions: props.elements,
|
|
808
844
|
parameters: next.parameters,
|
|
809
845
|
input: next.input,
|
|
810
846
|
explore: next.explore,
|
|
@@ -832,9 +868,11 @@ export namespace JsonStringifyProgrammer {
|
|
|
832
868
|
props.elements.map((e) => e.type.name).join(" | "),
|
|
833
869
|
() =>
|
|
834
870
|
arrow({
|
|
835
|
-
parameters: FeatureProgrammer.parameterDeclarations(
|
|
836
|
-
|
|
837
|
-
|
|
871
|
+
parameters: FeatureProgrammer.parameterDeclarations({
|
|
872
|
+
config: props.config,
|
|
873
|
+
type: TypeFactory.keyword("any"),
|
|
874
|
+
input: ts.factory.createIdentifier("input"),
|
|
875
|
+
}),
|
|
838
876
|
explore: {
|
|
839
877
|
...arrayExplore,
|
|
840
878
|
postfix: "",
|
|
@@ -844,7 +882,11 @@ export namespace JsonStringifyProgrammer {
|
|
|
844
882
|
),
|
|
845
883
|
),
|
|
846
884
|
undefined,
|
|
847
|
-
FeatureProgrammer.argumentsArray(
|
|
885
|
+
FeatureProgrammer.argumentsArray({
|
|
886
|
+
config: props.config,
|
|
887
|
+
explore: arrayExplore,
|
|
888
|
+
input: props.input,
|
|
889
|
+
}),
|
|
848
890
|
);
|
|
849
891
|
};
|
|
850
892
|
|
|
@@ -947,73 +989,79 @@ export namespace JsonStringifyProgrammer {
|
|
|
947
989
|
trace: false,
|
|
948
990
|
path: false,
|
|
949
991
|
initializer,
|
|
950
|
-
decoder: () =>
|
|
992
|
+
decoder: (next) =>
|
|
951
993
|
decode({
|
|
952
994
|
context: props.context,
|
|
953
995
|
importer: props.importer,
|
|
954
996
|
config,
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
explore,
|
|
997
|
+
metadata: next.metadata,
|
|
998
|
+
input: next.input,
|
|
999
|
+
explore: next.explore,
|
|
958
1000
|
}),
|
|
959
1001
|
objector: {
|
|
960
|
-
checker: () =>
|
|
1002
|
+
checker: (next) =>
|
|
961
1003
|
IsProgrammer.decode({
|
|
962
1004
|
context: props.context,
|
|
963
1005
|
importer: props.importer,
|
|
964
|
-
metadata,
|
|
965
|
-
input,
|
|
966
|
-
explore,
|
|
1006
|
+
metadata: next.metadata,
|
|
1007
|
+
input: next.input,
|
|
1008
|
+
explore: next.explore,
|
|
967
1009
|
}),
|
|
968
|
-
decoder: () =>
|
|
1010
|
+
decoder: (next) =>
|
|
969
1011
|
decode_object({
|
|
970
1012
|
importer: props.importer,
|
|
971
|
-
input,
|
|
972
|
-
object,
|
|
973
|
-
explore,
|
|
1013
|
+
input: next.input,
|
|
1014
|
+
object: next.object,
|
|
1015
|
+
explore: next.explore,
|
|
974
1016
|
}),
|
|
975
1017
|
joiner: (next) =>
|
|
976
1018
|
StringifyJoiner.object({
|
|
977
1019
|
...next,
|
|
978
1020
|
importer: props.importer,
|
|
979
1021
|
}),
|
|
980
|
-
unionizer:
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1022
|
+
unionizer: (next) =>
|
|
1023
|
+
decode_union_object({
|
|
1024
|
+
checker: (v) =>
|
|
1025
|
+
IsProgrammer.decode_object({
|
|
1026
|
+
context: props.context,
|
|
1027
|
+
importer: props.importer,
|
|
1028
|
+
input: v.input,
|
|
1029
|
+
object: v.object,
|
|
1030
|
+
explore: v.explore,
|
|
1031
|
+
}),
|
|
1032
|
+
decoder: (v) =>
|
|
1033
|
+
decode_object({
|
|
1034
|
+
importer: props.importer,
|
|
1035
|
+
input: v.input,
|
|
1036
|
+
object: v.object,
|
|
1037
|
+
explore: v.explore,
|
|
1038
|
+
}),
|
|
1039
|
+
success: (exp) => exp,
|
|
1040
|
+
escaper: (v) =>
|
|
1041
|
+
create_throw_error({
|
|
1042
|
+
importer: props.importer,
|
|
1043
|
+
expected: v.expected,
|
|
1044
|
+
input: v.input,
|
|
1045
|
+
}),
|
|
1046
|
+
objects: next.objects,
|
|
1047
|
+
explore: next.explore,
|
|
1048
|
+
input: next.input,
|
|
1000
1049
|
}),
|
|
1001
|
-
)
|
|
1002
|
-
failure: (input, expected) =>
|
|
1050
|
+
failure: (next) =>
|
|
1003
1051
|
create_throw_error({
|
|
1004
1052
|
importer: props.importer,
|
|
1005
|
-
expected,
|
|
1006
|
-
input,
|
|
1053
|
+
expected: next.expected,
|
|
1054
|
+
input: next.input,
|
|
1007
1055
|
}),
|
|
1008
1056
|
},
|
|
1009
1057
|
generator: {
|
|
1010
|
-
arrays: (
|
|
1058
|
+
arrays: (collection) =>
|
|
1011
1059
|
write_array_functions({
|
|
1012
1060
|
config,
|
|
1013
1061
|
importer: props.importer,
|
|
1014
1062
|
collection,
|
|
1015
1063
|
}),
|
|
1016
|
-
tuples: (
|
|
1064
|
+
tuples: (collection) =>
|
|
1017
1065
|
write_tuple_functions({
|
|
1018
1066
|
config,
|
|
1019
1067
|
context: props.context,
|
|
@@ -1025,14 +1073,13 @@ export namespace JsonStringifyProgrammer {
|
|
|
1025
1073
|
return config;
|
|
1026
1074
|
};
|
|
1027
1075
|
|
|
1028
|
-
const initializer: FeatureProgrammer.IConfig["initializer"] =
|
|
1029
|
-
(
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
});
|
|
1076
|
+
const initializer: FeatureProgrammer.IConfig["initializer"] = (props) =>
|
|
1077
|
+
JsonMetadataFactory.analyze({
|
|
1078
|
+
method: `typia.json.${props.importer.method}`,
|
|
1079
|
+
checker: props.context.checker,
|
|
1080
|
+
transformer: props.context.transformer,
|
|
1081
|
+
type: props.type,
|
|
1082
|
+
});
|
|
1036
1083
|
|
|
1037
1084
|
const create_throw_error = (props: {
|
|
1038
1085
|
importer: FunctionImporter;
|