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
@@ -90,9 +90,11 @@ export namespace MiscPruneProgrammer {
90
90
  ts.factory.createArrowFunction(
91
91
  undefined,
92
92
  undefined,
93
- FeatureProgrammer.parameterDeclarations(props.config)(
94
- TypeFactory.keyword("any"),
95
- )(ts.factory.createIdentifier("input")),
93
+ FeatureProgrammer.parameterDeclarations({
94
+ config: props.config,
95
+ type: TypeFactory.keyword("any"),
96
+ input: ts.factory.createIdentifier("input"),
97
+ }),
96
98
  TypeFactory.keyword("any"),
97
99
  undefined,
98
100
  decode_array_inline({
@@ -129,9 +131,11 @@ export namespace MiscPruneProgrammer {
129
131
  ts.factory.createArrowFunction(
130
132
  undefined,
131
133
  undefined,
132
- FeatureProgrammer.parameterDeclarations(props.config)(
133
- TypeFactory.keyword("any"),
134
- )(ts.factory.createIdentifier("input")),
134
+ FeatureProgrammer.parameterDeclarations({
135
+ config: props.config,
136
+ type: TypeFactory.keyword("any"),
137
+ input: ts.factory.createIdentifier("input"),
138
+ }),
135
139
  TypeFactory.keyword("any"),
136
140
  undefined,
137
141
  decode_tuple_inline({
@@ -273,10 +277,16 @@ export namespace MiscPruneProgrammer {
273
277
  explore: FeatureProgrammer.IExplore;
274
278
  }) =>
275
279
  FeatureProgrammer.decode_object({
276
- trace: false,
277
- path: false,
278
- prefix: PREFIX,
279
- })(props.importer)(props.input, props.object, props.explore);
280
+ config: {
281
+ trace: false,
282
+ path: false,
283
+ prefix: PREFIX,
284
+ },
285
+ importer: props.importer,
286
+ object: props.object,
287
+ input: props.input,
288
+ explore: props.explore,
289
+ });
280
290
 
281
291
  const decode_array = (props: {
282
292
  config: FeatureProgrammer.IConfig;
@@ -293,11 +303,15 @@ export namespace MiscPruneProgrammer {
293
303
  ),
294
304
  ),
295
305
  undefined,
296
- FeatureProgrammer.argumentsArray(props.config)({
297
- ...props.explore,
298
- source: "function",
299
- from: "array",
300
- })(props.input),
306
+ FeatureProgrammer.argumentsArray({
307
+ config: props.config,
308
+ explore: {
309
+ ...props.explore,
310
+ source: "function",
311
+ from: "array",
312
+ },
313
+ input: props.input,
314
+ }),
301
315
  )
302
316
  : decode_array_inline(props);
303
317
 
@@ -308,9 +322,14 @@ export namespace MiscPruneProgrammer {
308
322
  array: MetadataArray;
309
323
  explore: FeatureProgrammer.IExplore;
310
324
  }): ts.Expression =>
311
- FeatureProgrammer.decode_array(props.config)(props.importer)(
312
- PruneJoiner.array,
313
- )(props.input, props.array, props.explore);
325
+ FeatureProgrammer.decode_array({
326
+ config: props.config,
327
+ importer: props.importer,
328
+ combiner: PruneJoiner.array,
329
+ array: props.array,
330
+ input: props.input,
331
+ explore: props.explore,
332
+ });
314
333
 
315
334
  const decode_tuple = (props: {
316
335
  context: ITypiaContext;
@@ -328,10 +347,14 @@ export namespace MiscPruneProgrammer {
328
347
  ),
329
348
  ),
330
349
  undefined,
331
- FeatureProgrammer.argumentsArray(props.config)({
332
- ...props.explore,
333
- source: "function",
334
- })(props.input),
350
+ FeatureProgrammer.argumentsArray({
351
+ config: props.config,
352
+ explore: {
353
+ ...props.explore,
354
+ source: "function",
355
+ },
356
+ input: props.input,
357
+ }),
335
358
  )
336
359
  : decode_tuple_inline({
337
360
  ...props,
@@ -415,9 +438,7 @@ export namespace MiscPruneProgrammer {
415
438
  props.importer.useLocal(`${PREFIX}u${props.metadata.union_index!}`),
416
439
  ),
417
440
  undefined,
418
- FeatureProgrammer.argumentsArray(props.config)(props.explore)(
419
- props.input,
420
- ),
441
+ FeatureProgrammer.argumentsArray(props),
421
442
  );
422
443
  };
423
444
 
@@ -434,32 +455,39 @@ export namespace MiscPruneProgrammer {
434
455
  elements: props.arrays,
435
456
  factory: (next) =>
436
457
  UnionExplorer.array({
437
- checker: (input, metadata, explore) =>
438
- IsProgrammer.decode({
439
- context: props.context,
440
- importer: props.importer,
441
- metadata,
442
- input,
443
- explore,
444
- }),
445
- decoder: (input, array, explore) =>
446
- decode_array({
447
- config: props.config,
448
- importer: props.importer,
449
- input,
450
- array,
451
- explore,
452
- }),
453
- empty: ts.factory.createStringLiteral("[]"),
454
- success: ts.factory.createTrue(),
455
- failure: (input, expected) =>
456
- create_throw_error({
457
- importer: props.importer,
458
- expected,
459
- input,
460
- }),
461
- })(next.parameters)(next.input, next.elements, next.explore),
458
+ config: {
459
+ checker: (v) =>
460
+ IsProgrammer.decode({
461
+ context: props.context,
462
+ importer: props.importer,
463
+ metadata: v.definition,
464
+ input: v.input,
465
+ explore: v.explore,
466
+ }),
467
+ decoder: (v) =>
468
+ decode_array({
469
+ config: props.config,
470
+ importer: props.importer,
471
+ input: v.input,
472
+ array: v.definition,
473
+ explore: v.explore,
474
+ }),
475
+ empty: ts.factory.createStringLiteral("[]"),
476
+ success: ts.factory.createTrue(),
477
+ failure: (v) =>
478
+ create_throw_error({
479
+ importer: props.importer,
480
+ expected: v.expected,
481
+ input: v.input,
482
+ }),
483
+ },
484
+ parameters: next.parameters,
485
+ input: next.input,
486
+ arrays: next.definitions,
487
+ explore: next.explore,
488
+ }),
462
489
  });
490
+ //(next.parameters)(next.input, next.elements, next.explore),
463
491
 
464
492
  const explore_array_like_union_types = <
465
493
  T extends MetadataArray | MetadataTuple,
@@ -469,7 +497,7 @@ export namespace MiscPruneProgrammer {
469
497
  factory: (next: {
470
498
  parameters: ts.ParameterDeclaration[];
471
499
  input: ts.Expression;
472
- elements: T[];
500
+ definitions: T[];
473
501
  explore: FeatureProgrammer.IExplore;
474
502
  }) => ts.ArrowFunction;
475
503
  input: ts.Expression;
@@ -482,7 +510,7 @@ export namespace MiscPruneProgrammer {
482
510
  input: ts.Expression;
483
511
  }): ts.ArrowFunction =>
484
512
  props.factory({
485
- elements: props.elements,
513
+ definitions: props.elements,
486
514
  parameters: next.parameters,
487
515
  input: next.input,
488
516
  explore: next.explore,
@@ -510,9 +538,11 @@ export namespace MiscPruneProgrammer {
510
538
  props.elements.map((e) => e.type.name).join(" | "),
511
539
  () =>
512
540
  arrow({
513
- parameters: FeatureProgrammer.parameterDeclarations(props.config)(
514
- TypeFactory.keyword("any"),
515
- )(ts.factory.createIdentifier("input")),
541
+ parameters: FeatureProgrammer.parameterDeclarations({
542
+ config: props.config,
543
+ type: TypeFactory.keyword("any"),
544
+ input: ts.factory.createIdentifier("input"),
545
+ }),
516
546
  explore: {
517
547
  ...arrayExplore,
518
548
  postfix: "",
@@ -522,9 +552,7 @@ export namespace MiscPruneProgrammer {
522
552
  ),
523
553
  ),
524
554
  undefined,
525
- FeatureProgrammer.argumentsArray(props.config)(props.explore)(
526
- props.input,
527
- ),
555
+ FeatureProgrammer.argumentsArray(props),
528
556
  );
529
557
  };
530
558
 
@@ -560,69 +588,75 @@ export namespace MiscPruneProgrammer {
560
588
  trace: false,
561
589
  path: false,
562
590
  initializer,
563
- decoder: () => (input, metadata, explore) =>
591
+ decoder: (next) =>
564
592
  decode({
565
593
  context: props.context,
566
594
  importer: props.importer,
567
595
  config,
568
- input,
569
- metadata,
570
- explore,
596
+ input: next.input,
597
+ metadata: next.metadata,
598
+ explore: next.explore,
571
599
  }),
572
600
  objector: {
573
- checker: () => (input, metadata, explore) =>
601
+ checker: (next) =>
574
602
  IsProgrammer.decode({
575
603
  context: props.context,
576
604
  importer: props.importer,
577
- input,
578
- metadata,
579
- explore,
605
+ input: next.input,
606
+ metadata: next.metadata,
607
+ explore: next.explore,
580
608
  }),
581
- decoder: () => (input, object, explore) =>
609
+ decoder: (next) =>
582
610
  decode_object({
583
611
  importer: props.importer,
584
- input,
585
- object,
586
- explore,
612
+ input: next.input,
613
+ object: next.object,
614
+ explore: next.explore,
587
615
  }),
588
616
  joiner: PruneJoiner.object,
589
- unionizer: decode_union_object((input, object, explore) =>
590
- IsProgrammer.decode_object({
591
- context: props.context,
592
- importer: props.importer,
593
- input,
594
- object,
595
- explore,
596
- }),
597
- )((input, object, explore) =>
598
- decode_object({
599
- importer: props.importer,
600
- input,
601
- object,
602
- explore,
603
- }),
604
- )((exp) => exp)((input, expected) =>
605
- create_throw_error({
606
- importer: props.importer,
607
- expected,
608
- input,
617
+ unionizer: (next) =>
618
+ decode_union_object({
619
+ checker: (v) =>
620
+ IsProgrammer.decode_object({
621
+ context: props.context,
622
+ importer: props.importer,
623
+ input: v.input,
624
+ object: v.object,
625
+ explore: v.explore,
626
+ }),
627
+ decoder: (v) =>
628
+ decode_object({
629
+ importer: props.importer,
630
+ input: v.input,
631
+ object: v.object,
632
+ explore: v.explore,
633
+ }),
634
+ success: (exp) => exp,
635
+ escaper: (v) =>
636
+ create_throw_error({
637
+ importer: props.importer,
638
+ expected: v.expected,
639
+ input: v.input,
640
+ }),
641
+ input: next.input,
642
+ objects: next.objects,
643
+ explore: next.explore,
609
644
  }),
610
- ),
611
- failure: (input, expected) =>
645
+ failure: (next) =>
612
646
  create_throw_error({
613
647
  importer: props.importer,
614
- expected,
615
- input,
648
+ expected: next.expected,
649
+ input: next.input,
616
650
  }),
617
651
  },
618
652
  generator: {
619
- arrays: () => (collection) =>
653
+ arrays: (collection) =>
620
654
  write_array_functions({
621
655
  config,
622
656
  importer: props.importer,
623
657
  collection,
624
658
  }),
625
- tuples: () => (collection) =>
659
+ tuples: (collection) =>
626
660
  write_tuple_functions({
627
661
  config,
628
662
  context: props.context,
@@ -634,26 +668,25 @@ export namespace MiscPruneProgrammer {
634
668
  return config;
635
669
  };
636
670
 
637
- const initializer: FeatureProgrammer.IConfig["initializer"] =
638
- (context) => (importer) => (type) => {
639
- const collection = new MetadataCollection();
640
- const result = MetadataFactory.analyze({
641
- checker: context.checker,
642
- transformer: context.transformer,
643
- options: {
644
- escape: false,
645
- constant: true,
646
- absorb: true,
647
- },
648
- collection,
649
- type,
650
- });
651
- if (result.success === false)
652
- throw TransformerError.from(`typia.misc.${importer.method}`)(
653
- result.errors,
654
- );
655
- return [collection, result.data];
656
- };
671
+ const initializer: FeatureProgrammer.IConfig["initializer"] = (props) => {
672
+ const collection = new MetadataCollection();
673
+ const result = MetadataFactory.analyze({
674
+ checker: props.context.checker,
675
+ transformer: props.context.transformer,
676
+ options: {
677
+ escape: false,
678
+ constant: true,
679
+ absorb: true,
680
+ },
681
+ collection,
682
+ type: props.type,
683
+ });
684
+ if (result.success === false)
685
+ throw TransformerError.from(`typia.misc.${props.importer.method}`)(
686
+ result.errors,
687
+ );
688
+ return [collection, result.data];
689
+ };
657
690
 
658
691
  const create_throw_error = (props: {
659
692
  importer: FunctionImporter;