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.
Files changed (172) hide show
  1. package/lib/index.mjs +25 -25
  2. package/lib/index.mjs.map +1 -1
  3. package/lib/programmers/AssertProgrammer.js +34 -27
  4. package/lib/programmers/AssertProgrammer.js.map +1 -1
  5. package/lib/programmers/CheckerProgrammer.d.ts +5 -1
  6. package/lib/programmers/CheckerProgrammer.js +432 -348
  7. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  8. package/lib/programmers/FeatureProgrammer.d.ts +91 -28
  9. package/lib/programmers/FeatureProgrammer.js +165 -138
  10. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  11. package/lib/programmers/IsProgrammer.d.ts +5 -1
  12. package/lib/programmers/IsProgrammer.js +87 -66
  13. package/lib/programmers/IsProgrammer.js.map +1 -1
  14. package/lib/programmers/RandomProgrammer.js +83 -68
  15. package/lib/programmers/RandomProgrammer.js.map +1 -1
  16. package/lib/programmers/TypiaProgrammer.d.ts +2 -2
  17. package/lib/programmers/TypiaProgrammer.js +79 -75
  18. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  19. package/lib/programmers/ValidateProgrammer.js +45 -19
  20. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  21. package/lib/programmers/helpers/CloneJoiner.js +4 -1
  22. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  23. package/lib/programmers/helpers/NotationJoiner.d.ts +2 -1
  24. package/lib/programmers/helpers/NotationJoiner.js +34 -33
  25. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  26. package/lib/programmers/helpers/PruneJoiner.js +4 -1
  27. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  28. package/lib/programmers/helpers/RandomJoiner.d.ts +1 -1
  29. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  30. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  31. package/lib/programmers/helpers/StringifyJoinder.js +4 -1
  32. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  33. package/lib/programmers/helpers/StringifyPredicator.d.ts +1 -1
  34. package/lib/programmers/helpers/StringifyPredicator.js +4 -3
  35. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  36. package/lib/programmers/helpers/UnionExplorer.d.ts +52 -12
  37. package/lib/programmers/helpers/UnionExplorer.js +184 -120
  38. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  39. package/lib/programmers/helpers/UnionPredicator.d.ts +1 -1
  40. package/lib/programmers/helpers/UnionPredicator.js +7 -7
  41. package/lib/programmers/http/HttpFormDataProgrammer.js +77 -70
  42. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  43. package/lib/programmers/http/HttpHeadersProgrammer.js +69 -68
  44. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  45. package/lib/programmers/http/HttpQueryProgrammer.js +69 -62
  46. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  47. package/lib/programmers/internal/application_escaped.js +4 -4
  48. package/lib/programmers/internal/application_escaped.js.map +1 -1
  49. package/lib/programmers/internal/application_templates.js +8 -2
  50. package/lib/programmers/internal/application_templates.js.map +1 -1
  51. package/lib/programmers/internal/application_union_discriminator.d.ts +1 -1
  52. package/lib/programmers/internal/application_union_discriminator.js +6 -6
  53. package/lib/programmers/internal/application_union_discriminator.js.map +1 -1
  54. package/lib/programmers/internal/application_v30_object.js +6 -3
  55. package/lib/programmers/internal/application_v30_object.js.map +1 -1
  56. package/lib/programmers/internal/application_v31_object.js +4 -1
  57. package/lib/programmers/internal/application_v31_object.js.map +1 -1
  58. package/lib/programmers/internal/check_array_length.js +21 -26
  59. package/lib/programmers/internal/check_array_length.js.map +1 -1
  60. package/lib/programmers/internal/check_bigint.js +18 -26
  61. package/lib/programmers/internal/check_bigint.js.map +1 -1
  62. package/lib/programmers/internal/check_dynamic_key.d.ts +1 -5
  63. package/lib/programmers/internal/check_dynamic_key.js +109 -91
  64. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  65. package/lib/programmers/internal/check_dynamic_properties.js +88 -90
  66. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  67. package/lib/programmers/internal/check_native.js +8 -5
  68. package/lib/programmers/internal/check_native.js.map +1 -1
  69. package/lib/programmers/internal/check_number.js +59 -65
  70. package/lib/programmers/internal/check_number.js.map +1 -1
  71. package/lib/programmers/internal/check_object.js +31 -22
  72. package/lib/programmers/internal/check_object.js.map +1 -1
  73. package/lib/programmers/internal/check_string.js +18 -26
  74. package/lib/programmers/internal/check_string.js.map +1 -1
  75. package/lib/programmers/internal/check_template.js +20 -21
  76. package/lib/programmers/internal/check_template.js.map +1 -1
  77. package/lib/programmers/internal/check_union_array_like.js +68 -53
  78. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  79. package/lib/programmers/internal/decode_union_object.js +59 -49
  80. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  81. package/lib/programmers/internal/feature_object_entries.js +31 -33
  82. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  83. package/lib/programmers/internal/llm_schema_escaped.js +29 -11
  84. package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
  85. package/lib/programmers/internal/llm_schema_object.js +4 -1
  86. package/lib/programmers/internal/llm_schema_object.js.map +1 -1
  87. package/lib/programmers/internal/metadata_to_pattern.js +44 -41
  88. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  89. package/lib/programmers/internal/postfix_of_tuple.d.ts +1 -1
  90. package/lib/programmers/internal/postfix_of_tuple.js +3 -0
  91. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  92. package/lib/programmers/internal/prune_object_properties.js +6 -3
  93. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  94. package/lib/programmers/internal/random_custom.js +8 -14
  95. package/lib/programmers/internal/random_custom.js.map +1 -1
  96. package/lib/programmers/internal/stringify_dynamic_properties.js +4 -1
  97. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  98. package/lib/programmers/internal/stringify_regular_properties.js +4 -4
  99. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  100. package/lib/programmers/internal/template_to_pattern.js +10 -5
  101. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  102. package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +1 -2
  103. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +3 -0
  104. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  105. package/lib/programmers/json/JsonStringifyProgrammer.js +154 -91
  106. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  107. package/lib/programmers/misc/MiscCloneProgrammer.js +221 -154
  108. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  109. package/lib/programmers/misc/MiscPruneProgrammer.js +139 -89
  110. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  111. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +4 -1
  112. package/lib/programmers/notations/NotationGeneralProgrammer.js +257 -148
  113. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  114. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +32 -24
  115. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  116. package/lib/utils/NamingConvention/NamingConvention.js +41 -47
  117. package/lib/utils/NamingConvention/NamingConvention.js.map +1 -1
  118. package/package.json +1 -1
  119. package/src/programmers/AssertProgrammer.ts +44 -37
  120. package/src/programmers/CheckerProgrammer.ts +394 -358
  121. package/src/programmers/FeatureProgrammer.ts +327 -267
  122. package/src/programmers/IsProgrammer.ts +93 -76
  123. package/src/programmers/RandomProgrammer.ts +18 -9
  124. package/src/programmers/TypiaProgrammer.ts +48 -34
  125. package/src/programmers/ValidateProgrammer.ts +56 -29
  126. package/src/programmers/helpers/CloneJoiner.ts +4 -1
  127. package/src/programmers/helpers/NotationJoiner.ts +85 -83
  128. package/src/programmers/helpers/ProtobufUtil.ts +2 -2
  129. package/src/programmers/helpers/PruneJoiner.ts +4 -1
  130. package/src/programmers/helpers/RandomJoiner.ts +5 -2
  131. package/src/programmers/helpers/RandomRanger.ts +8 -1
  132. package/src/programmers/helpers/StringifyJoinder.ts +4 -1
  133. package/src/programmers/helpers/StringifyPredicator.ts +4 -3
  134. package/src/programmers/helpers/UnionExplorer.ts +277 -179
  135. package/src/programmers/helpers/UnionPredicator.ts +5 -5
  136. package/src/programmers/http/HttpFormDataProgrammer.ts +135 -114
  137. package/src/programmers/http/HttpHeadersProgrammer.ts +145 -120
  138. package/src/programmers/http/HttpQueryProgrammer.ts +137 -116
  139. package/src/programmers/internal/application_escaped.ts +6 -6
  140. package/src/programmers/internal/application_templates.ts +8 -6
  141. package/src/programmers/internal/application_union_discriminator.ts +6 -6
  142. package/src/programmers/internal/application_v30_object.ts +6 -3
  143. package/src/programmers/internal/application_v31_object.ts +4 -1
  144. package/src/programmers/internal/application_v31_tuple.ts +1 -1
  145. package/src/programmers/internal/check_array_length.ts +31 -30
  146. package/src/programmers/internal/check_bigint.ts +31 -31
  147. package/src/programmers/internal/check_dynamic_key.ts +155 -126
  148. package/src/programmers/internal/check_dynamic_properties.ts +152 -154
  149. package/src/programmers/internal/check_native.ts +11 -5
  150. package/src/programmers/internal/check_number.ts +88 -84
  151. package/src/programmers/internal/check_object.ts +45 -31
  152. package/src/programmers/internal/check_string.ts +31 -30
  153. package/src/programmers/internal/check_template.ts +34 -32
  154. package/src/programmers/internal/check_union_array_like.ts +245 -228
  155. package/src/programmers/internal/decode_union_object.ts +92 -75
  156. package/src/programmers/internal/feature_object_entries.ts +36 -36
  157. package/src/programmers/internal/llm_schema_escaped.ts +36 -13
  158. package/src/programmers/internal/llm_schema_object.ts +4 -1
  159. package/src/programmers/internal/metadata_to_pattern.ts +31 -23
  160. package/src/programmers/internal/postfix_of_tuple.ts +3 -0
  161. package/src/programmers/internal/prune_object_properties.ts +6 -3
  162. package/src/programmers/internal/random_custom.ts +24 -23
  163. package/src/programmers/internal/stringify_dynamic_properties.ts +4 -1
  164. package/src/programmers/internal/stringify_regular_properties.ts +7 -7
  165. package/src/programmers/internal/template_to_pattern.ts +12 -4
  166. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +3 -0
  167. package/src/programmers/json/JsonStringifyProgrammer.ts +151 -104
  168. package/src/programmers/misc/MiscCloneProgrammer.ts +255 -204
  169. package/src/programmers/misc/MiscPruneProgrammer.ts +149 -116
  170. package/src/programmers/notations/NotationGeneralProgrammer.ts +307 -211
  171. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +25 -21
  172. 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(props.config)(
104
- TypeFactory.keyword("any"),
105
- )(ts.factory.createIdentifier("input")),
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(props.config)(
143
- TypeFactory.keyword("any"),
144
- )(ts.factory.createIdentifier("input")),
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
- ? () => check_native("Date")(props.input)
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: () => check_native(native)(props.input),
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
- trace: false,
524
- path: false,
525
- prefix: PREFIX,
526
- })(props.importer)(props.input, props.object, props.explore);
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(props.config)({
544
- ...props.explore,
545
- source: "function",
546
- from: "array",
547
- })(props.input),
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(props.config)(props.importer)(
559
- StringifyJoiner.array,
560
- )(props.input, props.array, props.explore);
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(props.config)({
579
- ...props.explore,
580
- source: "function",
581
- })(props.input),
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.config)(props.explore)(
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
- checker: (input, metadata, explore) =>
760
- IsProgrammer.decode({
761
- context: props.context,
762
- importer: props.importer,
763
- metadata,
764
- input,
765
- explore,
766
- }),
767
- decoder: (input, array, explore) =>
768
- decode_array({
769
- config: props.config,
770
- importer: props.importer,
771
- input,
772
- array,
773
- explore,
774
- }),
775
- empty: ts.factory.createStringLiteral("[]"),
776
- success: ts.factory.createTrue(),
777
- failure: (input, expected) =>
778
- create_throw_error({
779
- importer: props.importer,
780
- expected,
781
- input,
782
- }),
783
- })(next.parameters)(next.input, next.elements, next.explore),
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
- elements: T[];
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
- elements: props.elements,
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(props.config)(
836
- TypeFactory.keyword("any"),
837
- )(ts.factory.createIdentifier("input")),
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(props.config)(arrayExplore)(props.input),
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: () => (input, metadata, explore) =>
992
+ decoder: (next) =>
951
993
  decode({
952
994
  context: props.context,
953
995
  importer: props.importer,
954
996
  config,
955
- input,
956
- metadata,
957
- explore,
997
+ metadata: next.metadata,
998
+ input: next.input,
999
+ explore: next.explore,
958
1000
  }),
959
1001
  objector: {
960
- checker: () => (input, metadata, explore) =>
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: () => (input, object, explore) =>
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: decode_union_object((input, object, explore) =>
981
- IsProgrammer.decode_object({
982
- context: props.context,
983
- importer: props.importer,
984
- input,
985
- object,
986
- explore,
987
- }),
988
- )((input, object, explore) =>
989
- decode_object({
990
- importer: props.importer,
991
- input,
992
- object,
993
- explore,
994
- }),
995
- )((exp) => exp)((input, expected) =>
996
- create_throw_error({
997
- importer: props.importer,
998
- expected,
999
- input,
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: () => (collection) =>
1058
+ arrays: (collection) =>
1011
1059
  write_array_functions({
1012
1060
  config,
1013
1061
  importer: props.importer,
1014
1062
  collection,
1015
1063
  }),
1016
- tuples: () => (collection) =>
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
- (context) => (importer) => (type) =>
1030
- JsonMetadataFactory.analyze({
1031
- method: `typia.json.${importer.method}`,
1032
- checker: context.checker,
1033
- transformer: context.transformer,
1034
- type,
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;