typia 5.0.0-dev.20230823 → 5.0.0-dev.20230824

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 (387) hide show
  1. package/lib/Primitive.d.ts +14 -12
  2. package/lib/Resolved.d.ts +46 -0
  3. package/lib/{schemas/metadata/IMetadataTag.js → Resolved.js} +1 -1
  4. package/lib/Resolved.js.map +1 -0
  5. package/lib/factories/ExpressionFactory.d.ts +2 -0
  6. package/lib/factories/ExpressionFactory.js +24 -0
  7. package/lib/factories/ExpressionFactory.js.map +1 -1
  8. package/lib/factories/IdentifierFactory.d.ts +2 -1
  9. package/lib/factories/IdentifierFactory.js +11 -0
  10. package/lib/factories/IdentifierFactory.js.map +1 -1
  11. package/lib/factories/MetadataCollection.d.ts +7 -7
  12. package/lib/factories/MetadataCollection.js +4 -4
  13. package/lib/factories/MetadataCollection.js.map +1 -1
  14. package/lib/factories/MetadataFactory.d.ts +1 -1
  15. package/lib/factories/MetadataTagFactory.d.ts +2 -2
  16. package/lib/factories/MetadataTagFactory.js +15 -13
  17. package/lib/factories/MetadataTagFactory.js.map +1 -1
  18. package/lib/factories/ProtobufFactory.js +11 -10
  19. package/lib/factories/ProtobufFactory.js.map +1 -1
  20. package/lib/factories/internal/metadata/emend_metadata_atomics.js +6 -6
  21. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  22. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +5 -0
  23. package/lib/factories/internal/metadata/{emplace_metadata_array.js → emplace_metadata_array_type.js} +4 -4
  24. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -0
  25. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +2 -2
  26. package/lib/factories/internal/metadata/explore_metadata.js +3 -3
  27. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  28. package/lib/factories/internal/metadata/iterate_metadata_array.js +7 -3
  29. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  30. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +1 -1
  31. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  32. package/lib/factories/internal/metadata/iterate_metadata_collection.js +26 -18
  33. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  34. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +2 -0
  35. package/lib/factories/internal/metadata/{iterate_metadata_tag.js → iterate_metadata_comment_tags.js} +4 -4
  36. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -0
  37. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +138 -16
  38. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  39. package/lib/factories/internal/metadata/iterate_metadata_native.js +2 -10
  40. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  41. package/lib/factories/internal/metadata/iterate_metadata_object.js +0 -7
  42. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  43. package/lib/factories/internal/metadata/iterate_metadata_resolve.js +6 -6
  44. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
  45. package/lib/factories/internal/metadata/iterate_metadata_sort.js +4 -4
  46. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +6 -2
  48. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_type_tags.d.ts +3 -0
  50. package/lib/factories/internal/metadata/iterate_metadata_type_tags.js +157 -0
  51. package/lib/factories/internal/metadata/iterate_metadata_type_tags.js.map +1 -0
  52. package/lib/functional/$ProtobufWriter.js.map +1 -1
  53. package/lib/functional/$any.js +2 -1
  54. package/lib/functional/$any.js.map +1 -1
  55. package/lib/functional/$clone.d.ts +2 -0
  56. package/lib/functional/$clone.js +8 -0
  57. package/lib/functional/$clone.js.map +1 -0
  58. package/lib/json.d.ts +15 -15
  59. package/lib/misc.d.ts +42 -42
  60. package/lib/module.d.ts +20 -56
  61. package/lib/module.js +4 -17
  62. package/lib/module.js.map +1 -1
  63. package/lib/programmers/AssertProgrammer.js +2 -4
  64. package/lib/programmers/AssertProgrammer.js.map +1 -1
  65. package/lib/programmers/CheckerProgrammer.js +39 -30
  66. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  67. package/lib/programmers/FeatureProgrammer.d.ts +4 -4
  68. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  69. package/lib/programmers/IsProgrammer.d.ts +1 -1
  70. package/lib/programmers/IsProgrammer.js +3 -5
  71. package/lib/programmers/IsProgrammer.js.map +1 -1
  72. package/lib/programmers/RandomProgrammer.js +328 -142
  73. package/lib/programmers/RandomProgrammer.js.map +1 -1
  74. package/lib/programmers/ValidateProgrammer.js +2 -4
  75. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  76. package/lib/programmers/helpers/AtomicPredicator.js +2 -2
  77. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  78. package/lib/programmers/helpers/FunctionImporeter.d.ts +2 -0
  79. package/lib/programmers/helpers/FunctionImporeter.js +2 -1
  80. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  81. package/lib/programmers/helpers/ICheckEntry.d.ts +1 -1
  82. package/lib/programmers/helpers/ProtobufUtil.js +2 -2
  83. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  84. package/lib/programmers/helpers/RandomJoiner.d.ts +4 -4
  85. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  86. package/lib/programmers/helpers/RandomRanger.d.ts +6 -6
  87. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  88. package/lib/programmers/helpers/StringifyPredicator.js +1 -2
  89. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  90. package/lib/programmers/helpers/UnionExplorer.d.ts +8 -8
  91. package/lib/programmers/helpers/UnionExplorer.js +40 -29
  92. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  93. package/lib/programmers/helpers/disable_function_importer_declare.js +1 -0
  94. package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
  95. package/lib/programmers/internal/application_array.js +1 -1
  96. package/lib/programmers/internal/application_array.js.map +1 -1
  97. package/lib/programmers/internal/application_default_string.js +2 -2
  98. package/lib/programmers/internal/application_default_string.js.map +1 -1
  99. package/lib/programmers/internal/application_resolved.d.ts +2 -2
  100. package/lib/programmers/internal/application_resolved.js +2 -2
  101. package/lib/programmers/internal/application_resolved.js.map +1 -1
  102. package/lib/programmers/internal/application_schema.js +7 -7
  103. package/lib/programmers/internal/application_schema.js.map +1 -1
  104. package/lib/programmers/internal/application_string.js.map +1 -1
  105. package/lib/programmers/internal/application_tuple.js +10 -9
  106. package/lib/programmers/internal/application_tuple.js.map +1 -1
  107. package/lib/programmers/internal/check_array_length.js.map +1 -1
  108. package/lib/programmers/internal/check_array_tags.js +39 -0
  109. package/lib/programmers/internal/check_array_tags.js.map +1 -0
  110. package/lib/programmers/internal/check_bigint.js +88 -74
  111. package/lib/programmers/internal/check_bigint.js.map +1 -1
  112. package/lib/programmers/internal/check_number.js +142 -131
  113. package/lib/programmers/internal/check_number.js.map +1 -1
  114. package/lib/programmers/internal/check_string.js +30 -6
  115. package/lib/programmers/internal/check_string.js.map +1 -1
  116. package/lib/programmers/internal/check_string_tags.js.map +1 -1
  117. package/lib/programmers/internal/check_template.js +16 -49
  118. package/lib/programmers/internal/check_template.js.map +1 -1
  119. package/lib/programmers/internal/check_union_array_like.js +3 -2
  120. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  121. package/lib/programmers/internal/metadata_to_pattern.js +4 -4
  122. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  123. package/lib/programmers/internal/stringify_dynamic_properties.js +2 -1
  124. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  125. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +9 -5
  126. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  127. package/lib/programmers/json/JsonStringifyProgrammer.js +33 -27
  128. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  129. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +1 -1
  130. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  131. package/lib/programmers/misc/MiscCloneProgrammer.js +124 -43
  132. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  133. package/lib/programmers/misc/MiscIsCloneProgrammer.js +1 -1
  134. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  135. package/lib/programmers/misc/MiscLiteralsProgrammer.js +3 -3
  136. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  137. package/lib/programmers/misc/MiscPruneProgrammer.js +15 -15
  138. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  139. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +1 -1
  140. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  141. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +3 -3
  142. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  143. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +8 -8
  144. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  145. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +3 -3
  146. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  147. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +2 -2
  148. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  149. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +1 -1
  150. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  151. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +1 -1
  152. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  153. package/lib/protobuf.d.ts +631 -10
  154. package/lib/protobuf.js +13 -13
  155. package/lib/protobuf.js.map +1 -1
  156. package/lib/schemas/json/IJsonSchema.d.ts +2 -2
  157. package/lib/schemas/metadata/IMetadata.d.ts +13 -6
  158. package/lib/schemas/metadata/IMetadataAlias.d.ts +2 -2
  159. package/lib/schemas/metadata/IMetadataArray.d.ts +4 -6
  160. package/lib/schemas/metadata/IMetadataArrayType.d.ts +8 -0
  161. package/lib/{CustomValidatorMap.js → schemas/metadata/IMetadataArrayType.js} +1 -1
  162. package/lib/schemas/metadata/IMetadataArrayType.js.map +1 -0
  163. package/lib/schemas/metadata/IMetadataAtomic.d.ts +5 -0
  164. package/lib/schemas/metadata/{IMetadataResolved.js → IMetadataAtomic.js} +1 -1
  165. package/lib/schemas/metadata/IMetadataAtomic.js.map +1 -0
  166. package/lib/schemas/metadata/IMetadataCollection.d.ts +4 -4
  167. package/lib/schemas/metadata/{IMetadataTag.d.ts → IMetadataCommentTag.d.ts} +2 -2
  168. package/lib/schemas/metadata/IMetadataCommentTag.js +3 -0
  169. package/lib/schemas/metadata/IMetadataCommentTag.js.map +1 -0
  170. package/lib/schemas/metadata/{IMetadataResolved.d.ts → IMetadataEscaped.d.ts} +1 -1
  171. package/lib/schemas/metadata/IMetadataEscaped.js +3 -0
  172. package/lib/schemas/metadata/IMetadataEscaped.js.map +1 -0
  173. package/lib/schemas/metadata/IMetadataProperty.d.ts +2 -2
  174. package/lib/schemas/metadata/IMetadataTuple.d.ts +4 -6
  175. package/lib/schemas/metadata/IMetadataTupleType.d.ts +8 -0
  176. package/lib/schemas/metadata/IMetadataTupleType.js +3 -0
  177. package/lib/schemas/metadata/IMetadataTupleType.js.map +1 -0
  178. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +6 -0
  179. package/lib/schemas/metadata/IMetadataTypeTag.js +3 -0
  180. package/lib/schemas/metadata/IMetadataTypeTag.js.map +1 -0
  181. package/lib/schemas/metadata/Metadata.d.ts +4 -4
  182. package/lib/schemas/metadata/Metadata.js +217 -157
  183. package/lib/schemas/metadata/Metadata.js.map +1 -1
  184. package/lib/schemas/metadata/MetadataAlias.d.ts +2 -2
  185. package/lib/schemas/metadata/MetadataArray.d.ts +6 -6
  186. package/lib/schemas/metadata/MetadataArray.js +5 -19
  187. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  188. package/lib/schemas/metadata/MetadataArrayType.d.ts +14 -0
  189. package/lib/schemas/metadata/MetadataArrayType.js +36 -0
  190. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -0
  191. package/lib/schemas/metadata/{MetadataResolved.d.ts → MetadataEscaped.d.ts} +3 -3
  192. package/lib/schemas/metadata/{MetadataResolved.js → MetadataEscaped.js} +11 -11
  193. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -0
  194. package/lib/schemas/metadata/MetadataProperty.d.ts +2 -2
  195. package/lib/schemas/metadata/MetadataTuple.d.ts +4 -6
  196. package/lib/schemas/metadata/MetadataTuple.js +5 -19
  197. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  198. package/lib/schemas/metadata/MetadataTupleType.d.ts +13 -0
  199. package/lib/schemas/metadata/MetadataTupleType.js +40 -0
  200. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -0
  201. package/lib/tags/ExclusiveMaximum.d.ts +8 -0
  202. package/lib/tags/ExclusiveMaximum.js +3 -0
  203. package/lib/tags/ExclusiveMaximum.js.map +1 -0
  204. package/lib/tags/ExclusiveMinimum.d.ts +8 -0
  205. package/lib/tags/ExclusiveMinimum.js +3 -0
  206. package/lib/tags/ExclusiveMinimum.js.map +1 -0
  207. package/lib/tags/Format.d.ts +8 -0
  208. package/lib/tags/Format.js +3 -0
  209. package/lib/tags/Format.js.map +1 -0
  210. package/lib/tags/MaxItems.d.ts +8 -0
  211. package/lib/tags/MaxItems.js +3 -0
  212. package/lib/tags/MaxItems.js.map +1 -0
  213. package/lib/tags/MaxLength.d.ts +8 -0
  214. package/lib/tags/MaxLength.js +3 -0
  215. package/lib/tags/MaxLength.js.map +1 -0
  216. package/lib/tags/Maximum.d.ts +8 -0
  217. package/lib/tags/Maximum.js +3 -0
  218. package/lib/tags/Maximum.js.map +1 -0
  219. package/lib/tags/MinItems.d.ts +8 -0
  220. package/lib/tags/MinItems.js +3 -0
  221. package/lib/tags/MinItems.js.map +1 -0
  222. package/lib/tags/MinLength.d.ts +8 -0
  223. package/lib/tags/MinLength.js +3 -0
  224. package/lib/tags/MinLength.js.map +1 -0
  225. package/lib/tags/Minimum.d.ts +8 -0
  226. package/lib/tags/Minimum.js +3 -0
  227. package/lib/tags/Minimum.js.map +1 -0
  228. package/lib/tags/MultipleOf.d.ts +8 -0
  229. package/lib/tags/MultipleOf.js +3 -0
  230. package/lib/tags/MultipleOf.js.map +1 -0
  231. package/lib/tags/Pattern.d.ts +8 -0
  232. package/lib/tags/Pattern.js +3 -0
  233. package/lib/tags/Pattern.js.map +1 -0
  234. package/lib/tags/TagBase.d.ts +10 -0
  235. package/lib/tags/TagBase.js +3 -0
  236. package/lib/tags/TagBase.js.map +1 -0
  237. package/lib/tags/Type.d.ts +13 -0
  238. package/lib/tags/Type.js +3 -0
  239. package/lib/tags/Type.js.map +1 -0
  240. package/lib/tags/index.d.ts +12 -0
  241. package/lib/tags/index.js +29 -0
  242. package/lib/tags/index.js.map +1 -0
  243. package/lib/transformers/FileTransformer.d.ts +1 -1
  244. package/lib/transformers/FileTransformer.js +12 -1
  245. package/lib/transformers/FileTransformer.js.map +1 -1
  246. package/lib/transformers/IProject.d.ts +1 -0
  247. package/lib/transformers/features/json/JsonApplicationTransformer.js +5 -3
  248. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  249. package/lib/transformers/features/misc/MetadataTransformer.js +1 -1
  250. package/lib/transformers/features/misc/MetadataTransformer.js.map +1 -1
  251. package/lib/utils/RandomGenerator.js +3 -2
  252. package/lib/utils/RandomGenerator.js.map +1 -1
  253. package/package.json +2 -1
  254. package/src/Primitive.ts +19 -15
  255. package/src/Resolved.ts +116 -0
  256. package/src/factories/ExpressionFactory.ts +44 -0
  257. package/src/factories/IdentifierFactory.ts +15 -0
  258. package/src/factories/MetadataCollection.ts +18 -12
  259. package/src/factories/MetadataFactory.ts +1 -1
  260. package/src/factories/MetadataTagFactory.ts +28 -27
  261. package/src/factories/ProtobufFactory.ts +12 -10
  262. package/src/factories/internal/metadata/emend_metadata_atomics.ts +7 -5
  263. package/src/factories/internal/metadata/{emplace_metadata_array.ts → emplace_metadata_array_type.ts} +3 -3
  264. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +2 -2
  265. package/src/factories/internal/metadata/explore_metadata.ts +3 -3
  266. package/src/factories/internal/metadata/iterate_metadata_array.ts +13 -5
  267. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +6 -4
  268. package/src/factories/internal/metadata/iterate_metadata_collection.ts +29 -22
  269. package/src/factories/internal/metadata/{iterate_metadata_tag.ts → iterate_metadata_comment_tags.ts} +1 -1
  270. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +109 -15
  271. package/src/factories/internal/metadata/iterate_metadata_native.ts +0 -9
  272. package/src/factories/internal/metadata/iterate_metadata_object.ts +10 -10
  273. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +6 -6
  274. package/src/factories/internal/metadata/iterate_metadata_sort.ts +4 -4
  275. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +12 -4
  276. package/src/factories/internal/metadata/iterate_metadata_type_tags.ts +183 -0
  277. package/src/functional/$any.ts +3 -1
  278. package/src/functional/$clone.ts +4 -0
  279. package/src/json.ts +15 -15
  280. package/src/misc.ts +42 -42
  281. package/src/module.ts +20 -72
  282. package/src/programmers/AssertProgrammer.ts +4 -2
  283. package/src/programmers/CheckerProgrammer.ts +81 -48
  284. package/src/programmers/FeatureProgrammer.ts +6 -6
  285. package/src/programmers/IsProgrammer.ts +5 -3
  286. package/src/programmers/RandomProgrammer.ts +360 -41
  287. package/src/programmers/ValidateProgrammer.ts +4 -2
  288. package/src/programmers/helpers/AtomicPredicator.ts +2 -2
  289. package/src/programmers/helpers/FunctionImporeter.ts +2 -0
  290. package/src/programmers/helpers/ICheckEntry.ts +1 -1
  291. package/src/programmers/helpers/ProtobufUtil.ts +1 -1
  292. package/src/programmers/helpers/RandomJoiner.ts +8 -4
  293. package/src/programmers/helpers/RandomRanger.ts +8 -8
  294. package/src/programmers/helpers/StringifyPredicator.ts +1 -2
  295. package/src/programmers/helpers/UnionExplorer.ts +48 -34
  296. package/src/programmers/helpers/disable_function_importer_declare.ts +6 -1
  297. package/src/programmers/internal/application_array.ts +5 -4
  298. package/src/programmers/internal/application_default_string.ts +6 -2
  299. package/src/programmers/internal/application_resolved.ts +4 -4
  300. package/src/programmers/internal/application_schema.ts +7 -7
  301. package/src/programmers/internal/application_string.ts +2 -2
  302. package/src/programmers/internal/application_tuple.ts +12 -11
  303. package/src/programmers/internal/check_array_length.ts +2 -2
  304. package/src/programmers/internal/check_array_tags.ts +45 -0
  305. package/src/programmers/internal/check_bigint.ts +45 -17
  306. package/src/programmers/internal/check_number.ts +97 -70
  307. package/src/programmers/internal/check_string.ts +43 -12
  308. package/src/programmers/internal/check_string_tags.ts +3 -3
  309. package/src/programmers/internal/check_template.ts +1 -12
  310. package/src/programmers/internal/check_union_array_like.ts +6 -5
  311. package/src/programmers/internal/metadata_to_pattern.ts +4 -4
  312. package/src/programmers/internal/stringify_dynamic_properties.ts +1 -1
  313. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +9 -5
  314. package/src/programmers/json/JsonStringifyProgrammer.ts +47 -29
  315. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +1 -1
  316. package/src/programmers/misc/MiscCloneProgrammer.ts +253 -55
  317. package/src/programmers/misc/MiscIsCloneProgrammer.ts +1 -1
  318. package/src/programmers/misc/MiscLiteralsProgrammer.ts +3 -3
  319. package/src/programmers/misc/MiscPruneProgrammer.ts +31 -19
  320. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +1 -1
  321. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +18 -9
  322. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +18 -14
  323. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +15 -15
  324. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -2
  325. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +6 -6
  326. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +2 -2
  327. package/src/protobuf.ts +663 -31
  328. package/src/schemas/json/IJsonSchema.ts +2 -2
  329. package/src/schemas/metadata/IMetadata.ts +13 -7
  330. package/src/schemas/metadata/IMetadataAlias.ts +2 -2
  331. package/src/schemas/metadata/IMetadataArray.ts +4 -7
  332. package/src/schemas/metadata/IMetadataArrayType.ts +10 -0
  333. package/src/schemas/metadata/IMetadataAtomic.ts +6 -0
  334. package/src/schemas/metadata/IMetadataCollection.ts +4 -4
  335. package/src/schemas/metadata/{IMetadataTag.ts → IMetadataCommentTag.ts} +17 -17
  336. package/src/schemas/metadata/IMetadataDictionary.ts +4 -4
  337. package/src/schemas/metadata/{IMetadataResolved.ts → IMetadataEscaped.ts} +1 -1
  338. package/src/schemas/metadata/IMetadataProperty.ts +2 -2
  339. package/src/schemas/metadata/IMetadataTuple.ts +4 -7
  340. package/src/schemas/metadata/IMetadataTupleType.ts +10 -0
  341. package/src/schemas/metadata/IMetadataTypeTag.ts +6 -0
  342. package/src/schemas/metadata/Metadata.ts +125 -63
  343. package/src/schemas/metadata/MetadataAlias.ts +2 -2
  344. package/src/schemas/metadata/MetadataArray.ts +10 -34
  345. package/src/schemas/metadata/MetadataArrayType.ts +57 -0
  346. package/src/schemas/metadata/{MetadataResolved.ts → MetadataEscaped.ts} +9 -9
  347. package/src/schemas/metadata/MetadataProperty.ts +2 -2
  348. package/src/schemas/metadata/MetadataTuple.ts +10 -37
  349. package/src/schemas/metadata/MetadataTupleType.ts +67 -0
  350. package/src/tags/ExclusiveMaximum.ts +8 -0
  351. package/src/tags/ExclusiveMinimum.ts +8 -0
  352. package/src/tags/Format.ts +29 -0
  353. package/src/tags/MaxItems.ts +8 -0
  354. package/src/tags/MaxLength.ts +8 -0
  355. package/src/tags/Maximum.ts +8 -0
  356. package/src/tags/MinItems.ts +8 -0
  357. package/src/tags/MinLength.ts +8 -0
  358. package/src/tags/Minimum.ts +8 -0
  359. package/src/tags/MultipleOf.ts +10 -0
  360. package/src/tags/Pattern.ts +8 -0
  361. package/src/tags/TagBase.ts +17 -0
  362. package/src/tags/Type.ts +30 -0
  363. package/src/tags/index.ts +12 -0
  364. package/src/transformers/FileTransformer.ts +2 -2
  365. package/src/transformers/IProject.ts +1 -0
  366. package/src/transformers/features/json/JsonApplicationTransformer.ts +4 -3
  367. package/src/transformers/features/misc/MetadataTransformer.ts +1 -1
  368. package/src/typings/Atomic.ts +1 -0
  369. package/src/utils/RandomGenerator.ts +4 -2
  370. package/lib/CustomValidatorMap.d.ts +0 -110
  371. package/lib/CustomValidatorMap.js.map +0 -1
  372. package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +0 -5
  373. package/lib/factories/internal/metadata/emplace_metadata_array.js.map +0 -1
  374. package/lib/factories/internal/metadata/iterate_metadata_tag.d.ts +0 -2
  375. package/lib/factories/internal/metadata/iterate_metadata_tag.js.map +0 -1
  376. package/lib/programmers/internal/check_array.js +0 -44
  377. package/lib/programmers/internal/check_array.js.map +0 -1
  378. package/lib/programmers/internal/check_custom.d.ts +0 -1
  379. package/lib/programmers/internal/check_custom.js +0 -30
  380. package/lib/programmers/internal/check_custom.js.map +0 -1
  381. package/lib/schemas/metadata/IMetadataResolved.js.map +0 -1
  382. package/lib/schemas/metadata/IMetadataTag.js.map +0 -1
  383. package/lib/schemas/metadata/MetadataResolved.js.map +0 -1
  384. package/src/CustomValidatorMap.ts +0 -126
  385. package/src/programmers/internal/check_array.ts +0 -30
  386. package/src/programmers/internal/check_custom.ts +0 -31
  387. /package/lib/programmers/internal/{check_array.d.ts → check_array_tags.d.ts} +0 -0
package/lib/misc.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Atomic } from "./typings/Atomic";
2
2
  import { IValidation } from "./IValidation";
3
- import { Primitive } from "./Primitive";
3
+ import { Resolved } from "./Resolved";
4
4
  /**
5
5
  * > You must configure the generic argument `T`.
6
6
  *
@@ -37,8 +37,8 @@ export declare function literals<T extends Atomic.Type | null>(): T[];
37
37
  * Clone a data.
38
38
  *
39
39
  * Clones an instance following type `T`. If the target *input* value or its member
40
- * variable contains a class instance that is having a `toJSON()` method, its return
41
- * value would be cloned.
40
+ * variable contains a class instance having methods, those methods would not be
41
+ * cloned.
42
42
  *
43
43
  * For reference, this `typia.misc.clone()` function does not validate the input value
44
44
  * type. It just believes that the input value is following the type `T`. Therefore,
@@ -51,13 +51,13 @@ export declare function literals<T extends Atomic.Type | null>(): T[];
51
51
  *
52
52
  * @author Jeongho Nam - https://github.com/samchon
53
53
  */
54
- export declare function clone<T>(input: T): Primitive<T>;
54
+ export declare function clone<T>(input: T): Resolved<T>;
55
55
  /**
56
56
  * Clone a data with type assertion.
57
57
  *
58
58
  * Clones an instance following type `T`, with type assertion. If the target `input`
59
- * value or its member variable contains a class instance that is having a `toJSON()`
60
- * method, its return value would be cloned.
59
+ * value or its member variable contains a class instance having methods, those
60
+ * methods would not be cloned.
61
61
  *
62
62
  * In such reason, when `input` value is not matched with the type `T`, it throws an
63
63
  * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, cloned
@@ -69,13 +69,13 @@ export declare function clone<T>(input: T): Primitive<T>;
69
69
  *
70
70
  * @author Jeongho Nam - https://github.com/samchon
71
71
  */
72
- export declare function assertClone<T>(input: T): Primitive<T>;
72
+ export declare function assertClone<T>(input: T): Resolved<T>;
73
73
  /**
74
74
  * Clone a data with type assertion.
75
75
  *
76
76
  * Clones an instance following type `T`, with type assertion. If the target `input`
77
- * value or its member variable contains a class instance that is having a `toJSON()`
78
- * method, its return value would be cloned.
77
+ * value or its member variable contains a class instance having methods, those
78
+ * methods would not be cloned.
79
79
  *
80
80
  * In such reason, when `input` value is not matched with the type `T`, it throws an
81
81
  * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, cloned
@@ -87,13 +87,13 @@ export declare function assertClone<T>(input: T): Primitive<T>;
87
87
  *
88
88
  * @author Jeongho Nam - https://github.com/samchon
89
89
  */
90
- export declare function assertClone<T>(input: unknown): Primitive<T>;
90
+ export declare function assertClone<T>(input: unknown): Resolved<T>;
91
91
  /**
92
92
  * Clone a data with type checking.
93
93
  *
94
94
  * Clones an instance following type `T`, with type checking. If the target `input`
95
- * value or its member variable contains a class instance that is having a `toJSON()`
96
- * method, its return value would be cloned.
95
+ * value or its member variable contains a class instance having methods, those
96
+ * methods would not be cloned.
97
97
  *
98
98
  * In such reason, when `input` value is not matched with the type `T`, it returns
99
99
  * `null` value instead. Otherwise, there's no problem on the `input` value, cloned
@@ -105,13 +105,13 @@ export declare function assertClone<T>(input: unknown): Primitive<T>;
105
105
  *
106
106
  * @author Jeongho Nam - https://github.com/samchon
107
107
  */
108
- export declare function isClone<T>(input: T): Primitive<T> | null;
108
+ export declare function isClone<T>(input: T): Resolved<T> | null;
109
109
  /**
110
110
  * Clone a data with type checking.
111
111
  *
112
112
  * Clones an instance following type `T`, with type checking. If the target `input`
113
- * value or its member variable contains a class instance that is having a `toJSON()`
114
- * method, its return value would be cloned.
113
+ * value or its member variable contains a class instance having methods, those
114
+ * methods would not be cloned.
115
115
  *
116
116
  * In such reason, when `input` value is not matched with the type `T`, it returns
117
117
  * `null` value instead. Otherwise, there's no problem on the `input` value, cloned
@@ -123,13 +123,13 @@ export declare function isClone<T>(input: T): Primitive<T> | null;
123
123
  *
124
124
  * @author Jeongho Nam - https://github.com/samchon
125
125
  */
126
- export declare function isClone<T>(input: unknown): Primitive<T> | null;
126
+ export declare function isClone<T>(input: unknown): Resolved<T> | null;
127
127
  /**
128
128
  * Clone a data with detailed type validation.
129
129
  *
130
130
  * Clones an instance following type `T`, with detailed type validation. If the target
131
- * `input` value or its member variable contains a class instance that is having a
132
- * `toJSON()` method, its return value would be cloned.
131
+ * `input` value or its member variable contains a class instance having methods,
132
+ * those methods would not be cloned.
133
133
  *
134
134
  * In such reason, when `input` value is not matched with the type `T`, it returns
135
135
  * {@link IValidation.Failure} value. Otherwise, there's no problem on the `input`
@@ -140,13 +140,13 @@ export declare function isClone<T>(input: unknown): Primitive<T> | null;
140
140
  * @param input A value to be cloned
141
141
  * @returns Validation result with cloned value
142
142
  */
143
- export declare function validateClone<T>(input: T): IValidation<Primitive<T>>;
143
+ export declare function validateClone<T>(input: T): IValidation<Resolved<T>>;
144
144
  /**
145
145
  * Clone a data with detailed type validation.
146
146
  *
147
147
  * Clones an instance following type `T`, with detailed type validation. If the target
148
- * `input` value or its member variable contains a class instance that is having a
149
- * `toJSON()` method, its return value would be cloned.
148
+ * `input` value or its member variable contains a class instance having methods,
149
+ * those methods would not be cloned.
150
150
  *
151
151
  * In such reason, when `input` value is not matched with the type `T`, it returns
152
152
  * {@link IValidation.Failure} value. Otherwise, there's no problem on the `input`
@@ -157,7 +157,7 @@ export declare function validateClone<T>(input: T): IValidation<Primitive<T>>;
157
157
  * @param input A value to be cloned
158
158
  * @returns Validation result with cloned value
159
159
  */
160
- export declare function validateClone<T>(input: unknown): IValidation<Primitive<T>>;
160
+ export declare function validateClone<T>(input: unknown): IValidation<Resolved<T>>;
161
161
  /**
162
162
  * Prune, erase superfluous properties.
163
163
  *
@@ -291,8 +291,8 @@ export declare function validatePrune<T>(input: unknown): IValidation<T>;
291
291
  /**
292
292
  * Creates a reusable {@link clone} function.
293
293
  *
294
- * @danger You have to specify the generic argument `T`
295
- * @return Nothing until specifying the generic argument `T`
294
+ * @danger You must configure the generic argument `T`
295
+ * @returns Nothing until you configure the generic argument `T`
296
296
  * @throws compile error
297
297
  *
298
298
  * @author Jeongho Nam - https://github.com/samchon
@@ -306,12 +306,12 @@ export declare function createClone(): never;
306
306
  *
307
307
  * @author Jeongho Nam - https://github.com/samchon
308
308
  */
309
- export declare function createClone<T>(): (input: T) => Primitive<T>;
309
+ export declare function createClone<T>(): (input: T) => Resolved<T>;
310
310
  /**
311
311
  * Creates a reusable {@link assertClone} function.
312
312
  *
313
- * @danger You have to specify the generic argument `T`
314
- * @return Nothing until specifying the generic argument `T`
313
+ * @danger You must configure the generic argument `T`
314
+ * @returns Nothing until you configure the generic argument `T`
315
315
  * @throws compile error
316
316
  *
317
317
  * @author Jeongho Nam - https://github.com/samchon
@@ -325,12 +325,12 @@ export declare function createAssertClone(): never;
325
325
  *
326
326
  * @author Jeongho Nam - https://github.com/samchon
327
327
  */
328
- export declare function createAssertClone<T>(): (input: unknown) => Primitive<T>;
328
+ export declare function createAssertClone<T>(): (input: unknown) => Resolved<T>;
329
329
  /**
330
330
  * Creates a reusable {@link isClone} function.
331
331
  *
332
- * @danger You have to specify the generic argument `T`
333
- * @return Nothing until specifying the generic argument `T`
332
+ * @danger You must configure the generic argument `T`
333
+ * @returns Nothing until you configure the generic argument `T`
334
334
  * @throws compile error
335
335
  *
336
336
  * @author Jeongho Nam - https://github.com/samchon
@@ -344,12 +344,12 @@ export declare function createIsClone(): never;
344
344
  *
345
345
  * @author Jeongho Nam - https://github.com/samchon
346
346
  */
347
- export declare function createIsClone<T>(): (input: unknown) => Primitive<T> | null;
347
+ export declare function createIsClone<T>(): (input: unknown) => Resolved<T> | null;
348
348
  /**
349
349
  * Creates a reusable {@link validateClone} function.
350
350
  *
351
- * @danger You have to specify the generic argument `T`
352
- * @return Nothing until specifying the generic argument `T`
351
+ * @danger You must configure the generic argument `T`
352
+ * @returns Nothing until you configure the generic argument `T`
353
353
  * @throws compile error
354
354
  *
355
355
  * @author Jeongho Nam - https://github.com/samchon
@@ -363,12 +363,12 @@ export declare function createValidateClone(): never;
363
363
  *
364
364
  * @author Jeongho Nam - https://github.com/samchon
365
365
  */
366
- export declare function createValidateClone<T>(): (input: unknown) => IValidation<Primitive<T>>;
366
+ export declare function createValidateClone<T>(): (input: unknown) => IValidation<Resolved<T>>;
367
367
  /**
368
368
  * Creates a reusable {@link prune} function.
369
369
  *
370
- * @danger You have to specify the generic argument `T`
371
- * @return Nothing until specifying the generic argument `T`
370
+ * @danger You must configure the generic argument `T`
371
+ * @returns Nothing until you configure the generic argument `T`
372
372
  * @throws compile error
373
373
  *
374
374
  * @author Jeongho Nam - https://github.com/samchon
@@ -386,8 +386,8 @@ export declare function createPrune<T extends object>(): (input: T) => void;
386
386
  /**
387
387
  * Creates a reusable {@link assertPrune} function.
388
388
  *
389
- * @danger You have to specify the generic argument `T`
390
- * @return Nothing until specifying the generic argument `T`
389
+ * @danger You must configure the generic argument `T`
390
+ * @returns Nothing until you configure the generic argument `T`
391
391
  * @throws compile error
392
392
  *
393
393
  * @author Jeongho Nam - https://github.com/samchon
@@ -405,8 +405,8 @@ export declare function createAssertPrune<T extends object>(): (input: T) => T;
405
405
  /**
406
406
  * Creates a reusable {@link isPrune} function.
407
407
  *
408
- * @danger You have to specify the generic argument `T`
409
- * @return Nothing until specifying the generic argument `T`
408
+ * @danger You must configure the generic argument `T`
409
+ * @returns Nothing until you configure the generic argument `T`
410
410
  * @throws compile error
411
411
  *
412
412
  * @author Jeongho Nam - https://github.com/samchon
@@ -424,8 +424,8 @@ export declare function createIsPrune<T extends object>(): (input: T) => input i
424
424
  /**
425
425
  * Creates a reusable {@link validatePrune} function.
426
426
  *
427
- * @danger You have to specify the generic argument `T`
428
- * @return Nothing until specifying the generic argument `T`
427
+ * @danger You must configure the generic argument `T`
428
+ * @returns Nothing until you configure the generic argument `T`
429
429
  * @throws compile error
430
430
  *
431
431
  * @author Jeongho Nam - https://github.com/samchon
package/lib/module.d.ts CHANGED
@@ -1,54 +1,18 @@
1
- import { CustomValidatorMap } from "./CustomValidatorMap";
2
1
  import { IRandomGenerator } from "./IRandomGenerator";
3
2
  import { IValidation } from "./IValidation";
4
- import { Primitive } from "./Primitive";
3
+ import { Resolved } from "./Resolved";
5
4
  export * as json from "./json";
6
- export * as protobuf from "./protobuf";
7
5
  export * as misc from "./misc";
6
+ export * as protobuf from "./protobuf";
7
+ export * as tags from "./tags";
8
8
  export * from "./schemas/json/IJsonApplication";
9
9
  export * from "./schemas/json/IJsonComponents";
10
10
  export * from "./schemas/json/IJsonSchema";
11
11
  export * from "./IRandomGenerator";
12
12
  export * from "./IValidation";
13
13
  export * from "./Primitive";
14
+ export * from "./Resolved";
14
15
  export * from "./TypeGuardError";
15
- /**
16
- * Custom validators.
17
- *
18
- * If you want to add a custom validation logic utilizing comment tags,
19
- * add a closure function with its tag and type name. Below example code
20
- * would helpful to understand how to use this instance.
21
- *
22
- * ```ts
23
- * typia.customValidators.insert("powerOf")("number")(
24
- * (text: string) => {
25
- * const denominator: number = Math.log(Number(text));
26
- * return (value: number) => {
27
- * value = Math.log(value) / denominator;
28
- * return value === Math.floor(value);
29
- * };
30
- * }
31
- * );
32
- * typia.customValidators.insert("dollar")("string")(
33
- * () => (value: string) => value.startsWith("$"),
34
- * );
35
- *
36
- * interface TagCustom {
37
- * /**
38
- * * @powerOf 10
39
- * *\/
40
- * powerOf: number;
41
- *
42
- * /**
43
- * * @dollar
44
- * *\/
45
- * dollar: string;
46
- * }
47
- * ```
48
- *
49
- * @author Jeongho Nam - https://github.com/samchon
50
- */
51
- export declare const customValidators: CustomValidatorMap;
52
16
  /**
53
17
  * Asserts a value type.
54
18
  *
@@ -368,12 +332,12 @@ export declare function random(generator?: Partial<IRandomGenerator>): never;
368
332
  *
369
333
  * @author Jeongho Nam - https://github.com/samchon
370
334
  */
371
- export declare function random<T>(generator?: Partial<IRandomGenerator>): Primitive<T>;
335
+ export declare function random<T>(generator?: Partial<IRandomGenerator>): Resolved<T>;
372
336
  /**
373
337
  * Creates a reusable {@link assert} function.
374
338
  *
375
- * @danger You have to specify the generic argument `T`
376
- * @return Nothing until specifying the generic argument `T`
339
+ * @danger You must configure the generic argument `T`
340
+ * @returns Nothing until you configure the generic argument `T`
377
341
  * @throws compile error
378
342
  *
379
343
  * @author Jeongho Nam - https://github.com/samchon
@@ -391,8 +355,8 @@ export declare function createAssert<T>(): (input: unknown) => T;
391
355
  /**
392
356
  * Creates a reusable {@link is} function.
393
357
  *
394
- * @danger You have to specify the generic argument `T`
395
- * @return Nothing until specifying the generic argument `T`
358
+ * @danger You must configure the generic argument `T`
359
+ * @returns Nothing until you configure the generic argument `T`
396
360
  * @throws compile error
397
361
  *
398
362
  * @author Jeongho Nam - https://github.com/samchon
@@ -410,8 +374,8 @@ export declare function createIs<T>(): (input: unknown) => input is T;
410
374
  /**
411
375
  * Creates a reusable {@link validate} function.
412
376
  *
413
- * @danger You have to specify the generic argument `T`
414
- * @return Nothing until specifying the generic argument `T`
377
+ * @danger You must configure the generic argument `T`
378
+ * @returns Nothing until you configure the generic argument `T`
415
379
  * @throws compile error
416
380
  *
417
381
  * @author Jeongho Nam - https://github.com/samchon
@@ -429,8 +393,8 @@ export declare function createValidate<T>(): (input: unknown) => IValidation<T>;
429
393
  /**
430
394
  * Creates a reusable {@link assertEquals} function.
431
395
  *
432
- * @danger You have to specify the generic argument `T`
433
- * @return Nothing until specifying the generic argument `T`
396
+ * @danger You must configure the generic argument `T`
397
+ * @returns Nothing until you configure the generic argument `T`
434
398
  * @throws compile error
435
399
  *
436
400
  * @author Jeongho Nam - https://github.com/samchon
@@ -448,8 +412,8 @@ export declare function createAssertEquals<T>(): (input: unknown) => T;
448
412
  /**
449
413
  * Creates a reusable {@link equals} function.
450
414
  *
451
- * @danger You have to specify the generic argument `T`
452
- * @return Nothing until specifying the generic argument `T`
415
+ * @danger You must configure the generic argument `T`
416
+ * @returns Nothing until you configure the generic argument `T`
453
417
  * @throws compile error
454
418
  *
455
419
  * @author Jeongho Nam - https://github.com/samchon
@@ -467,8 +431,8 @@ export declare function createEquals<T>(): (input: unknown) => input is T;
467
431
  /**
468
432
  * Creates a reusable {@link validateEquals} function.
469
433
  *
470
- * @danger You have to specify the generic argument `T`
471
- * @return Nothing until specifying the generic argument `T`
434
+ * @danger You must configure the generic argument `T`
435
+ * @returns Nothing until you configure the generic argument `T`
472
436
  * @throws compile error
473
437
  *
474
438
  * @author Jeongho Nam - https://github.com/samchon
@@ -486,9 +450,9 @@ export declare function createValidateEquals<T>(): (input: unknown) => IValidati
486
450
  /**
487
451
  * Creates a reusable {@link random} function.
488
452
  *
489
- * @danger You have to specify the generic argument `T`
453
+ * @danger You must configure the generic argument `T`
490
454
  * @param generator Random data generator
491
- * @return Nothing until specifying the generic argument `T`
455
+ * @returns Nothing until you configure the generic argument `T`
492
456
  * @throws compile error
493
457
  *
494
458
  * @author Jeongho Nam - https://github.com/samchon
@@ -503,4 +467,4 @@ export declare function createRandom(generator?: Partial<IRandomGenerator>): nev
503
467
  *
504
468
  * @author Jeongho Nam - https://github.com/samchon
505
469
  */
506
- export declare function createRandom<T>(generator?: Partial<IRandomGenerator>): () => Primitive<T>;
470
+ export declare function createRandom<T>(generator?: Partial<IRandomGenerator>): () => Resolved<T>;
package/lib/module.js CHANGED
@@ -26,33 +26,20 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.createRandom = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssert = exports.metadata = exports.random = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assert = exports.customValidators = exports.misc = exports.protobuf = exports.json = void 0;
30
- var _dictionary_1 = require("./functional/$dictionary");
29
+ exports.createRandom = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssert = exports.metadata = exports.random = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assert = exports.tags = exports.protobuf = exports.misc = exports.json = void 0;
31
30
  var Namespace_1 = require("./functional/Namespace");
32
- var MapUtil_1 = require("./utils/MapUtil");
33
31
  exports.json = __importStar(require("./json"));
34
- exports.protobuf = __importStar(require("./protobuf"));
35
32
  exports.misc = __importStar(require("./misc"));
33
+ exports.protobuf = __importStar(require("./protobuf"));
34
+ exports.tags = __importStar(require("./tags"));
36
35
  __exportStar(require("./schemas/json/IJsonApplication"), exports);
37
36
  __exportStar(require("./schemas/json/IJsonComponents"), exports);
38
37
  __exportStar(require("./schemas/json/IJsonSchema"), exports);
39
38
  __exportStar(require("./IRandomGenerator"), exports);
40
39
  __exportStar(require("./IValidation"), exports);
41
40
  __exportStar(require("./Primitive"), exports);
41
+ __exportStar(require("./Resolved"), exports);
42
42
  __exportStar(require("./TypeGuardError"), exports);
43
- exports.customValidators = {
44
- size: function (name) { var _a, _b; return name ? (_b = (_a = _dictionary_1.$dictionary.get(name)) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0 : _dictionary_1.$dictionary.size; },
45
- has: function (name) { return function (type) { var _a, _b; return (_b = (_a = _dictionary_1.$dictionary.get(name)) === null || _a === void 0 ? void 0 : _a.has(type)) !== null && _b !== void 0 ? _b : false; }; },
46
- get: function (name) { return function (type) { var _a; return (_a = _dictionary_1.$dictionary.get(name)) === null || _a === void 0 ? void 0 : _a.get(type); }; },
47
- insert: function (name) { return function (type) { return function (closure) {
48
- var internal = MapUtil_1.MapUtil.take(_dictionary_1.$dictionary)(name, function () { return new Map(); });
49
- if (internal.has(type))
50
- return false;
51
- internal.set(type, closure);
52
- return true;
53
- }; }; },
54
- erase: function (name) { return function (type) { var _a, _b; return (_b = (_a = _dictionary_1.$dictionary.get(name)) === null || _a === void 0 ? void 0 : _a.delete(type)) !== null && _b !== void 0 ? _b : false; }; },
55
- };
56
43
  function assert() {
57
44
  halt("assert");
58
45
  }
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAuD;AACvD,oDAAmD;AAInD,2CAA0C;AAO1C,+CAA+B;AAC/B,uDAAuC;AACvC,+CAA+B;AAE/B,kEAAgD;AAChD,iEAA+C;AAC/C,6DAA2C;AAC3C,qDAAmC;AACnC,gDAA8B;AAC9B,8CAA4B;AAC5B,mDAAiC;AAsCpB,QAAA,gBAAgB,GAAuB;IAChD,IAAI,EAAE,UAAC,IAAa,gBAChB,OAAA,IAAI,CAAC,CAAC,CAAC,MAAA,MAAA,yBAAW,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,IAAI,mCAAI,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAA,EAAA;IAC9D,GAAG,EAAE,UAAC,IAAI,IAAK,OAAA,UAAC,IAAI,gBAAK,OAAA,MAAA,MAAA,yBAAW,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,mCAAI,KAAK,CAAA,EAAA,EAAnD,CAAmD;IAClE,GAAG,EAAE,UAAC,IAAI,IAAK,OAAA,UAAC,IAAI,YAAK,OAAA,MAAA,yBAAW,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,CAAA,EAAA,EAA1C,CAA0C;IACzD,MAAM,EAAE,UAAC,IAAI,IAAK,OAAA,UAAC,IAAI,IAAK,OAAA,UAAC,OAAO;QAChC,IAAM,QAAQ,GAAG,iBAAO,CAAC,IAAI,CAAC,yBAAW,CAAC,CAAC,IAAI,EAAE,cAAM,OAAA,IAAI,GAAG,EAAE,EAAT,CAAS,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC,EAL2B,CAK3B,EALiB,CAKjB;IACD,KAAK,EAAE,UAAC,IAAI,IAAK,OAAA,UAAC,IAAI,gBAAK,OAAA,MAAA,MAAA,yBAAW,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,MAAM,CAAC,IAAI,CAAC,mCAAI,KAAK,CAAA,EAAA,EAAtD,CAAsD;CAC1E,CAAC;AAsDF,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAqDlD,SAAgB,EAAE;IACd,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAFD,gBAEC;AACD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAuD1C,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AA0D9C,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,qBAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAuD9D,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AAyDtC,SAAgB,cAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3B,CAAC;AAFD,wCAEC;AACD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AA8CpD,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AAe1C,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AA6BD,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AA0BpC,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AA0B5B,SAAgB,cAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3B,CAAC;AAFD,wCAEC;AACD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AA0BxC,SAAgB,kBAAkB;IAC9B,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC/B,CAAC;AAFD,gDAEC;AACD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;AA0BhD,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AA0BpC,SAAgB,oBAAoB;IAChC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACjC,CAAC;AAFD,oDAEC;AACD,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AA8BpD,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAKpC,SAAS,IAAI,CAAC,IAAY;IACtB,MAAM,IAAI,KAAK,CACX,yBAAkB,IAAI,8FAA2F,CACpH,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ var AssertProgrammer;
44
44
  return function (modulo) {
45
45
  return function (equals) {
46
46
  return function (type, name) {
47
- var importer = new FunctionImporeter_1.FunctionImporter();
47
+ var importer = new FunctionImporeter_1.FunctionImporter(modulo.getText());
48
48
  var is = IsProgrammer_1.IsProgrammer.write(project)(modulo, true)(equals)(type, name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type));
49
49
  var assert = CheckerProgrammer_1.CheckerProgrammer.write(project)({
50
50
  prefix: "$a",
@@ -53,9 +53,7 @@ var AssertProgrammer;
53
53
  numeric: OptionPredicator_1.OptionPredicator.numeric(project.options),
54
54
  equals: equals,
55
55
  atomist: function (explore) { return function (tuple) { return function (input) {
56
- return __spreadArray([
57
- tuple.expression
58
- ], __read(tuple.tags.map(function (tag) {
56
+ return __spreadArray(__spreadArray([], __read((tuple.expression ? [tuple.expression] : [])), false), __read(tuple.tags.map(function (tag) {
59
57
  return typescript_1.default.factory.createLogicalOr(tag.expression, create_guard_call(importer)(explore.from === "top"
60
58
  ? typescript_1.default.factory.createTrue()
61
59
  : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
@@ -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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"}