typia 7.0.0-dev.20241112 → 7.0.0-dev.20241114

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 (890) hide show
  1. package/lib/TypeGuardError.js +12 -31
  2. package/lib/TypeGuardError.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard.js +52 -159
  4. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  5. package/lib/executable/TypiaPatchWizard.js +26 -78
  6. package/lib/executable/TypiaPatchWizard.js.map +1 -1
  7. package/lib/executable/TypiaSetupWizard.js +115 -250
  8. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  9. package/lib/executable/setup/ArgumentParser.js +16 -60
  10. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  11. package/lib/executable/setup/CommandExecutor.js +3 -3
  12. package/lib/executable/setup/CommandExecutor.js.map +1 -1
  13. package/lib/executable/setup/FileRetriever.js +4 -4
  14. package/lib/executable/setup/FileRetriever.js.map +1 -1
  15. package/lib/executable/setup/PackageManager.js +41 -97
  16. package/lib/executable/setup/PackageManager.js.map +1 -1
  17. package/lib/executable/setup/PluginConfigurator.js +36 -72
  18. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  19. package/lib/executable/typia.js +48 -95
  20. package/lib/executable/typia.js.map +1 -1
  21. package/lib/factories/CommentFactory.js +41 -103
  22. package/lib/factories/CommentFactory.js.map +1 -1
  23. package/lib/factories/ExpressionFactory.d.ts +6 -1
  24. package/lib/factories/ExpressionFactory.js +72 -65
  25. package/lib/factories/ExpressionFactory.js.map +1 -1
  26. package/lib/factories/IdentifierFactory.js +16 -20
  27. package/lib/factories/IdentifierFactory.js.map +1 -1
  28. package/lib/factories/JsonMetadataFactory.js +19 -44
  29. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  30. package/lib/factories/LiteralFactory.js +12 -43
  31. package/lib/factories/LiteralFactory.js.map +1 -1
  32. package/lib/factories/MetadataCollection.js +96 -171
  33. package/lib/factories/MetadataCollection.js.map +1 -1
  34. package/lib/factories/MetadataCommentTagFactory.js +264 -383
  35. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  36. package/lib/factories/MetadataFactory.js +81 -273
  37. package/lib/factories/MetadataFactory.js.map +1 -1
  38. package/lib/factories/MetadataTypeTagFactory.js +116 -188
  39. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  40. package/lib/factories/MetadataTypeTagSchemaFactory.js +30 -54
  41. package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -1
  42. package/lib/factories/NumericRangeFactory.js +14 -30
  43. package/lib/factories/NumericRangeFactory.js.map +1 -1
  44. package/lib/factories/ProtobufFactory.js +432 -1111
  45. package/lib/factories/ProtobufFactory.js.map +1 -1
  46. package/lib/factories/StatementFactory.js +24 -34
  47. package/lib/factories/StatementFactory.js.map +1 -1
  48. package/lib/factories/TemplateFactory.js +18 -20
  49. package/lib/factories/TemplateFactory.js.map +1 -1
  50. package/lib/factories/TypeFactory.js +32 -40
  51. package/lib/factories/TypeFactory.js.map +1 -1
  52. package/lib/factories/ValueFactory.js +6 -13
  53. package/lib/factories/ValueFactory.js.map +1 -1
  54. package/lib/factories/internal/metadata/MetadataHelper.js +5 -5
  55. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  56. package/lib/factories/internal/metadata/emend_metadata_atomics.js +14 -41
  57. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  58. package/lib/factories/internal/metadata/emplace_metadata_alias.js +5 -32
  59. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  60. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +5 -32
  61. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  62. package/lib/factories/internal/metadata/emplace_metadata_object.js +100 -172
  63. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  64. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +13 -40
  65. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  66. package/lib/factories/internal/metadata/explore_metadata.js +6 -17
  67. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  68. package/lib/factories/internal/metadata/iterate_metadata.js +18 -29
  69. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata_alias.js +10 -12
  71. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  72. package/lib/factories/internal/metadata/iterate_metadata_array.js +18 -52
  73. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  74. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +12 -12
  75. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js +4 -4
  77. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -1
  78. package/lib/factories/internal/metadata/iterate_metadata_collection.js +47 -120
  79. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  80. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +20 -42
  81. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_constant.js +21 -36
  83. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  84. package/lib/factories/internal/metadata/iterate_metadata_escape.js +9 -20
  85. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
  86. package/lib/factories/internal/metadata/iterate_metadata_function.js +18 -45
  87. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  88. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +94 -262
  89. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  90. package/lib/factories/internal/metadata/iterate_metadata_map.js +14 -25
  91. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  92. package/lib/factories/internal/metadata/iterate_metadata_native.js +87 -136
  93. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  94. package/lib/factories/internal/metadata/iterate_metadata_object.js +8 -9
  95. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  96. package/lib/factories/internal/metadata/iterate_metadata_set.js +14 -27
  97. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  98. package/lib/factories/internal/metadata/iterate_metadata_sort.js +47 -169
  99. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  100. package/lib/factories/internal/metadata/iterate_metadata_template.js +12 -23
  101. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  102. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +6 -6
  103. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  104. package/lib/factories/internal/metadata/iterate_metadata_union.js +3 -16
  105. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  106. package/lib/functional.js +1 -1
  107. package/lib/functional.js.map +1 -1
  108. package/lib/http.js +1 -1
  109. package/lib/http.js.map +1 -1
  110. package/lib/index.js +1 -1
  111. package/lib/index.js.map +1 -1
  112. package/lib/internal/_ProtobufReader.js +54 -55
  113. package/lib/internal/_ProtobufReader.js.map +1 -1
  114. package/lib/internal/_ProtobufSizer.js +41 -43
  115. package/lib/internal/_ProtobufSizer.js.map +1 -1
  116. package/lib/internal/_ProtobufWriter.js +49 -50
  117. package/lib/internal/_ProtobufWriter.js.map +1 -1
  118. package/lib/internal/_accessExpressionAsString.js +4 -8
  119. package/lib/internal/_accessExpressionAsString.js.map +1 -1
  120. package/lib/internal/_assertGuard.js +2 -2
  121. package/lib/internal/_assertGuard.js.map +1 -1
  122. package/lib/internal/_functionalTypeGuardErrorFactory.js +2 -4
  123. package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
  124. package/lib/internal/_httpFormDataReadArray.js +1 -1
  125. package/lib/internal/_httpFormDataReadArray.js.map +1 -1
  126. package/lib/internal/_httpFormDataReadBigint.js +8 -10
  127. package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
  128. package/lib/internal/_httpFormDataReadBlob.js +7 -9
  129. package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
  130. package/lib/internal/_httpFormDataReadBoolean.js +12 -14
  131. package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
  132. package/lib/internal/_httpFormDataReadFile.js +7 -9
  133. package/lib/internal/_httpFormDataReadFile.js.map +1 -1
  134. package/lib/internal/_httpFormDataReadNumber.js +9 -11
  135. package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
  136. package/lib/internal/_httpFormDataReadString.js +7 -9
  137. package/lib/internal/_httpFormDataReadString.js.map +1 -1
  138. package/lib/internal/_httpHeaderReadBigint.js +2 -4
  139. package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
  140. package/lib/internal/_httpHeaderReadBoolean.js +7 -9
  141. package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
  142. package/lib/internal/_httpHeaderReadNumber.js +3 -5
  143. package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
  144. package/lib/internal/_httpParameterReadBigint.js +2 -4
  145. package/lib/internal/_httpParameterReadBigint.js.map +1 -1
  146. package/lib/internal/_httpParameterReadBoolean.js +7 -9
  147. package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
  148. package/lib/internal/_httpParameterReadNumber.js +3 -5
  149. package/lib/internal/_httpParameterReadNumber.js.map +1 -1
  150. package/lib/internal/_httpParameterReadString.js +1 -3
  151. package/lib/internal/_httpParameterReadString.js.map +1 -1
  152. package/lib/internal/_httpQueryParseURLSearchParams.js +2 -2
  153. package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
  154. package/lib/internal/_httpQueryReadArray.js +1 -1
  155. package/lib/internal/_httpQueryReadArray.js.map +1 -1
  156. package/lib/internal/_httpQueryReadBigint.js +2 -4
  157. package/lib/internal/_httpQueryReadBigint.js.map +1 -1
  158. package/lib/internal/_httpQueryReadBoolean.js +10 -12
  159. package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
  160. package/lib/internal/_httpQueryReadNumber.js +3 -5
  161. package/lib/internal/_httpQueryReadNumber.js.map +1 -1
  162. package/lib/internal/_httpQueryReadString.js +1 -3
  163. package/lib/internal/_httpQueryReadString.js.map +1 -1
  164. package/lib/internal/_isBetween.js +1 -3
  165. package/lib/internal/_isBetween.js.map +1 -1
  166. package/lib/internal/_isBigintString.js +1 -1
  167. package/lib/internal/_isBigintString.js.map +1 -1
  168. package/lib/internal/_isFormatByte.d.ts +1 -0
  169. package/lib/internal/_isFormatByte.js +10 -0
  170. package/lib/internal/_isFormatByte.js.map +1 -0
  171. package/lib/internal/_isFormatDate.d.ts +1 -0
  172. package/lib/internal/_isFormatDate.js +7 -0
  173. package/lib/internal/_isFormatDate.js.map +1 -0
  174. package/lib/internal/_isFormatDateTime.d.ts +1 -0
  175. package/lib/internal/_isFormatDateTime.js +7 -0
  176. package/lib/internal/_isFormatDateTime.js.map +1 -0
  177. package/lib/internal/_isFormatDuration.d.ts +1 -0
  178. package/lib/internal/_isFormatDuration.js +7 -0
  179. package/lib/internal/_isFormatDuration.js.map +1 -0
  180. package/lib/internal/_isFormatEmail.d.ts +1 -0
  181. package/lib/internal/_isFormatEmail.js +7 -0
  182. package/lib/internal/_isFormatEmail.js.map +1 -0
  183. package/lib/internal/_isFormatHostname.d.ts +1 -0
  184. package/lib/internal/_isFormatHostname.js +7 -0
  185. package/lib/internal/_isFormatHostname.js.map +1 -0
  186. package/lib/internal/_isFormatIdnEmail.d.ts +1 -0
  187. package/lib/internal/_isFormatIdnEmail.js +7 -0
  188. package/lib/internal/_isFormatIdnEmail.js.map +1 -0
  189. package/lib/internal/_isFormatIdnHostname.d.ts +1 -0
  190. package/lib/internal/_isFormatIdnHostname.js +7 -0
  191. package/lib/internal/_isFormatIdnHostname.js.map +1 -0
  192. package/lib/internal/_isFormatIpv4.d.ts +1 -0
  193. package/lib/internal/_isFormatIpv4.js +7 -0
  194. package/lib/internal/_isFormatIpv4.js.map +1 -0
  195. package/lib/internal/_isFormatIpv6.d.ts +1 -0
  196. package/lib/internal/_isFormatIpv6.js +7 -0
  197. package/lib/internal/_isFormatIpv6.js.map +1 -0
  198. package/lib/internal/_isFormatIri.d.ts +1 -0
  199. package/lib/internal/_isFormatIri.js +7 -0
  200. package/lib/internal/_isFormatIri.js.map +1 -0
  201. package/lib/internal/_isFormatIriReference.d.ts +1 -0
  202. package/lib/internal/_isFormatIriReference.js +7 -0
  203. package/lib/internal/_isFormatIriReference.js.map +1 -0
  204. package/lib/internal/_isFormatJsonPointer.d.ts +1 -0
  205. package/lib/internal/_isFormatJsonPointer.js +7 -0
  206. package/lib/internal/_isFormatJsonPointer.js.map +1 -0
  207. package/lib/internal/_isFormatPassword.d.ts +1 -0
  208. package/lib/internal/_isFormatPassword.js +6 -0
  209. package/lib/internal/_isFormatPassword.js.map +1 -0
  210. package/lib/internal/_isFormatRegex.d.ts +1 -0
  211. package/lib/internal/_isFormatRegex.js +14 -0
  212. package/lib/internal/_isFormatRegex.js.map +1 -0
  213. package/lib/internal/_isFormatRelativeJsonPointer.d.ts +1 -0
  214. package/lib/internal/_isFormatRelativeJsonPointer.js +7 -0
  215. package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -0
  216. package/lib/internal/_isFormatTime.d.ts +1 -0
  217. package/lib/internal/_isFormatTime.js +7 -0
  218. package/lib/internal/_isFormatTime.js.map +1 -0
  219. package/lib/internal/_isFormatUri.d.ts +1 -0
  220. package/lib/internal/_isFormatUri.js +8 -0
  221. package/lib/internal/_isFormatUri.js.map +1 -0
  222. package/lib/internal/_isFormatUriReference.d.ts +1 -0
  223. package/lib/internal/_isFormatUriReference.js +7 -0
  224. package/lib/internal/_isFormatUriReference.js.map +1 -0
  225. package/lib/internal/_isFormatUriTemplate.d.ts +1 -0
  226. package/lib/internal/_isFormatUriTemplate.js +7 -0
  227. package/lib/internal/_isFormatUriTemplate.js.map +1 -0
  228. package/lib/internal/_isFormatUrl.d.ts +1 -0
  229. package/lib/internal/_isFormatUrl.js +7 -0
  230. package/lib/internal/_isFormatUrl.js.map +1 -0
  231. package/lib/internal/_isFormatUuid.d.ts +1 -0
  232. package/lib/internal/_isFormatUuid.js +7 -0
  233. package/lib/internal/_isFormatUuid.js.map +1 -0
  234. package/lib/internal/_isTypeFloat.d.ts +1 -0
  235. package/lib/internal/_isTypeFloat.js +8 -0
  236. package/lib/internal/_isTypeFloat.js.map +1 -0
  237. package/lib/internal/_isTypeInt32.d.ts +1 -0
  238. package/lib/internal/_isTypeInt32.js +8 -0
  239. package/lib/internal/_isTypeInt32.js.map +1 -0
  240. package/lib/internal/_isTypeInt64.d.ts +1 -0
  241. package/lib/internal/_isTypeInt64.js +8 -0
  242. package/lib/internal/_isTypeInt64.js.map +1 -0
  243. package/lib/internal/_isTypeUint32.d.ts +1 -0
  244. package/lib/internal/_isTypeUint32.js +8 -0
  245. package/lib/internal/_isTypeUint32.js.map +1 -0
  246. package/lib/internal/_isTypeUint64.d.ts +1 -0
  247. package/lib/internal/_isTypeUint64.js +8 -0
  248. package/lib/internal/_isTypeUint64.js.map +1 -0
  249. package/lib/internal/_jsonStringifyNumber.js +3 -3
  250. package/lib/internal/_jsonStringifyNumber.js.map +1 -1
  251. package/lib/internal/_jsonStringifyRest.js +1 -1
  252. package/lib/internal/_jsonStringifyRest.js.map +1 -1
  253. package/lib/internal/_jsonStringifyString.js +5 -5
  254. package/lib/internal/_jsonStringifyString.js.map +1 -1
  255. package/lib/internal/_jsonStringifyTail.js +1 -3
  256. package/lib/internal/_jsonStringifyTail.js.map +1 -1
  257. package/lib/internal/_llmApplicationFinalize.js +10 -33
  258. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  259. package/lib/internal/_miscCloneAny.js +6 -42
  260. package/lib/internal/_miscCloneAny.js.map +1 -1
  261. package/lib/internal/_notationAny.js +3 -24
  262. package/lib/internal/_notationAny.js.map +1 -1
  263. package/lib/internal/_notationCamel.js +8 -12
  264. package/lib/internal/_notationCamel.js.map +1 -1
  265. package/lib/internal/_notationPascal.js +3 -5
  266. package/lib/internal/_notationPascal.js.map +1 -1
  267. package/lib/internal/_notationSnake.js +16 -16
  268. package/lib/internal/_notationSnake.js.map +1 -1
  269. package/lib/internal/_randomArray.js +5 -5
  270. package/lib/internal/_randomArray.js.map +1 -1
  271. package/lib/internal/_randomBigint.js +2 -4
  272. package/lib/internal/_randomBigint.js.map +1 -1
  273. package/lib/internal/_randomBoolean.js +1 -1
  274. package/lib/internal/_randomBoolean.js.map +1 -1
  275. package/lib/internal/_randomFormatByte.js +2 -2
  276. package/lib/internal/_randomFormatByte.js.map +1 -1
  277. package/lib/internal/_randomFormatDate.js +2 -2
  278. package/lib/internal/_randomFormatDate.js.map +1 -1
  279. package/lib/internal/_randomFormatDatetime.js +2 -2
  280. package/lib/internal/_randomFormatDatetime.js.map +1 -1
  281. package/lib/internal/_randomFormatDuration.js +14 -40
  282. package/lib/internal/_randomFormatDuration.js.map +1 -1
  283. package/lib/internal/_randomFormatEmail.js +7 -11
  284. package/lib/internal/_randomFormatEmail.js.map +1 -1
  285. package/lib/internal/_randomFormatHostname.js +3 -5
  286. package/lib/internal/_randomFormatHostname.js.map +1 -1
  287. package/lib/internal/_randomFormatIdnEmail.js +2 -2
  288. package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
  289. package/lib/internal/_randomFormatIdnHostname.js +2 -2
  290. package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
  291. package/lib/internal/_randomFormatIpv4.js +7 -11
  292. package/lib/internal/_randomFormatIpv4.js.map +1 -1
  293. package/lib/internal/_randomFormatIpv6.js +7 -11
  294. package/lib/internal/_randomFormatIpv6.js.map +1 -1
  295. package/lib/internal/_randomFormatIri.js +2 -2
  296. package/lib/internal/_randomFormatIri.js.map +1 -1
  297. package/lib/internal/_randomFormatIriReference.js +2 -2
  298. package/lib/internal/_randomFormatIriReference.js.map +1 -1
  299. package/lib/internal/_randomFormatJsonPointer.js +3 -7
  300. package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
  301. package/lib/internal/_randomFormatPassword.js +6 -8
  302. package/lib/internal/_randomFormatPassword.js.map +1 -1
  303. package/lib/internal/_randomFormatRegex.js +2 -2
  304. package/lib/internal/_randomFormatRegex.js.map +1 -1
  305. package/lib/internal/_randomFormatRelativeJsonPointer.js +6 -8
  306. package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
  307. package/lib/internal/_randomFormatTime.js +9 -11
  308. package/lib/internal/_randomFormatTime.js.map +1 -1
  309. package/lib/internal/_randomFormatUri.js +2 -2
  310. package/lib/internal/_randomFormatUri.js.map +1 -1
  311. package/lib/internal/_randomFormatUriReference.js +2 -2
  312. package/lib/internal/_randomFormatUriReference.js.map +1 -1
  313. package/lib/internal/_randomFormatUriTemplate.js +2 -2
  314. package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
  315. package/lib/internal/_randomFormatUrl.js +7 -11
  316. package/lib/internal/_randomFormatUrl.js.map +1 -1
  317. package/lib/internal/_randomFormatUuid.js +5 -7
  318. package/lib/internal/_randomFormatUuid.js.map +1 -1
  319. package/lib/internal/_randomInteger.js +14 -16
  320. package/lib/internal/_randomInteger.js.map +1 -1
  321. package/lib/internal/_randomNumber.js +15 -15
  322. package/lib/internal/_randomNumber.js.map +1 -1
  323. package/lib/internal/_randomPattern.js +5 -5
  324. package/lib/internal/_randomPattern.js.map +1 -1
  325. package/lib/internal/_randomPick.js +7 -9
  326. package/lib/internal/_randomPick.js.map +1 -1
  327. package/lib/internal/_randomString.js +10 -12
  328. package/lib/internal/_randomString.js.map +1 -1
  329. package/lib/internal/_throwTypeGuardError.js +2 -2
  330. package/lib/internal/_throwTypeGuardError.js.map +1 -1
  331. package/lib/internal/_validateReport.js +4 -4
  332. package/lib/internal/_validateReport.js.map +1 -1
  333. package/lib/internal/private/__notationCapitalize.js +1 -3
  334. package/lib/internal/private/__notationCapitalize.js.map +1 -1
  335. package/lib/internal/private/__notationUnsnake.js +20 -22
  336. package/lib/internal/private/__notationUnsnake.js.map +1 -1
  337. package/lib/json.js +1 -1
  338. package/lib/json.js.map +1 -1
  339. package/lib/llm.js +1 -1
  340. package/lib/llm.js.map +1 -1
  341. package/lib/misc.js +1 -1
  342. package/lib/misc.js.map +1 -1
  343. package/lib/module.js +1 -1
  344. package/lib/module.js.map +1 -1
  345. package/lib/notations.js +1 -1
  346. package/lib/notations.js.map +1 -1
  347. package/lib/programmers/AssertProgrammer.js +142 -200
  348. package/lib/programmers/AssertProgrammer.js.map +1 -1
  349. package/lib/programmers/CheckerProgrammer.js +595 -801
  350. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  351. package/lib/programmers/FeatureProgrammer.js +104 -155
  352. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  353. package/lib/programmers/ImportProgrammer.js +51 -99
  354. package/lib/programmers/ImportProgrammer.js.map +1 -1
  355. package/lib/programmers/IsProgrammer.js +84 -137
  356. package/lib/programmers/IsProgrammer.js.map +1 -1
  357. package/lib/programmers/RandomProgrammer.js +403 -608
  358. package/lib/programmers/RandomProgrammer.js.map +1 -1
  359. package/lib/programmers/TypiaProgrammer.js +115 -285
  360. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  361. package/lib/programmers/ValidateProgrammer.js +120 -179
  362. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  363. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +33 -58
  364. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
  365. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +41 -71
  366. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
  367. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +19 -46
  368. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
  369. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js +13 -36
  370. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js.map +1 -1
  371. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +26 -51
  372. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
  373. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +21 -58
  374. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
  375. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +20 -45
  376. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
  377. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +33 -71
  378. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  379. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +21 -58
  380. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  381. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js +6 -6
  382. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js.map +1 -1
  383. package/lib/programmers/helpers/AtomicPredicator.js +6 -12
  384. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  385. package/lib/programmers/helpers/CloneJoiner.js +25 -56
  386. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  387. package/lib/programmers/helpers/FunctionProgrammer.js +31 -64
  388. package/lib/programmers/helpers/FunctionProgrammer.js.map +1 -1
  389. package/lib/programmers/helpers/HttpMetadataUtil.js +12 -37
  390. package/lib/programmers/helpers/HttpMetadataUtil.js.map +1 -1
  391. package/lib/programmers/helpers/NotationJoiner.js +25 -56
  392. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  393. package/lib/programmers/helpers/OptionPredicator.js +4 -12
  394. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  395. package/lib/programmers/helpers/ProtobufUtil.js +119 -309
  396. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  397. package/lib/programmers/helpers/PruneJoiner.js +36 -72
  398. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  399. package/lib/programmers/helpers/RandomJoiner.js +43 -86
  400. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  401. package/lib/programmers/helpers/StringifyJoinder.js +35 -59
  402. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  403. package/lib/programmers/helpers/StringifyPredicator.js +5 -9
  404. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  405. package/lib/programmers/helpers/UnionExplorer.js +138 -194
  406. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  407. package/lib/programmers/helpers/UnionPredicator.js +26 -83
  408. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  409. package/lib/programmers/helpers/disable_function_programmer_declare.js +10 -10
  410. package/lib/programmers/helpers/disable_function_programmer_declare.js.map +1 -1
  411. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +21 -55
  412. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  413. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +21 -55
  414. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  415. package/lib/programmers/http/HttpAssertQueryProgrammer.js +21 -55
  416. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  417. package/lib/programmers/http/HttpFormDataProgrammer.js +62 -93
  418. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  419. package/lib/programmers/http/HttpHeadersProgrammer.js +80 -149
  420. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  421. package/lib/programmers/http/HttpIsFormDataProgrammer.js +20 -54
  422. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  423. package/lib/programmers/http/HttpIsHeadersProgrammer.js +20 -54
  424. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  425. package/lib/programmers/http/HttpIsQueryProgrammer.js +20 -54
  426. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  427. package/lib/programmers/http/HttpParameterProgrammer.js +22 -58
  428. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  429. package/lib/programmers/http/HttpQueryProgrammer.js +60 -94
  430. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  431. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +19 -54
  432. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  433. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +19 -54
  434. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  435. package/lib/programmers/http/HttpValidateQueryProgrammer.js +19 -54
  436. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  437. package/lib/programmers/internal/check_array_length.js +17 -17
  438. package/lib/programmers/internal/check_array_length.js.map +1 -1
  439. package/lib/programmers/internal/check_bigint.js +18 -18
  440. package/lib/programmers/internal/check_bigint.js.map +1 -1
  441. package/lib/programmers/internal/check_dynamic_key.js +57 -141
  442. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  443. package/lib/programmers/internal/check_dynamic_properties.js +46 -96
  444. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  445. package/lib/programmers/internal/check_everything.js +6 -8
  446. package/lib/programmers/internal/check_everything.js.map +1 -1
  447. package/lib/programmers/internal/check_native.js +5 -5
  448. package/lib/programmers/internal/check_native.js.map +1 -1
  449. package/lib/programmers/internal/check_number.js +35 -63
  450. package/lib/programmers/internal/check_number.js.map +1 -1
  451. package/lib/programmers/internal/check_object.js +12 -14
  452. package/lib/programmers/internal/check_object.js.map +1 -1
  453. package/lib/programmers/internal/check_string.js +18 -18
  454. package/lib/programmers/internal/check_string.js.map +1 -1
  455. package/lib/programmers/internal/check_template.js +11 -13
  456. package/lib/programmers/internal/check_template.js.map +1 -1
  457. package/lib/programmers/internal/check_union_array_like.js +42 -57
  458. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  459. package/lib/programmers/internal/decode_union_object.js +33 -63
  460. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  461. package/lib/programmers/internal/feature_object_entries.js +34 -36
  462. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  463. package/lib/programmers/internal/json_schema_alias.js +9 -9
  464. package/lib/programmers/internal/json_schema_alias.js.map +1 -1
  465. package/lib/programmers/internal/json_schema_array.js +20 -22
  466. package/lib/programmers/internal/json_schema_array.js.map +1 -1
  467. package/lib/programmers/internal/json_schema_bigint.js +7 -9
  468. package/lib/programmers/internal/json_schema_bigint.js.map +1 -1
  469. package/lib/programmers/internal/json_schema_boolean.js +7 -9
  470. package/lib/programmers/internal/json_schema_boolean.js.map +1 -1
  471. package/lib/programmers/internal/json_schema_constant.js +18 -20
  472. package/lib/programmers/internal/json_schema_constant.js.map +1 -1
  473. package/lib/programmers/internal/json_schema_description.js +2 -2
  474. package/lib/programmers/internal/json_schema_description.js.map +1 -1
  475. package/lib/programmers/internal/json_schema_discriminator.js +10 -10
  476. package/lib/programmers/internal/json_schema_discriminator.js.map +1 -1
  477. package/lib/programmers/internal/json_schema_escaped.js +19 -27
  478. package/lib/programmers/internal/json_schema_escaped.js.map +1 -1
  479. package/lib/programmers/internal/json_schema_native.js +3 -3
  480. package/lib/programmers/internal/json_schema_native.js.map +1 -1
  481. package/lib/programmers/internal/json_schema_number.js +7 -9
  482. package/lib/programmers/internal/json_schema_number.js.map +1 -1
  483. package/lib/programmers/internal/json_schema_object.js +68 -92
  484. package/lib/programmers/internal/json_schema_object.js.map +1 -1
  485. package/lib/programmers/internal/json_schema_plugin.js +8 -42
  486. package/lib/programmers/internal/json_schema_plugin.js.map +1 -1
  487. package/lib/programmers/internal/json_schema_station.js +75 -178
  488. package/lib/programmers/internal/json_schema_station.js.map +1 -1
  489. package/lib/programmers/internal/json_schema_string.js +7 -9
  490. package/lib/programmers/internal/json_schema_string.js.map +1 -1
  491. package/lib/programmers/internal/json_schema_template.js +22 -85
  492. package/lib/programmers/internal/json_schema_template.js.map +1 -1
  493. package/lib/programmers/internal/json_schema_title.js +5 -5
  494. package/lib/programmers/internal/json_schema_title.js.map +1 -1
  495. package/lib/programmers/internal/json_schema_tuple.js +10 -12
  496. package/lib/programmers/internal/json_schema_tuple.js.map +1 -1
  497. package/lib/programmers/internal/metadata_to_pattern.js +21 -57
  498. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  499. package/lib/programmers/internal/postfix_of_tuple.js +1 -3
  500. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  501. package/lib/programmers/internal/prune_object_properties.js +11 -11
  502. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  503. package/lib/programmers/internal/stringify_dynamic_properties.js +25 -49
  504. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  505. package/lib/programmers/internal/stringify_native.js +2 -4
  506. package/lib/programmers/internal/stringify_native.js.map +1 -1
  507. package/lib/programmers/internal/stringify_regular_properties.js +17 -44
  508. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  509. package/lib/programmers/internal/template_to_pattern.js +8 -10
  510. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  511. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +6 -6
  512. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  513. package/lib/programmers/json/JsonApplicationProgrammer.js +81 -143
  514. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  515. package/lib/programmers/json/JsonAssertParseProgrammer.js +18 -53
  516. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  517. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +22 -56
  518. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  519. package/lib/programmers/json/JsonIsParseProgrammer.js +18 -53
  520. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  521. package/lib/programmers/json/JsonIsStringifyProgrammer.js +21 -55
  522. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  523. package/lib/programmers/json/JsonSchemasProgrammer.js +35 -64
  524. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
  525. package/lib/programmers/json/JsonStringifyProgrammer.js +363 -581
  526. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  527. package/lib/programmers/json/JsonValidateParseProgrammer.js +18 -53
  528. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  529. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +22 -56
  530. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  531. package/lib/programmers/llm/LlmApplicationProgrammer.js +70 -131
  532. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  533. package/lib/programmers/llm/LlmSchemaProgrammer.js +65 -100
  534. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  535. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +21 -55
  536. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  537. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +21 -55
  538. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  539. package/lib/programmers/misc/MiscCloneProgrammer.js +414 -582
  540. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  541. package/lib/programmers/misc/MiscIsCloneProgrammer.js +21 -55
  542. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  543. package/lib/programmers/misc/MiscIsPruneProgrammer.js +21 -55
  544. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  545. package/lib/programmers/misc/MiscLiteralsProgrammer.js +32 -55
  546. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  547. package/lib/programmers/misc/MiscPruneProgrammer.js +291 -441
  548. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  549. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +21 -55
  550. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  551. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +21 -55
  552. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  553. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +21 -55
  554. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  555. package/lib/programmers/notations/NotationGeneralProgrammer.js +371 -534
  556. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  557. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +21 -55
  558. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  559. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +21 -55
  560. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  561. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +22 -55
  562. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  563. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +21 -55
  564. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  565. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +156 -222
  566. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  567. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +279 -402
  568. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  569. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +20 -54
  570. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  571. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +21 -55
  572. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  573. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +68 -117
  574. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  575. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +19 -54
  576. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  577. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +21 -55
  578. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  579. package/lib/protobuf.js +1 -1
  580. package/lib/protobuf.js.map +1 -1
  581. package/lib/reflect.js +1 -1
  582. package/lib/reflect.js.map +1 -1
  583. package/lib/schemas/metadata/Metadata.js +248 -625
  584. package/lib/schemas/metadata/Metadata.js.map +1 -1
  585. package/lib/schemas/metadata/MetadataAlias.js +22 -48
  586. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  587. package/lib/schemas/metadata/MetadataAliasType.js +9 -10
  588. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -1
  589. package/lib/schemas/metadata/MetadataApplication.js +15 -18
  590. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  591. package/lib/schemas/metadata/MetadataArray.js +23 -49
  592. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  593. package/lib/schemas/metadata/MetadataArrayType.js +9 -10
  594. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  595. package/lib/schemas/metadata/MetadataAtomic.js +46 -76
  596. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  597. package/lib/schemas/metadata/MetadataComponents.js +44 -128
  598. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  599. package/lib/schemas/metadata/MetadataConstant.js +11 -12
  600. package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
  601. package/lib/schemas/metadata/MetadataConstantValue.js +17 -18
  602. package/lib/schemas/metadata/MetadataConstantValue.js.map +1 -1
  603. package/lib/schemas/metadata/MetadataEscaped.js +12 -13
  604. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  605. package/lib/schemas/metadata/MetadataFunction.js +13 -14
  606. package/lib/schemas/metadata/MetadataFunction.js.map +1 -1
  607. package/lib/schemas/metadata/MetadataMap.js +19 -46
  608. package/lib/schemas/metadata/MetadataMap.js.map +1 -1
  609. package/lib/schemas/metadata/MetadataNative.js +22 -48
  610. package/lib/schemas/metadata/MetadataNative.js.map +1 -1
  611. package/lib/schemas/metadata/MetadataObject.js +23 -49
  612. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  613. package/lib/schemas/metadata/MetadataObjectType.js +32 -45
  614. package/lib/schemas/metadata/MetadataObjectType.js.map +1 -1
  615. package/lib/schemas/metadata/MetadataParameter.js +10 -11
  616. package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
  617. package/lib/schemas/metadata/MetadataProperty.js +10 -11
  618. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  619. package/lib/schemas/metadata/MetadataSet.js +19 -46
  620. package/lib/schemas/metadata/MetadataSet.js.map +1 -1
  621. package/lib/schemas/metadata/MetadataTemplate.js +27 -55
  622. package/lib/schemas/metadata/MetadataTemplate.js.map +1 -1
  623. package/lib/schemas/metadata/MetadataTuple.js +8 -9
  624. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  625. package/lib/schemas/metadata/MetadataTupleType.js +12 -13
  626. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  627. package/lib/tags/Format.d.ts +6 -4
  628. package/lib/tags/Type.d.ts +4 -4
  629. package/lib/tags/internal/FormatCheatSheet.js +23 -25
  630. package/lib/tags/internal/FormatCheatSheet.js.map +1 -1
  631. package/lib/transform.js +8 -8
  632. package/lib/transform.js.map +1 -1
  633. package/lib/transformers/CallExpressionTransformer.js +370 -480
  634. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  635. package/lib/transformers/FileTransformer.js +40 -85
  636. package/lib/transformers/FileTransformer.js.map +1 -1
  637. package/lib/transformers/ImportTransformer.js +25 -33
  638. package/lib/transformers/ImportTransformer.js.map +1 -1
  639. package/lib/transformers/NodeTransformer.js +8 -10
  640. package/lib/transformers/NodeTransformer.js.map +1 -1
  641. package/lib/transformers/TransformerError.js +25 -44
  642. package/lib/transformers/TransformerError.js.map +1 -1
  643. package/lib/transformers/features/AssertTransformer.js +9 -24
  644. package/lib/transformers/features/AssertTransformer.js.map +1 -1
  645. package/lib/transformers/features/CreateAssertTransformer.js +9 -24
  646. package/lib/transformers/features/CreateAssertTransformer.js.map +1 -1
  647. package/lib/transformers/features/CreateIsTransformer.js +3 -18
  648. package/lib/transformers/features/CreateIsTransformer.js.map +1 -1
  649. package/lib/transformers/features/CreateRandomTransformer.js +7 -18
  650. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  651. package/lib/transformers/features/CreateValidateTransformer.js +3 -18
  652. package/lib/transformers/features/CreateValidateTransformer.js.map +1 -1
  653. package/lib/transformers/features/IsTransformer.js +3 -18
  654. package/lib/transformers/features/IsTransformer.js.map +1 -1
  655. package/lib/transformers/features/RandomTransformer.js +9 -9
  656. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  657. package/lib/transformers/features/ValidateTransformer.js +3 -18
  658. package/lib/transformers/features/ValidateTransformer.js.map +1 -1
  659. package/lib/transformers/features/functional/FunctionalGenericTransformer.js +19 -32
  660. package/lib/transformers/features/functional/FunctionalGenericTransformer.js.map +1 -1
  661. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js +3 -16
  662. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js.map +1 -1
  663. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.js +3 -16
  664. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.js.map +1 -1
  665. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.js +3 -16
  666. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.js.map +1 -1
  667. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js +3 -16
  668. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js.map +1 -1
  669. package/lib/transformers/features/http/CreateHttpHeadersTransformer.js +3 -16
  670. package/lib/transformers/features/http/CreateHttpHeadersTransformer.js.map +1 -1
  671. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js +3 -16
  672. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js.map +1 -1
  673. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.js +3 -16
  674. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.js.map +1 -1
  675. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.js +3 -16
  676. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.js.map +1 -1
  677. package/lib/transformers/features/http/CreateHttpParameterTransformer.js +3 -16
  678. package/lib/transformers/features/http/CreateHttpParameterTransformer.js.map +1 -1
  679. package/lib/transformers/features/http/CreateHttpQueryTransformer.js +3 -16
  680. package/lib/transformers/features/http/CreateHttpQueryTransformer.js.map +1 -1
  681. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js +3 -16
  682. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js.map +1 -1
  683. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.js +3 -16
  684. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.js.map +1 -1
  685. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.js +3 -16
  686. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.js.map +1 -1
  687. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js +3 -16
  688. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js.map +1 -1
  689. package/lib/transformers/features/http/HttpAssertHeadersTransformer.js +3 -16
  690. package/lib/transformers/features/http/HttpAssertHeadersTransformer.js.map +1 -1
  691. package/lib/transformers/features/http/HttpAssertQueryTransformer.js +3 -16
  692. package/lib/transformers/features/http/HttpAssertQueryTransformer.js.map +1 -1
  693. package/lib/transformers/features/http/HttpFormDataTransformer.js +3 -16
  694. package/lib/transformers/features/http/HttpFormDataTransformer.js.map +1 -1
  695. package/lib/transformers/features/http/HttpHeadersTransformer.js +3 -16
  696. package/lib/transformers/features/http/HttpHeadersTransformer.js.map +1 -1
  697. package/lib/transformers/features/http/HttpIsFormDataTransformer.js +3 -16
  698. package/lib/transformers/features/http/HttpIsFormDataTransformer.js.map +1 -1
  699. package/lib/transformers/features/http/HttpIsHeadersTransformer.js +3 -16
  700. package/lib/transformers/features/http/HttpIsHeadersTransformer.js.map +1 -1
  701. package/lib/transformers/features/http/HttpIsQueryTransformer.js +3 -16
  702. package/lib/transformers/features/http/HttpIsQueryTransformer.js.map +1 -1
  703. package/lib/transformers/features/http/HttpParameterTransformer.js +3 -16
  704. package/lib/transformers/features/http/HttpParameterTransformer.js.map +1 -1
  705. package/lib/transformers/features/http/HttpQueryTransformer.js +3 -16
  706. package/lib/transformers/features/http/HttpQueryTransformer.js.map +1 -1
  707. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js +3 -16
  708. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js.map +1 -1
  709. package/lib/transformers/features/http/HttpValidateHeadersTransformer.js +3 -16
  710. package/lib/transformers/features/http/HttpValidateHeadersTransformer.js.map +1 -1
  711. package/lib/transformers/features/http/HttpValidateQueryTransformer.js +3 -16
  712. package/lib/transformers/features/http/HttpValidateQueryTransformer.js.map +1 -1
  713. package/lib/transformers/features/json/JsonApplicationTransformer.js +41 -43
  714. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  715. package/lib/transformers/features/json/JsonAssertParseTransformer.js +3 -16
  716. package/lib/transformers/features/json/JsonAssertParseTransformer.js.map +1 -1
  717. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js +3 -16
  718. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js.map +1 -1
  719. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js +3 -16
  720. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js.map +1 -1
  721. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js +3 -16
  722. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js.map +1 -1
  723. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js +3 -16
  724. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js.map +1 -1
  725. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js +3 -16
  726. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js.map +1 -1
  727. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js +3 -16
  728. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js.map +1 -1
  729. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js +3 -16
  730. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js.map +1 -1
  731. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js +3 -16
  732. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js.map +1 -1
  733. package/lib/transformers/features/json/JsonIsParseTransformer.js +3 -16
  734. package/lib/transformers/features/json/JsonIsParseTransformer.js.map +1 -1
  735. package/lib/transformers/features/json/JsonIsStringifyTransformer.js +3 -16
  736. package/lib/transformers/features/json/JsonIsStringifyTransformer.js.map +1 -1
  737. package/lib/transformers/features/json/JsonSchemasTransformer.js +62 -115
  738. package/lib/transformers/features/json/JsonSchemasTransformer.js.map +1 -1
  739. package/lib/transformers/features/json/JsonStringifyTransformer.js +3 -16
  740. package/lib/transformers/features/json/JsonStringifyTransformer.js.map +1 -1
  741. package/lib/transformers/features/json/JsonValidateParseTransformer.js +3 -16
  742. package/lib/transformers/features/json/JsonValidateParseTransformer.js.map +1 -1
  743. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js +3 -16
  744. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js.map +1 -1
  745. package/lib/transformers/features/llm/LlmApplicationTransformer.js +52 -80
  746. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  747. package/lib/transformers/features/llm/LlmSchemaTransformer.js +43 -47
  748. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  749. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js +3 -16
  750. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js.map +1 -1
  751. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js +3 -16
  752. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js.map +1 -1
  753. package/lib/transformers/features/misc/MiscCloneTransformer.js +3 -16
  754. package/lib/transformers/features/misc/MiscCloneTransformer.js.map +1 -1
  755. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js +3 -16
  756. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js.map +1 -1
  757. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js +3 -16
  758. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js.map +1 -1
  759. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js +3 -16
  760. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js.map +1 -1
  761. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js +3 -16
  762. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js.map +1 -1
  763. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +3 -16
  764. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  765. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js +3 -16
  766. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js.map +1 -1
  767. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js +3 -16
  768. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js.map +1 -1
  769. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js +3 -16
  770. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js.map +1 -1
  771. package/lib/transformers/features/misc/MiscIsCloneTransformer.js +3 -16
  772. package/lib/transformers/features/misc/MiscIsCloneTransformer.js.map +1 -1
  773. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +3 -16
  774. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  775. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +6 -6
  776. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  777. package/lib/transformers/features/misc/MiscPruneTransformer.js +3 -16
  778. package/lib/transformers/features/misc/MiscPruneTransformer.js.map +1 -1
  779. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js +3 -16
  780. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js.map +1 -1
  781. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js +3 -16
  782. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js.map +1 -1
  783. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js +4 -19
  784. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js.map +1 -1
  785. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js +4 -19
  786. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js.map +1 -1
  787. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js +4 -19
  788. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js.map +1 -1
  789. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js +4 -19
  790. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js.map +1 -1
  791. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js +4 -19
  792. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js.map +1 -1
  793. package/lib/transformers/features/notations/NotationGeneralTransformer.js +3 -18
  794. package/lib/transformers/features/notations/NotationGeneralTransformer.js.map +1 -1
  795. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js +4 -19
  796. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js.map +1 -1
  797. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js +4 -19
  798. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js.map +1 -1
  799. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js +3 -16
  800. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js.map +1 -1
  801. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js +3 -16
  802. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js.map +1 -1
  803. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.js +3 -16
  804. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.js.map +1 -1
  805. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.js +3 -16
  806. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.js.map +1 -1
  807. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.js +3 -16
  808. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.js.map +1 -1
  809. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.js +3 -16
  810. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.js.map +1 -1
  811. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.js +3 -16
  812. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.js.map +1 -1
  813. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.js +3 -16
  814. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.js.map +1 -1
  815. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.js +3 -16
  816. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.js.map +1 -1
  817. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.js +3 -16
  818. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.js.map +1 -1
  819. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js +3 -16
  820. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js.map +1 -1
  821. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js +3 -16
  822. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js.map +1 -1
  823. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js +3 -16
  824. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js.map +1 -1
  825. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js +3 -16
  826. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js.map +1 -1
  827. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +5 -5
  828. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  829. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js +3 -16
  830. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js.map +1 -1
  831. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js +3 -16
  832. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js.map +1 -1
  833. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +17 -19
  834. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  835. package/lib/transformers/features/reflect/ReflectNameTransformer.js +15 -15
  836. package/lib/transformers/features/reflect/ReflectNameTransformer.js.map +1 -1
  837. package/lib/transformers/internal/GenericTransformer.js +21 -39
  838. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  839. package/lib/utils/ArrayUtil.js +9 -12
  840. package/lib/utils/ArrayUtil.js.map +1 -1
  841. package/lib/utils/Escaper.js +3 -5
  842. package/lib/utils/Escaper.js.map +1 -1
  843. package/lib/utils/MapUtil.js +3 -3
  844. package/lib/utils/MapUtil.js.map +1 -1
  845. package/lib/utils/NamingConvention.js +43 -51
  846. package/lib/utils/NamingConvention.js.map +1 -1
  847. package/lib/utils/PatternUtil.js +9 -34
  848. package/lib/utils/PatternUtil.js.map +1 -1
  849. package/lib/utils/ProtobufNameEncoder.js +8 -59
  850. package/lib/utils/ProtobufNameEncoder.js.map +1 -1
  851. package/lib/utils/Singleton.js +7 -37
  852. package/lib/utils/Singleton.js.map +1 -1
  853. package/lib/utils/StringUtil.js +3 -5
  854. package/lib/utils/StringUtil.js.map +1 -1
  855. package/package.json +1 -1
  856. package/src/factories/ExpressionFactory.ts +62 -8
  857. package/src/factories/MetadataFactory.ts +17 -20
  858. package/src/internal/_isFormatByte.ts +7 -0
  859. package/src/internal/_isFormatDate.ts +3 -0
  860. package/src/internal/_isFormatDateTime.ts +4 -0
  861. package/src/internal/_isFormatDuration.ts +4 -0
  862. package/src/internal/_isFormatEmail.ts +4 -0
  863. package/src/internal/_isFormatHostname.ts +4 -0
  864. package/src/internal/_isFormatIdnEmail.ts +4 -0
  865. package/src/internal/_isFormatIdnHostname.ts +4 -0
  866. package/src/internal/_isFormatIpv4.ts +4 -0
  867. package/src/internal/_isFormatIpv6.ts +4 -0
  868. package/src/internal/_isFormatIri.ts +3 -0
  869. package/src/internal/_isFormatIriReference.ts +4 -0
  870. package/src/internal/_isFormatJsonPointer.ts +3 -0
  871. package/src/internal/_isFormatPassword.ts +1 -0
  872. package/src/internal/_isFormatRegex.ts +8 -0
  873. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -0
  874. package/src/internal/_isFormatTime.ts +4 -0
  875. package/src/internal/_isFormatUri.ts +6 -0
  876. package/src/internal/_isFormatUriReference.ts +5 -0
  877. package/src/internal/_isFormatUriTemplate.ts +4 -0
  878. package/src/internal/_isFormatUrl.ts +4 -0
  879. package/src/internal/_isFormatUuid.ts +3 -0
  880. package/src/internal/_isTypeFloat.ts +5 -0
  881. package/src/internal/_isTypeInt32.ts +5 -0
  882. package/src/internal/_isTypeInt64.ts +5 -0
  883. package/src/internal/_isTypeUint32.ts +5 -0
  884. package/src/internal/_isTypeUint64.ts +5 -0
  885. package/src/programmers/internal/check_array_length.ts +5 -4
  886. package/src/programmers/internal/check_bigint.ts +5 -4
  887. package/src/programmers/internal/check_number.ts +5 -4
  888. package/src/programmers/internal/check_string.ts +5 -4
  889. package/src/tags/Format.ts +38 -4
  890. package/src/tags/Type.ts +5 -5
@@ -1,178 +1,113 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __values = (this && this.__values) || function(o) {
14
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
- if (m) return m.call(o);
16
- if (o && typeof o.length === "number") return {
17
- next: function () {
18
- if (o && i >= o.length) o = void 0;
19
- return { value: o && o[i++], done: !o };
20
- }
21
- };
22
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
- };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
- if (ar || !(i in from)) {
43
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
- ar[i] = from[i];
45
- }
46
- }
47
- return to.concat(ar || Array.prototype.slice.call(from));
48
- };
49
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
50
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
4
  };
52
5
  Object.defineProperty(exports, "__esModule", { value: true });
53
6
  exports.CheckerProgrammer = void 0;
54
- var typescript_1 = __importDefault(require("typescript"));
55
- var ExpressionFactory_1 = require("../factories/ExpressionFactory");
56
- var IdentifierFactory_1 = require("../factories/IdentifierFactory");
57
- var MetadataCollection_1 = require("../factories/MetadataCollection");
58
- var MetadataFactory_1 = require("../factories/MetadataFactory");
59
- var StatementFactory_1 = require("../factories/StatementFactory");
60
- var TypeFactory_1 = require("../factories/TypeFactory");
61
- var ValueFactory_1 = require("../factories/ValueFactory");
62
- var MetadataArray_1 = require("../schemas/metadata/MetadataArray");
63
- var MetadataTuple_1 = require("../schemas/metadata/MetadataTuple");
64
- var TransformerError_1 = require("../transformers/TransformerError");
65
- var FeatureProgrammer_1 = require("./FeatureProgrammer");
66
- var IsProgrammer_1 = require("./IsProgrammer");
67
- var AtomicPredicator_1 = require("./helpers/AtomicPredicator");
68
- var OptionPredicator_1 = require("./helpers/OptionPredicator");
69
- var UnionExplorer_1 = require("./helpers/UnionExplorer");
70
- var check_array_length_1 = require("./internal/check_array_length");
71
- var check_bigint_1 = require("./internal/check_bigint");
72
- var check_native_1 = require("./internal/check_native");
73
- var check_number_1 = require("./internal/check_number");
74
- var check_string_1 = require("./internal/check_string");
75
- var check_template_1 = require("./internal/check_template");
76
- var decode_union_object_1 = require("./internal/decode_union_object");
77
- var postfix_of_tuple_1 = require("./internal/postfix_of_tuple");
78
- var wrap_metadata_rest_tuple_1 = require("./internal/wrap_metadata_rest_tuple");
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ const ExpressionFactory_1 = require("../factories/ExpressionFactory");
9
+ const IdentifierFactory_1 = require("../factories/IdentifierFactory");
10
+ const MetadataCollection_1 = require("../factories/MetadataCollection");
11
+ const MetadataFactory_1 = require("../factories/MetadataFactory");
12
+ const StatementFactory_1 = require("../factories/StatementFactory");
13
+ const TypeFactory_1 = require("../factories/TypeFactory");
14
+ const ValueFactory_1 = require("../factories/ValueFactory");
15
+ const MetadataArray_1 = require("../schemas/metadata/MetadataArray");
16
+ const MetadataTuple_1 = require("../schemas/metadata/MetadataTuple");
17
+ const TransformerError_1 = require("../transformers/TransformerError");
18
+ const FeatureProgrammer_1 = require("./FeatureProgrammer");
19
+ const IsProgrammer_1 = require("./IsProgrammer");
20
+ const AtomicPredicator_1 = require("./helpers/AtomicPredicator");
21
+ const OptionPredicator_1 = require("./helpers/OptionPredicator");
22
+ const UnionExplorer_1 = require("./helpers/UnionExplorer");
23
+ const check_array_length_1 = require("./internal/check_array_length");
24
+ const check_bigint_1 = require("./internal/check_bigint");
25
+ const check_native_1 = require("./internal/check_native");
26
+ const check_number_1 = require("./internal/check_number");
27
+ const check_string_1 = require("./internal/check_string");
28
+ const check_template_1 = require("./internal/check_template");
29
+ const decode_union_object_1 = require("./internal/decode_union_object");
30
+ const postfix_of_tuple_1 = require("./internal/postfix_of_tuple");
31
+ const wrap_metadata_rest_tuple_1 = require("./internal/wrap_metadata_rest_tuple");
79
32
  var CheckerProgrammer;
80
33
  (function (CheckerProgrammer) {
81
34
  /* -----------------------------------------------------------
82
35
  WRITERS
83
36
  ----------------------------------------------------------- */
84
- CheckerProgrammer.compose = function (props) {
85
- return FeatureProgrammer_1.FeatureProgrammer.compose(__assign(__assign({}, props), { config: configure(props) }));
86
- };
87
- CheckerProgrammer.write = function (props) {
88
- return FeatureProgrammer_1.FeatureProgrammer.write({
89
- config: configure(props),
37
+ CheckerProgrammer.compose = (props) => FeatureProgrammer_1.FeatureProgrammer.compose(Object.assign(Object.assign({}, props), { config: configure(props) }));
38
+ CheckerProgrammer.write = (props) => FeatureProgrammer_1.FeatureProgrammer.write({
39
+ config: configure(props),
40
+ context: props.context,
41
+ functor: props.functor,
42
+ type: props.type,
43
+ name: props.name,
44
+ });
45
+ CheckerProgrammer.write_object_functions = (props) => FeatureProgrammer_1.FeatureProgrammer.write_object_functions({
46
+ config: configure(props),
47
+ context: props.context,
48
+ collection: props.collection,
49
+ });
50
+ CheckerProgrammer.write_union_functions = (props) => FeatureProgrammer_1.FeatureProgrammer.write_union_functions({
51
+ config: configure({
90
52
  context: props.context,
53
+ config: Object.assign(Object.assign({}, props.config), { numeric: false }),
91
54
  functor: props.functor,
92
- type: props.type,
93
- name: props.name,
94
- });
95
- };
96
- CheckerProgrammer.write_object_functions = function (props) {
97
- return FeatureProgrammer_1.FeatureProgrammer.write_object_functions({
98
- config: configure(props),
55
+ }),
56
+ collection: props.collection,
57
+ });
58
+ CheckerProgrammer.write_array_functions = (props) => props.collection
59
+ .arrays()
60
+ .filter((a) => a.recursive)
61
+ .map((type, i) => StatementFactory_1.StatementFactory.constant({
62
+ name: `${props.config.prefix}a${i}`,
63
+ value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
64
+ config: props.config,
65
+ type: TypeFactory_1.TypeFactory.keyword("any"),
66
+ input: typescript_1.default.factory.createIdentifier("input"),
67
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(Object.assign(Object.assign({}, props), { input: typescript_1.default.factory.createIdentifier("input"), array: MetadataArray_1.MetadataArray.create({
68
+ type,
69
+ tags: [],
70
+ }), explore: {
71
+ tracable: props.config.trace,
72
+ source: "function",
73
+ from: "array",
74
+ postfix: "",
75
+ } }))),
76
+ }));
77
+ CheckerProgrammer.write_tuple_functions = (props) => props.collection
78
+ .tuples()
79
+ .filter((t) => t.recursive)
80
+ .map((tuple, i) => StatementFactory_1.StatementFactory.constant({
81
+ name: `${props.config.prefix}t${i}`,
82
+ value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
83
+ config: props.config,
84
+ type: TypeFactory_1.TypeFactory.keyword("any"),
85
+ input: typescript_1.default.factory.createIdentifier("input"),
86
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline({
87
+ config: props.config,
99
88
  context: props.context,
100
- collection: props.collection,
101
- });
102
- };
103
- CheckerProgrammer.write_union_functions = function (props) {
104
- return FeatureProgrammer_1.FeatureProgrammer.write_union_functions({
105
- config: configure({
106
- context: props.context,
107
- config: __assign(__assign({}, props.config), { numeric: false }),
108
- functor: props.functor,
109
- }),
110
- collection: props.collection,
111
- });
112
- };
113
- CheckerProgrammer.write_array_functions = function (props) {
114
- return props.collection
115
- .arrays()
116
- .filter(function (a) { return a.recursive; })
117
- .map(function (type, i) {
118
- return StatementFactory_1.StatementFactory.constant({
119
- name: "".concat(props.config.prefix, "a").concat(i),
120
- value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
121
- config: props.config,
122
- type: TypeFactory_1.TypeFactory.keyword("any"),
123
- input: typescript_1.default.factory.createIdentifier("input"),
124
- }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(__assign(__assign({}, props), { input: typescript_1.default.factory.createIdentifier("input"), array: MetadataArray_1.MetadataArray.create({
125
- type: type,
126
- tags: [],
127
- }), explore: {
128
- tracable: props.config.trace,
129
- source: "function",
130
- from: "array",
131
- postfix: "",
132
- } }))),
133
- });
134
- });
135
- };
136
- CheckerProgrammer.write_tuple_functions = function (props) {
137
- return props.collection
138
- .tuples()
139
- .filter(function (t) { return t.recursive; })
140
- .map(function (tuple, i) {
141
- return StatementFactory_1.StatementFactory.constant({
142
- name: "".concat(props.config.prefix, "t").concat(i),
143
- value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
144
- config: props.config,
145
- type: TypeFactory_1.TypeFactory.keyword("any"),
146
- input: typescript_1.default.factory.createIdentifier("input"),
147
- }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline({
148
- config: props.config,
149
- context: props.context,
150
- functor: props.functor,
151
- input: typescript_1.default.factory.createIdentifier("input"),
152
- tuple: tuple,
153
- explore: {
154
- tracable: props.config.trace,
155
- source: "function",
156
- from: "array",
157
- postfix: "",
158
- },
159
- })),
160
- });
161
- });
162
- };
163
- var configure = function (props) { return ({
164
- types: {
165
- input: function () { return TypeFactory_1.TypeFactory.keyword("any"); },
166
- output: function (type, name) {
167
- return typescript_1.default.factory.createTypePredicateNode(undefined, "input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName({ checker: props.context.checker, type: type })));
89
+ functor: props.functor,
90
+ input: typescript_1.default.factory.createIdentifier("input"),
91
+ tuple,
92
+ explore: {
93
+ tracable: props.config.trace,
94
+ source: "function",
95
+ from: "array",
96
+ postfix: "",
168
97
  },
98
+ })),
99
+ }));
100
+ const configure = (props) => ({
101
+ types: {
102
+ input: () => TypeFactory_1.TypeFactory.keyword("any"),
103
+ output: (type, name) => typescript_1.default.factory.createTypePredicateNode(undefined, "input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName({ checker: props.context.checker, type }))),
169
104
  },
170
105
  trace: props.config.trace,
171
106
  path: props.config.path,
172
107
  prefix: props.config.prefix,
173
- initializer: function (next) {
174
- var collection = new MetadataCollection_1.MetadataCollection();
175
- var result = MetadataFactory_1.MetadataFactory.analyze({
108
+ initializer: (next) => {
109
+ const collection = new MetadataCollection_1.MetadataCollection();
110
+ const result = MetadataFactory_1.MetadataFactory.analyze({
176
111
  checker: next.context.checker,
177
112
  transformer: next.context.transformer,
178
113
  options: {
@@ -180,150 +115,125 @@ var CheckerProgrammer;
180
115
  constant: true,
181
116
  absorb: true,
182
117
  },
183
- collection: collection,
118
+ collection,
184
119
  type: next.type,
185
120
  });
186
121
  if (result.success === false)
187
122
  throw TransformerError_1.TransformerError.from({
188
- code: "typia.".concat(next.functor.method),
123
+ code: `typia.${next.functor.method}`,
189
124
  errors: result.errors,
190
125
  });
191
126
  return {
192
- collection: collection,
127
+ collection,
193
128
  metadata: result.data,
194
129
  };
195
130
  },
196
131
  addition: props.config.addition,
197
132
  decoder: props.config.decoder
198
- ? function (next) { return props.config.decoder(next); }
199
- : function (next) {
200
- return CheckerProgrammer.decode({
201
- context: props.context,
202
- config: props.config,
203
- functor: props.functor,
204
- input: next.input,
205
- metadata: next.metadata,
206
- explore: next.explore,
207
- });
208
- },
133
+ ? (next) => props.config.decoder(next)
134
+ : (next) => CheckerProgrammer.decode({
135
+ context: props.context,
136
+ config: props.config,
137
+ functor: props.functor,
138
+ input: next.input,
139
+ metadata: next.metadata,
140
+ explore: next.explore,
141
+ }),
209
142
  objector: {
210
143
  checker: props.config.decoder
211
- ? function (next) { return props.config.decoder(next); }
212
- : function (next) {
213
- return CheckerProgrammer.decode({
214
- context: props.context,
215
- config: props.config,
216
- functor: props.functor,
217
- input: next.input,
218
- metadata: next.metadata,
219
- explore: next.explore,
220
- });
221
- },
222
- decoder: function (next) {
223
- return CheckerProgrammer.decode_object({
144
+ ? (next) => props.config.decoder(next)
145
+ : (next) => CheckerProgrammer.decode({
146
+ context: props.context,
224
147
  config: props.config,
225
148
  functor: props.functor,
226
149
  input: next.input,
227
- object: next.object,
150
+ metadata: next.metadata,
228
151
  explore: next.explore,
229
- });
230
- },
152
+ }),
153
+ decoder: (next) => CheckerProgrammer.decode_object({
154
+ config: props.config,
155
+ functor: props.functor,
156
+ input: next.input,
157
+ object: next.object,
158
+ explore: next.explore,
159
+ }),
231
160
  joiner: props.config.joiner.object,
232
161
  unionizer: props.config.equals
233
- ? function (next) {
162
+ ? (next) => {
234
163
  var _a;
235
164
  return (0, decode_union_object_1.decode_union_object)({
236
- checker: function (v) {
237
- return CheckerProgrammer.decode_object({
238
- config: props.config,
239
- functor: props.functor,
240
- object: v.object,
241
- input: v.input,
242
- explore: v.explore,
243
- });
244
- },
245
- decoder: function (v) {
246
- return CheckerProgrammer.decode_object({
247
- config: props.config,
248
- functor: props.functor,
249
- input: v.input,
250
- object: v.object,
251
- explore: __assign(__assign({}, v.explore), { tracable: true }),
252
- });
253
- },
254
- success: (_a = props.config.joiner.is) !== null && _a !== void 0 ? _a : (function (expr) { return expr; }),
255
- escaper: function (v) {
256
- return typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v));
257
- },
165
+ checker: (v) => CheckerProgrammer.decode_object({
166
+ config: props.config,
167
+ functor: props.functor,
168
+ object: v.object,
169
+ input: v.input,
170
+ explore: v.explore,
171
+ }),
172
+ decoder: (v) => CheckerProgrammer.decode_object({
173
+ config: props.config,
174
+ functor: props.functor,
175
+ input: v.input,
176
+ object: v.object,
177
+ explore: Object.assign(Object.assign({}, v.explore), { tracable: true }),
178
+ }),
179
+ success: (_a = props.config.joiner.is) !== null && _a !== void 0 ? _a : ((expr) => expr),
180
+ escaper: (v) => typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v)),
258
181
  input: next.input,
259
182
  objects: next.objects,
260
183
  explore: next.explore,
261
184
  });
262
185
  }
263
- : function (next) {
264
- return props.config.combiner({
265
- logic: "or",
266
- explore: next.explore,
267
- input: next.input,
268
- binaries: next.objects.map(function (object) { return ({
269
- expression: CheckerProgrammer.decode_object({
270
- config: props.config,
271
- functor: props.functor,
272
- object: object,
273
- input: next.input,
274
- explore: next.explore,
275
- }),
276
- combined: true,
277
- }); }),
278
- expected: "(".concat(next.objects.map(function (t) { return t.name; }).join(" | "), ")"),
279
- });
280
- },
281
- failure: function (next) {
282
- return typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(next));
283
- },
186
+ : (next) => props.config.combiner({
187
+ logic: "or",
188
+ explore: next.explore,
189
+ input: next.input,
190
+ binaries: next.objects.map((object) => ({
191
+ expression: CheckerProgrammer.decode_object({
192
+ config: props.config,
193
+ functor: props.functor,
194
+ object,
195
+ input: next.input,
196
+ explore: next.explore,
197
+ }),
198
+ combined: true,
199
+ })),
200
+ expected: `(${next.objects.map((t) => t.name).join(" | ")})`,
201
+ }),
202
+ failure: (next) => typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(next)),
284
203
  is: props.config.joiner.is,
285
204
  required: props.config.joiner.required,
286
205
  full: props.config.joiner.full
287
- ? function (next) { return props.config.joiner.full(next); }
206
+ ? (next) => props.config.joiner.full(next)
288
207
  : undefined,
289
208
  type: TypeFactory_1.TypeFactory.keyword("boolean"),
290
209
  },
291
210
  generator: {
292
211
  unions: props.config.numeric
293
- ? function (collection) {
294
- return FeatureProgrammer_1.FeatureProgrammer.write_union_functions({
295
- config: configure(__assign(__assign({}, props), { config: __assign(__assign({}, props.config), { numeric: false }) })),
296
- collection: collection,
297
- });
298
- }
212
+ ? (collection) => FeatureProgrammer_1.FeatureProgrammer.write_union_functions({
213
+ config: configure(Object.assign(Object.assign({}, props), { config: Object.assign(Object.assign({}, props.config), { numeric: false }) })),
214
+ collection,
215
+ })
299
216
  : undefined,
300
- arrays: function (collection) {
301
- return CheckerProgrammer.write_array_functions(__assign(__assign({}, props), { collection: collection }));
302
- },
303
- tuples: function (collection) {
304
- return CheckerProgrammer.write_tuple_functions(__assign(__assign({}, props), { collection: collection }));
305
- },
217
+ arrays: (collection) => CheckerProgrammer.write_array_functions(Object.assign(Object.assign({}, props), { collection })),
218
+ tuples: (collection) => CheckerProgrammer.write_tuple_functions(Object.assign(Object.assign({}, props), { collection })),
306
219
  },
307
- }); };
220
+ });
308
221
  /* -----------------------------------------------------------
309
222
  DECODERS
310
223
  ----------------------------------------------------------- */
311
- CheckerProgrammer.decode = function (props) {
312
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
224
+ CheckerProgrammer.decode = (props) => {
313
225
  if (props.metadata.any)
314
226
  return props.config.success;
315
- var top = [];
316
- var binaries = [];
317
- var add = function (next) {
318
- return create_add({
319
- binaries: binaries,
320
- left: next.left,
321
- right: next.right,
322
- exact: next.exact,
323
- default: props.input,
324
- });
325
- };
326
- var getConstantValue = function (value) {
227
+ const top = [];
228
+ const binaries = [];
229
+ const add = (next) => create_add({
230
+ binaries,
231
+ left: next.left,
232
+ right: next.right,
233
+ exact: next.exact,
234
+ default: props.input,
235
+ });
236
+ const getConstantValue = (value) => {
327
237
  if (typeof value === "string")
328
238
  return typescript_1.default.factory.createStringLiteral(value);
329
239
  else if (typeof value === "bigint")
@@ -334,7 +244,7 @@ var CheckerProgrammer;
334
244
  // CHECK OPTIONAL
335
245
  //----
336
246
  // @todo -> should be elaborated
337
- var checkOptional = props.metadata.empty() || props.metadata.isUnionBucket();
247
+ const checkOptional = props.metadata.empty() || props.metadata.isUnionBucket();
338
248
  // NULLABLE
339
249
  if (checkOptional || props.metadata.nullable)
340
250
  if (props.metadata.nullable)
@@ -381,134 +291,97 @@ var CheckerProgrammer;
381
291
  // VALUES
382
292
  //----
383
293
  // CONSTANT VALUES
384
- var constants = props.metadata.constants.filter(function (c) {
385
- return AtomicPredicator_1.AtomicPredicator.constant({
386
- metadata: props.metadata,
387
- name: c.type,
388
- });
389
- });
390
- var constantLength = constants
391
- .map(function (c) { return c.values.length; })
392
- .reduce(function (a, b) { return a + b; }, 0);
294
+ const constants = props.metadata.constants.filter((c) => AtomicPredicator_1.AtomicPredicator.constant({
295
+ metadata: props.metadata,
296
+ name: c.type,
297
+ }));
298
+ const constantLength = constants
299
+ .map((c) => c.values.length)
300
+ .reduce((a, b) => a + b, 0);
393
301
  if (constantLength >= 10) {
394
- var values = constants
395
- .map(function (c) { return c.values.map(function (v) { return v.value; }); })
302
+ const values = constants
303
+ .map((c) => c.values.map((v) => v.value))
396
304
  .flat();
397
305
  add({
398
306
  exact: true,
399
307
  left: typescript_1.default.factory.createTrue(),
400
- right: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.functor.emplaceVariable("".concat(props.config.prefix, "v").concat(props.functor.increment()), typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Set"), undefined, [
401
- typescript_1.default.factory.createArrayLiteralExpression(values.map(function (v) {
402
- return typeof v === "boolean"
403
- ? v === true
404
- ? typescript_1.default.factory.createTrue()
405
- : typescript_1.default.factory.createFalse()
406
- : typeof v === "bigint"
407
- ? ExpressionFactory_1.ExpressionFactory.bigint(v)
408
- : typeof v === "number"
409
- ? ExpressionFactory_1.ExpressionFactory.number(v)
410
- : typescript_1.default.factory.createStringLiteral(v.toString());
411
- })),
308
+ right: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.functor.emplaceVariable(`${props.config.prefix}v${props.functor.increment()}`, typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Set"), undefined, [
309
+ typescript_1.default.factory.createArrayLiteralExpression(values.map((v) => typeof v === "boolean"
310
+ ? v === true
311
+ ? typescript_1.default.factory.createTrue()
312
+ : typescript_1.default.factory.createFalse()
313
+ : typeof v === "bigint"
314
+ ? ExpressionFactory_1.ExpressionFactory.bigint(v)
315
+ : typeof v === "number"
316
+ ? ExpressionFactory_1.ExpressionFactory.number(v)
317
+ : typescript_1.default.factory.createStringLiteral(v.toString()))),
412
318
  ])), "has"), undefined, [props.input]),
413
319
  });
414
320
  }
415
321
  else
416
- try {
417
- for (var constants_1 = __values(constants), constants_1_1 = constants_1.next(); !constants_1_1.done; constants_1_1 = constants_1.next()) {
418
- var c = constants_1_1.value;
419
- if (AtomicPredicator_1.AtomicPredicator.constant({
420
- metadata: props.metadata,
421
- name: c.type,
422
- }))
423
- try {
424
- for (var _e = (e_2 = void 0, __values(c.values)), _f = _e.next(); !_f.done; _f = _e.next()) {
425
- var v = _f.value;
426
- add({
427
- exact: true,
428
- left: getConstantValue(v.value),
429
- });
430
- }
431
- }
432
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
433
- finally {
434
- try {
435
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
436
- }
437
- finally { if (e_2) throw e_2.error; }
438
- }
439
- }
440
- }
441
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
442
- finally {
443
- try {
444
- if (constants_1_1 && !constants_1_1.done && (_a = constants_1.return)) _a.call(constants_1);
445
- }
446
- finally { if (e_1) throw e_1.error; }
447
- }
448
- try {
449
- // ATOMIC VALUES
450
- for (var _g = __values(props.metadata.atomics), _h = _g.next(); !_h.done; _h = _g.next()) {
451
- var atom = _h.value;
452
- if (AtomicPredicator_1.AtomicPredicator.atomic({
322
+ for (const c of constants)
323
+ if (AtomicPredicator_1.AtomicPredicator.constant({
453
324
  metadata: props.metadata,
454
- name: atom.type,
455
- }) === false)
456
- continue;
457
- else if (atom.type === "number")
458
- binaries.push({
459
- expression: props.config.atomist({
460
- explore: props.explore,
461
- entry: (0, check_number_1.check_number)({
462
- context: props.context,
463
- numeric: props.config.numeric,
464
- atomic: atom,
465
- input: props.input,
466
- }),
325
+ name: c.type,
326
+ }))
327
+ for (const v of c.values)
328
+ add({
329
+ exact: true,
330
+ left: getConstantValue(v.value),
331
+ });
332
+ // ATOMIC VALUES
333
+ for (const atom of props.metadata.atomics)
334
+ if (AtomicPredicator_1.AtomicPredicator.atomic({
335
+ metadata: props.metadata,
336
+ name: atom.type,
337
+ }) === false)
338
+ continue;
339
+ else if (atom.type === "number")
340
+ binaries.push({
341
+ expression: props.config.atomist({
342
+ explore: props.explore,
343
+ entry: (0, check_number_1.check_number)({
344
+ context: props.context,
345
+ numeric: props.config.numeric,
346
+ atomic: atom,
467
347
  input: props.input,
468
348
  }),
469
- combined: false,
470
- });
471
- else if (atom.type === "bigint")
472
- binaries.push({
473
- expression: props.config.atomist({
474
- explore: props.explore,
475
- entry: (0, check_bigint_1.check_bigint)({
476
- context: props.context,
477
- atomic: atom,
478
- input: props.input,
479
- }),
349
+ input: props.input,
350
+ }),
351
+ combined: false,
352
+ });
353
+ else if (atom.type === "bigint")
354
+ binaries.push({
355
+ expression: props.config.atomist({
356
+ explore: props.explore,
357
+ entry: (0, check_bigint_1.check_bigint)({
358
+ context: props.context,
359
+ atomic: atom,
480
360
  input: props.input,
481
361
  }),
482
- combined: false,
483
- });
484
- else if (atom.type === "string")
485
- binaries.push({
486
- expression: props.config.atomist({
487
- explore: props.explore,
488
- entry: (0, check_string_1.check_string)({
489
- context: props.context,
490
- atomic: atom,
491
- input: props.input,
492
- }),
362
+ input: props.input,
363
+ }),
364
+ combined: false,
365
+ });
366
+ else if (atom.type === "string")
367
+ binaries.push({
368
+ expression: props.config.atomist({
369
+ explore: props.explore,
370
+ entry: (0, check_string_1.check_string)({
371
+ context: props.context,
372
+ atomic: atom,
493
373
  input: props.input,
494
374
  }),
495
- combined: false,
496
- });
497
- else
498
- add({
499
- exact: true,
500
- left: typescript_1.default.factory.createStringLiteral(atom.type),
501
- right: ValueFactory_1.ValueFactory.TYPEOF(props.input),
502
- });
503
- }
504
- }
505
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
506
- finally {
507
- try {
508
- if (_h && !_h.done && (_c = _g.return)) _c.call(_g);
509
- }
510
- finally { if (e_3) throw e_3.error; }
511
- }
375
+ input: props.input,
376
+ }),
377
+ combined: false,
378
+ });
379
+ else
380
+ add({
381
+ exact: true,
382
+ left: typescript_1.default.factory.createStringLiteral(atom.type),
383
+ right: ValueFactory_1.ValueFactory.TYPEOF(props.input),
384
+ });
512
385
  // TEMPLATE LITERAL VALUES
513
386
  if (props.metadata.templates.length)
514
387
  if (AtomicPredicator_1.AtomicPredicator.template(props.metadata))
@@ -523,43 +396,30 @@ var CheckerProgrammer;
523
396
  }),
524
397
  combined: false,
525
398
  });
526
- try {
527
- // NATIVE CLASSES
528
- for (var _j = __values(props.metadata.natives), _k = _j.next(); !_k.done; _k = _j.next()) {
529
- var native = _k.value;
530
- binaries.push({
531
- expression: (0, check_native_1.check_native)({
532
- name: native.name,
533
- input: props.input,
534
- }),
535
- combined: false,
536
- });
537
- }
538
- }
539
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
540
- finally {
541
- try {
542
- if (_k && !_k.done && (_d = _j.return)) _d.call(_j);
543
- }
544
- finally { if (e_4) throw e_4.error; }
545
- }
546
- var instances = [];
547
- var prepare = function (next) { return instances.push(next); };
399
+ // NATIVE CLASSES
400
+ for (const native of props.metadata.natives)
401
+ binaries.push({
402
+ expression: (0, check_native_1.check_native)({
403
+ name: native.name,
404
+ input: props.input,
405
+ }),
406
+ combined: false,
407
+ });
408
+ const instances = [];
409
+ const prepare = (next) => instances.push(next);
548
410
  // SETS
549
411
  if (props.metadata.sets.length) {
550
- var install = function (body) {
551
- return prepare({
552
- head: (0, check_native_1.check_native)({
553
- name: "Set",
554
- input: props.input,
555
- }),
556
- expected: props.metadata.sets
557
- .map(function (elem) { return "Set<".concat(elem.getName(), ">"); })
558
- .join(" | "),
559
- body: body,
560
- });
561
- };
562
- if (props.metadata.sets.some(function (elem) { return elem.value.any; }))
412
+ const install = (body) => prepare({
413
+ head: (0, check_native_1.check_native)({
414
+ name: "Set",
415
+ input: props.input,
416
+ }),
417
+ expected: props.metadata.sets
418
+ .map((elem) => `Set<${elem.getName()}>`)
419
+ .join(" | "),
420
+ body,
421
+ });
422
+ if (props.metadata.sets.some((elem) => elem.value.any))
563
423
  install(null);
564
424
  else
565
425
  install(explore_sets({
@@ -568,27 +428,22 @@ var CheckerProgrammer;
568
428
  functor: props.functor,
569
429
  sets: props.metadata.sets,
570
430
  input: props.input,
571
- explore: __assign(__assign({}, props.explore), { from: "array" }),
431
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array" }),
572
432
  }));
573
433
  }
574
434
  // MAPS
575
435
  if (props.metadata.maps.length) {
576
- var install = function (body) {
577
- return prepare({
578
- head: (0, check_native_1.check_native)({
579
- name: "Map",
580
- input: props.input,
581
- }),
582
- expected: props.metadata.maps
583
- .map(function (_a) {
584
- var key = _a.key, value = _a.value;
585
- return "Map<".concat(key, ", ").concat(value, ">");
586
- })
587
- .join(" | "),
588
- body: body,
589
- });
590
- };
591
- if (props.metadata.maps.some(function (elem) { return elem.key.any && elem.value.any; }))
436
+ const install = (body) => prepare({
437
+ head: (0, check_native_1.check_native)({
438
+ name: "Map",
439
+ input: props.input,
440
+ }),
441
+ expected: props.metadata.maps
442
+ .map(({ key, value }) => `Map<${key}, ${value}>`)
443
+ .join(" | "),
444
+ body,
445
+ });
446
+ if (props.metadata.maps.some((elem) => elem.key.any && elem.value.any))
592
447
  install(null);
593
448
  else
594
449
  install(explore_maps({
@@ -597,27 +452,29 @@ var CheckerProgrammer;
597
452
  functor: props.functor,
598
453
  maps: props.metadata.maps,
599
454
  input: props.input,
600
- explore: __assign(__assign({}, props.explore), { from: "array" }),
455
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array" }),
601
456
  }));
602
457
  }
603
458
  // ARRAYS AND TUPLES
604
459
  if (props.metadata.tuples.length + props.metadata.arrays.length > 0) {
605
- var install = function (body) {
606
- return prepare({
607
- head: props.config.atomist({
608
- explore: props.explore,
609
- entry: {
610
- expected: __spreadArray(__spreadArray([], __read(props.metadata.tuples.map(function (t) { return t.type.name; })), false), __read(props.metadata.arrays.map(function (a) { return a.getName(); })), false).join(" | "),
611
- expression: ExpressionFactory_1.ExpressionFactory.isArray(props.input),
612
- conditions: [],
613
- },
614
- input: props.input,
615
- }),
616
- expected: __spreadArray(__spreadArray([], __read(props.metadata.tuples), false), __read(props.metadata.arrays), false).map(function (elem) { return elem.type.name; })
617
- .join(" | "),
618
- body: body,
619
- });
620
- };
460
+ const install = (body) => prepare({
461
+ head: props.config.atomist({
462
+ explore: props.explore,
463
+ entry: {
464
+ expected: [
465
+ ...props.metadata.tuples.map((t) => t.type.name),
466
+ ...props.metadata.arrays.map((a) => a.getName()),
467
+ ].join(" | "),
468
+ expression: ExpressionFactory_1.ExpressionFactory.isArray(props.input),
469
+ conditions: [],
470
+ },
471
+ input: props.input,
472
+ }),
473
+ expected: [...props.metadata.tuples, ...props.metadata.arrays]
474
+ .map((elem) => elem.type.name)
475
+ .join(" | "),
476
+ body,
477
+ });
621
478
  if (props.metadata.arrays.length === 0)
622
479
  if (props.metadata.tuples.length === 1)
623
480
  install(decode_tuple({
@@ -626,7 +483,7 @@ var CheckerProgrammer;
626
483
  functor: props.functor,
627
484
  tuple: props.metadata.tuples[0],
628
485
  input: props.input,
629
- explore: __assign(__assign({}, props.explore), { from: "array" }),
486
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array" }),
630
487
  }));
631
488
  // TUPLE ONLY
632
489
  else
@@ -636,9 +493,9 @@ var CheckerProgrammer;
636
493
  functor: props.functor,
637
494
  tuples: props.metadata.tuples,
638
495
  input: props.input,
639
- explore: __assign(__assign({}, props.explore), { from: "array" }),
496
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array" }),
640
497
  }));
641
- else if (props.metadata.arrays.some(function (elem) { return elem.type.value.any; }))
498
+ else if (props.metadata.arrays.some((elem) => elem.type.value.any))
642
499
  install(null);
643
500
  else if (props.metadata.tuples.length === 0)
644
501
  if (props.metadata.arrays.length === 1)
@@ -649,7 +506,7 @@ var CheckerProgrammer;
649
506
  functor: props.functor,
650
507
  array: props.metadata.arrays[0],
651
508
  input: props.input,
652
- explore: __assign(__assign({}, props.explore), { from: "array" }),
509
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array" }),
653
510
  }));
654
511
  else
655
512
  install(explore_arrays({
@@ -658,14 +515,14 @@ var CheckerProgrammer;
658
515
  functor: props.functor,
659
516
  arrays: props.metadata.arrays,
660
517
  input: props.input,
661
- explore: __assign(__assign({}, props.explore), { from: "array" }),
518
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array" }),
662
519
  }));
663
520
  else
664
521
  install(explore_arrays_and_tuples({
665
522
  config: props.config,
666
523
  context: props.context,
667
524
  functor: props.functor,
668
- definitions: __spreadArray(__spreadArray([], __read(props.metadata.tuples), false), __read(props.metadata.arrays), false),
525
+ definitions: [...props.metadata.tuples, ...props.metadata.arrays],
669
526
  input: props.input,
670
527
  explore: props.explore,
671
528
  }));
@@ -675,49 +532,41 @@ var CheckerProgrammer;
675
532
  prepare({
676
533
  head: ExpressionFactory_1.ExpressionFactory.isObject({
677
534
  checkNull: true,
678
- checkArray: props.metadata.objects.some(function (obj) {
679
- return obj.type.properties.every(function (prop) { return !prop.key.isSoleLiteral() || !prop.value.isRequired(); });
680
- }),
535
+ checkArray: props.metadata.objects.some((obj) => obj.type.properties.every((prop) => !prop.key.isSoleLiteral() || !prop.value.isRequired())),
681
536
  input: props.input,
682
537
  }),
683
538
  expected: props.metadata.objects
684
- .map(function (obj) { return obj.type.name; })
539
+ .map((obj) => obj.type.name)
685
540
  .join(" | "),
686
541
  body: explore_objects({
687
542
  config: props.config,
688
543
  functor: props.functor,
689
544
  metadata: props.metadata,
690
545
  input: props.input,
691
- explore: __assign(__assign({}, props.explore), { from: "object" }),
546
+ explore: Object.assign(Object.assign({}, props.explore), { from: "object" }),
692
547
  }),
693
548
  });
694
549
  if (instances.length) {
695
- var transformer = function (merge) {
696
- return function (instance) {
697
- return instance.body
698
- ? {
699
- expression: merge(instance.head, instance.body),
700
- combined: true,
701
- }
702
- : {
703
- expression: instance.head,
704
- combined: false,
705
- };
550
+ const transformer = (merge) => (instance) => instance.body
551
+ ? {
552
+ expression: merge(instance.head, instance.body),
553
+ combined: true,
554
+ }
555
+ : {
556
+ expression: instance.head,
557
+ combined: false,
706
558
  };
707
- };
708
559
  if (instances.length === 1)
709
- binaries.push(transformer(function (head, body) {
710
- return props.config.combiner({
711
- explore: props.explore,
712
- logic: "and",
713
- input: props.input,
714
- binaries: [head, body].map(function (expression) { return ({
715
- expression: expression,
716
- combined: expression !== head,
717
- }); }),
718
- expected: props.metadata.getName(),
719
- });
720
- })(instances[0]));
560
+ binaries.push(transformer((head, body) => props.config.combiner({
561
+ explore: props.explore,
562
+ logic: "and",
563
+ input: props.input,
564
+ binaries: [head, body].map((expression) => ({
565
+ expression,
566
+ combined: expression !== head,
567
+ })),
568
+ expected: props.metadata.getName(),
569
+ }))(instances[0]));
721
570
  else
722
571
  binaries.push({
723
572
  expression: props.config.combiner({
@@ -767,18 +616,19 @@ var CheckerProgrammer;
767
616
  explore: props.explore,
768
617
  logic: "and",
769
618
  input: props.input,
770
- binaries: __spreadArray(__spreadArray([], __read(top), false), [
619
+ binaries: [
620
+ ...top,
771
621
  {
772
622
  expression: props.config.combiner({
773
623
  explore: props.explore,
774
624
  logic: "or",
775
625
  input: props.input,
776
- binaries: binaries,
626
+ binaries,
777
627
  expected: props.metadata.getName(),
778
628
  }),
779
629
  combined: true,
780
630
  },
781
- ], false),
631
+ ],
782
632
  expected: props.metadata.getName(),
783
633
  })
784
634
  : binaries.length
@@ -786,23 +636,23 @@ var CheckerProgrammer;
786
636
  explore: props.explore,
787
637
  logic: "or",
788
638
  input: props.input,
789
- binaries: binaries,
639
+ binaries,
790
640
  expected: props.metadata.getName(),
791
641
  })
792
642
  : props.config.success;
793
643
  };
794
- CheckerProgrammer.decode_object = function (props) {
644
+ CheckerProgrammer.decode_object = (props) => {
795
645
  var _a;
796
646
  (_a = props.object).validated || (_a.validated = true);
797
647
  return FeatureProgrammer_1.FeatureProgrammer.decode_object(props);
798
648
  };
799
- var decode_array = function (props) {
649
+ const decode_array = (props) => {
800
650
  if (props.array.type.recursive === false)
801
651
  return decode_array_inline(props);
802
- var arrayExplore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
803
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal("".concat(props.config.prefix, "a").concat(props.array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
652
+ const arrayExplore = Object.assign(Object.assign({}, props.explore), { source: "function", from: "array" });
653
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal(`${props.config.prefix}a${props.array.type.index}`)), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
804
654
  config: props.config,
805
- explore: __assign(__assign({}, arrayExplore), { source: "function", from: "array" }),
655
+ explore: Object.assign(Object.assign({}, arrayExplore), { source: "function", from: "array" }),
806
656
  input: props.input,
807
657
  })), props.config.joiner.failure({
808
658
  input: props.input,
@@ -810,20 +660,18 @@ var CheckerProgrammer;
810
660
  explore: arrayExplore,
811
661
  }));
812
662
  };
813
- var decode_array_inline = function (props) {
814
- var length = (0, check_array_length_1.check_array_length)({
663
+ const decode_array_inline = (props) => {
664
+ const length = (0, check_array_length_1.check_array_length)({
815
665
  context: props.context,
816
666
  array: props.array,
817
667
  input: props.input,
818
668
  });
819
- var main = FeatureProgrammer_1.FeatureProgrammer.decode_array({
669
+ const main = FeatureProgrammer_1.FeatureProgrammer.decode_array({
820
670
  config: {
821
671
  prefix: props.config.prefix,
822
672
  trace: props.config.trace,
823
673
  path: props.config.path,
824
- decoder: function (next) {
825
- return CheckerProgrammer.decode(__assign(__assign({}, props), next));
826
- },
674
+ decoder: (next) => CheckerProgrammer.decode(Object.assign(Object.assign({}, props), next)),
827
675
  },
828
676
  functor: props.functor,
829
677
  combiner: props.config.joiner.array,
@@ -839,13 +687,13 @@ var CheckerProgrammer;
839
687
  entry: length,
840
688
  }), main);
841
689
  };
842
- var decode_tuple = function (props) {
690
+ const decode_tuple = (props) => {
843
691
  if (props.tuple.type.recursive === false)
844
- return decode_tuple_inline(__assign(__assign({}, props), { tuple: props.tuple.type }));
845
- var arrayExplore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
846
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal("".concat(props.config.prefix, "t").concat(props.tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
692
+ return decode_tuple_inline(Object.assign(Object.assign({}, props), { tuple: props.tuple.type }));
693
+ const arrayExplore = Object.assign(Object.assign({}, props.explore), { source: "function", from: "array" });
694
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal(`${props.config.prefix}t${props.tuple.type.index}`)), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
847
695
  config: props.config,
848
- explore: __assign(__assign({}, arrayExplore), { source: "function" }),
696
+ explore: Object.assign(Object.assign({}, arrayExplore), { source: "function" }),
849
697
  input: props.input,
850
698
  })), props.config.joiner.failure({
851
699
  input: props.input,
@@ -853,368 +701,314 @@ var CheckerProgrammer;
853
701
  explore: arrayExplore,
854
702
  }));
855
703
  };
856
- var decode_tuple_inline = function (props) {
857
- var binaries = props.tuple.elements
858
- .filter(function (metadata) { return metadata.rest === null; })
859
- .map(function (metadata, index) {
860
- return CheckerProgrammer.decode({
861
- context: props.context,
862
- config: props.config,
863
- functor: props.functor,
864
- input: typescript_1.default.factory.createElementAccessExpression(props.input, index),
865
- metadata: metadata,
866
- explore: __assign(__assign({}, props.explore), { from: "array", postfix: props.explore.postfix.length
867
- ? "".concat((0, postfix_of_tuple_1.postfix_of_tuple)(props.explore.postfix), "[").concat(index, "]\"")
868
- : "\"[".concat(index, "]\"") }),
869
- });
870
- });
871
- var rest = props.tuple.elements.length && props.tuple.elements.at(-1).rest !== null
704
+ const decode_tuple_inline = (props) => {
705
+ const binaries = props.tuple.elements
706
+ .filter((metadata) => metadata.rest === null)
707
+ .map((metadata, index) => CheckerProgrammer.decode({
708
+ context: props.context,
709
+ config: props.config,
710
+ functor: props.functor,
711
+ input: typescript_1.default.factory.createElementAccessExpression(props.input, index),
712
+ metadata,
713
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array", postfix: props.explore.postfix.length
714
+ ? `${(0, postfix_of_tuple_1.postfix_of_tuple)(props.explore.postfix)}[${index}]"`
715
+ : `"[${index}]"` }),
716
+ }));
717
+ const rest = props.tuple.elements.length && props.tuple.elements.at(-1).rest !== null
872
718
  ? CheckerProgrammer.decode({
873
719
  config: props.config,
874
720
  context: props.context,
875
721
  functor: props.functor,
876
722
  input: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input, "slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.length - 1)]),
877
723
  metadata: (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(props.tuple.elements.at(-1).rest),
878
- explore: __assign(__assign({}, props.explore), { start: props.tuple.elements.length - 1 }),
724
+ explore: Object.assign(Object.assign({}, props.explore), { start: props.tuple.elements.length - 1 }),
879
725
  })
880
726
  : null;
881
- var arrayLength = typescript_1.default.factory.createPropertyAccessExpression(props.input, "length");
727
+ const arrayLength = typescript_1.default.factory.createPropertyAccessExpression(props.input, "length");
882
728
  return props.config.combiner({
883
729
  explore: props.explore,
884
730
  logic: "and",
885
731
  input: props.input,
886
- binaries: __spreadArray(__spreadArray(__spreadArray([], __read((rest === null
887
- ? props.tuple.elements.every(function (t) { return t.optional === false; })
732
+ binaries: [
733
+ ...(rest === null
734
+ ? props.tuple.elements.every((t) => t.optional === false)
735
+ ? [
736
+ {
737
+ combined: false,
738
+ expression: typescript_1.default.factory.createStrictEquality(arrayLength, ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.length)),
739
+ },
740
+ ]
741
+ : [
742
+ {
743
+ combined: false,
744
+ expression: typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createLessThanEquals(ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.filter((t) => t.optional === false)
745
+ .length), arrayLength), typescript_1.default.factory.createGreaterThanEquals(ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.length), arrayLength)),
746
+ },
747
+ ]
748
+ : []),
749
+ ...(props.config.joiner.tuple
888
750
  ? [
889
751
  {
890
- combined: false,
891
- expression: typescript_1.default.factory.createStrictEquality(arrayLength, ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.length)),
752
+ expression: props.config.joiner.tuple(binaries),
753
+ combined: true,
892
754
  },
893
755
  ]
894
- : [
756
+ : binaries.map((expression) => ({
757
+ expression,
758
+ combined: true,
759
+ }))),
760
+ ...(rest !== null
761
+ ? [
895
762
  {
896
- combined: false,
897
- expression: typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createLessThanEquals(ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.filter(function (t) { return t.optional === false; })
898
- .length), arrayLength), typescript_1.default.factory.createGreaterThanEquals(ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.length), arrayLength)),
763
+ expression: rest,
764
+ combined: true,
899
765
  },
900
766
  ]
901
- : [])), false), __read((props.config.joiner.tuple
902
- ? [
903
- {
904
- expression: props.config.joiner.tuple(binaries),
905
- combined: true,
906
- },
907
- ]
908
- : binaries.map(function (expression) { return ({
909
- expression: expression,
910
- combined: true,
911
- }); }))), false), __read((rest !== null
912
- ? [
913
- {
914
- expression: rest,
915
- combined: true,
916
- },
917
- ]
918
- : [])), false),
919
- expected: "[".concat(props.tuple.elements.map(function (t) { return t.getName(); }).join(", "), "]"),
767
+ : []),
768
+ ],
769
+ expected: `[${props.tuple.elements.map((t) => t.getName()).join(", ")}]`,
920
770
  });
921
771
  };
922
- var decode_escaped = function (props) {
923
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any"))], undefined, undefined, CheckerProgrammer.decode(__assign(__assign({}, props), { input: typescript_1.default.factory.createIdentifier("input") })))), undefined, [
924
- typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input, "toJSON"), undefined, []),
925
- ]);
926
- };
772
+ const decode_escaped = (props) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any"))], undefined, undefined, CheckerProgrammer.decode(Object.assign(Object.assign({}, props), { input: typescript_1.default.factory.createIdentifier("input") })))), undefined, [
773
+ typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input, "toJSON"), undefined, []),
774
+ ]);
927
775
  /* -----------------------------------------------------------
928
776
  UNION TYPE EXPLORERS
929
777
  ----------------------------------------------------------- */
930
- var explore_sets = function (props) {
931
- return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.set({
778
+ const explore_sets = (props) => typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.set({
779
+ config: {
780
+ checker: (v) => CheckerProgrammer.decode({
781
+ context: props.context,
782
+ config: props.config,
783
+ functor: props.functor,
784
+ input: v.input,
785
+ metadata: v.definition,
786
+ explore: v.explore,
787
+ }),
788
+ decoder: (v) => decode_array({
789
+ config: props.config,
790
+ context: props.context,
791
+ functor: props.functor,
792
+ array: v.definition,
793
+ input: v.input,
794
+ explore: v.explore,
795
+ }),
796
+ empty: props.config.success,
797
+ success: props.config.success,
798
+ failure: (v) => typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v)),
799
+ },
800
+ parameters: [],
801
+ input: props.input,
802
+ sets: props.sets,
803
+ explore: props.explore,
804
+ }), undefined, undefined);
805
+ const explore_maps = (props) => typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.map({
806
+ config: {
807
+ checker: (v) => typescript_1.default.factory.createLogicalAnd(CheckerProgrammer.decode({
808
+ config: props.config,
809
+ context: props.context,
810
+ functor: props.functor,
811
+ input: typescript_1.default.factory.createElementAccessExpression(v.input, 0),
812
+ metadata: v.definition[0],
813
+ explore: Object.assign(Object.assign({}, v.explore), { postfix: `${v.explore.postfix}[0]` }),
814
+ }), CheckerProgrammer.decode({
815
+ config: props.config,
816
+ context: props.context,
817
+ functor: props.functor,
818
+ input: typescript_1.default.factory.createElementAccessExpression(v.input, 1),
819
+ metadata: v.definition[1],
820
+ explore: Object.assign(Object.assign({}, v.explore), { postfix: `${v.explore.postfix}[1]` }),
821
+ })),
822
+ decoder: (v) => decode_array({
823
+ context: props.context,
824
+ config: props.config,
825
+ functor: props.functor,
826
+ array: v.definition,
827
+ input: v.input,
828
+ explore: v.explore,
829
+ }),
830
+ empty: props.config.success,
831
+ success: props.config.success,
832
+ failure: (v) => typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v)),
833
+ },
834
+ parameters: [],
835
+ input: props.input,
836
+ maps: props.maps,
837
+ explore: props.explore,
838
+ }), undefined, undefined);
839
+ const explore_tuples = (props) => explore_array_like_union_types({
840
+ config: props.config,
841
+ functor: props.functor,
842
+ factory: (next) => UnionExplorer_1.UnionExplorer.tuple({
932
843
  config: {
933
- checker: function (v) {
934
- return CheckerProgrammer.decode({
935
- context: props.context,
936
- config: props.config,
937
- functor: props.functor,
938
- input: v.input,
939
- metadata: v.definition,
940
- explore: v.explore,
941
- });
942
- },
943
- decoder: function (v) {
944
- return decode_array({
945
- config: props.config,
946
- context: props.context,
947
- functor: props.functor,
948
- array: v.definition,
949
- input: v.input,
950
- explore: v.explore,
951
- });
952
- },
844
+ checker: (v) => decode_tuple({
845
+ context: props.context,
846
+ config: props.config,
847
+ functor: props.functor,
848
+ input: v.input,
849
+ tuple: v.definition,
850
+ explore: v.explore,
851
+ }),
852
+ decoder: (v) => decode_tuple({
853
+ context: props.context,
854
+ config: props.config,
855
+ functor: props.functor,
856
+ tuple: v.definition,
857
+ input: v.input,
858
+ explore: v.explore,
859
+ }),
953
860
  empty: props.config.success,
954
861
  success: props.config.success,
955
- failure: function (v) {
956
- return typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v));
957
- },
862
+ failure: (v) => typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v)),
958
863
  },
959
- parameters: [],
960
- input: props.input,
961
- sets: props.sets,
962
- explore: props.explore,
963
- }), undefined, undefined);
964
- };
965
- var explore_maps = function (props) {
966
- return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.map({
864
+ parameters: next.parameters,
865
+ tuples: next.definitions,
866
+ input: next.input,
867
+ explore: next.explore,
868
+ }),
869
+ definitions: props.tuples,
870
+ input: props.input,
871
+ explore: props.explore,
872
+ });
873
+ const explore_arrays = (props) => explore_array_like_union_types({
874
+ config: props.config,
875
+ functor: props.functor,
876
+ factory: (next) => UnionExplorer_1.UnionExplorer.array({
967
877
  config: {
968
- checker: function (v) {
969
- return typescript_1.default.factory.createLogicalAnd(CheckerProgrammer.decode({
970
- config: props.config,
971
- context: props.context,
972
- functor: props.functor,
973
- input: typescript_1.default.factory.createElementAccessExpression(v.input, 0),
974
- metadata: v.definition[0],
975
- explore: __assign(__assign({}, v.explore), { postfix: "".concat(v.explore.postfix, "[0]") }),
976
- }), CheckerProgrammer.decode({
878
+ checker: (v) => CheckerProgrammer.decode({
879
+ context: props.context,
880
+ config: props.config,
881
+ functor: props.functor,
882
+ metadata: v.definition,
883
+ input: v.input,
884
+ explore: v.explore,
885
+ }),
886
+ decoder: (v) => decode_array({
887
+ context: props.context,
888
+ config: props.config,
889
+ functor: props.functor,
890
+ array: v.definition,
891
+ input: v.input,
892
+ explore: v.explore,
893
+ }),
894
+ empty: props.config.success,
895
+ success: props.config.success,
896
+ failure: (v) => typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v)),
897
+ },
898
+ parameters: next.parameters,
899
+ arrays: next.definitions,
900
+ input: next.input,
901
+ explore: next.explore,
902
+ }),
903
+ definitions: props.arrays,
904
+ input: props.input,
905
+ explore: props.explore,
906
+ });
907
+ const explore_arrays_and_tuples = (props) => explore_array_like_union_types({
908
+ config: props.config,
909
+ functor: props.functor,
910
+ factory: (next) => UnionExplorer_1.UnionExplorer.array_or_tuple({
911
+ config: {
912
+ checker: (v) => v.definition instanceof MetadataTuple_1.MetadataTuple
913
+ ? decode_tuple({
977
914
  config: props.config,
978
915
  context: props.context,
979
916
  functor: props.functor,
980
- input: typescript_1.default.factory.createElementAccessExpression(v.input, 1),
981
- metadata: v.definition[1],
982
- explore: __assign(__assign({}, v.explore), { postfix: "".concat(v.explore.postfix, "[1]") }),
983
- }));
984
- },
985
- decoder: function (v) {
986
- return decode_array({
987
- context: props.context,
988
- config: props.config,
989
- functor: props.functor,
990
- array: v.definition,
991
917
  input: v.input,
918
+ tuple: v.definition,
992
919
  explore: v.explore,
993
- });
994
- },
995
- empty: props.config.success,
996
- success: props.config.success,
997
- failure: function (v) {
998
- return typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v));
999
- },
1000
- },
1001
- parameters: [],
1002
- input: props.input,
1003
- maps: props.maps,
1004
- explore: props.explore,
1005
- }), undefined, undefined);
1006
- };
1007
- var explore_tuples = function (props) {
1008
- return explore_array_like_union_types({
1009
- config: props.config,
1010
- functor: props.functor,
1011
- factory: function (next) {
1012
- return UnionExplorer_1.UnionExplorer.tuple({
1013
- config: {
1014
- checker: function (v) {
1015
- return decode_tuple({
1016
- context: props.context,
1017
- config: props.config,
1018
- functor: props.functor,
1019
- input: v.input,
1020
- tuple: v.definition,
1021
- explore: v.explore,
1022
- });
1023
- },
1024
- decoder: function (v) {
1025
- return decode_tuple({
1026
- context: props.context,
1027
- config: props.config,
920
+ })
921
+ : props.config.atomist({
922
+ explore: v.explore,
923
+ entry: {
924
+ expected: props.definitions
925
+ .map((elem) => elem instanceof MetadataArray_1.MetadataArray
926
+ ? elem.getName()
927
+ : elem.type.name)
928
+ .join(" | "),
929
+ expression: CheckerProgrammer.decode({
1028
930
  functor: props.functor,
1029
- tuple: v.definition,
1030
- input: v.input,
1031
- explore: v.explore,
1032
- });
1033
- },
1034
- empty: props.config.success,
1035
- success: props.config.success,
1036
- failure: function (v) {
1037
- return typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v));
1038
- },
1039
- },
1040
- parameters: next.parameters,
1041
- tuples: next.definitions,
1042
- input: next.input,
1043
- explore: next.explore,
1044
- });
1045
- },
1046
- definitions: props.tuples,
1047
- input: props.input,
1048
- explore: props.explore,
1049
- });
1050
- };
1051
- var explore_arrays = function (props) {
1052
- return explore_array_like_union_types({
1053
- config: props.config,
1054
- functor: props.functor,
1055
- factory: function (next) {
1056
- return UnionExplorer_1.UnionExplorer.array({
1057
- config: {
1058
- checker: function (v) {
1059
- return CheckerProgrammer.decode({
1060
931
  context: props.context,
1061
932
  config: props.config,
1062
- functor: props.functor,
1063
933
  metadata: v.definition,
1064
934
  input: v.input,
1065
935
  explore: v.explore,
1066
- });
1067
- },
1068
- decoder: function (v) {
1069
- return decode_array({
1070
- context: props.context,
1071
- config: props.config,
1072
- functor: props.functor,
1073
- array: v.definition,
1074
- input: v.input,
1075
- explore: v.explore,
1076
- });
1077
- },
1078
- empty: props.config.success,
1079
- success: props.config.success,
1080
- failure: function (v) {
1081
- return typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v));
1082
- },
1083
- },
1084
- parameters: next.parameters,
1085
- arrays: next.definitions,
1086
- input: next.input,
1087
- explore: next.explore,
1088
- });
1089
- },
1090
- definitions: props.arrays,
1091
- input: props.input,
1092
- explore: props.explore,
1093
- });
1094
- };
1095
- var explore_arrays_and_tuples = function (props) {
1096
- return explore_array_like_union_types({
1097
- config: props.config,
1098
- functor: props.functor,
1099
- factory: function (next) {
1100
- return UnionExplorer_1.UnionExplorer.array_or_tuple({
1101
- config: {
1102
- checker: function (v) {
1103
- return v.definition instanceof MetadataTuple_1.MetadataTuple
1104
- ? decode_tuple({
1105
- config: props.config,
1106
- context: props.context,
1107
- functor: props.functor,
1108
- input: v.input,
1109
- tuple: v.definition,
1110
- explore: v.explore,
1111
- })
1112
- : props.config.atomist({
1113
- explore: v.explore,
1114
- entry: {
1115
- expected: props.definitions
1116
- .map(function (elem) {
1117
- return elem instanceof MetadataArray_1.MetadataArray
1118
- ? elem.getName()
1119
- : elem.type.name;
1120
- })
1121
- .join(" | "),
1122
- expression: CheckerProgrammer.decode({
1123
- functor: props.functor,
1124
- context: props.context,
1125
- config: props.config,
1126
- metadata: v.definition,
1127
- input: v.input,
1128
- explore: v.explore,
1129
- }),
1130
- conditions: [],
1131
- },
1132
- input: v.container,
1133
- });
1134
- },
1135
- decoder: function (v) {
1136
- return v.definition instanceof MetadataTuple_1.MetadataTuple
1137
- ? decode_tuple({
1138
- context: props.context,
1139
- config: props.config,
1140
- functor: props.functor,
1141
- input: v.input,
1142
- tuple: v.definition,
1143
- explore: v.explore,
1144
- })
1145
- : decode_array({
1146
- context: props.context,
1147
- config: props.config,
1148
- functor: props.functor,
1149
- input: v.input,
1150
- array: v.definition,
1151
- explore: v.explore,
1152
- });
1153
- },
1154
- empty: props.config.success,
1155
- success: props.config.success,
1156
- failure: function (v) {
1157
- return typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v));
936
+ }),
937
+ conditions: [],
1158
938
  },
1159
- },
1160
- parameters: next.parameters,
1161
- definitions: next.definitions,
1162
- input: next.input,
1163
- explore: next.explore,
1164
- });
939
+ input: v.container,
940
+ }),
941
+ decoder: (v) => v.definition instanceof MetadataTuple_1.MetadataTuple
942
+ ? decode_tuple({
943
+ context: props.context,
944
+ config: props.config,
945
+ functor: props.functor,
946
+ input: v.input,
947
+ tuple: v.definition,
948
+ explore: v.explore,
949
+ })
950
+ : decode_array({
951
+ context: props.context,
952
+ config: props.config,
953
+ functor: props.functor,
954
+ input: v.input,
955
+ array: v.definition,
956
+ explore: v.explore,
957
+ }),
958
+ empty: props.config.success,
959
+ success: props.config.success,
960
+ failure: (v) => typescript_1.default.factory.createReturnStatement(props.config.joiner.failure(v)),
1165
961
  },
1166
- input: props.input,
962
+ parameters: next.parameters,
963
+ definitions: next.definitions,
964
+ input: next.input,
965
+ explore: next.explore,
966
+ }),
967
+ input: props.input,
968
+ definitions: props.definitions,
969
+ explore: props.explore,
970
+ });
971
+ const explore_array_like_union_types = (props) => {
972
+ const arrow = (next) => props.factory({
973
+ parameters: next.parameters,
1167
974
  definitions: props.definitions,
1168
- explore: props.explore,
975
+ input: next.input,
976
+ explore: next.explore,
1169
977
  });
1170
- };
1171
- var explore_array_like_union_types = function (props) {
1172
- var arrow = function (next) {
1173
- return props.factory({
1174
- parameters: next.parameters,
1175
- definitions: props.definitions,
1176
- input: next.input,
1177
- explore: next.explore,
1178
- });
1179
- };
1180
- if (props.definitions.every(function (e) { return e.type.recursive === false; }))
978
+ if (props.definitions.every((e) => e.type.recursive === false))
1181
979
  typescript_1.default.factory.createCallExpression(arrow({
1182
980
  explore: props.explore,
1183
981
  input: props.input,
1184
982
  parameters: [],
1185
983
  }), undefined, []);
1186
- var arrayExplore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
1187
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.emplaceUnion(props.config.prefix, props.definitions.map(function (e) { return e.type.name; }).join(" | "), function () {
1188
- return arrow({
1189
- parameters: FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
1190
- config: props.config,
1191
- type: TypeFactory_1.TypeFactory.keyword("any"),
1192
- input: typescript_1.default.factory.createIdentifier("input"),
1193
- }),
1194
- explore: __assign(__assign({}, arrayExplore), { postfix: "" }),
984
+ const arrayExplore = Object.assign(Object.assign({}, props.explore), { source: "function", from: "array" });
985
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.emplaceUnion(props.config.prefix, props.definitions.map((e) => e.type.name).join(" | "), () => arrow({
986
+ parameters: FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
987
+ config: props.config,
988
+ type: TypeFactory_1.TypeFactory.keyword("any"),
1195
989
  input: typescript_1.default.factory.createIdentifier("input"),
1196
- });
1197
- })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props)), props.config.joiner.failure({
990
+ }),
991
+ explore: Object.assign(Object.assign({}, arrayExplore), { postfix: "" }),
992
+ input: typescript_1.default.factory.createIdentifier("input"),
993
+ }))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props)), props.config.joiner.failure({
1198
994
  input: props.input,
1199
- expected: props.definitions.map(function (e) { return e.type.name; }).join(" | "),
995
+ expected: props.definitions.map((e) => e.type.name).join(" | "),
1200
996
  explore: arrayExplore,
1201
997
  }));
1202
998
  };
1203
- var explore_objects = function (props) {
1204
- return props.metadata.objects.length === 1
1205
- ? CheckerProgrammer.decode_object({
1206
- config: props.config,
1207
- functor: props.functor,
1208
- object: props.metadata.objects[0].type,
1209
- input: props.input,
1210
- explore: props.explore,
1211
- })
1212
- : typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal("".concat(props.config.prefix, "u").concat(props.metadata.union_index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props));
1213
- };
999
+ const explore_objects = (props) => props.metadata.objects.length === 1
1000
+ ? CheckerProgrammer.decode_object({
1001
+ config: props.config,
1002
+ functor: props.functor,
1003
+ object: props.metadata.objects[0].type,
1004
+ input: props.input,
1005
+ explore: props.explore,
1006
+ })
1007
+ : typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal(`${props.config.prefix}u${props.metadata.union_index}`)), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props));
1214
1008
  })(CheckerProgrammer || (exports.CheckerProgrammer = CheckerProgrammer = {}));
1215
- var create_add = function (props) {
1009
+ const create_add = (props) => {
1216
1010
  var _a;
1217
- var factory = props.exact
1011
+ const factory = props.exact
1218
1012
  ? typescript_1.default.factory.createStrictEquality
1219
1013
  : typescript_1.default.factory.createStrictInequality;
1220
1014
  props.binaries.push({