typia 7.0.0-dev.20241001 → 7.0.0-dev.20241002-2

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 (308) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +1 -1
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaSetupWizard.js +1 -1
  4. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  5. package/lib/executable/setup/ArgumentParser.d.ts +1 -1
  6. package/lib/executable/setup/ArgumentParser.js +31 -33
  7. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  8. package/lib/executable/setup/FileRetriever.d.ts +5 -2
  9. package/lib/executable/setup/FileRetriever.js +12 -21
  10. package/lib/executable/setup/FileRetriever.js.map +1 -1
  11. package/lib/executable/setup/PackageManager.js +4 -1
  12. package/lib/executable/setup/PackageManager.js.map +1 -1
  13. package/lib/factories/ExpressionFactory.d.ts +14 -7
  14. package/lib/factories/ExpressionFactory.js +26 -34
  15. package/lib/factories/ExpressionFactory.js.map +1 -1
  16. package/lib/factories/IdentifierFactory.d.ts +2 -2
  17. package/lib/factories/IdentifierFactory.js +10 -6
  18. package/lib/factories/IdentifierFactory.js.map +1 -1
  19. package/lib/factories/MetadataCollection.js +6 -3
  20. package/lib/factories/MetadataCollection.js.map +1 -1
  21. package/lib/factories/MetadataCommentTagFactory.js +414 -330
  22. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  23. package/lib/factories/MetadataFactory.js +1 -1
  24. package/lib/factories/MetadataFactory.js.map +1 -1
  25. package/lib/factories/MetadataTypeTagFactory.d.ts +14 -2
  26. package/lib/factories/MetadataTypeTagFactory.js +312 -267
  27. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  28. package/lib/factories/MetadataTypeTagSchemaFactory.d.ts +4 -1
  29. package/lib/factories/MetadataTypeTagSchemaFactory.js +70 -61
  30. package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -1
  31. package/lib/factories/NumericRangeFactory.d.ts +2 -2
  32. package/lib/factories/NumericRangeFactory.js +2 -10
  33. package/lib/factories/NumericRangeFactory.js.map +1 -1
  34. package/lib/factories/StatementFactory.d.ts +14 -3
  35. package/lib/factories/StatementFactory.js +16 -8
  36. package/lib/factories/StatementFactory.js.map +1 -1
  37. package/lib/factories/TemplateFactory.js +24 -18
  38. package/lib/factories/TemplateFactory.js.map +1 -1
  39. package/lib/factories/TypeFactory.d.ts +10 -2
  40. package/lib/factories/TypeFactory.js +65 -53
  41. package/lib/factories/TypeFactory.js.map +1 -1
  42. package/lib/factories/internal/metadata/iterate_metadata.js +4 -1
  43. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  44. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +16 -11
  45. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  46. package/lib/factories/internal/metadata/iterate_metadata_escape.js +5 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
  48. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +6 -1
  50. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  51. package/lib/factories/internal/metadata/iterate_metadata_map.js +5 -1
  52. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  53. package/lib/factories/internal/metadata/iterate_metadata_native.js +11 -3
  54. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  55. package/lib/factories/internal/metadata/iterate_metadata_set.js +5 -1
  56. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  57. package/lib/programmers/AssertProgrammer.js +16 -5
  58. package/lib/programmers/AssertProgrammer.js.map +1 -1
  59. package/lib/programmers/CheckerProgrammer.js +42 -35
  60. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  61. package/lib/programmers/FeatureProgrammer.js +21 -15
  62. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  63. package/lib/programmers/IsProgrammer.js +3 -2
  64. package/lib/programmers/IsProgrammer.js.map +1 -1
  65. package/lib/programmers/RandomProgrammer.js +88 -67
  66. package/lib/programmers/RandomProgrammer.js.map +1 -1
  67. package/lib/programmers/ValidateProgrammer.js +16 -7
  68. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  69. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +30 -15
  70. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
  71. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +16 -13
  72. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
  73. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +11 -8
  74. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
  75. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +8 -2
  76. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
  77. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +11 -5
  78. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  79. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +8 -2
  80. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  81. package/lib/programmers/helpers/CloneJoiner.js +9 -3
  82. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  83. package/lib/programmers/helpers/FunctionImporter.js +10 -7
  84. package/lib/programmers/helpers/FunctionImporter.js.map +1 -1
  85. package/lib/programmers/helpers/NotationJoiner.js +9 -3
  86. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  87. package/lib/programmers/helpers/PruneJoiner.js +2 -2
  88. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  89. package/lib/programmers/helpers/RandomJoiner.js +4 -1
  90. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  91. package/lib/programmers/helpers/StringifyJoinder.js +1 -1
  92. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  93. package/lib/programmers/helpers/UnionExplorer.js +7 -7
  94. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  95. package/lib/programmers/helpers/UnionPredicator.js +1 -1
  96. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  97. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +8 -2
  98. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  99. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +8 -2
  100. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  101. package/lib/programmers/http/HttpAssertQueryProgrammer.js +8 -2
  102. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  103. package/lib/programmers/http/HttpFormDataProgrammer.js +14 -8
  104. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  105. package/lib/programmers/http/HttpHeadersProgrammer.js +21 -15
  106. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  107. package/lib/programmers/http/HttpIsFormDataProgrammer.js +12 -3
  108. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  109. package/lib/programmers/http/HttpIsHeadersProgrammer.js +12 -3
  110. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  111. package/lib/programmers/http/HttpIsQueryProgrammer.js +12 -3
  112. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  113. package/lib/programmers/http/HttpParameterProgrammer.js +17 -10
  114. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  115. package/lib/programmers/http/HttpQueryProgrammer.js +14 -8
  116. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  117. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +8 -2
  118. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  119. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +8 -2
  120. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  121. package/lib/programmers/http/HttpValidateQueryProgrammer.js +8 -2
  122. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  123. package/lib/programmers/internal/check_array_length.js +1 -1
  124. package/lib/programmers/internal/check_array_length.js.map +1 -1
  125. package/lib/programmers/internal/check_bigint.js +1 -1
  126. package/lib/programmers/internal/check_bigint.js.map +1 -1
  127. package/lib/programmers/internal/check_dynamic_properties.js +7 -4
  128. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  129. package/lib/programmers/internal/check_everything.js +1 -1
  130. package/lib/programmers/internal/check_everything.js.map +1 -1
  131. package/lib/programmers/internal/check_native.js +1 -1
  132. package/lib/programmers/internal/check_native.js.map +1 -1
  133. package/lib/programmers/internal/check_number.js +1 -1
  134. package/lib/programmers/internal/check_number.js.map +1 -1
  135. package/lib/programmers/internal/check_string.js +1 -1
  136. package/lib/programmers/internal/check_string.js.map +1 -1
  137. package/lib/programmers/internal/check_union_array_like.js +25 -7
  138. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  139. package/lib/programmers/internal/prune_object_properties.js +1 -1
  140. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  141. package/lib/programmers/internal/random_custom.js +1 -1
  142. package/lib/programmers/internal/random_custom.js.map +1 -1
  143. package/lib/programmers/internal/stringify_dynamic_properties.js +4 -4
  144. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  145. package/lib/programmers/json/JsonAssertParseProgrammer.js +8 -2
  146. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  147. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +8 -2
  148. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  149. package/lib/programmers/json/JsonIsParseProgrammer.js +8 -2
  150. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  151. package/lib/programmers/json/JsonIsStringifyProgrammer.js +8 -2
  152. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  153. package/lib/programmers/json/JsonStringifyProgrammer.js +50 -43
  154. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  155. package/lib/programmers/json/JsonValidateParseProgrammer.js +8 -2
  156. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  157. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +12 -3
  158. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  159. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +8 -2
  160. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  161. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +12 -3
  162. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  163. package/lib/programmers/misc/MiscCloneProgrammer.js +60 -47
  164. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  165. package/lib/programmers/misc/MiscIsCloneProgrammer.js +8 -2
  166. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  167. package/lib/programmers/misc/MiscIsPruneProgrammer.js +8 -2
  168. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  169. package/lib/programmers/misc/MiscPruneProgrammer.js +49 -42
  170. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  171. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +12 -3
  172. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  173. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +16 -4
  174. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  175. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +8 -2
  176. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  177. package/lib/programmers/notations/NotationGeneralProgrammer.js +45 -32
  178. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  179. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +8 -2
  180. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  181. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +12 -3
  182. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  183. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +8 -2
  184. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  185. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +8 -2
  186. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  187. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +51 -30
  188. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  189. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +57 -41
  190. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  191. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +12 -3
  192. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  193. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +8 -2
  194. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  195. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +1 -1
  196. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  197. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +8 -2
  198. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  199. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +12 -3
  200. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  201. package/lib/transformers/features/llm/LlmApplicationTransformer.js +5 -2
  202. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  203. package/lib/utils/MapUtil.d.ts +1 -1
  204. package/lib/utils/MapUtil.js +7 -9
  205. package/lib/utils/MapUtil.js.map +1 -1
  206. package/lib/utils/NameEncoder.d.ts +2 -2
  207. package/lib/utils/NameEncoder.js +4 -6
  208. package/lib/utils/NameEncoder.js.map +1 -1
  209. package/package.json +1 -1
  210. package/src/executable/TypiaGenerateWizard.ts +1 -1
  211. package/src/executable/TypiaSetupWizard.ts +1 -1
  212. package/src/executable/setup/ArgumentParser.ts +27 -28
  213. package/src/executable/setup/FileRetriever.ts +14 -17
  214. package/src/executable/setup/PackageManager.ts +4 -3
  215. package/src/factories/ExpressionFactory.ts +98 -84
  216. package/src/factories/IdentifierFactory.ts +26 -7
  217. package/src/factories/MetadataCollection.ts +7 -3
  218. package/src/factories/MetadataCommentTagFactory.ts +306 -218
  219. package/src/factories/MetadataFactory.ts +2 -1
  220. package/src/factories/MetadataTypeTagFactory.ts +334 -285
  221. package/src/factories/MetadataTypeTagSchemaFactory.ts +75 -52
  222. package/src/factories/NumericRangeFactory.ts +8 -8
  223. package/src/factories/StatementFactory.ts +27 -11
  224. package/src/factories/TemplateFactory.ts +29 -21
  225. package/src/factories/TypeFactory.ts +80 -58
  226. package/src/factories/internal/metadata/iterate_metadata.ts +4 -1
  227. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +6 -4
  228. package/src/factories/internal/metadata/iterate_metadata_escape.ts +5 -3
  229. package/src/factories/internal/metadata/iterate_metadata_function.ts +4 -4
  230. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +6 -3
  231. package/src/factories/internal/metadata/iterate_metadata_map.ts +4 -3
  232. package/src/factories/internal/metadata/iterate_metadata_native.ts +12 -9
  233. package/src/factories/internal/metadata/iterate_metadata_set.ts +5 -1
  234. package/src/programmers/AssertProgrammer.ts +16 -5
  235. package/src/programmers/CheckerProgrammer.ts +16 -13
  236. package/src/programmers/FeatureProgrammer.ts +8 -8
  237. package/src/programmers/IsProgrammer.ts +4 -3
  238. package/src/programmers/RandomProgrammer.ts +37 -30
  239. package/src/programmers/ValidateProgrammer.ts +17 -10
  240. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +4 -4
  241. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +4 -4
  242. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +4 -4
  243. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +7 -7
  244. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +14 -8
  245. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +7 -7
  246. package/src/programmers/helpers/CloneJoiner.ts +13 -6
  247. package/src/programmers/helpers/FunctionImporter.ts +12 -11
  248. package/src/programmers/helpers/NotationJoiner.ts +13 -6
  249. package/src/programmers/helpers/PruneJoiner.ts +3 -2
  250. package/src/programmers/helpers/RandomJoiner.ts +7 -4
  251. package/src/programmers/helpers/StringifyJoinder.ts +1 -1
  252. package/src/programmers/helpers/UnionExplorer.ts +16 -11
  253. package/src/programmers/helpers/UnionPredicator.ts +1 -1
  254. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +8 -2
  255. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +8 -2
  256. package/src/programmers/http/HttpAssertQueryProgrammer.ts +8 -2
  257. package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
  258. package/src/programmers/http/HttpHeadersProgrammer.ts +14 -10
  259. package/src/programmers/http/HttpIsFormDataProgrammer.ts +12 -6
  260. package/src/programmers/http/HttpIsHeadersProgrammer.ts +12 -6
  261. package/src/programmers/http/HttpIsQueryProgrammer.ts +12 -6
  262. package/src/programmers/http/HttpParameterProgrammer.ts +16 -11
  263. package/src/programmers/http/HttpQueryProgrammer.ts +10 -6
  264. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +8 -2
  265. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +8 -2
  266. package/src/programmers/http/HttpValidateQueryProgrammer.ts +8 -2
  267. package/src/programmers/internal/check_array_length.ts +1 -1
  268. package/src/programmers/internal/check_bigint.ts +1 -1
  269. package/src/programmers/internal/check_dynamic_properties.ts +10 -7
  270. package/src/programmers/internal/check_everything.ts +1 -1
  271. package/src/programmers/internal/check_native.ts +1 -1
  272. package/src/programmers/internal/check_number.ts +1 -1
  273. package/src/programmers/internal/check_string.ts +1 -1
  274. package/src/programmers/internal/check_union_array_like.ts +27 -17
  275. package/src/programmers/internal/prune_object_properties.ts +1 -1
  276. package/src/programmers/internal/random_custom.ts +2 -1
  277. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -160
  278. package/src/programmers/json/JsonAssertParseProgrammer.ts +8 -2
  279. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +8 -2
  280. package/src/programmers/json/JsonIsParseProgrammer.ts +8 -2
  281. package/src/programmers/json/JsonIsStringifyProgrammer.ts +8 -2
  282. package/src/programmers/json/JsonStringifyProgrammer.ts +17 -15
  283. package/src/programmers/json/JsonValidateParseProgrammer.ts +8 -2
  284. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +12 -6
  285. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +8 -2
  286. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +12 -3
  287. package/src/programmers/misc/MiscCloneProgrammer.ts +30 -23
  288. package/src/programmers/misc/MiscIsCloneProgrammer.ts +8 -2
  289. package/src/programmers/misc/MiscIsPruneProgrammer.ts +8 -2
  290. package/src/programmers/misc/MiscPruneProgrammer.ts +16 -14
  291. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +12 -6
  292. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +16 -7
  293. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +8 -2
  294. package/src/programmers/notations/NotationGeneralProgrammer.ts +26 -17
  295. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +8 -2
  296. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +12 -6
  297. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +8 -2
  298. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +8 -2
  299. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +48 -46
  300. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +42 -34
  301. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -6
  302. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +8 -2
  303. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +1 -1
  304. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +8 -2
  305. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +12 -6
  306. package/src/transformers/features/llm/LlmApplicationTransformer.ts +7 -6
  307. package/src/utils/MapUtil.ts +11 -9
  308. package/src/utils/NameEncoder.ts +4 -4
@@ -41,220 +41,270 @@ var Writable_1 = require("../typings/Writable");
41
41
  var FormatCheatSheet_1 = require("../tags/internal/FormatCheatSheet");
42
42
  var MetadataTypeTagFactory_1 = require("./MetadataTypeTagFactory");
43
43
  /**
44
- * Extremely hard coded, but no reason to maintain.
45
- *
46
44
  * @internal
47
45
  */
48
46
  var MetadataCommentTagFactory;
49
47
  (function (MetadataCommentTagFactory) {
50
- MetadataCommentTagFactory.analyze = function (errors) {
51
- return function (metadata) {
52
- return function (commentList, explore) {
53
- var e_1, _a, e_2, _b;
54
- var _c, _d;
55
- // PREPARE MESSAGE CONTAINER
56
- var messages = [];
57
- var report = function (msg) {
58
- messages.push(msg);
59
- return null;
60
- };
61
- var validateReport = function (property) {
62
- return function (msg) {
63
- messages.push("the property ".concat(property === null ? "[\"typia.tag\"]" : "[\"typia.tag.".concat(property, "\"]"), " ").concat(msg, "."));
64
- return false;
65
- };
66
- };
67
- try {
68
- // VALIDATE AND CONSTRUCT COMMENT TAGS
69
- for (var commentList_1 = __values(commentList), commentList_1_1 = commentList_1.next(); !commentList_1_1.done; commentList_1_1 = commentList_1.next()) {
70
- var comment = commentList_1_1.value;
71
- var tagger = parse(report)(comment);
72
- if (tagger === null)
73
- continue;
74
- var _loop_1 = function (key, value) {
75
- var e_3, _h, e_4, _j, e_5, _k;
76
- var filtered = value.filter(function (v) { return v.validate !== null; });
77
- if (key === "array") {
78
- if (metadata.arrays.length === 0) {
79
- report("requires array type");
80
- return "continue";
81
- }
82
- try {
83
- for (var _l = (e_3 = void 0, __values(metadata.arrays)), _m = _l.next(); !_m.done; _m = _l.next()) {
84
- var a = _m.value;
85
- (0, Writable_1.Writable)(a).tags = a.tags.filter(function (x) {
86
- return MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate(validateReport)("array")(__spreadArray(__spreadArray([], __read(x), false), __read(filtered), false));
87
- });
88
- if (a.tags.length === 0)
89
- a.tags.push(filtered);
90
- else
91
- try {
92
- for (var _o = (e_4 = void 0, __values(a.tags)), _p = _o.next(); !_p.done; _p = _o.next()) {
93
- var tags = _p.value;
94
- tags.push.apply(tags, __spreadArray([], __read(filtered), false));
95
- }
96
- }
97
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
98
- finally {
99
- try {
100
- if (_p && !_p.done && (_j = _o.return)) _j.call(_o);
101
- }
102
- finally { if (e_4) throw e_4.error; }
103
- }
104
- }
105
- }
106
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
107
- finally {
48
+ MetadataCommentTagFactory.analyze = function (props) {
49
+ var e_1, _a, e_2, _b;
50
+ var _c, _d;
51
+ // PREPARE MESSAGE CONTAINER
52
+ var messages = [];
53
+ var report = function (msg) {
54
+ messages.push(msg);
55
+ return null;
56
+ };
57
+ var validateReport = function (next) {
58
+ messages.push("the property ".concat(next.property === null
59
+ ? "[\"typia.tag\"]"
60
+ : "[\"typia.tag.".concat(next.property, "\"]"), " ").concat(next.message, "."));
61
+ return false;
62
+ };
63
+ try {
64
+ // VALIDATE AND CONSTRUCT COMMENT TAGS
65
+ for (var _e = __values(props.tags), _f = _e.next(); !_f.done; _f = _e.next()) {
66
+ var tag = _f.value;
67
+ var tagger = parse({
68
+ report: report,
69
+ tag: tag,
70
+ });
71
+ if (tagger === null)
72
+ continue;
73
+ var _loop_1 = function (key, value) {
74
+ var e_3, _k, e_4, _l, e_5, _m;
75
+ var filtered = value.filter(function (v) { return v.validate !== null; });
76
+ if (key === "array") {
77
+ if (props.metadata.arrays.length === 0) {
78
+ report("requires array type");
79
+ return "continue";
80
+ }
81
+ try {
82
+ for (var _o = (e_3 = void 0, __values(props.metadata.arrays)), _p = _o.next(); !_p.done; _p = _o.next()) {
83
+ var a = _p.value;
84
+ (0, Writable_1.Writable)(a).tags = a.tags.filter(function (x) {
85
+ return MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate({
86
+ report: validateReport,
87
+ type: "array",
88
+ tags: __spreadArray(__spreadArray([], __read(x), false), __read(filtered), false),
89
+ });
90
+ });
91
+ if (a.tags.length === 0)
92
+ a.tags.push(filtered);
93
+ else
108
94
  try {
109
- if (_m && !_m.done && (_h = _l.return)) _h.call(_l);
110
- }
111
- finally { if (e_3) throw e_3.error; }
112
- }
113
- }
114
- else {
115
- var atomic = metadata.atomics.find(function (a) { return a.type == key; });
116
- if (atomic === undefined)
117
- if (key === "bigint" || key === "number") {
118
- var opposite_1 = key === "bigint" ? "number" : "bigint";
119
- if (tagger[opposite_1] !== undefined &&
120
- metadata.atomics.some(function (a) { return a.type === opposite_1; }))
121
- return "continue";
95
+ for (var _q = (e_4 = void 0, __values(a.tags)), _r = _q.next(); !_r.done; _r = _q.next()) {
96
+ var tags = _r.value;
97
+ tags.push.apply(tags, __spreadArray([], __read(filtered), false));
98
+ }
122
99
  }
123
- else if (key === "string" &&
124
- ((_c = value[0]) === null || _c === void 0 ? void 0 : _c.kind) === "format" &&
125
- ((_d = value[0]) === null || _d === void 0 ? void 0 : _d.value) === "date-time")
126
- return "continue";
127
- else
128
- report("requires ".concat(key, " type"));
129
- else {
130
- (0, Writable_1.Writable)(atomic).tags = atomic.tags.filter(function (x) {
131
- return MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate(validateReport)(key)(__spreadArray(__spreadArray([], __read(x), false), __read(filtered), false));
132
- });
133
- if (atomic.tags.length === 0)
134
- atomic.tags.push(filtered);
135
- else
100
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
101
+ finally {
136
102
  try {
137
- for (var _q = (e_5 = void 0, __values(atomic.tags)), _r = _q.next(); !_r.done; _r = _q.next()) {
138
- var tags = _r.value;
139
- tags.push.apply(tags, __spreadArray([], __read(filtered), false));
140
- }
141
- }
142
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
143
- finally {
144
- try {
145
- if (_r && !_r.done && (_k = _q.return)) _k.call(_q);
146
- }
147
- finally { if (e_5) throw e_5.error; }
103
+ if (_r && !_r.done && (_l = _q.return)) _l.call(_q);
148
104
  }
149
- }
150
- }
151
- };
152
- try {
153
- for (var _e = (e_2 = void 0, __values(Object.entries(tagger))), _f = _e.next(); !_f.done; _f = _e.next()) {
154
- var _g = __read(_f.value, 2), key = _g[0], value = _g[1];
155
- _loop_1(key, value);
105
+ finally { if (e_4) throw e_4.error; }
106
+ }
156
107
  }
157
108
  }
158
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
109
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
159
110
  finally {
160
111
  try {
161
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
112
+ if (_p && !_p.done && (_k = _o.return)) _k.call(_o);
162
113
  }
163
- finally { if (e_2) throw e_2.error; }
114
+ finally { if (e_3) throw e_3.error; }
164
115
  }
165
116
  }
117
+ else {
118
+ var atomic = props.metadata.atomics.find(function (a) { return a.type == key; });
119
+ if (atomic === undefined)
120
+ if (key === "bigint" || key === "number") {
121
+ var opposite_1 = key === "bigint" ? "number" : "bigint";
122
+ if (tagger[opposite_1] !== undefined &&
123
+ props.metadata.atomics.some(function (a) { return a.type === opposite_1; }))
124
+ return "continue";
125
+ }
126
+ else if (key === "string" &&
127
+ ((_c = value[0]) === null || _c === void 0 ? void 0 : _c.kind) === "format" &&
128
+ ((_d = value[0]) === null || _d === void 0 ? void 0 : _d.value) === "date-time")
129
+ return "continue";
130
+ else
131
+ report("requires ".concat(key, " type"));
132
+ else {
133
+ (0, Writable_1.Writable)(atomic).tags = atomic.tags.filter(function (x) {
134
+ return MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate({
135
+ report: validateReport,
136
+ type: key,
137
+ tags: __spreadArray(__spreadArray([], __read(x), false), __read(filtered), false),
138
+ });
139
+ });
140
+ if (atomic.tags.length === 0)
141
+ atomic.tags.push(filtered);
142
+ else
143
+ try {
144
+ for (var _s = (e_5 = void 0, __values(atomic.tags)), _t = _s.next(); !_t.done; _t = _s.next()) {
145
+ var tags = _t.value;
146
+ tags.push.apply(tags, __spreadArray([], __read(filtered), false));
147
+ }
148
+ }
149
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
150
+ finally {
151
+ try {
152
+ if (_t && !_t.done && (_m = _s.return)) _m.call(_s);
153
+ }
154
+ finally { if (e_5) throw e_5.error; }
155
+ }
156
+ }
157
+ }
158
+ };
159
+ try {
160
+ for (var _g = (e_2 = void 0, __values(Object.entries(tagger))), _h = _g.next(); !_h.done; _h = _g.next()) {
161
+ var _j = __read(_h.value, 2), key = _j[0], value = _j[1];
162
+ _loop_1(key, value);
163
+ }
166
164
  }
167
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
165
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
168
166
  finally {
169
167
  try {
170
- if (commentList_1_1 && !commentList_1_1.done && (_a = commentList_1.return)) _a.call(commentList_1);
168
+ if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
171
169
  }
172
- finally { if (e_1) throw e_1.error; }
170
+ finally { if (e_2) throw e_2.error; }
173
171
  }
174
- // DO REPORT
175
- if (messages.length !== 0)
176
- errors.push({
177
- name: "comment tag(s)",
178
- explore: explore,
179
- messages: messages,
180
- });
181
- };
182
- };
172
+ }
173
+ }
174
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
175
+ finally {
176
+ try {
177
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
178
+ }
179
+ finally { if (e_1) throw e_1.error; }
180
+ }
181
+ // DO REPORT
182
+ if (messages.length !== 0)
183
+ props.errors.push({
184
+ name: "comment tag(s)",
185
+ explore: props.explore,
186
+ messages: messages,
187
+ });
183
188
  };
184
- var parse = function (report) {
185
- return function (comment) {
186
- var _a;
187
- var parser = PARSER[comment.name];
188
- if (parser === undefined)
189
- return {};
190
- var text = (_a = (comment.text || [])[0]) === null || _a === void 0 ? void 0 : _a.text;
191
- if (text === undefined && comment.name !== "uniqueItems")
192
- return report("no comment tag value");
193
- return parser(report)(text);
194
- };
189
+ var parse = function (props) {
190
+ var _a;
191
+ var next = PARSER[props.tag.name];
192
+ if (next === undefined)
193
+ return {};
194
+ var value = (_a = (props.tag.text || [])[0]) === null || _a === void 0 ? void 0 : _a.text;
195
+ if (value === undefined && props.tag.name !== "uniqueItems")
196
+ return props.report("no comment tag value");
197
+ return next({
198
+ report: props.report,
199
+ value: value,
200
+ });
195
201
  };
196
202
  })(MetadataCommentTagFactory || (exports.MetadataCommentTagFactory = MetadataCommentTagFactory = {}));
203
+ /**
204
+ * @internal
205
+ */
197
206
  var PARSER = {
198
207
  /* -----------------------------------------------------------
199
208
  ARRAY
200
209
  ----------------------------------------------------------- */
201
- items: function (report) { return function (Value) { return ({
202
- array: [
203
- {
204
- name: "MinItems<".concat(Value, ">"),
205
- target: "array",
206
- kind: "minItems",
207
- value: parse_integer(report)(true)(Value),
208
- validate: "".concat(Value, " <= $input.length"),
209
- exclusive: true,
210
- schema: {
211
- minItems: parse_integer(report)(true)(Value),
210
+ items: function (_a) {
211
+ var report = _a.report, value = _a.value;
212
+ return ({
213
+ array: [
214
+ {
215
+ name: "MinItems<".concat(value, ">"),
216
+ target: "array",
217
+ kind: "minItems",
218
+ value: parse_integer({
219
+ report: report,
220
+ value: value,
221
+ unsigned: true,
222
+ }),
223
+ validate: "".concat(value, " <= $input.length"),
224
+ exclusive: true,
225
+ schema: {
226
+ minItems: parse_integer({
227
+ report: report,
228
+ value: value,
229
+ unsigned: true,
230
+ }),
231
+ },
212
232
  },
213
- },
214
- {
215
- name: "MaxItems<".concat(Value, ">"),
216
- target: "array",
217
- kind: "maxItems",
218
- value: parse_integer(report)(true)(Value),
219
- validate: "$input.length <= ".concat(Value),
220
- exclusive: true,
221
- schema: {
222
- maxItems: parse_integer(report)(true)(Value),
233
+ {
234
+ name: "MaxItems<".concat(value, ">"),
235
+ target: "array",
236
+ kind: "maxItems",
237
+ value: parse_integer({
238
+ report: report,
239
+ value: value,
240
+ unsigned: true,
241
+ }),
242
+ validate: "$input.length <= ".concat(value),
243
+ exclusive: true,
244
+ schema: {
245
+ maxItems: parse_integer({
246
+ report: report,
247
+ unsigned: true,
248
+ value: value,
249
+ }),
250
+ },
223
251
  },
224
- },
225
- ],
226
- }); }; },
227
- minItems: function (report) { return function (Value) { return ({
228
- array: [
229
- {
230
- name: "MinItems<".concat(Value, ">"),
231
- target: "array",
232
- kind: "minItems",
233
- value: parse_integer(report)(true)(Value),
234
- validate: "".concat(Value, " <= $input.length"),
235
- exclusive: true,
236
- schema: {
237
- minItems: parse_integer(report)(true)(Value),
252
+ ],
253
+ });
254
+ },
255
+ minItems: function (_a) {
256
+ var report = _a.report, value = _a.value;
257
+ return ({
258
+ array: [
259
+ {
260
+ name: "MinItems<".concat(value, ">"),
261
+ target: "array",
262
+ kind: "minItems",
263
+ value: parse_integer({
264
+ report: report,
265
+ value: value,
266
+ unsigned: true,
267
+ }),
268
+ validate: "".concat(value, " <= $input.length"),
269
+ exclusive: true,
270
+ schema: {
271
+ minItems: parse_integer({
272
+ report: report,
273
+ value: value,
274
+ unsigned: true,
275
+ }),
276
+ },
238
277
  },
239
- },
240
- ],
241
- }); }; },
242
- maxItems: function (report) { return function (Value) { return ({
243
- array: [
244
- {
245
- name: "MaxItems<".concat(Value, ">"),
246
- target: "array",
247
- kind: "maxItems",
248
- value: parse_integer(report)(true)(Value),
249
- validate: "$input.length <= ".concat(Value),
250
- exclusive: true,
251
- schema: {
252
- maxItems: parse_integer(report)(true)(Value),
278
+ ],
279
+ });
280
+ },
281
+ maxItems: function (_a) {
282
+ var report = _a.report, value = _a.value;
283
+ return ({
284
+ array: [
285
+ {
286
+ name: "MaxItems<".concat(value, ">"),
287
+ target: "array",
288
+ kind: "maxItems",
289
+ value: parse_integer({
290
+ report: report,
291
+ value: value,
292
+ unsigned: true,
293
+ }),
294
+ validate: "$input.length <= ".concat(value),
295
+ exclusive: true,
296
+ schema: {
297
+ maxItems: parse_integer({
298
+ report: report,
299
+ value: value,
300
+ unsigned: true,
301
+ }),
302
+ },
253
303
  },
254
- },
255
- ],
256
- }); }; },
257
- uniqueItems: function () { return function () { return ({
304
+ ],
305
+ });
306
+ },
307
+ uniqueItems: function () { return ({
258
308
  array: [
259
309
  {
260
310
  name: "UniqueItems",
@@ -268,212 +318,234 @@ var PARSER = {
268
318
  },
269
319
  },
270
320
  ],
271
- }); }; },
321
+ }); },
272
322
  /* -----------------------------------------------------------
273
323
  NUMBER
274
324
  ----------------------------------------------------------- */
275
- type: function () { return function (Value) {
325
+ type: function (_a) {
326
+ var value = _a.value;
276
327
  // EMENDATIONS
277
- if (Value.startsWith("{") && Value.endsWith("}"))
278
- Value = Value.substring(1, Value.length - 1);
279
- if (Value === "int")
280
- Value = "int32";
281
- else if (Value === "uint")
282
- Value = "uint32";
328
+ if (value.startsWith("{") && value.endsWith("}"))
329
+ value = value.substring(1, value.length - 1);
330
+ if (value === "int")
331
+ value = "int32";
332
+ else if (value === "uint")
333
+ value = "uint32";
283
334
  // MUST BE ONE OF THEM
284
- if (["int32", "uint32", "int64", "uint64", "float", "double"].includes(Value) === false)
335
+ if (["int32", "uint32", "int64", "uint64", "float", "double"].includes(value) === false)
285
336
  return {};
286
337
  return {
287
338
  number: [
288
339
  {
289
- name: "Type<".concat(JSON.stringify(Value), ">"),
340
+ name: "Type<".concat(JSON.stringify(value), ">"),
290
341
  target: "number",
291
342
  kind: "type",
292
- value: Value,
293
- validate: Value === "int32"
343
+ value: value,
344
+ validate: value === "int32"
294
345
  ? "Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647"
295
- : Value === "uint32"
346
+ : value === "uint32"
296
347
  ? "Math.floor($input) === $input && 0 <= $input && $input <= 4294967295"
297
- : Value === "int64"
348
+ : value === "int64"
298
349
  ? "Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807"
299
- : Value === "uint64"
350
+ : value === "uint64"
300
351
  ? "Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615"
301
- : Value === "float"
352
+ : value === "float"
302
353
  ? "-1.175494351e38 <= $input && $input <= 3.4028235e38"
303
354
  : "true",
304
355
  exclusive: true,
305
- schema: ["int32", "uint32", "int64", "uint64"].includes(Value)
356
+ schema: ["int32", "uint32", "int64", "uint64"].includes(value)
306
357
  ? { type: "integer" }
307
358
  : undefined,
308
359
  },
309
360
  ],
310
- bigint: Value === "int64" || "uint64"
361
+ bigint: value === "int64" || "uint64"
311
362
  ? [
312
363
  {
313
- name: "Type<".concat(JSON.stringify(Value), ">"),
364
+ name: "Type<".concat(JSON.stringify(value), ">"),
314
365
  target: "bigint",
315
366
  kind: "type",
316
- value: Value,
317
- validate: Value === "int64" ? "true" : "BigInt(0) <= $input",
367
+ value: value,
368
+ validate: value === "int64" ? "true" : "BigInt(0) <= $input",
318
369
  exclusive: true,
319
370
  schema: undefined,
320
371
  },
321
372
  ]
322
373
  : [],
323
374
  };
324
- }; },
325
- minimum: function (report) { return function (Value) { return ({
375
+ },
376
+ minimum: function (props) { return ({
326
377
  number: [
327
378
  {
328
- name: "Minimum<".concat(Value, ">"),
379
+ name: "Minimum<".concat(props.value, ">"),
329
380
  target: "number",
330
381
  kind: "minimum",
331
- value: parse_number(report)(Value),
332
- validate: "".concat(Value, " <= $input"),
382
+ value: parse_number(props),
383
+ validate: "".concat(props.value, " <= $input"),
333
384
  exclusive: ["minimum", "exclusiveMinimum"],
334
385
  schema: {
335
- minimum: parse_number(report)(Value),
386
+ minimum: parse_number(props),
336
387
  },
337
388
  },
338
389
  ],
339
390
  bigint: [
340
391
  {
341
- name: "Minimum<".concat(Value, "n>"),
392
+ name: "Minimum<".concat(props.value, "n>"),
342
393
  target: "bigint",
343
394
  kind: "minimum",
344
395
  value: (function () {
345
- var value = parse_integer(report)(false)(Value);
346
- return value === null ? null : BigInt(value);
396
+ var parsed = parse_integer({
397
+ report: props.report,
398
+ value: props.value,
399
+ unsigned: false,
400
+ });
401
+ return parsed === null ? null : BigInt(parsed);
347
402
  })(),
348
- validate: "".concat(Value, " <= $input"),
403
+ validate: "".concat(props.value, " <= $input"),
349
404
  exclusive: ["minimum", "exclusiveMinimum"],
350
405
  schema: undefined,
351
406
  },
352
407
  ],
353
- }); }; },
354
- maximum: function (report) { return function (Value) { return ({
408
+ }); },
409
+ maximum: function (props) { return ({
355
410
  number: [
356
411
  {
357
- name: "Maximum<".concat(Value, ">"),
412
+ name: "Maximum<".concat(props.value, ">"),
358
413
  target: "number",
359
414
  kind: "maximum",
360
- value: parse_number(report)(Value),
361
- validate: "$input <= ".concat(Value),
415
+ value: parse_number(props),
416
+ validate: "$input <= ".concat(props.value),
362
417
  exclusive: ["maximum", "exclusiveMaximum"],
363
418
  schema: {
364
- maximum: parse_number(report)(Value),
419
+ maximum: parse_number(props),
365
420
  },
366
421
  },
367
422
  ],
368
423
  bigint: [
369
424
  {
370
- name: "Maximum<".concat(Value, "n>"),
425
+ name: "Maximum<".concat(props.value, "n>"),
371
426
  target: "bigint",
372
427
  kind: "maximum",
373
428
  value: (function () {
374
- var value = parse_integer(report)(false)(Value);
375
- return value === null ? null : BigInt(value);
429
+ var parsed = parse_integer({
430
+ report: props.report,
431
+ value: props.value,
432
+ unsigned: false,
433
+ });
434
+ return parsed === null ? null : BigInt(parsed);
376
435
  })(),
377
- validate: "$input <= ".concat(Value),
436
+ validate: "$input <= ".concat(props.value),
378
437
  exclusive: ["maximum", "exclusiveMaximum"],
379
438
  schema: undefined,
380
439
  },
381
440
  ],
382
- }); }; },
383
- exclusiveMinimum: function (report) { return function (Value) { return ({
441
+ }); },
442
+ exclusiveMinimum: function (props) { return ({
384
443
  number: [
385
444
  {
386
- name: "ExclusiveMinimum<".concat(Value, ">"),
445
+ name: "ExclusiveMinimum<".concat(props.value, ">"),
387
446
  target: "number",
388
447
  kind: "exclusiveMinimum",
389
- value: parse_number(report)(Value),
390
- validate: "".concat(Value, " < $input"),
448
+ value: parse_number(props),
449
+ validate: "".concat(props.value, " < $input"),
391
450
  exclusive: ["minimum", "exclusiveMinimum"],
392
451
  schema: {
393
452
  exclusiveMinimum: true,
394
- minimum: parse_number(report)(Value),
453
+ minimum: parse_number(props),
395
454
  },
396
455
  },
397
456
  ],
398
457
  bigint: [
399
458
  {
400
- name: "ExclusiveMinimum<".concat(Value, "n>"),
459
+ name: "ExclusiveMinimum<".concat(props.value, "n>"),
401
460
  target: "bigint",
402
461
  kind: "exclusiveMinimum",
403
462
  value: (function () {
404
- var value = parse_integer(report)(false)(Value);
405
- return value === null ? null : BigInt(value);
463
+ var parsed = parse_integer({
464
+ report: props.report,
465
+ value: props.value,
466
+ unsigned: false,
467
+ });
468
+ return parsed === null ? null : BigInt(parsed);
406
469
  })(),
407
- validate: "".concat(Value, " < $input"),
470
+ validate: "".concat(props.value, " < $input"),
408
471
  exclusive: ["minimum", "exclusiveMinimum"],
409
472
  schema: undefined,
410
473
  },
411
474
  ],
412
- }); }; },
413
- exclusiveMaximum: function (report) { return function (Value) { return ({
475
+ }); },
476
+ exclusiveMaximum: function (props) { return ({
414
477
  number: [
415
478
  {
416
- name: "ExclusiveMaximum<".concat(Value, ">"),
479
+ name: "ExclusiveMaximum<".concat(props.value, ">"),
417
480
  target: "number",
418
481
  kind: "exclusiveMaximum",
419
- value: parse_number(report)(Value),
420
- validate: "$input < ".concat(Value),
482
+ value: parse_number(props),
483
+ validate: "$input < ".concat(props.value),
421
484
  exclusive: ["maximum", "exclusiveMaximum"],
422
485
  schema: {
423
486
  exclusiveMaximum: true,
424
- maximum: parse_number(report)(Value),
487
+ maximum: parse_number(props),
425
488
  },
426
489
  },
427
490
  ],
428
491
  bigint: [
429
492
  {
430
- name: "ExclusiveMaximum<".concat(Value, "n>"),
493
+ name: "ExclusiveMaximum<".concat(props.value, "n>"),
431
494
  target: "bigint",
432
495
  kind: "exclusiveMaximum",
433
496
  value: (function () {
434
- var value = parse_integer(report)(false)(Value);
435
- return value === null ? null : BigInt(value);
497
+ var parsed = parse_integer({
498
+ report: props.report,
499
+ value: props.value,
500
+ unsigned: false,
501
+ });
502
+ return parsed === null ? null : BigInt(parsed);
436
503
  })(),
437
- validate: "$input < ".concat(Value),
504
+ validate: "$input < ".concat(props.value),
438
505
  exclusive: ["maximum", "exclusiveMaximum"],
439
506
  schema: undefined,
440
507
  },
441
508
  ],
442
- }); }; },
443
- multipleOf: function (report) { return function (Value) { return ({
509
+ }); },
510
+ multipleOf: function (props) { return ({
444
511
  number: [
445
512
  {
446
- name: "MultipleOf<".concat(Value, ">"),
513
+ name: "MultipleOf<".concat(props.value, ">"),
447
514
  target: "number",
448
515
  kind: "multipleOf",
449
- value: parse_number(report)(Value),
450
- validate: "$input % ".concat(Value, " === 0"),
516
+ value: parse_number(props),
517
+ validate: "$input % ".concat(props.value, " === 0"),
451
518
  exclusive: true,
452
519
  schema: {
453
- multipleOf: parse_number(report)(Value),
520
+ multipleOf: parse_number(props),
454
521
  },
455
522
  },
456
523
  ],
457
524
  bigint: [
458
525
  {
459
- name: "MultipleOf<".concat(Value, "n>"),
526
+ name: "MultipleOf<".concat(props.value, "n>"),
460
527
  target: "bigint",
461
528
  kind: "multipleOf",
462
529
  value: (function () {
463
- var value = parse_integer(report)(false)(Value);
464
- return value === null ? null : BigInt(value);
530
+ var parsed = parse_integer({
531
+ report: props.report,
532
+ value: props.value,
533
+ unsigned: false,
534
+ });
535
+ return parsed === null ? null : BigInt(parsed);
465
536
  })(),
466
- validate: "$input % ".concat(Value, "n === 0n"),
537
+ validate: "$input % ".concat(props.value, "n === 0n"),
467
538
  exclusive: true,
468
539
  schema: undefined,
469
540
  },
470
541
  ],
471
- }); }; },
542
+ }); },
472
543
  /* -----------------------------------------------------------
473
544
  STRING
474
545
  ----------------------------------------------------------- */
475
- format: function () { return function (Value) {
476
- var matched = FORMATS.get(Value);
546
+ format: function (_a) {
547
+ var value = _a.value;
548
+ var matched = FORMATS.get(value);
477
549
  if (matched === undefined)
478
550
  return {};
479
551
  return {
@@ -491,101 +563,113 @@ var PARSER = {
491
563
  },
492
564
  ],
493
565
  };
494
- }; },
495
- pattern: function () { return function (Value) { return ({
496
- string: [
497
- {
498
- name: "Pattern<".concat(JSON.stringify(Value), ">"),
499
- target: "string",
500
- kind: "pattern",
501
- value: Value,
502
- validate: "RegExp(".concat(JSON.stringify(Value), ").test($input)"),
503
- exclusive: ["format"],
504
- schema: {
505
- pattern: Value,
566
+ },
567
+ pattern: function (_a) {
568
+ var value = _a.value;
569
+ return ({
570
+ string: [
571
+ {
572
+ name: "Pattern<".concat(JSON.stringify(value), ">"),
573
+ target: "string",
574
+ kind: "pattern",
575
+ value: value,
576
+ validate: "RegExp(".concat(JSON.stringify(value), ").test($input)"),
577
+ exclusive: ["format"],
578
+ schema: {
579
+ pattern: value,
580
+ },
506
581
  },
507
- },
508
- ],
509
- }); }; },
510
- length: function (report) { return function (Value) { return ({
582
+ ],
583
+ });
584
+ },
585
+ length: function (props) { return ({
511
586
  string: [
512
587
  {
513
- name: "MinLength<".concat(Value, ">"),
588
+ name: "MinLength<".concat(props.value, ">"),
514
589
  target: "string",
515
590
  kind: "minLength",
516
- value: parse_number(report)(Value),
517
- validate: "".concat(Value, " <= $input.length"),
591
+ value: parse_number(props),
592
+ validate: "".concat(props.value, " <= $input.length"),
518
593
  exclusive: true,
519
594
  schema: {
520
- minLength: parse_number(report)(Value),
595
+ minLength: parse_number(props),
521
596
  },
522
597
  },
523
598
  {
524
- name: "MaxLength<".concat(Value, ">"),
599
+ name: "MaxLength<".concat(props.value, ">"),
525
600
  target: "string",
526
601
  kind: "maxLength",
527
- value: parse_number(report)(Value),
528
- validate: "$input.length <= ".concat(Value),
602
+ value: parse_number(props),
603
+ validate: "$input.length <= ".concat(props.value),
529
604
  exclusive: true,
530
605
  schema: {
531
- maxLength: parse_number(report)(Value),
606
+ maxLength: parse_number(props),
532
607
  },
533
608
  },
534
609
  ],
535
- }); }; },
536
- minLength: function (report) { return function (Value) { return ({
537
- string: [
538
- {
539
- name: "MinLength<".concat(Value, ">"),
540
- target: "string",
541
- kind: "minLength",
542
- value: parse_number(report)(Value),
543
- validate: "".concat(Value, " <= $input.length"),
544
- exclusive: true,
545
- schema: {
546
- minLength: parse_number(report)(Value),
610
+ }); },
611
+ minLength: function (_a) {
612
+ var report = _a.report, value = _a.value;
613
+ return ({
614
+ string: [
615
+ {
616
+ name: "MinLength<".concat(value, ">"),
617
+ target: "string",
618
+ kind: "minLength",
619
+ value: parse_number({ report: report, value: value }),
620
+ validate: "".concat(value, " <= $input.length"),
621
+ exclusive: true,
622
+ schema: {
623
+ minLength: parse_number({ report: report, value: value }),
624
+ },
547
625
  },
548
- },
549
- ],
550
- }); }; },
551
- maxLength: function (report) { return function (Value) { return ({
552
- string: [
553
- {
554
- name: "MaxLength<".concat(Value, ">"),
555
- target: "string",
556
- kind: "maxLength",
557
- value: parse_number(report)(Value),
558
- validate: "$input.length <= ".concat(Value),
559
- exclusive: true,
560
- schema: {
561
- maxLength: parse_number(report)(Value),
626
+ ],
627
+ });
628
+ },
629
+ maxLength: function (_a) {
630
+ var report = _a.report, value = _a.value;
631
+ return ({
632
+ string: [
633
+ {
634
+ name: "MaxLength<".concat(value, ">"),
635
+ target: "string",
636
+ kind: "maxLength",
637
+ value: parse_number({ report: report, value: value }),
638
+ validate: "$input.length <= ".concat(value),
639
+ exclusive: true,
640
+ schema: {
641
+ maxLength: parse_number({ report: report, value: value }),
642
+ },
562
643
  },
563
- },
564
- ],
565
- }); }; },
644
+ ],
645
+ });
646
+ },
566
647
  };
567
- var parse_number = function (report) {
568
- return function (str) {
569
- var value = Number(str);
570
- if (isNaN(value) === true)
571
- return report("invalid number");
572
- return value;
573
- };
648
+ /**
649
+ * @internal
650
+ */
651
+ var parse_number = function (props) {
652
+ var parsed = Number(props.value);
653
+ if (isNaN(parsed) === true)
654
+ return props.report("invalid number");
655
+ return parsed;
574
656
  };
575
- var parse_integer = function (report) {
576
- return function (unsigned) {
577
- return function (str) {
578
- var value = parse_number(report)(str);
579
- if (value === null)
580
- return null;
581
- else if (Math.floor(value) !== value)
582
- return report("invalid integer");
583
- else if (unsigned === true && value < 0)
584
- return report("invalid unsigned integer");
585
- return value;
586
- };
587
- };
657
+ /**
658
+ * @internal
659
+ */
660
+ var parse_integer = function (props) {
661
+ var parsed = parse_number(props);
662
+ if (parsed === null)
663
+ return null;
664
+ else if (Math.floor(parsed) !== parsed)
665
+ return props.report("invalid integer");
666
+ else if (props.unsigned === true && parsed < 0)
667
+ return props.report("invalid unsigned integer");
668
+ return parsed;
588
669
  };
670
+ /**
671
+ * @internal
672
+ */
589
673
  var FORMATS = new Map(__spreadArray(__spreadArray([], __read(Object.entries(FormatCheatSheet_1.FormatCheatSheet).map(function (_a) {
590
674
  var _b = __read(_a, 2), key = _b[0], value = _b[1];
591
675
  return [key, [key, value]];