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,329 +1,221 @@
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
41
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
42
4
  };
43
5
  Object.defineProperty(exports, "__esModule", { value: true });
44
6
  exports.MiscPruneProgrammer = void 0;
45
- var typescript_1 = __importDefault(require("typescript"));
46
- var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
47
- var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
48
- var MetadataCollection_1 = require("../../factories/MetadataCollection");
49
- var MetadataFactory_1 = require("../../factories/MetadataFactory");
50
- var StatementFactory_1 = require("../../factories/StatementFactory");
51
- var TypeFactory_1 = require("../../factories/TypeFactory");
52
- var Metadata_1 = require("../../schemas/metadata/Metadata");
53
- var MetadataArray_1 = require("../../schemas/metadata/MetadataArray");
54
- var TransformerError_1 = require("../../transformers/TransformerError");
55
- var FeatureProgrammer_1 = require("../FeatureProgrammer");
56
- var IsProgrammer_1 = require("../IsProgrammer");
57
- var FunctionProgrammer_1 = require("../helpers/FunctionProgrammer");
58
- var PruneJoiner_1 = require("../helpers/PruneJoiner");
59
- var UnionExplorer_1 = require("../helpers/UnionExplorer");
60
- var decode_union_object_1 = require("../internal/decode_union_object");
61
- var postfix_of_tuple_1 = require("../internal/postfix_of_tuple");
62
- 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 Metadata_1 = require("../../schemas/metadata/Metadata");
15
+ const MetadataArray_1 = require("../../schemas/metadata/MetadataArray");
16
+ const TransformerError_1 = require("../../transformers/TransformerError");
17
+ const FeatureProgrammer_1 = require("../FeatureProgrammer");
18
+ const IsProgrammer_1 = require("../IsProgrammer");
19
+ const FunctionProgrammer_1 = require("../helpers/FunctionProgrammer");
20
+ const PruneJoiner_1 = require("../helpers/PruneJoiner");
21
+ const UnionExplorer_1 = require("../helpers/UnionExplorer");
22
+ const decode_union_object_1 = require("../internal/decode_union_object");
23
+ const postfix_of_tuple_1 = require("../internal/postfix_of_tuple");
24
+ const wrap_metadata_rest_tuple_1 = require("../internal/wrap_metadata_rest_tuple");
63
25
  var MiscPruneProgrammer;
64
26
  (function (MiscPruneProgrammer) {
65
- MiscPruneProgrammer.decompose = function (props) {
66
- var config = configure(props);
27
+ MiscPruneProgrammer.decompose = (props) => {
28
+ const config = configure(props);
67
29
  if (props.validated === false)
68
- config.addition = function (collection) {
69
- return IsProgrammer_1.IsProgrammer.write_function_statements({
70
- context: props.context,
71
- functor: props.functor,
72
- collection: collection,
73
- });
74
- };
75
- var composed = FeatureProgrammer_1.FeatureProgrammer.compose(__assign(__assign({}, props), { config: config }));
30
+ config.addition = (collection) => IsProgrammer_1.IsProgrammer.write_function_statements({
31
+ context: props.context,
32
+ functor: props.functor,
33
+ collection,
34
+ });
35
+ const composed = FeatureProgrammer_1.FeatureProgrammer.compose(Object.assign(Object.assign({}, props), { config }));
76
36
  return {
77
37
  functions: composed.functions,
78
38
  statements: composed.statements,
79
39
  arrow: typescript_1.default.factory.createArrowFunction(undefined, undefined, composed.parameters, composed.response, undefined, composed.body),
80
40
  };
81
41
  };
82
- MiscPruneProgrammer.write = function (props) {
83
- var functor = new FunctionProgrammer_1.FunctionProgrammer(props.modulo.getText());
84
- var result = MiscPruneProgrammer.decompose(__assign(__assign({}, props), { validated: false, functor: functor }));
42
+ MiscPruneProgrammer.write = (props) => {
43
+ const functor = new FunctionProgrammer_1.FunctionProgrammer(props.modulo.getText());
44
+ const result = MiscPruneProgrammer.decompose(Object.assign(Object.assign({}, props), { validated: false, functor }));
85
45
  return FeatureProgrammer_1.FeatureProgrammer.writeDecomposed({
86
46
  modulo: props.modulo,
87
- functor: functor,
88
- result: result,
89
- });
90
- };
91
- var write_array_functions = function (props) {
92
- return props.collection
93
- .arrays()
94
- .filter(function (a) { return a.recursive; })
95
- .map(function (type, i) {
96
- return StatementFactory_1.StatementFactory.constant({
97
- name: "".concat(props.config.prefix, "a").concat(i),
98
- value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
99
- config: props.config,
100
- type: TypeFactory_1.TypeFactory.keyword("any"),
101
- input: typescript_1.default.factory.createIdentifier("input"),
102
- }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline({
103
- config: props.config,
104
- functor: props.functor,
105
- input: typescript_1.default.factory.createIdentifier("input"),
106
- array: MetadataArray_1.MetadataArray.create({
107
- type: type,
108
- tags: [],
109
- }),
110
- explore: {
111
- tracable: props.config.trace,
112
- source: "function",
113
- from: "array",
114
- postfix: "",
115
- },
116
- })),
117
- });
118
- });
119
- };
120
- var write_tuple_functions = function (props) {
121
- return props.collection
122
- .tuples()
123
- .filter(function (t) { return t.recursive; })
124
- .map(function (tuple, i) {
125
- return StatementFactory_1.StatementFactory.constant({
126
- name: "".concat(props.config.prefix, "t").concat(i),
127
- value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
128
- config: props.config,
129
- type: TypeFactory_1.TypeFactory.keyword("any"),
130
- input: typescript_1.default.factory.createIdentifier("input"),
131
- }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline({
132
- context: props.context,
133
- config: props.config,
134
- functor: props.functor,
135
- input: typescript_1.default.factory.createIdentifier("input"),
136
- tuple: tuple,
137
- explore: {
138
- tracable: props.config.trace,
139
- source: "function",
140
- from: "array",
141
- postfix: "",
142
- },
143
- })),
144
- });
47
+ functor,
48
+ result,
145
49
  });
146
50
  };
51
+ const write_array_functions = (props) => props.collection
52
+ .arrays()
53
+ .filter((a) => a.recursive)
54
+ .map((type, i) => StatementFactory_1.StatementFactory.constant({
55
+ name: `${props.config.prefix}a${i}`,
56
+ value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
57
+ config: props.config,
58
+ type: TypeFactory_1.TypeFactory.keyword("any"),
59
+ input: typescript_1.default.factory.createIdentifier("input"),
60
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline({
61
+ config: props.config,
62
+ functor: props.functor,
63
+ input: typescript_1.default.factory.createIdentifier("input"),
64
+ array: MetadataArray_1.MetadataArray.create({
65
+ type,
66
+ tags: [],
67
+ }),
68
+ explore: {
69
+ tracable: props.config.trace,
70
+ source: "function",
71
+ from: "array",
72
+ postfix: "",
73
+ },
74
+ })),
75
+ }));
76
+ const write_tuple_functions = (props) => props.collection
77
+ .tuples()
78
+ .filter((t) => t.recursive)
79
+ .map((tuple, i) => StatementFactory_1.StatementFactory.constant({
80
+ name: `${props.config.prefix}t${i}`,
81
+ value: typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
82
+ config: props.config,
83
+ type: TypeFactory_1.TypeFactory.keyword("any"),
84
+ input: typescript_1.default.factory.createIdentifier("input"),
85
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline({
86
+ context: props.context,
87
+ config: props.config,
88
+ functor: props.functor,
89
+ input: typescript_1.default.factory.createIdentifier("input"),
90
+ tuple,
91
+ explore: {
92
+ tracable: props.config.trace,
93
+ source: "function",
94
+ from: "array",
95
+ postfix: "",
96
+ },
97
+ })),
98
+ }));
147
99
  /* -----------------------------------------------------------
148
100
  DECODERS
149
101
  ----------------------------------------------------------- */
150
- var decode = function (props) {
151
- var e_1, _a, e_2, _b;
102
+ const decode = (props) => {
152
103
  if (filter(props.metadata) === false)
153
104
  return typescript_1.default.factory.createBlock([]);
154
- var unions = [];
155
- var _loop_1 = function (tuple) {
105
+ const unions = [];
106
+ //----
107
+ // LIST UP UNION TYPES
108
+ //----
109
+ // TUPLES
110
+ for (const tuple of props.metadata.tuples.filter((tuple) => tuple.type.elements.some((e) => { var _a; return filter((_a = e.rest) !== null && _a !== void 0 ? _a : e); })))
156
111
  unions.push({
157
112
  type: "tuple",
158
- is: function () {
159
- return IsProgrammer_1.IsProgrammer.decode(__assign(__assign({}, props), { metadata: (function () {
160
- var partial = Metadata_1.Metadata.initialize();
161
- partial.tuples.push(tuple);
162
- return partial;
163
- })() }));
164
- },
165
- value: function () {
166
- return decode_tuple(__assign(__assign({}, props), { tuple: tuple }));
167
- },
113
+ is: () => IsProgrammer_1.IsProgrammer.decode(Object.assign(Object.assign({}, props), { metadata: (() => {
114
+ const partial = Metadata_1.Metadata.initialize();
115
+ partial.tuples.push(tuple);
116
+ return partial;
117
+ })() })),
118
+ value: () => decode_tuple(Object.assign(Object.assign({}, props), { tuple })),
168
119
  });
169
- };
170
- try {
171
- //----
172
- // LIST UP UNION TYPES
173
- //----
174
- // TUPLES
175
- for (var _c = __values(props.metadata.tuples.filter(function (tuple) {
176
- return tuple.type.elements.some(function (e) { var _a; return filter((_a = e.rest) !== null && _a !== void 0 ? _a : e); });
177
- })), _d = _c.next(); !_d.done; _d = _c.next()) {
178
- var tuple = _d.value;
179
- _loop_1(tuple);
180
- }
181
- }
182
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
183
- finally {
184
- try {
185
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
186
- }
187
- finally { if (e_1) throw e_1.error; }
188
- }
189
120
  // ARRAYS
190
- if (props.metadata.arrays.filter(function (a) { return filter(a.type.value); }).length)
121
+ if (props.metadata.arrays.filter((a) => filter(a.type.value)).length)
191
122
  unions.push({
192
123
  type: "array",
193
- is: function () { return ExpressionFactory_1.ExpressionFactory.isArray(props.input); },
194
- value: function () {
195
- return explore_arrays(__assign(__assign({}, props), { arrays: props.metadata.arrays, explore: __assign(__assign({}, props.explore), { from: "array" }) }));
196
- },
124
+ is: () => ExpressionFactory_1.ExpressionFactory.isArray(props.input),
125
+ value: () => explore_arrays(Object.assign(Object.assign({}, props), { arrays: props.metadata.arrays, explore: Object.assign(Object.assign({}, props.explore), { from: "array" }) })),
197
126
  });
198
127
  // BUILT-IN CLASSES
199
- if (props.metadata.natives.length) {
200
- var _loop_2 = function (native) {
128
+ if (props.metadata.natives.length)
129
+ for (const native of props.metadata.natives)
201
130
  unions.push({
202
131
  type: "native",
203
- is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(native.name, props.input); },
204
- value: function () { return typescript_1.default.factory.createReturnStatement(); },
132
+ is: () => ExpressionFactory_1.ExpressionFactory.isInstanceOf(native.name, props.input),
133
+ value: () => typescript_1.default.factory.createReturnStatement(),
205
134
  });
206
- };
207
- try {
208
- for (var _e = __values(props.metadata.natives), _f = _e.next(); !_f.done; _f = _e.next()) {
209
- var native = _f.value;
210
- _loop_2(native);
211
- }
212
- }
213
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
214
- finally {
215
- try {
216
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
217
- }
218
- finally { if (e_2) throw e_2.error; }
219
- }
220
- }
221
135
  if (props.metadata.sets.length)
222
136
  unions.push({
223
137
  type: "set",
224
- is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Set", props.input); },
225
- value: function () { return typescript_1.default.factory.createReturnStatement(); },
138
+ is: () => ExpressionFactory_1.ExpressionFactory.isInstanceOf("Set", props.input),
139
+ value: () => typescript_1.default.factory.createReturnStatement(),
226
140
  });
227
141
  if (props.metadata.maps.length)
228
142
  unions.push({
229
143
  type: "map",
230
- is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Map", props.input); },
231
- value: function () { return typescript_1.default.factory.createReturnStatement(); },
144
+ is: () => ExpressionFactory_1.ExpressionFactory.isInstanceOf("Map", props.input),
145
+ value: () => typescript_1.default.factory.createReturnStatement(),
232
146
  });
233
147
  // OBJECTS
234
148
  if (props.metadata.objects.length)
235
149
  unions.push({
236
150
  type: "object",
237
- is: function () {
238
- return ExpressionFactory_1.ExpressionFactory.isObject({
239
- checkNull: true,
240
- checkArray: false,
241
- input: props.input,
242
- });
243
- },
244
- value: function () {
245
- return explore_objects(__assign(__assign({}, props), { explore: __assign(__assign({}, props.explore), { from: "object" }) }));
246
- },
151
+ is: () => ExpressionFactory_1.ExpressionFactory.isObject({
152
+ checkNull: true,
153
+ checkArray: false,
154
+ input: props.input,
155
+ }),
156
+ value: () => explore_objects(Object.assign(Object.assign({}, props), { explore: Object.assign(Object.assign({}, props.explore), { from: "object" }) })),
247
157
  });
248
158
  //----
249
159
  // STATEMENTS
250
160
  //----
251
- var converter = function (v) {
252
- return typescript_1.default.isReturnStatement(v) || typescript_1.default.isBlock(v)
253
- ? v
254
- : typescript_1.default.factory.createExpressionStatement(v);
255
- };
256
- var statements = unions.map(function (u) {
257
- return typescript_1.default.factory.createIfStatement(u.is(), converter(u.value()));
258
- });
161
+ const converter = (v) => typescript_1.default.isReturnStatement(v) || typescript_1.default.isBlock(v)
162
+ ? v
163
+ : typescript_1.default.factory.createExpressionStatement(v);
164
+ const statements = unions.map((u) => typescript_1.default.factory.createIfStatement(u.is(), converter(u.value())));
259
165
  return typescript_1.default.factory.createBlock(statements, true);
260
166
  };
261
- var decode_object = function (props) {
262
- return FeatureProgrammer_1.FeatureProgrammer.decode_object({
263
- config: {
264
- trace: false,
265
- path: false,
266
- prefix: PREFIX,
267
- },
268
- functor: props.functor,
269
- object: props.object,
167
+ const decode_object = (props) => FeatureProgrammer_1.FeatureProgrammer.decode_object({
168
+ config: {
169
+ trace: false,
170
+ path: false,
171
+ prefix: PREFIX,
172
+ },
173
+ functor: props.functor,
174
+ object: props.object,
175
+ input: props.input,
176
+ explore: props.explore,
177
+ });
178
+ const decode_array = (props) => props.array.type.recursive
179
+ ? 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({
180
+ config: props.config,
181
+ explore: Object.assign(Object.assign({}, props.explore), { source: "function", from: "array" }),
270
182
  input: props.input,
271
- explore: props.explore,
272
- });
273
- };
274
- var decode_array = function (props) {
275
- return props.array.type.recursive
276
- ? 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({
277
- config: props.config,
278
- explore: __assign(__assign({}, props.explore), { source: "function", from: "array" }),
279
- input: props.input,
280
- }))
281
- : decode_array_inline(props);
282
- };
283
- var decode_array_inline = function (props) {
284
- return FeatureProgrammer_1.FeatureProgrammer.decode_array({
183
+ }))
184
+ : decode_array_inline(props);
185
+ const decode_array_inline = (props) => FeatureProgrammer_1.FeatureProgrammer.decode_array({
186
+ config: props.config,
187
+ functor: props.functor,
188
+ combiner: PruneJoiner_1.PruneJoiner.array,
189
+ array: props.array,
190
+ input: props.input,
191
+ explore: props.explore,
192
+ });
193
+ const decode_tuple = (props) => props.tuple.type.recursive
194
+ ? 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({
285
195
  config: props.config,
286
- functor: props.functor,
287
- combiner: PruneJoiner_1.PruneJoiner.array,
288
- array: props.array,
196
+ explore: Object.assign(Object.assign({}, props.explore), { source: "function" }),
289
197
  input: props.input,
290
- explore: props.explore,
291
- });
292
- };
293
- var decode_tuple = function (props) {
294
- return props.tuple.type.recursive
295
- ? 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({
296
- config: props.config,
297
- explore: __assign(__assign({}, props.explore), { source: "function" }),
298
- input: props.input,
299
- }))
300
- : decode_tuple_inline(__assign(__assign({}, props), { tuple: props.tuple.type }));
301
- };
302
- var decode_tuple_inline = function (props) {
303
- var elements = props.tuple.elements
304
- .map(function (elem, index) { return [elem, index]; })
305
- .filter(function (_a) {
306
- var _b = __read(_a, 1), elem = _b[0];
307
- return filter(elem) && elem.rest === null;
308
- })
309
- .map(function (_a) {
310
- var _b = __read(_a, 2), elem = _b[0], index = _b[1];
311
- return decode({
312
- context: props.context,
313
- config: props.config,
314
- functor: props.functor,
315
- input: typescript_1.default.factory.createElementAccessExpression(props.input, index),
316
- metadata: elem,
317
- explore: __assign(__assign({}, props.explore), { from: "array", postfix: props.explore.postfix.length
318
- ? "".concat((0, postfix_of_tuple_1.postfix_of_tuple)(props.explore.postfix), "[").concat(index, "]\"")
319
- : "\"[".concat(index, "]\"") }),
320
- });
321
- });
322
- var rest = (function () {
198
+ }))
199
+ : decode_tuple_inline(Object.assign(Object.assign({}, props), { tuple: props.tuple.type }));
200
+ const decode_tuple_inline = (props) => {
201
+ const elements = props.tuple.elements
202
+ .map((elem, index) => [elem, index])
203
+ .filter(([elem]) => filter(elem) && elem.rest === null)
204
+ .map(([elem, index]) => decode({
205
+ context: props.context,
206
+ config: props.config,
207
+ functor: props.functor,
208
+ input: typescript_1.default.factory.createElementAccessExpression(props.input, index),
209
+ metadata: elem,
210
+ explore: Object.assign(Object.assign({}, props.explore), { from: "array", postfix: props.explore.postfix.length
211
+ ? `${(0, postfix_of_tuple_1.postfix_of_tuple)(props.explore.postfix)}[${index}]"`
212
+ : `"[${index}]"` }),
213
+ }));
214
+ const rest = (() => {
323
215
  if (props.tuple.elements.length === 0)
324
216
  return null;
325
- var last = props.tuple.elements.at(-1);
326
- var rest = last.rest;
217
+ const last = props.tuple.elements.at(-1);
218
+ const rest = last.rest;
327
219
  if (rest === null || filter(rest) === false)
328
220
  return null;
329
221
  return decode({
@@ -332,211 +224,171 @@ var MiscPruneProgrammer;
332
224
  functor: props.functor,
333
225
  input: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input, "slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(props.tuple.elements.length - 1)]),
334
226
  metadata: (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(props.tuple.elements.at(-1).rest),
335
- explore: __assign(__assign({}, props.explore), { start: props.tuple.elements.length - 1 }),
227
+ explore: Object.assign(Object.assign({}, props.explore), { start: props.tuple.elements.length - 1 }),
336
228
  });
337
229
  })();
338
230
  return PruneJoiner_1.PruneJoiner.tuple({
339
- elements: elements,
340
- rest: rest,
231
+ elements,
232
+ rest,
341
233
  });
342
234
  };
343
235
  /* -----------------------------------------------------------
344
236
  UNION TYPE EXPLORERS
345
237
  ----------------------------------------------------------- */
346
- var explore_objects = function (props) {
238
+ const explore_objects = (props) => {
347
239
  if (props.metadata.objects.length === 1)
348
- return decode_object(__assign(__assign({}, props), { object: props.metadata.objects[0].type }));
349
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal("".concat(PREFIX, "u").concat(props.metadata.union_index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props));
350
- };
351
- var explore_arrays = function (props) {
352
- return explore_array_like_union_types(__assign(__assign({}, props), { elements: props.arrays, factory: function (next) {
353
- return UnionExplorer_1.UnionExplorer.array({
354
- config: {
355
- checker: function (v) {
356
- return IsProgrammer_1.IsProgrammer.decode({
357
- context: props.context,
358
- functor: props.functor,
359
- metadata: v.definition,
360
- input: v.input,
361
- explore: v.explore,
362
- });
363
- },
364
- decoder: function (v) {
365
- return decode_array({
366
- config: props.config,
367
- functor: props.functor,
368
- input: v.input,
369
- array: v.definition,
370
- explore: v.explore,
371
- });
372
- },
373
- empty: typescript_1.default.factory.createStringLiteral("[]"),
374
- success: typescript_1.default.factory.createTrue(),
375
- failure: function (v) {
376
- return create_throw_error({
377
- context: props.context,
378
- functor: props.functor,
379
- expected: v.expected,
380
- input: v.input,
381
- });
382
- },
383
- },
384
- parameters: next.parameters,
385
- input: next.input,
386
- arrays: next.definitions,
387
- explore: next.explore,
388
- });
389
- } }));
240
+ return decode_object(Object.assign(Object.assign({}, props), { object: props.metadata.objects[0].type }));
241
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.useLocal(`${PREFIX}u${props.metadata.union_index}`)), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props));
390
242
  };
243
+ const explore_arrays = (props) => explore_array_like_union_types(Object.assign(Object.assign({}, props), { elements: props.arrays, factory: (next) => UnionExplorer_1.UnionExplorer.array({
244
+ config: {
245
+ checker: (v) => IsProgrammer_1.IsProgrammer.decode({
246
+ context: props.context,
247
+ functor: props.functor,
248
+ metadata: v.definition,
249
+ input: v.input,
250
+ explore: v.explore,
251
+ }),
252
+ decoder: (v) => decode_array({
253
+ config: props.config,
254
+ functor: props.functor,
255
+ input: v.input,
256
+ array: v.definition,
257
+ explore: v.explore,
258
+ }),
259
+ empty: typescript_1.default.factory.createStringLiteral("[]"),
260
+ success: typescript_1.default.factory.createTrue(),
261
+ failure: (v) => create_throw_error({
262
+ context: props.context,
263
+ functor: props.functor,
264
+ expected: v.expected,
265
+ input: v.input,
266
+ }),
267
+ },
268
+ parameters: next.parameters,
269
+ input: next.input,
270
+ arrays: next.definitions,
271
+ explore: next.explore,
272
+ }) }));
391
273
  //(next.parameters)(next.input, next.elements, next.explore),
392
- var explore_array_like_union_types = function (props) {
393
- var arrow = function (next) {
394
- return props.factory({
395
- definitions: props.elements,
396
- parameters: next.parameters,
397
- input: next.input,
398
- explore: next.explore,
399
- });
400
- };
401
- if (props.elements.every(function (e) { return e.type.recursive === false; }))
274
+ const explore_array_like_union_types = (props) => {
275
+ const arrow = (next) => props.factory({
276
+ definitions: props.elements,
277
+ parameters: next.parameters,
278
+ input: next.input,
279
+ explore: next.explore,
280
+ });
281
+ if (props.elements.every((e) => e.type.recursive === false))
402
282
  typescript_1.default.factory.createCallExpression(arrow({
403
283
  parameters: [],
404
284
  explore: props.explore,
405
285
  input: props.input,
406
286
  }), undefined, []);
407
- var arrayExplore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
408
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.emplaceUnion(props.config.prefix, props.elements.map(function (e) { return e.type.name; }).join(" | "), function () {
409
- return arrow({
410
- parameters: FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
411
- config: props.config,
412
- type: TypeFactory_1.TypeFactory.keyword("any"),
413
- input: typescript_1.default.factory.createIdentifier("input"),
414
- }),
415
- explore: __assign(__assign({}, arrayExplore), { postfix: "" }),
287
+ const arrayExplore = Object.assign(Object.assign({}, props.explore), { source: "function", from: "array" });
288
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.functor.emplaceUnion(props.config.prefix, props.elements.map((e) => e.type.name).join(" | "), () => arrow({
289
+ parameters: FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
290
+ config: props.config,
291
+ type: TypeFactory_1.TypeFactory.keyword("any"),
416
292
  input: typescript_1.default.factory.createIdentifier("input"),
417
- });
418
- })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props));
293
+ }),
294
+ explore: Object.assign(Object.assign({}, arrayExplore), { postfix: "" }),
295
+ input: typescript_1.default.factory.createIdentifier("input"),
296
+ }))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props));
419
297
  };
420
298
  // @todo -> must filter out recursive visit
421
- var filter = function (metadata) {
422
- return metadata.any === false &&
423
- (metadata.objects.length !== 0 ||
424
- metadata.tuples.some(function (t) {
425
- return !!t.type.elements.length &&
426
- t.type.elements.some(function (e) { var _a; return filter((_a = e.rest) !== null && _a !== void 0 ? _a : e); });
427
- }) ||
428
- metadata.arrays.some(function (e) { return filter(e.type.value); }));
429
- };
299
+ const filter = (metadata) => metadata.any === false &&
300
+ (metadata.objects.length !== 0 ||
301
+ metadata.tuples.some((t) => !!t.type.elements.length &&
302
+ t.type.elements.some((e) => { var _a; return filter((_a = e.rest) !== null && _a !== void 0 ? _a : e); })) ||
303
+ metadata.arrays.some((e) => filter(e.type.value)));
430
304
  /* -----------------------------------------------------------
431
305
  CONFIGURATIONS
432
306
  ----------------------------------------------------------- */
433
- var PREFIX = "_p";
434
- var configure = function (props) {
435
- var config = {
307
+ const PREFIX = "_p";
308
+ const configure = (props) => {
309
+ const config = {
436
310
  types: {
437
- input: function (type, name) {
438
- return typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName({ checker: props.context.checker, type: type }));
439
- },
440
- output: function () { return TypeFactory_1.TypeFactory.keyword("void"); },
311
+ input: (type, name) => typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName({ checker: props.context.checker, type })),
312
+ output: () => TypeFactory_1.TypeFactory.keyword("void"),
441
313
  },
442
314
  prefix: PREFIX,
443
315
  trace: false,
444
316
  path: false,
445
- initializer: initializer,
446
- decoder: function (next) {
447
- return decode({
317
+ initializer,
318
+ decoder: (next) => decode({
319
+ context: props.context,
320
+ functor: props.functor,
321
+ config,
322
+ input: next.input,
323
+ metadata: next.metadata,
324
+ explore: next.explore,
325
+ }),
326
+ objector: {
327
+ checker: (next) => IsProgrammer_1.IsProgrammer.decode({
448
328
  context: props.context,
449
329
  functor: props.functor,
450
- config: config,
451
330
  input: next.input,
452
331
  metadata: next.metadata,
453
332
  explore: next.explore,
454
- });
455
- },
456
- objector: {
457
- checker: function (next) {
458
- return IsProgrammer_1.IsProgrammer.decode({
333
+ }),
334
+ decoder: (next) => decode_object({
335
+ functor: props.functor,
336
+ input: next.input,
337
+ object: next.object,
338
+ explore: next.explore,
339
+ }),
340
+ joiner: PruneJoiner_1.PruneJoiner.object,
341
+ unionizer: (next) => (0, decode_union_object_1.decode_union_object)({
342
+ checker: (v) => IsProgrammer_1.IsProgrammer.decode_object({
459
343
  context: props.context,
460
344
  functor: props.functor,
461
- input: next.input,
462
- metadata: next.metadata,
463
- explore: next.explore,
464
- });
465
- },
466
- decoder: function (next) {
467
- return decode_object({
345
+ input: v.input,
346
+ object: v.object,
347
+ explore: v.explore,
348
+ }),
349
+ decoder: (v) => decode_object({
468
350
  functor: props.functor,
469
- input: next.input,
470
- object: next.object,
471
- explore: next.explore,
472
- });
473
- },
474
- joiner: PruneJoiner_1.PruneJoiner.object,
475
- unionizer: function (next) {
476
- return (0, decode_union_object_1.decode_union_object)({
477
- checker: function (v) {
478
- return IsProgrammer_1.IsProgrammer.decode_object({
479
- context: props.context,
480
- functor: props.functor,
481
- input: v.input,
482
- object: v.object,
483
- explore: v.explore,
484
- });
485
- },
486
- decoder: function (v) {
487
- return decode_object({
488
- functor: props.functor,
489
- input: v.input,
490
- object: v.object,
491
- explore: v.explore,
492
- });
493
- },
494
- success: function (exp) { return exp; },
495
- escaper: function (v) {
496
- return create_throw_error({
497
- context: props.context,
498
- functor: props.functor,
499
- expected: v.expected,
500
- input: v.input,
501
- });
502
- },
503
- input: next.input,
504
- objects: next.objects,
505
- explore: next.explore,
506
- });
507
- },
508
- failure: function (next) {
509
- return create_throw_error({
351
+ input: v.input,
352
+ object: v.object,
353
+ explore: v.explore,
354
+ }),
355
+ success: (exp) => exp,
356
+ escaper: (v) => create_throw_error({
510
357
  context: props.context,
511
358
  functor: props.functor,
512
- expected: next.expected,
513
- input: next.input,
514
- });
515
- },
359
+ expected: v.expected,
360
+ input: v.input,
361
+ }),
362
+ input: next.input,
363
+ objects: next.objects,
364
+ explore: next.explore,
365
+ }),
366
+ failure: (next) => create_throw_error({
367
+ context: props.context,
368
+ functor: props.functor,
369
+ expected: next.expected,
370
+ input: next.input,
371
+ }),
516
372
  },
517
373
  generator: {
518
- arrays: function (collection) {
519
- return write_array_functions({
520
- config: config,
521
- functor: props.functor,
522
- collection: collection,
523
- });
524
- },
525
- tuples: function (collection) {
526
- return write_tuple_functions({
527
- config: config,
528
- context: props.context,
529
- functor: props.functor,
530
- collection: collection,
531
- });
532
- },
374
+ arrays: (collection) => write_array_functions({
375
+ config,
376
+ functor: props.functor,
377
+ collection,
378
+ }),
379
+ tuples: (collection) => write_tuple_functions({
380
+ config,
381
+ context: props.context,
382
+ functor: props.functor,
383
+ collection,
384
+ }),
533
385
  },
534
386
  };
535
387
  return config;
536
388
  };
537
- var initializer = function (props) {
538
- var collection = new MetadataCollection_1.MetadataCollection();
539
- var result = MetadataFactory_1.MetadataFactory.analyze({
389
+ const initializer = (props) => {
390
+ const collection = new MetadataCollection_1.MetadataCollection();
391
+ const result = MetadataFactory_1.MetadataFactory.analyze({
540
392
  checker: props.context.checker,
541
393
  transformer: props.context.transformer,
542
394
  options: {
@@ -544,7 +396,7 @@ var MiscPruneProgrammer;
544
396
  constant: true,
545
397
  absorb: true,
546
398
  },
547
- collection: collection,
399
+ collection,
548
400
  type: props.type,
549
401
  });
550
402
  if (result.success === false)
@@ -553,18 +405,16 @@ var MiscPruneProgrammer;
553
405
  errors: result.errors,
554
406
  });
555
407
  return {
556
- collection: collection,
408
+ collection,
557
409
  metadata: result.data,
558
410
  };
559
411
  };
560
- var create_throw_error = function (props) {
561
- return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(props.context.importer.internal("throwTypeGuardError"), [], [
562
- typescript_1.default.factory.createObjectLiteralExpression([
563
- typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createStringLiteral(props.functor.method)),
564
- typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(props.expected)),
565
- typescript_1.default.factory.createPropertyAssignment("value", props.input),
566
- ], true),
567
- ]));
568
- };
412
+ const create_throw_error = (props) => typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(props.context.importer.internal("throwTypeGuardError"), [], [
413
+ typescript_1.default.factory.createObjectLiteralExpression([
414
+ typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createStringLiteral(props.functor.method)),
415
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(props.expected)),
416
+ typescript_1.default.factory.createPropertyAssignment("value", props.input),
417
+ ], true),
418
+ ]));
569
419
  })(MiscPruneProgrammer || (exports.MiscPruneProgrammer = MiscPruneProgrammer = {}));
570
420
  //# sourceMappingURL=MiscPruneProgrammer.js.map