typia 3.5.0-dev.20230126 → 3.5.0-dev.20230212

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 (263) hide show
  1. package/README.md +70 -70
  2. package/lib/factories/MetadataCollection.d.ts +9 -1
  3. package/lib/factories/MetadataCollection.js +75 -2
  4. package/lib/factories/MetadataCollection.js.map +1 -1
  5. package/lib/factories/internal/metadata/iterate_metadata_native.js +0 -3
  6. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  7. package/lib/functional/$is_between.d.ts +1 -0
  8. package/lib/functional/$is_between.js +8 -0
  9. package/lib/functional/$is_between.js.map +1 -0
  10. package/lib/metadata/IMetadataTag.d.ts +3 -7
  11. package/lib/metadata/Metadata.js +2 -2
  12. package/lib/metadata/Metadata.js.map +1 -1
  13. package/lib/module.d.ts +210 -6
  14. package/lib/module.js +88 -9
  15. package/lib/module.js.map +1 -1
  16. package/lib/programmers/AssertProgrammer.js +3 -2
  17. package/lib/programmers/AssertProgrammer.js.map +1 -1
  18. package/lib/programmers/AssertPruneProgrammer.d.ts +5 -0
  19. package/lib/programmers/AssertPruneProgrammer.js +37 -0
  20. package/lib/programmers/AssertPruneProgrammer.js.map +1 -0
  21. package/lib/programmers/CheckerProgrammer.d.ts +2 -2
  22. package/lib/programmers/CheckerProgrammer.js +21 -16
  23. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  24. package/lib/programmers/FeatureProgrammer.d.ts +114 -18
  25. package/lib/programmers/FeatureProgrammer.js +4 -4
  26. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  27. package/lib/programmers/IsProgrammer.d.ts +4 -3
  28. package/lib/programmers/IsProgrammer.js +72 -61
  29. package/lib/programmers/IsProgrammer.js.map +1 -1
  30. package/lib/programmers/IsPruneProgrammer.d.ts +5 -0
  31. package/lib/programmers/IsPruneProgrammer.js +37 -0
  32. package/lib/programmers/IsPruneProgrammer.js.map +1 -0
  33. package/lib/programmers/PruneProgrammer.d.ts +5 -0
  34. package/lib/programmers/PruneProgrammer.js +279 -0
  35. package/lib/programmers/PruneProgrammer.js.map +1 -0
  36. package/lib/programmers/StringifyProgrammer.js +26 -21
  37. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  38. package/lib/programmers/ValidateProgrammer.js +3 -2
  39. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  40. package/lib/programmers/ValidatePruneProgrammer.d.ts +5 -0
  41. package/lib/programmers/ValidatePruneProgrammer.js +37 -0
  42. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -0
  43. package/lib/programmers/helpers/AtomicPredicator.d.ts +2 -0
  44. package/lib/programmers/helpers/AtomicPredicator.js +9 -1
  45. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  46. package/lib/programmers/helpers/IExpressionEntry.d.ts +2 -2
  47. package/lib/programmers/helpers/OptionPredicator.d.ts +1 -0
  48. package/lib/programmers/helpers/OptionPredicator.js +4 -0
  49. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  50. package/lib/programmers/helpers/PruneJoiner.d.ts +8 -0
  51. package/lib/programmers/helpers/PruneJoiner.js +60 -0
  52. package/lib/programmers/helpers/PruneJoiner.js.map +1 -0
  53. package/lib/programmers/helpers/StringifyJoinder.d.ts +1 -1
  54. package/lib/programmers/helpers/StringifyJoinder.js +2 -4
  55. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  56. package/lib/programmers/internal/application_object.js +11 -11
  57. package/lib/programmers/internal/application_object.js.map +1 -1
  58. package/lib/programmers/internal/application_schema.js +21 -12
  59. package/lib/programmers/internal/application_schema.js.map +1 -1
  60. package/lib/programmers/internal/check_dynamic_properties.js +34 -11
  61. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  62. package/lib/programmers/internal/check_native.js +9 -1
  63. package/lib/programmers/internal/check_native.js.map +1 -1
  64. package/lib/programmers/internal/check_object.d.ts +1 -0
  65. package/lib/programmers/internal/check_object.js +13 -9
  66. package/lib/programmers/internal/check_object.js.map +1 -1
  67. package/lib/programmers/internal/check_union_array_like.d.ts +1 -1
  68. package/lib/programmers/internal/check_union_array_like.js +3 -1
  69. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  70. package/lib/programmers/internal/feature_object_entries.d.ts +2 -2
  71. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  72. package/lib/programmers/internal/prune_object_properties.d.ts +1 -0
  73. package/lib/programmers/internal/prune_object_properties.js +28 -0
  74. package/lib/programmers/internal/prune_object_properties.js.map +1 -0
  75. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  76. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  77. package/lib/transformers/CallExpressionTransformer.js +17 -3
  78. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  79. package/lib/transformers/ITransformOptions.d.ts +14 -0
  80. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +3 -1
  81. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
  82. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.d.ts +5 -0
  83. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js +23 -0
  84. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js.map +1 -0
  85. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.d.ts +5 -0
  86. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js +17 -0
  87. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js.map +1 -0
  88. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.d.ts +5 -0
  89. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js +17 -0
  90. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js.map +1 -0
  91. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.d.ts +5 -0
  92. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js +17 -0
  93. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js.map +1 -0
  94. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.d.ts +5 -0
  95. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js +17 -0
  96. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js.map +1 -0
  97. package/lib/transformers/features/miscellaneous/IsPruneTransformer.d.ts +5 -0
  98. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js +23 -0
  99. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js.map +1 -0
  100. package/lib/transformers/features/miscellaneous/PruneTransformer.d.ts +5 -0
  101. package/lib/transformers/features/miscellaneous/PruneTransformer.js +34 -0
  102. package/lib/transformers/features/miscellaneous/PruneTransformer.js.map +1 -0
  103. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.d.ts +5 -0
  104. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js +23 -0
  105. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js.map +1 -0
  106. package/package.json +5 -4
  107. package/src/factories/MetadataCollection.ts +41 -2
  108. package/src/factories/internal/metadata/iterate_metadata_native.ts +0 -5
  109. package/src/functional/$is_between.ts +7 -0
  110. package/src/metadata/IMetadataTag.ts +4 -19
  111. package/src/metadata/Metadata.ts +3 -6
  112. package/src/module.ts +366 -19
  113. package/src/programmers/AssertProgrammer.ts +3 -2
  114. package/src/programmers/AssertPruneProgrammer.ts +59 -0
  115. package/src/programmers/CheckerProgrammer.ts +21 -13
  116. package/src/programmers/FeatureProgrammer.ts +146 -21
  117. package/src/programmers/IsProgrammer.ts +107 -87
  118. package/src/programmers/IsPruneProgrammer.ts +63 -0
  119. package/src/programmers/PruneProgrammer.ts +323 -0
  120. package/src/programmers/StringifyProgrammer.ts +51 -34
  121. package/src/programmers/ValidateProgrammer.ts +3 -2
  122. package/src/programmers/ValidatePruneProgrammer.ts +73 -0
  123. package/src/programmers/helpers/AtomicPredicator.ts +17 -1
  124. package/src/programmers/helpers/IExpressionEntry.ts +4 -2
  125. package/src/programmers/helpers/OptionPredicator.ts +4 -0
  126. package/src/programmers/helpers/PruneJoiner.ts +52 -0
  127. package/src/programmers/helpers/StringifyJoinder.ts +7 -4
  128. package/src/programmers/internal/application_object.ts +5 -5
  129. package/src/programmers/internal/application_schema.ts +33 -27
  130. package/src/programmers/internal/check_dynamic_properties.ts +67 -16
  131. package/src/programmers/internal/check_native.ts +14 -2
  132. package/src/programmers/internal/check_object.ts +8 -2
  133. package/src/programmers/internal/check_union_array_like.ts +4 -2
  134. package/src/programmers/internal/feature_object_entries.ts +6 -1
  135. package/src/programmers/internal/prune_object_properties.ts +60 -0
  136. package/src/programmers/internal/stringify_dynamic_properties.ts +2 -2
  137. package/src/programmers/internal/stringify_regular_properties.ts +2 -2
  138. package/src/transformers/CallExpressionTransformer.ts +27 -16
  139. package/src/transformers/ITransformOptions.ts +15 -0
  140. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +3 -1
  141. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +38 -0
  142. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +32 -0
  143. package/src/transformers/features/{protocols/MessageTransformer.ts → miscellaneous/CreateIsPruneTransformer.ts} +6 -6
  144. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +31 -0
  145. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +32 -0
  146. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +38 -0
  147. package/src/transformers/features/miscellaneous/PruneTransformer.ts +46 -0
  148. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +38 -0
  149. package/lib/factories/ProtocolFactory.d.ts +0 -8
  150. package/lib/factories/ProtocolFactory.js +0 -112
  151. package/lib/factories/ProtocolFactory.js.map +0 -1
  152. package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +0 -16
  153. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +0 -156
  154. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +0 -1
  155. package/lib/factories/internal/protocols/emplace_protocol_object.d.ts +0 -3
  156. package/lib/factories/internal/protocols/emplace_protocol_object.js +0 -47
  157. package/lib/factories/internal/protocols/emplace_protocol_object.js.map +0 -1
  158. package/lib/factories/internal/protocols/emplace_protocol_property.d.ts +0 -4
  159. package/lib/factories/internal/protocols/emplace_protocol_property.js +0 -20
  160. package/lib/factories/internal/protocols/emplace_protocol_property.js.map +0 -1
  161. package/lib/factories/internal/protocols/iterate_protocol_atomic.d.ts +0 -3
  162. package/lib/factories/internal/protocols/iterate_protocol_atomic.js +0 -69
  163. package/lib/factories/internal/protocols/iterate_protocol_atomic.js.map +0 -1
  164. package/lib/factories/internal/protocols/iterate_protocol_constant.d.ts +0 -2
  165. package/lib/factories/internal/protocols/iterate_protocol_constant.js +0 -30
  166. package/lib/factories/internal/protocols/iterate_protocol_constant.js.map +0 -1
  167. package/lib/factories/internal/protocols/iterate_protocol_main.d.ts +0 -3
  168. package/lib/factories/internal/protocols/iterate_protocol_main.js +0 -17
  169. package/lib/factories/internal/protocols/iterate_protocol_main.js.map +0 -1
  170. package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +0 -4
  171. package/lib/factories/internal/protocols/iterate_protocol_map.js +0 -75
  172. package/lib/factories/internal/protocols/iterate_protocol_map.js.map +0 -1
  173. package/lib/factories/internal/protocols/iterate_protocol_metadata.d.ts +0 -5
  174. package/lib/factories/internal/protocols/iterate_protocol_metadata.js +0 -190
  175. package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +0 -1
  176. package/lib/factories/internal/protocols/iterate_protocol_native.d.ts +0 -2
  177. package/lib/factories/internal/protocols/iterate_protocol_native.js +0 -33
  178. package/lib/factories/internal/protocols/iterate_protocol_native.js.map +0 -1
  179. package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +0 -1
  180. package/lib/factories/internal/protocols/iterate_protocol_never.js +0 -6
  181. package/lib/factories/internal/protocols/iterate_protocol_never.js.map +0 -1
  182. package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +0 -4
  183. package/lib/factories/internal/protocols/iterate_protocol_object.js +0 -157
  184. package/lib/factories/internal/protocols/iterate_protocol_object.js.map +0 -1
  185. package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +0 -5
  186. package/lib/factories/internal/protocols/iterate_protocol_repeated.js +0 -25
  187. package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +0 -1
  188. package/lib/factories/internal/protocols/iterate_protocol_tuple.d.ts +0 -3
  189. package/lib/factories/internal/protocols/iterate_protocol_tuple.js +0 -46
  190. package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +0 -1
  191. package/lib/functional/$proto_bytes.d.ts +0 -2
  192. package/lib/functional/$proto_bytes.js +0 -37
  193. package/lib/functional/$proto_bytes.js.map +0 -1
  194. package/lib/functional/$proto_field.d.ts +0 -10
  195. package/lib/functional/$proto_field.js +0 -42
  196. package/lib/functional/$proto_field.js.map +0 -1
  197. package/lib/functional/$proto_float.d.ts +0 -4
  198. package/lib/functional/$proto_float.js +0 -28
  199. package/lib/functional/$proto_float.js.map +0 -1
  200. package/lib/functional/$proto_i32.d.ts +0 -2
  201. package/lib/functional/$proto_i32.js +0 -23
  202. package/lib/functional/$proto_i32.js.map +0 -1
  203. package/lib/functional/$proto_i64.d.ts +0 -2
  204. package/lib/functional/$proto_i64.js +0 -31
  205. package/lib/functional/$proto_i64.js.map +0 -1
  206. package/lib/functional/$proto_size.d.ts +0 -6
  207. package/lib/functional/$proto_size.js +0 -76
  208. package/lib/functional/$proto_size.js.map +0 -1
  209. package/lib/functional/$proto_string.d.ts +0 -2
  210. package/lib/functional/$proto_string.js +0 -34
  211. package/lib/functional/$proto_string.js.map +0 -1
  212. package/lib/functional/$varint.d.ts +0 -6
  213. package/lib/functional/$varint.js +0 -99
  214. package/lib/functional/$varint.js.map +0 -1
  215. package/lib/functional/$zigzag.d.ts +0 -4
  216. package/lib/functional/$zigzag.js +0 -34
  217. package/lib/functional/$zigzag.js.map +0 -1
  218. package/lib/messages/IProtocolMap.d.ts +0 -5
  219. package/lib/messages/IProtocolMap.js +0 -3
  220. package/lib/messages/IProtocolMap.js.map +0 -1
  221. package/lib/messages/IProtocolMessage.d.ts +0 -5
  222. package/lib/messages/IProtocolMessage.js +0 -3
  223. package/lib/messages/IProtocolMessage.js.map +0 -1
  224. package/lib/messages/IProtocolProperty.d.ts +0 -12
  225. package/lib/messages/IProtocolProperty.js +0 -3
  226. package/lib/messages/IProtocolProperty.js.map +0 -1
  227. package/lib/programmers/MessageProgrammer.d.ts +0 -5
  228. package/lib/programmers/MessageProgrammer.js +0 -141
  229. package/lib/programmers/MessageProgrammer.js.map +0 -1
  230. package/lib/transformers/features/protocols/MessageTransformer.d.ts +0 -5
  231. package/lib/transformers/features/protocols/MessageTransformer.js +0 -17
  232. package/lib/transformers/features/protocols/MessageTransformer.js.map +0 -1
  233. package/lib/utils/NameEncoder.d.ts +0 -4
  234. package/lib/utils/NameEncoder.js +0 -89
  235. package/lib/utils/NameEncoder.js.map +0 -1
  236. package/src/factories/ProtocolFactory.ts +0 -79
  237. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +0 -163
  238. package/src/factories/internal/protocols/emplace_protocol_object.ts +0 -25
  239. package/src/factories/internal/protocols/emplace_protocol_property.ts +0 -12
  240. package/src/factories/internal/protocols/iterate_protocol_atomic.ts +0 -34
  241. package/src/factories/internal/protocols/iterate_protocol_constant.ts +0 -27
  242. package/src/factories/internal/protocols/iterate_protocol_main.ts +0 -19
  243. package/src/factories/internal/protocols/iterate_protocol_map.ts +0 -58
  244. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +0 -96
  245. package/src/factories/internal/protocols/iterate_protocol_native.ts +0 -34
  246. package/src/factories/internal/protocols/iterate_protocol_never.ts +0 -1
  247. package/src/factories/internal/protocols/iterate_protocol_object.ts +0 -110
  248. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +0 -34
  249. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +0 -29
  250. package/src/functional/$proto_bytes.ts +0 -25
  251. package/src/functional/$proto_field.ts +0 -30
  252. package/src/functional/$proto_float.ts +0 -37
  253. package/src/functional/$proto_i32.ts +0 -29
  254. package/src/functional/$proto_i64.ts +0 -37
  255. package/src/functional/$proto_size.ts +0 -82
  256. package/src/functional/$proto_string.ts +0 -24
  257. package/src/functional/$varint.ts +0 -130
  258. package/src/functional/$zigzag.ts +0 -39
  259. package/src/messages/IProtocolMap.ts +0 -5
  260. package/src/messages/IProtocolMessage.ts +0 -6
  261. package/src/messages/IProtocolProperty.ts +0 -13
  262. package/src/programmers/MessageProgrammer.ts +0 -126
  263. package/src/utils/NameEncoder.ts +0 -32
package/lib/module.d.ts CHANGED
@@ -318,8 +318,6 @@ export declare function validateEquals<T>(input: T): IValidation<T>;
318
318
  * @author Jeongho Nam - https://github.com/samchon
319
319
  */
320
320
  export declare function validateEquals<T>(input: unknown): IValidation<T>;
321
- export declare function message(): never;
322
- export declare function message<T>(): string;
323
321
  /**
324
322
  * > You must configure the generic argument `T`.
325
323
  *
@@ -491,8 +489,8 @@ export declare function validateParse<T>(input: string): IValidation<T>;
491
489
  * than the native `JSON.stringify()` function. The 5x faster principle is because
492
490
  * it writes an optimized JSON conversion plan, only for the type `T`.
493
491
  *
494
- * For reference, this `typia.stringify()` does not validate the input value type. It
495
- * just believes that the input value is following the type `T`. Therefore, if you
492
+ * For reference, this `typia.stringify()` does not validate the input value type.
493
+ * It just believes that the input value is following the type `T`. Therefore, if you
496
494
  * can't ensure the input value type, it would be better to call one of below functions
497
495
  * instead.
498
496
  *
@@ -579,7 +577,7 @@ export declare function isStringify<T>(input: T): string | null;
579
577
  * `typia.isStringify()` is a combination function of {@link is} and
580
578
  * {@link stringify}. Therefore, it converts an input value to JSON
581
579
  * (JavaScript Object Notation) string, with type checking.
582
- *
580
+ *f
583
581
  * In such reason, when `input` value is not matched with the type `T`, it returns
584
582
  * `null` value. Otherwise, there's no problem on the `input` value, JSON string would
585
583
  * be returned.
@@ -641,6 +639,136 @@ export declare function validateStringify<T>(input: T): IValidation<string>;
641
639
  * @author Jeongho Nam - https://github.com/samchon
642
640
  */
643
641
  export declare function validateStringify<T>(input: unknown): IValidation<string>;
642
+ /**
643
+ * Prune, erase superfluous properties.
644
+ *
645
+ * Remove every superfluous properties from the `input` object, even including nested
646
+ * objects. Note that, as every superfluous properties would be deleted, you never can
647
+ * read those superfluous properties after calling this `prune()` function.
648
+ *
649
+ * For reference, this `typia.prune()` function does not validate the input value type.
650
+ * It just believes that the input value is following the type `T`. Therefore, if you
651
+ * can't ensure the input value type, it would better to call one of below functions
652
+ * instead.
653
+ *
654
+ * - {@link assertPrune}
655
+ * - {@link isPrune}
656
+ * - {@link validatePrune}
657
+ *
658
+ * @template T Type of the input value
659
+ * @param input Target instance to prune
660
+ *
661
+ * @author Jeongho Nam - https://github.com/samchon
662
+ */
663
+ export declare function prune<T extends object>(input: T): void;
664
+ /**
665
+ * Prune, erase superfluous properties, with type assertion.
666
+ *
667
+ * `typia.assertPrune()` is a combination function of {@link assert} and {@link prune}.
668
+ * Therefore, it removes every superfluous properties from the `input` object including
669
+ * nested objects, with type assertion.
670
+ *
671
+ * In such reason, when `input` value is not matched with the type `T`, it throws an
672
+ * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, its
673
+ * every superfluous properties would be removed, including nested objects.
674
+ *
675
+ * @template T Type of the input value
676
+ * @param input Target instance to assert and prune
677
+ *
678
+ * @author Jeongho Nam - https://github.com/samchon
679
+ */
680
+ export declare function assertPrune<T>(input: T): T;
681
+ /**
682
+ * Prune, erase superfluous properties, with type assertion.
683
+ *
684
+ * `typia.assertPrune()` is a combination function of {@link assert} and {@link prune}.
685
+ * Therefore, it removes every superfluous properties from the `input` object including
686
+ * nested objects, with type assertion.
687
+ *
688
+ * In such reason, when `input` value is not matched with the type `T`, it throws an
689
+ * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, its
690
+ * every superfluous properties would be removed, including nested objects.
691
+ *
692
+ * @template T Type of the input value
693
+ * @param input Target instance to assert and prune
694
+ *
695
+ * @author Jeongho Nam - https://github.com/samchon
696
+ */
697
+ export declare function assertPrune<T>(input: unknown): T;
698
+ /**
699
+ * Prune, erase superfluous properties, with type checking.
700
+ *
701
+ * `typia.assertPrune()` is a combination function of {@link is} and {@link prune}.
702
+ * Therefore, it removes every superfluous properties from the `input` object including
703
+ * nested objects, with type checking.
704
+ *
705
+ * In such reason, when `input` value is not matched with the type `T`, it returns
706
+ * `false` value. Otherwise, there's no problem on the `input` value, it returns
707
+ * `true` after removing every superfluous properties, including nested objects.
708
+ *
709
+ * @template T Type of the input value
710
+ * @param input Target instance to check and prune
711
+ * @returns Whether the parametric value is following the type `T` or not
712
+ *
713
+ * @author Jeongho Nam - https://github.com/samchon
714
+ */
715
+ export declare function isPrune<T>(input: T): input is T;
716
+ /**
717
+ * Prune, erase superfluous properties, with type checking.
718
+ *
719
+ * `typia.assertPrune()` is a combination function of {@link is} and {@link prune}.
720
+ * Therefore, it removes every superfluous properties from the `input` object including
721
+ * nested objects, with type checking.
722
+ *
723
+ * In such reason, when `input` value is not matched with the type `T`, it returns
724
+ * `false` value. Otherwise, there's no problem on the `input` value, it returns
725
+ * `true` after removing every superfluous properties, including nested objects.
726
+ *
727
+ * @template T Type of the input value
728
+ * @param input Target instance to check and prune
729
+ * @returns Whether the parametric value is following the type `T` or not
730
+ *
731
+ * @author Jeongho Nam - https://github.com/samchon
732
+ */
733
+ export declare function isPrune<T>(input: unknown): input is T;
734
+ /**
735
+ * Prune, erase superfluous properties, with type validation.
736
+ *
737
+ * `typia.validatePrune()` is a combination function of {@link validate} and {@link prune}.
738
+ * Therefore, it removes every superfluous properties from the `input` object including
739
+ * nested objects, with type validation.
740
+ *
741
+ * In such reason, when `input` value is not matched with the type `T`, it returns
742
+ * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
743
+ * no problem on the `input` value, it returns {@link IValidation.ISucess} value after
744
+ * removing every superfluous properties, including nested objects.
745
+ *
746
+ * @template T Type of the input value
747
+ * @param input Target instance to validate and prune
748
+ * @returns Validation result
749
+ *
750
+ * @author Jeongho Nam - https://github.com/samchon
751
+ */
752
+ export declare function validatePrune<T>(input: T): IValidation<T>;
753
+ /**
754
+ * Prune, erase superfluous properties, with type validation.
755
+ *
756
+ * `typia.validatePrune()` is a combination function of {@link validate} and {@link prune}.
757
+ * Therefore, it removes every superfluous properties from the `input` object including
758
+ * nested objects, with type validation.
759
+ *
760
+ * In such reason, when `input` value is not matched with the type `T`, it returns
761
+ * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
762
+ * no problem on the `input` value, it returns {@link IValidation.ISucess} value after
763
+ * removing every superfluous properties, including nested objects.
764
+ *
765
+ * @template T Type of the input value
766
+ * @param input Target instance to validate and prune
767
+ * @returns Validation result
768
+ *
769
+ * @author Jeongho Nam - https://github.com/samchon
770
+ */
771
+ export declare function validatePrune<T>(input: unknown): IValidation<T>;
644
772
  /**
645
773
  * Creates a reusable {@link assert} function.
646
774
  *
@@ -909,7 +1037,83 @@ export declare function createValidateStringify(): never;
909
1037
  *
910
1038
  * @template T Type of the input value
911
1039
  * @returns A reusable `validateStringify` function
912
- *
1040
+
913
1041
  * @author Jeongho Nam - https://github.com/samchon
914
1042
  */
915
1043
  export declare function createValidateStringify<T>(): (input: unknown) => IValidation<string>;
1044
+ /**
1045
+ * Creates a reusable {@link prune} function.
1046
+ *
1047
+ * @danger You have to specify the generic argument `T`
1048
+ * @return Nothing until specifying the generic argument `T`
1049
+ * @throws compile error
1050
+ *
1051
+ * @author Jeongho Nam - https://github.com/samchon
1052
+ */
1053
+ export declare function createPrune(): never;
1054
+ /**
1055
+ * Creates a resuable {@link prune} function.
1056
+ *
1057
+ * @template T Type of the input value
1058
+ * @returns A reusable `prune` function
1059
+ *
1060
+ * @author Jeongho Nam - https://github.com/samchon
1061
+ */
1062
+ export declare function createPrune<T extends object>(): (input: T) => void;
1063
+ /**
1064
+ * Creates a reusable {@link isPrune} function.
1065
+ *
1066
+ * @danger You have to specify the generic argument `T`
1067
+ * @return Nothing until specifying the generic argument `T`
1068
+ * @throws compile error
1069
+ *
1070
+ * @author Jeongho Nam - https://github.com/samchon
1071
+ */
1072
+ export declare function createAssertPrune(): never;
1073
+ /**
1074
+ * Creates a resuable {@link isPrune} function.
1075
+ *
1076
+ * @template T Type of the input value
1077
+ * @returns A reusable `isPrune` function
1078
+ *
1079
+ * @author Jeongho Nam - https://github.com/samchon
1080
+ */
1081
+ export declare function createAssertPrune<T extends object>(): (input: T) => T;
1082
+ /**
1083
+ * Creates a reusable {@link isPrune} function.
1084
+ *
1085
+ * @danger You have to specify the generic argument `T`
1086
+ * @return Nothing until specifying the generic argument `T`
1087
+ * @throws compile error
1088
+ *
1089
+ * @author Jeongho Nam - https://github.com/samchon
1090
+ */
1091
+ export declare function createIsPrune(): never;
1092
+ /**
1093
+ * Creates a resuable {@link isPrune} function.
1094
+ *
1095
+ * @template T Type of the input value
1096
+ * @returns A reusable `isPrune` function
1097
+ *
1098
+ * @author Jeongho Nam - https://github.com/samchon
1099
+ */
1100
+ export declare function createIsPrune<T extends object>(): (input: T) => input is T;
1101
+ /**
1102
+ * Creates a reusable {@link validatePrune} function.
1103
+ *
1104
+ * @danger You have to specify the generic argument `T`
1105
+ * @return Nothing until specifying the generic argument `T`
1106
+ * @throws compile error
1107
+ *
1108
+ * @author Jeongho Nam - https://github.com/samchon
1109
+ */
1110
+ export declare function createValidatePrune(): never;
1111
+ /**
1112
+ * Creates a resuable {@link validatePrune} function.
1113
+ *
1114
+ * @template T Type of the input value
1115
+ * @returns A reusable `validatePrune` function
1116
+ *
1117
+ * @author Jeongho Nam - https://github.com/samchon
1118
+ */
1119
+ export declare function createValidatePrune<T extends object>(): (input: T) => IValidation<T>;
package/lib/module.js CHANGED
@@ -25,9 +25,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
25
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.metadata = exports.createValidateStringify = exports.createIsStringify = exports.createAssertStringify = exports.createStringify = exports.createValidateParse = exports.createAssertParse = exports.createIsParse = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssertType = exports.createAssert = exports.validateStringify = exports.isStringify = exports.assertStringify = exports.stringify = exports.validateParse = exports.isParse = exports.assertParse = exports.application = exports.message = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = exports.assert = void 0;
28
+ exports.createValidatePrune = exports.createIsPrune = exports.createAssertPrune = exports.createPrune = exports.createValidateStringify = exports.createIsStringify = exports.createAssertStringify = exports.createStringify = exports.createValidateParse = exports.createAssertParse = exports.createIsParse = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssertType = exports.createAssert = exports.validatePrune = exports.isPrune = exports.assertPrune = exports.prune = exports.metadata = exports.validateStringify = exports.isStringify = exports.assertStringify = exports.stringify = exports.validateParse = exports.isParse = exports.assertParse = exports.application = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = exports.assert = void 0;
29
29
  var _every_1 = require("./functional/$every");
30
30
  var _guard_1 = require("./functional/$guard");
31
+ var _is_between_1 = require("./functional/$is_between");
31
32
  var _is_email_1 = require("./functional/$is_email");
32
33
  var _is_ipv4_1 = require("./functional/$is_ipv4");
33
34
  var _is_ipv6_1 = require("./functional/$is_ipv6");
@@ -56,6 +57,7 @@ exports.assert = assert;
56
57
  assert.is_url = _is_url_1.$is_url;
57
58
  assert.is_ipv4 = _is_ipv4_1.$is_ipv4;
58
59
  assert.is_ipv6 = _is_ipv6_1.$is_ipv6;
60
+ assert.is_between = _is_between_1.$is_between;
59
61
  assert.join = _join_1.$join;
60
62
  assert.every = _every_1.$every;
61
63
  assert.guard = (0, _guard_1.$guard)("typia.assert");
@@ -83,6 +85,7 @@ exports.is = is;
83
85
  is.is_url = _is_url_1.$is_url;
84
86
  is.is_ipv4 = _is_ipv4_1.$is_ipv4;
85
87
  is.is_ipv6 = _is_ipv6_1.$is_ipv6;
88
+ is.is_between = _is_between_1.$is_between;
86
89
  })(is = exports.is || (exports.is = {}));
87
90
  function validate() {
88
91
  halt("validate");
@@ -94,6 +97,7 @@ exports.validate = validate;
94
97
  validate.is_url = _is_url_1.$is_url;
95
98
  validate.is_ipv4 = _is_ipv4_1.$is_ipv4;
96
99
  validate.is_ipv6 = _is_ipv6_1.$is_ipv6;
100
+ validate.is_between = _is_between_1.$is_between;
97
101
  validate.join = _join_1.$join;
98
102
  validate.report = _report_1.$report;
99
103
  validate.predicate = function (res) {
@@ -126,6 +130,7 @@ exports.assertEquals = assertEquals;
126
130
  assertEquals.is_url = _is_url_1.$is_url;
127
131
  assertEquals.is_ipv4 = _is_ipv4_1.$is_ipv4;
128
132
  assertEquals.is_ipv6 = _is_ipv6_1.$is_ipv6;
133
+ assertEquals.is_between = _is_between_1.$is_between;
129
134
  assertEquals.join = _join_1.$join;
130
135
  assertEquals.every = _every_1.$every;
131
136
  assertEquals.guard = (0, _guard_1.$guard)("typia.assertEquals");
@@ -146,6 +151,7 @@ exports.equals = equals;
146
151
  equals.is_url = _is_url_1.$is_url;
147
152
  equals.is_ipv4 = _is_ipv4_1.$is_ipv4;
148
153
  equals.is_ipv6 = _is_ipv6_1.$is_ipv6;
154
+ equals.is_between = _is_between_1.$is_between;
149
155
  equals.join = _join_1.$join;
150
156
  })(equals = exports.equals || (exports.equals = {}));
151
157
  function validateEquals() {
@@ -158,6 +164,7 @@ exports.validateEquals = validateEquals;
158
164
  validateEquals.is_url = _is_url_1.$is_url;
159
165
  validateEquals.is_ipv4 = _is_ipv4_1.$is_ipv4;
160
166
  validateEquals.is_ipv6 = _is_ipv6_1.$is_ipv6;
167
+ validateEquals.is_between = _is_between_1.$is_between;
161
168
  validateEquals.join = _join_1.$join;
162
169
  validateEquals.report = validate.report;
163
170
  validateEquals.predicate = function (res) {
@@ -180,10 +187,6 @@ exports.validateEquals = validateEquals;
180
187
  };
181
188
  };
182
189
  })(validateEquals = exports.validateEquals || (exports.validateEquals = {}));
183
- function message() {
184
- halt("message");
185
- }
186
- exports.message = message;
187
190
  function application() {
188
191
  halt("application");
189
192
  }
@@ -198,6 +201,7 @@ exports.assertParse = assertParse;
198
201
  assertParse.is_url = _is_url_1.$is_url;
199
202
  assertParse.is_ipv4 = _is_ipv4_1.$is_ipv4;
200
203
  assertParse.is_ipv6 = _is_ipv6_1.$is_ipv6;
204
+ assertParse.is_between = _is_between_1.$is_between;
201
205
  assertParse.join = _join_1.$join;
202
206
  assertParse.every = _every_1.$every;
203
207
  assertParse.guard = (0, _guard_1.$guard)("typia.assertParse");
@@ -236,6 +240,7 @@ exports.assertStringify = assertStringify;
236
240
  assertStringify.is_url = _is_url_1.$is_url;
237
241
  assertStringify.is_ipv4 = _is_ipv4_1.$is_ipv4;
238
242
  assertStringify.is_ipv6 = _is_ipv6_1.$is_ipv6;
243
+ assertStringify.is_between = _is_between_1.$is_between;
239
244
  assertStringify.number = _number_1.$number;
240
245
  assertStringify.string = _string_1.$string;
241
246
  assertStringify.tail = _tail_1.$tail;
@@ -261,6 +266,7 @@ exports.isStringify = isStringify;
261
266
  isStringify.is_url = _is_url_1.$is_url;
262
267
  isStringify.is_ipv4 = _is_ipv4_1.$is_ipv4;
263
268
  isStringify.is_ipv6 = _is_ipv6_1.$is_ipv6;
269
+ isStringify.is_between = _is_between_1.$is_between;
264
270
  isStringify.number = _number_1.$number;
265
271
  isStringify.string = _string_1.$string;
266
272
  isStringify.tail = _tail_1.$tail;
@@ -273,6 +279,63 @@ function validateStringify() {
273
279
  exports.validateStringify = validateStringify;
274
280
  Object.assign(validateStringify, validate);
275
281
  Object.assign(validateStringify, stringify);
282
+ function metadata() {
283
+ halt("metadata");
284
+ }
285
+ exports.metadata = metadata;
286
+ function prune() {
287
+ halt("prune");
288
+ }
289
+ exports.prune = prune;
290
+ (function (prune) {
291
+ prune.is_uuid = _is_uuid_1.$is_uuid;
292
+ prune.is_email = _is_email_1.$is_email;
293
+ prune.is_url = _is_url_1.$is_url;
294
+ prune.is_ipv4 = _is_ipv4_1.$is_ipv4;
295
+ prune.is_ipv6 = _is_ipv6_1.$is_ipv6;
296
+ prune.is_between = _is_between_1.$is_between;
297
+ function throws(props) {
298
+ throw new TypeGuardError_1.TypeGuardError(__assign(__assign({}, props), { method: "typia.prune" }));
299
+ }
300
+ prune.throws = throws;
301
+ })(prune = exports.prune || (exports.prune = {}));
302
+ function assertPrune() {
303
+ halt("assertPrune");
304
+ }
305
+ exports.assertPrune = assertPrune;
306
+ (function (assertPrune) {
307
+ assertPrune.is_uuid = _is_uuid_1.$is_uuid;
308
+ assertPrune.is_email = _is_email_1.$is_email;
309
+ assertPrune.is_url = _is_url_1.$is_url;
310
+ assertPrune.is_ipv4 = _is_ipv4_1.$is_ipv4;
311
+ assertPrune.is_ipv6 = _is_ipv6_1.$is_ipv6;
312
+ assertPrune.is_between = _is_between_1.$is_between;
313
+ assertPrune.join = _join_1.$join;
314
+ assertPrune.every = _every_1.$every;
315
+ assertPrune.guard = (0, _guard_1.$guard)("typia.assertPrune");
316
+ })(assertPrune = exports.assertPrune || (exports.assertPrune = {}));
317
+ function isPrune() {
318
+ halt("isPrune");
319
+ }
320
+ exports.isPrune = isPrune;
321
+ (function (isPrune) {
322
+ isPrune.is_uuid = _is_uuid_1.$is_uuid;
323
+ isPrune.is_email = _is_email_1.$is_email;
324
+ isPrune.is_url = _is_url_1.$is_url;
325
+ isPrune.is_ipv4 = _is_ipv4_1.$is_ipv4;
326
+ isPrune.is_ipv6 = _is_ipv6_1.$is_ipv6;
327
+ isPrune.is_between = _is_between_1.$is_between;
328
+ function throws(props) {
329
+ throw new TypeGuardError_1.TypeGuardError(__assign(__assign({}, props), { method: "typia.prune" }));
330
+ }
331
+ isPrune.throws = throws;
332
+ })(isPrune = exports.isPrune || (exports.isPrune = {}));
333
+ function validatePrune() {
334
+ halt("validatePrune");
335
+ }
336
+ exports.validatePrune = validatePrune;
337
+ Object.assign(validatePrune, prune);
338
+ Object.assign(validatePrune, validate);
276
339
  function createAssert() {
277
340
  halt("createAssert");
278
341
  }
@@ -343,10 +406,26 @@ function createValidateStringify() {
343
406
  }
344
407
  exports.createValidateStringify = createValidateStringify;
345
408
  Object.assign(createValidateStringify, validateStringify);
346
- function metadata() {
347
- halt("metadata");
348
- }
349
- exports.metadata = metadata;
409
+ function createPrune() {
410
+ halt("createPrune");
411
+ }
412
+ exports.createPrune = createPrune;
413
+ Object.assign(createPrune, prune);
414
+ function createAssertPrune() {
415
+ halt("createAssertPrune");
416
+ }
417
+ exports.createAssertPrune = createAssertPrune;
418
+ Object.assign(createAssertPrune, assertPrune);
419
+ function createIsPrune() {
420
+ halt("createIsPrune");
421
+ }
422
+ exports.createIsPrune = createIsPrune;
423
+ Object.assign(createIsPrune, isPrune);
424
+ function createValidatePrune() {
425
+ halt("createValidatePrune");
426
+ }
427
+ exports.createValidatePrune = createValidatePrune;
428
+ Object.assign(createValidatePrune, validatePrune);
350
429
  function halt(name) {
351
430
  throw new Error("Error on typia.".concat(name, "(): no transform has been configured. Configure the \"tsconfig.json\" file following the [README.md#setup](https://github.com/samchon/typia#setup)"));
352
431
  }
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ var AssertProgrammer;
70
70
  return IsProgrammer_1.IsProgrammer.CONFIG({
71
71
  object: assert_object(equals)(importer),
72
72
  numeric: true,
73
- }).combiner(explore);
73
+ })(importer).combiner(explore);
74
74
  var path = explore.postfix
75
75
  ? "path + ".concat(explore.postfix)
76
76
  : "path";
@@ -107,6 +107,7 @@ var AssertProgrammer;
107
107
  return (0, check_object_1.check_object)({
108
108
  equals: equals,
109
109
  assert: true,
110
+ undefined: true,
110
111
  reduce: typescript_1.default.factory.createLogicalAnd,
111
112
  positive: typescript_1.default.factory.createTrue(),
112
113
  superfluous: function (value) {
@@ -115,7 +116,7 @@ var AssertProgrammer;
115
116
  halt: function (expr) {
116
117
  return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("exceptionable")), expr);
117
118
  },
118
- });
119
+ })(importer);
119
120
  }; };
120
121
  var joiner = function (equals) {
121
122
  return function (importer) { return ({
@@ -1 +1 @@
1
- {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../transformers/IProject";
3
+ export declare namespace AssertPruneProgrammer {
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.AssertPruneProgrammer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
+ var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var AssertProgrammer_1 = require("./AssertProgrammer");
22
+ var PruneProgrammer_1 = require("./PruneProgrammer");
23
+ var AssertPruneProgrammer;
24
+ (function (AssertPruneProgrammer) {
25
+ AssertPruneProgrammer.generate = function (project, modulo) {
26
+ return function (type) {
27
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ StatementFactory_1.StatementFactory.constant("assert", AssertProgrammer_1.AssertProgrammer.generate(project, modulo)(type)),
29
+ StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("assert"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
31
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("input")),
33
+ ]));
34
+ };
35
+ };
36
+ })(AssertPruneProgrammer = exports.AssertPruneProgrammer || (exports.AssertPruneProgrammer = {}));
37
+ //# sourceMappingURL=AssertPruneProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertPruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertPruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,uDAAsD;AACtD,qDAAoD;AAEpD,IAAiB,qBAAqB,CAgDrC;AAhDD,WAAiB,qBAAqB;IACrB,8BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CACnD;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACvC;aACJ,CAAC,CACL;QA3CD,CA2CC;IA5CL,CA4CK,CAAC;AACd,CAAC,EAhDgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAgDrC"}
@@ -16,7 +16,7 @@ export declare namespace CheckerProgrammer {
16
16
  equals: boolean;
17
17
  numeric: boolean;
18
18
  combiner: IConfig.Combiner;
19
- decoder?: FeatureProgrammer.Decoder<Metadata>;
19
+ decoder?: FeatureProgrammer.Decoder<Metadata, ts.Expression>;
20
20
  joiner: IConfig.IJoiner;
21
21
  success: ts.Expression;
22
22
  }
@@ -29,7 +29,7 @@ export declare namespace CheckerProgrammer {
29
29
  };
30
30
  }
31
31
  interface IJoiner {
32
- object(entries: IExpressionEntry[]): ts.Expression;
32
+ object(input: ts.Expression, entries: IExpressionEntry[]): ts.Expression;
33
33
  array(input: ts.Expression, arrow: ts.ArrowFunction): ts.Expression;
34
34
  tuple?(exprs: ts.Expression[]): ts.Expression;
35
35
  failure(value: ts.Expression, expected: string, explore?: FeatureProgrammer.IExplore): ts.Expression;