typia 13.0.0-dev.20260427-2 → 13.0.0-dev.20260430

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 (923) hide show
  1. package/README.md +0 -1
  2. package/lib/TypeGuardError.js +1 -0
  3. package/lib/TypeGuardError.js.map +1 -1
  4. package/lib/TypeGuardError.mjs +2 -7
  5. package/lib/TypeGuardError.mjs.map +1 -1
  6. package/lib/TypeGuardError2.mjs +51 -58
  7. package/lib/TypeGuardError2.mjs.map +1 -1
  8. package/lib/executable/TypiaGenerateWizard.js +65 -36
  9. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  10. package/lib/executable/TypiaGenerateWizard.mjs +2 -7
  11. package/lib/executable/TypiaGenerateWizard.mjs.map +1 -1
  12. package/lib/executable/TypiaGenerateWizard2.mjs +226 -201
  13. package/lib/executable/TypiaGenerateWizard2.mjs.map +1 -1
  14. package/lib/executable/TypiaSetupWizard.mjs +2 -7
  15. package/lib/executable/TypiaSetupWizard.mjs.map +1 -1
  16. package/lib/executable/TypiaSetupWizard2.mjs +139 -144
  17. package/lib/executable/TypiaSetupWizard2.mjs.map +1 -1
  18. package/lib/executable/generate/ttsc.d.ts +0 -4
  19. package/lib/executable/generate/ttsc.js +15 -50
  20. package/lib/executable/generate/ttsc.js.map +1 -1
  21. package/lib/executable/generate/ttsc.mjs +2 -7
  22. package/lib/executable/generate/ttsc.mjs.map +1 -1
  23. package/lib/executable/generate/ttsc2.mjs +46 -92
  24. package/lib/executable/generate/ttsc2.mjs.map +1 -1
  25. package/lib/executable/setup/ArgumentParser.mjs +2 -7
  26. package/lib/executable/setup/ArgumentParser.mjs.map +1 -1
  27. package/lib/executable/setup/ArgumentParser2.mjs +36 -44
  28. package/lib/executable/setup/ArgumentParser2.mjs.map +1 -1
  29. package/lib/executable/setup/CommandExecutor.mjs +2 -7
  30. package/lib/executable/setup/CommandExecutor.mjs.map +1 -1
  31. package/lib/executable/setup/CommandExecutor2.mjs +15 -23
  32. package/lib/executable/setup/CommandExecutor2.mjs.map +1 -1
  33. package/lib/executable/setup/FileRetriever.mjs +2 -7
  34. package/lib/executable/setup/FileRetriever.mjs.map +1 -1
  35. package/lib/executable/setup/FileRetriever2.mjs +25 -33
  36. package/lib/executable/setup/FileRetriever2.mjs.map +1 -1
  37. package/lib/executable/setup/PackageManager.mjs +2 -7
  38. package/lib/executable/setup/PackageManager.mjs.map +1 -1
  39. package/lib/executable/setup/PackageManager2.mjs +82 -88
  40. package/lib/executable/setup/PackageManager2.mjs.map +1 -1
  41. package/lib/executable/setup/PluginConfigurator.mjs +2 -7
  42. package/lib/executable/setup/PluginConfigurator.mjs.map +1 -1
  43. package/lib/executable/setup/PluginConfigurator2.mjs +60 -68
  44. package/lib/executable/setup/PluginConfigurator2.mjs.map +1 -1
  45. package/lib/executable/typia.mjs +2 -7
  46. package/lib/executable/typia.mjs.map +1 -1
  47. package/lib/executable/typia2.mjs +94 -100
  48. package/lib/executable/typia2.mjs.map +1 -1
  49. package/lib/functional.mjs +2 -7
  50. package/lib/functional.mjs.map +1 -1
  51. package/lib/functional2.mjs +94 -101
  52. package/lib/functional2.mjs.map +1 -1
  53. package/lib/http.mjs +2 -7
  54. package/lib/http.mjs.map +1 -1
  55. package/lib/http2.mjs +134 -141
  56. package/lib/http2.mjs.map +1 -1
  57. package/lib/index.mjs +1 -7
  58. package/lib/index.mjs.map +1 -1
  59. package/lib/index2.mjs +48 -51
  60. package/lib/index2.mjs.map +1 -1
  61. package/lib/internal/_IProtobufWriter.mjs +2 -7
  62. package/lib/internal/_IProtobufWriter.mjs.map +1 -1
  63. package/lib/internal/_IProtobufWriter2.mjs +2 -10
  64. package/lib/internal/_IProtobufWriter2.mjs.map +1 -1
  65. package/lib/internal/_ProtobufReader.mjs +2 -7
  66. package/lib/internal/_ProtobufReader.mjs.map +1 -1
  67. package/lib/internal/_ProtobufReader2.mjs +164 -172
  68. package/lib/internal/_ProtobufReader2.mjs.map +1 -1
  69. package/lib/internal/_ProtobufSizer.mjs +2 -7
  70. package/lib/internal/_ProtobufSizer.mjs.map +1 -1
  71. package/lib/internal/_ProtobufSizer2.mjs +115 -123
  72. package/lib/internal/_ProtobufSizer2.mjs.map +1 -1
  73. package/lib/internal/_ProtobufWriter.mjs +2 -7
  74. package/lib/internal/_ProtobufWriter.mjs.map +1 -1
  75. package/lib/internal/_ProtobufWriter2.mjs +102 -110
  76. package/lib/internal/_ProtobufWriter2.mjs.map +1 -1
  77. package/lib/internal/_accessExpressionAsString.mjs +2 -7
  78. package/lib/internal/_accessExpressionAsString.mjs.map +1 -1
  79. package/lib/internal/_accessExpressionAsString2.mjs +46 -54
  80. package/lib/internal/_accessExpressionAsString2.mjs.map +1 -1
  81. package/lib/internal/_assertGuard.mjs +2 -7
  82. package/lib/internal/_assertGuard.mjs.map +1 -1
  83. package/lib/internal/_assertGuard2.mjs +17 -24
  84. package/lib/internal/_assertGuard2.mjs.map +1 -1
  85. package/lib/internal/_coerceLlmArguments.mjs +2 -7
  86. package/lib/internal/_coerceLlmArguments.mjs.map +1 -1
  87. package/lib/internal/_coerceLlmArguments2.mjs +7 -15
  88. package/lib/internal/_coerceLlmArguments2.mjs.map +1 -1
  89. package/lib/internal/_createStandardSchema.mjs +2 -7
  90. package/lib/internal/_createStandardSchema.mjs.map +1 -1
  91. package/lib/internal/_createStandardSchema2.mjs +135 -143
  92. package/lib/internal/_createStandardSchema2.mjs.map +1 -1
  93. package/lib/internal/_functionalTypeGuardErrorFactory.mjs +2 -7
  94. package/lib/internal/_functionalTypeGuardErrorFactory.mjs.map +1 -1
  95. package/lib/internal/_functionalTypeGuardErrorFactory2.mjs +9 -16
  96. package/lib/internal/_functionalTypeGuardErrorFactory2.mjs.map +1 -1
  97. package/lib/internal/_httpFormDataReadArray.mjs +2 -7
  98. package/lib/internal/_httpFormDataReadArray.mjs.map +1 -1
  99. package/lib/internal/_httpFormDataReadArray2.mjs +6 -14
  100. package/lib/internal/_httpFormDataReadArray2.mjs.map +1 -1
  101. package/lib/internal/_httpFormDataReadBigint.mjs +2 -7
  102. package/lib/internal/_httpFormDataReadBigint.mjs.map +1 -1
  103. package/lib/internal/_httpFormDataReadBigint2.mjs +20 -28
  104. package/lib/internal/_httpFormDataReadBigint2.mjs.map +1 -1
  105. package/lib/internal/_httpFormDataReadBlob.mjs +2 -7
  106. package/lib/internal/_httpFormDataReadBlob.mjs.map +1 -1
  107. package/lib/internal/_httpFormDataReadBlob2.mjs +12 -20
  108. package/lib/internal/_httpFormDataReadBlob2.mjs.map +1 -1
  109. package/lib/internal/_httpFormDataReadBoolean.mjs +2 -7
  110. package/lib/internal/_httpFormDataReadBoolean.mjs.map +1 -1
  111. package/lib/internal/_httpFormDataReadBoolean2.mjs +18 -26
  112. package/lib/internal/_httpFormDataReadBoolean2.mjs.map +1 -1
  113. package/lib/internal/_httpFormDataReadFile.mjs +2 -7
  114. package/lib/internal/_httpFormDataReadFile.mjs.map +1 -1
  115. package/lib/internal/_httpFormDataReadFile2.mjs +12 -20
  116. package/lib/internal/_httpFormDataReadFile2.mjs.map +1 -1
  117. package/lib/internal/_httpFormDataReadNumber.mjs +2 -7
  118. package/lib/internal/_httpFormDataReadNumber.mjs.map +1 -1
  119. package/lib/internal/_httpFormDataReadNumber2.mjs +16 -24
  120. package/lib/internal/_httpFormDataReadNumber2.mjs.map +1 -1
  121. package/lib/internal/_httpFormDataReadString.mjs +2 -7
  122. package/lib/internal/_httpFormDataReadString.mjs.map +1 -1
  123. package/lib/internal/_httpFormDataReadString2.mjs +12 -20
  124. package/lib/internal/_httpFormDataReadString2.mjs.map +1 -1
  125. package/lib/internal/_httpHeaderReadBigint.mjs +2 -7
  126. package/lib/internal/_httpHeaderReadBigint.mjs.map +1 -1
  127. package/lib/internal/_httpHeaderReadBigint2.mjs +14 -22
  128. package/lib/internal/_httpHeaderReadBigint2.mjs.map +1 -1
  129. package/lib/internal/_httpHeaderReadBoolean.mjs +2 -7
  130. package/lib/internal/_httpHeaderReadBoolean.mjs.map +1 -1
  131. package/lib/internal/_httpHeaderReadBoolean2.mjs +12 -20
  132. package/lib/internal/_httpHeaderReadBoolean2.mjs.map +1 -1
  133. package/lib/internal/_httpHeaderReadNumber.mjs +2 -7
  134. package/lib/internal/_httpHeaderReadNumber.mjs.map +1 -1
  135. package/lib/internal/_httpHeaderReadNumber2.mjs +10 -18
  136. package/lib/internal/_httpHeaderReadNumber2.mjs.map +1 -1
  137. package/lib/internal/_httpParameterReadBigint.mjs +2 -7
  138. package/lib/internal/_httpParameterReadBigint.mjs.map +1 -1
  139. package/lib/internal/_httpParameterReadBigint2.mjs +14 -22
  140. package/lib/internal/_httpParameterReadBigint2.mjs.map +1 -1
  141. package/lib/internal/_httpParameterReadBoolean.mjs +2 -7
  142. package/lib/internal/_httpParameterReadBoolean.mjs.map +1 -1
  143. package/lib/internal/_httpParameterReadBoolean2.mjs +12 -20
  144. package/lib/internal/_httpParameterReadBoolean2.mjs.map +1 -1
  145. package/lib/internal/_httpParameterReadNumber.mjs +2 -7
  146. package/lib/internal/_httpParameterReadNumber.mjs.map +1 -1
  147. package/lib/internal/_httpParameterReadNumber2.mjs +10 -18
  148. package/lib/internal/_httpParameterReadNumber2.mjs.map +1 -1
  149. package/lib/internal/_httpParameterReadString.mjs +2 -7
  150. package/lib/internal/_httpParameterReadString.mjs.map +1 -1
  151. package/lib/internal/_httpParameterReadString2.mjs +6 -14
  152. package/lib/internal/_httpParameterReadString2.mjs.map +1 -1
  153. package/lib/internal/_httpQueryParseURLSearchParams.mjs +2 -7
  154. package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -1
  155. package/lib/internal/_httpQueryParseURLSearchParams2.mjs +13 -21
  156. package/lib/internal/_httpQueryParseURLSearchParams2.mjs.map +1 -1
  157. package/lib/internal/_httpQueryReadArray.mjs +2 -7
  158. package/lib/internal/_httpQueryReadArray.mjs.map +1 -1
  159. package/lib/internal/_httpQueryReadArray2.mjs +6 -14
  160. package/lib/internal/_httpQueryReadArray2.mjs.map +1 -1
  161. package/lib/internal/_httpQueryReadBigint.mjs +2 -7
  162. package/lib/internal/_httpQueryReadBigint.mjs.map +1 -1
  163. package/lib/internal/_httpQueryReadBigint2.mjs +14 -22
  164. package/lib/internal/_httpQueryReadBigint2.mjs.map +1 -1
  165. package/lib/internal/_httpQueryReadBoolean.mjs +2 -7
  166. package/lib/internal/_httpQueryReadBoolean.mjs.map +1 -1
  167. package/lib/internal/_httpQueryReadBoolean2.mjs +16 -24
  168. package/lib/internal/_httpQueryReadBoolean2.mjs.map +1 -1
  169. package/lib/internal/_httpQueryReadNumber.mjs +2 -7
  170. package/lib/internal/_httpQueryReadNumber.mjs.map +1 -1
  171. package/lib/internal/_httpQueryReadNumber2.mjs +10 -18
  172. package/lib/internal/_httpQueryReadNumber2.mjs.map +1 -1
  173. package/lib/internal/_httpQueryReadString.mjs +2 -7
  174. package/lib/internal/_httpQueryReadString.mjs.map +1 -1
  175. package/lib/internal/_httpQueryReadString2.mjs +6 -14
  176. package/lib/internal/_httpQueryReadString2.mjs.map +1 -1
  177. package/lib/internal/_isBetween.mjs +2 -7
  178. package/lib/internal/_isBetween.mjs.map +1 -1
  179. package/lib/internal/_isBetween2.mjs +6 -14
  180. package/lib/internal/_isBetween2.mjs.map +1 -1
  181. package/lib/internal/_isBigintString.mjs +2 -7
  182. package/lib/internal/_isBigintString.mjs.map +1 -1
  183. package/lib/internal/_isBigintString2.mjs +14 -22
  184. package/lib/internal/_isBigintString2.mjs.map +1 -1
  185. package/lib/internal/_isFormatByte.mjs +2 -7
  186. package/lib/internal/_isFormatByte.mjs.map +1 -1
  187. package/lib/internal/_isFormatByte2.mjs +10 -18
  188. package/lib/internal/_isFormatByte2.mjs.map +1 -1
  189. package/lib/internal/_isFormatDate.mjs +2 -7
  190. package/lib/internal/_isFormatDate.mjs.map +1 -1
  191. package/lib/internal/_isFormatDate2.mjs +7 -15
  192. package/lib/internal/_isFormatDate2.mjs.map +1 -1
  193. package/lib/internal/_isFormatDateTime.mjs +2 -7
  194. package/lib/internal/_isFormatDateTime.mjs.map +1 -1
  195. package/lib/internal/_isFormatDateTime2.mjs +7 -15
  196. package/lib/internal/_isFormatDateTime2.mjs.map +1 -1
  197. package/lib/internal/_isFormatDuration.mjs +2 -7
  198. package/lib/internal/_isFormatDuration.mjs.map +1 -1
  199. package/lib/internal/_isFormatDuration2.mjs +7 -15
  200. package/lib/internal/_isFormatDuration2.mjs.map +1 -1
  201. package/lib/internal/_isFormatEmail.mjs +2 -7
  202. package/lib/internal/_isFormatEmail.mjs.map +1 -1
  203. package/lib/internal/_isFormatEmail2.mjs +7 -15
  204. package/lib/internal/_isFormatEmail2.mjs.map +1 -1
  205. package/lib/internal/_isFormatHostname.mjs +2 -7
  206. package/lib/internal/_isFormatHostname.mjs.map +1 -1
  207. package/lib/internal/_isFormatHostname2.mjs +7 -15
  208. package/lib/internal/_isFormatHostname2.mjs.map +1 -1
  209. package/lib/internal/_isFormatIdnEmail.mjs +2 -7
  210. package/lib/internal/_isFormatIdnEmail.mjs.map +1 -1
  211. package/lib/internal/_isFormatIdnEmail2.mjs +7 -15
  212. package/lib/internal/_isFormatIdnEmail2.mjs.map +1 -1
  213. package/lib/internal/_isFormatIdnHostname.mjs +2 -7
  214. package/lib/internal/_isFormatIdnHostname.mjs.map +1 -1
  215. package/lib/internal/_isFormatIdnHostname2.mjs +7 -15
  216. package/lib/internal/_isFormatIdnHostname2.mjs.map +1 -1
  217. package/lib/internal/_isFormatIpv4.mjs +2 -7
  218. package/lib/internal/_isFormatIpv4.mjs.map +1 -1
  219. package/lib/internal/_isFormatIpv42.mjs +7 -15
  220. package/lib/internal/_isFormatIpv42.mjs.map +1 -1
  221. package/lib/internal/_isFormatIpv6.mjs +2 -7
  222. package/lib/internal/_isFormatIpv6.mjs.map +1 -1
  223. package/lib/internal/_isFormatIpv62.mjs +7 -15
  224. package/lib/internal/_isFormatIpv62.mjs.map +1 -1
  225. package/lib/internal/_isFormatIri.mjs +2 -7
  226. package/lib/internal/_isFormatIri.mjs.map +1 -1
  227. package/lib/internal/_isFormatIri2.mjs +7 -15
  228. package/lib/internal/_isFormatIri2.mjs.map +1 -1
  229. package/lib/internal/_isFormatIriReference.mjs +2 -7
  230. package/lib/internal/_isFormatIriReference.mjs.map +1 -1
  231. package/lib/internal/_isFormatIriReference2.mjs +7 -15
  232. package/lib/internal/_isFormatIriReference2.mjs.map +1 -1
  233. package/lib/internal/_isFormatJsonPointer.mjs +2 -7
  234. package/lib/internal/_isFormatJsonPointer.mjs.map +1 -1
  235. package/lib/internal/_isFormatJsonPointer2.mjs +7 -15
  236. package/lib/internal/_isFormatJsonPointer2.mjs.map +1 -1
  237. package/lib/internal/_isFormatPassword.mjs +2 -7
  238. package/lib/internal/_isFormatPassword.mjs.map +1 -1
  239. package/lib/internal/_isFormatPassword2.mjs +6 -14
  240. package/lib/internal/_isFormatPassword2.mjs.map +1 -1
  241. package/lib/internal/_isFormatRegex.mjs +2 -7
  242. package/lib/internal/_isFormatRegex.mjs.map +1 -1
  243. package/lib/internal/_isFormatRegex2.mjs +14 -22
  244. package/lib/internal/_isFormatRegex2.mjs.map +1 -1
  245. package/lib/internal/_isFormatRelativeJsonPointer.mjs +2 -7
  246. package/lib/internal/_isFormatRelativeJsonPointer.mjs.map +1 -1
  247. package/lib/internal/_isFormatRelativeJsonPointer2.mjs +7 -15
  248. package/lib/internal/_isFormatRelativeJsonPointer2.mjs.map +1 -1
  249. package/lib/internal/_isFormatTime.mjs +2 -7
  250. package/lib/internal/_isFormatTime.mjs.map +1 -1
  251. package/lib/internal/_isFormatTime2.mjs +7 -15
  252. package/lib/internal/_isFormatTime2.mjs.map +1 -1
  253. package/lib/internal/_isFormatUri.mjs +2 -7
  254. package/lib/internal/_isFormatUri.mjs.map +1 -1
  255. package/lib/internal/_isFormatUri2.mjs +8 -16
  256. package/lib/internal/_isFormatUri2.mjs.map +1 -1
  257. package/lib/internal/_isFormatUriReference.mjs +2 -7
  258. package/lib/internal/_isFormatUriReference.mjs.map +1 -1
  259. package/lib/internal/_isFormatUriReference2.mjs +7 -15
  260. package/lib/internal/_isFormatUriReference2.mjs.map +1 -1
  261. package/lib/internal/_isFormatUriTemplate.mjs +2 -7
  262. package/lib/internal/_isFormatUriTemplate.mjs.map +1 -1
  263. package/lib/internal/_isFormatUriTemplate2.mjs +7 -15
  264. package/lib/internal/_isFormatUriTemplate2.mjs.map +1 -1
  265. package/lib/internal/_isFormatUrl.mjs +2 -7
  266. package/lib/internal/_isFormatUrl.mjs.map +1 -1
  267. package/lib/internal/_isFormatUrl2.mjs +7 -15
  268. package/lib/internal/_isFormatUrl2.mjs.map +1 -1
  269. package/lib/internal/_isFormatUuid.mjs +2 -7
  270. package/lib/internal/_isFormatUuid.mjs.map +1 -1
  271. package/lib/internal/_isFormatUuid2.mjs +7 -15
  272. package/lib/internal/_isFormatUuid2.mjs.map +1 -1
  273. package/lib/internal/_isTypeFloat.mjs +2 -7
  274. package/lib/internal/_isTypeFloat.mjs.map +1 -1
  275. package/lib/internal/_isTypeFloat2.mjs +8 -16
  276. package/lib/internal/_isTypeFloat2.mjs.map +1 -1
  277. package/lib/internal/_isTypeInt32.mjs +2 -7
  278. package/lib/internal/_isTypeInt32.mjs.map +1 -1
  279. package/lib/internal/_isTypeInt322.mjs +8 -16
  280. package/lib/internal/_isTypeInt322.mjs.map +1 -1
  281. package/lib/internal/_isTypeInt64.mjs +2 -7
  282. package/lib/internal/_isTypeInt64.mjs.map +1 -1
  283. package/lib/internal/_isTypeInt642.mjs +8 -16
  284. package/lib/internal/_isTypeInt642.mjs.map +1 -1
  285. package/lib/internal/_isTypeUint32.mjs +2 -7
  286. package/lib/internal/_isTypeUint32.mjs.map +1 -1
  287. package/lib/internal/_isTypeUint322.mjs +8 -16
  288. package/lib/internal/_isTypeUint322.mjs.map +1 -1
  289. package/lib/internal/_isTypeUint64.mjs +2 -7
  290. package/lib/internal/_isTypeUint64.mjs.map +1 -1
  291. package/lib/internal/_isTypeUint642.mjs +8 -16
  292. package/lib/internal/_isTypeUint642.mjs.map +1 -1
  293. package/lib/internal/_isUniqueItems.mjs +2 -7
  294. package/lib/internal/_isUniqueItems.mjs.map +1 -1
  295. package/lib/internal/_isUniqueItems2.mjs +140 -148
  296. package/lib/internal/_isUniqueItems2.mjs.map +1 -1
  297. package/lib/internal/_jsonStringifyNumber.mjs +2 -7
  298. package/lib/internal/_jsonStringifyNumber.mjs.map +1 -1
  299. package/lib/internal/_jsonStringifyNumber2.mjs +6 -14
  300. package/lib/internal/_jsonStringifyNumber2.mjs.map +1 -1
  301. package/lib/internal/_jsonStringifyRest.mjs +2 -7
  302. package/lib/internal/_jsonStringifyRest.mjs.map +1 -1
  303. package/lib/internal/_jsonStringifyRest2.mjs +8 -16
  304. package/lib/internal/_jsonStringifyRest2.mjs.map +1 -1
  305. package/lib/internal/_jsonStringifyString.mjs +2 -7
  306. package/lib/internal/_jsonStringifyString.mjs.map +1 -1
  307. package/lib/internal/_jsonStringifyString2.mjs +42 -50
  308. package/lib/internal/_jsonStringifyString2.mjs.map +1 -1
  309. package/lib/internal/_jsonStringifyTail.mjs +2 -7
  310. package/lib/internal/_jsonStringifyTail.mjs.map +1 -1
  311. package/lib/internal/_jsonStringifyTail2.mjs +6 -14
  312. package/lib/internal/_jsonStringifyTail2.mjs.map +1 -1
  313. package/lib/internal/_llmApplicationFinalize.mjs +2 -7
  314. package/lib/internal/_llmApplicationFinalize.mjs.map +1 -1
  315. package/lib/internal/_llmApplicationFinalize2.mjs +7 -15
  316. package/lib/internal/_llmApplicationFinalize2.mjs.map +1 -1
  317. package/lib/internal/_miscCloneAny.mjs +2 -7
  318. package/lib/internal/_miscCloneAny.mjs.map +1 -1
  319. package/lib/internal/_miscCloneAny2.mjs +64 -72
  320. package/lib/internal/_miscCloneAny2.mjs.map +1 -1
  321. package/lib/internal/_notationAny.mjs +2 -7
  322. package/lib/internal/_notationAny.mjs.map +1 -1
  323. package/lib/internal/_notationAny2.mjs +39 -47
  324. package/lib/internal/_notationAny2.mjs.map +1 -1
  325. package/lib/internal/_notationCamel.mjs +2 -7
  326. package/lib/internal/_notationCamel.mjs.map +1 -1
  327. package/lib/internal/_notationCamel2.mjs +17 -23
  328. package/lib/internal/_notationCamel2.mjs.map +1 -1
  329. package/lib/internal/_notationPascal.mjs +2 -7
  330. package/lib/internal/_notationPascal.mjs.map +1 -1
  331. package/lib/internal/_notationPascal2.mjs +13 -19
  332. package/lib/internal/_notationPascal2.mjs.map +1 -1
  333. package/lib/internal/_notationSnake.mjs +2 -7
  334. package/lib/internal/_notationSnake.mjs.map +1 -1
  335. package/lib/internal/_notationSnake2.mjs +51 -59
  336. package/lib/internal/_notationSnake2.mjs.map +1 -1
  337. package/lib/internal/_parseLlmArguments.mjs +2 -7
  338. package/lib/internal/_parseLlmArguments.mjs.map +1 -1
  339. package/lib/internal/_parseLlmArguments2.mjs +7 -15
  340. package/lib/internal/_parseLlmArguments2.mjs.map +1 -1
  341. package/lib/internal/_randomArray.mjs +2 -7
  342. package/lib/internal/_randomArray.mjs.map +1 -1
  343. package/lib/internal/_randomArray2.mjs +22 -29
  344. package/lib/internal/_randomArray2.mjs.map +1 -1
  345. package/lib/internal/_randomBigint.mjs +2 -7
  346. package/lib/internal/_randomBigint.mjs.map +1 -1
  347. package/lib/internal/_randomBigint2.mjs +9 -16
  348. package/lib/internal/_randomBigint2.mjs.map +1 -1
  349. package/lib/internal/_randomBoolean.mjs +2 -7
  350. package/lib/internal/_randomBoolean.mjs.map +1 -1
  351. package/lib/internal/_randomBoolean2.mjs +6 -14
  352. package/lib/internal/_randomBoolean2.mjs.map +1 -1
  353. package/lib/internal/_randomFormatByte.mjs +2 -7
  354. package/lib/internal/_randomFormatByte.mjs.map +1 -1
  355. package/lib/internal/_randomFormatByte2.mjs +7 -15
  356. package/lib/internal/_randomFormatByte2.mjs.map +1 -1
  357. package/lib/internal/_randomFormatDate.mjs +2 -7
  358. package/lib/internal/_randomFormatDate.mjs.map +1 -1
  359. package/lib/internal/_randomFormatDate2.mjs +17 -24
  360. package/lib/internal/_randomFormatDate2.mjs.map +1 -1
  361. package/lib/internal/_randomFormatDatetime.mjs +2 -7
  362. package/lib/internal/_randomFormatDatetime.mjs.map +1 -1
  363. package/lib/internal/_randomFormatDatetime2.mjs +15 -22
  364. package/lib/internal/_randomFormatDatetime2.mjs.map +1 -1
  365. package/lib/internal/_randomFormatDuration.mjs +2 -7
  366. package/lib/internal/_randomFormatDuration.mjs.map +1 -1
  367. package/lib/internal/_randomFormatDuration2.mjs +32 -39
  368. package/lib/internal/_randomFormatDuration2.mjs.map +1 -1
  369. package/lib/internal/_randomFormatEmail.mjs +2 -7
  370. package/lib/internal/_randomFormatEmail.mjs.map +1 -1
  371. package/lib/internal/_randomFormatEmail2.mjs +14 -21
  372. package/lib/internal/_randomFormatEmail2.mjs.map +1 -1
  373. package/lib/internal/_randomFormatHostname.mjs +2 -7
  374. package/lib/internal/_randomFormatHostname.mjs.map +1 -1
  375. package/lib/internal/_randomFormatHostname2.mjs +10 -17
  376. package/lib/internal/_randomFormatHostname2.mjs.map +1 -1
  377. package/lib/internal/_randomFormatIdnEmail.mjs +2 -7
  378. package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -1
  379. package/lib/internal/_randomFormatIdnEmail2.mjs +9 -16
  380. package/lib/internal/_randomFormatIdnEmail2.mjs.map +1 -1
  381. package/lib/internal/_randomFormatIdnHostname.mjs +2 -7
  382. package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
  383. package/lib/internal/_randomFormatIdnHostname2.mjs +9 -16
  384. package/lib/internal/_randomFormatIdnHostname2.mjs.map +1 -1
  385. package/lib/internal/_randomFormatIpv4.mjs +2 -7
  386. package/lib/internal/_randomFormatIpv4.mjs.map +1 -1
  387. package/lib/internal/_randomFormatIpv42.mjs +14 -21
  388. package/lib/internal/_randomFormatIpv42.mjs.map +1 -1
  389. package/lib/internal/_randomFormatIpv6.mjs +2 -7
  390. package/lib/internal/_randomFormatIpv6.mjs.map +1 -1
  391. package/lib/internal/_randomFormatIpv62.mjs +14 -21
  392. package/lib/internal/_randomFormatIpv62.mjs.map +1 -1
  393. package/lib/internal/_randomFormatIri.mjs +2 -7
  394. package/lib/internal/_randomFormatIri.mjs.map +1 -1
  395. package/lib/internal/_randomFormatIri2.mjs +9 -16
  396. package/lib/internal/_randomFormatIri2.mjs.map +1 -1
  397. package/lib/internal/_randomFormatIriReference.mjs +2 -7
  398. package/lib/internal/_randomFormatIriReference.mjs.map +1 -1
  399. package/lib/internal/_randomFormatIriReference2.mjs +9 -16
  400. package/lib/internal/_randomFormatIriReference2.mjs.map +1 -1
  401. package/lib/internal/_randomFormatJsonPointer.mjs +2 -7
  402. package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -1
  403. package/lib/internal/_randomFormatJsonPointer2.mjs +10 -17
  404. package/lib/internal/_randomFormatJsonPointer2.mjs.map +1 -1
  405. package/lib/internal/_randomFormatPassword.mjs +2 -7
  406. package/lib/internal/_randomFormatPassword.mjs.map +1 -1
  407. package/lib/internal/_randomFormatPassword2.mjs +13 -20
  408. package/lib/internal/_randomFormatPassword2.mjs.map +1 -1
  409. package/lib/internal/_randomFormatRegex.mjs +2 -7
  410. package/lib/internal/_randomFormatRegex.mjs.map +1 -1
  411. package/lib/internal/_randomFormatRegex2.mjs +7 -15
  412. package/lib/internal/_randomFormatRegex2.mjs.map +1 -1
  413. package/lib/internal/_randomFormatRelativeJsonPointer.mjs +2 -7
  414. package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -1
  415. package/lib/internal/_randomFormatRelativeJsonPointer2.mjs +13 -20
  416. package/lib/internal/_randomFormatRelativeJsonPointer2.mjs.map +1 -1
  417. package/lib/internal/_randomFormatTime.mjs +2 -7
  418. package/lib/internal/_randomFormatTime.mjs.map +1 -1
  419. package/lib/internal/_randomFormatTime2.mjs +16 -23
  420. package/lib/internal/_randomFormatTime2.mjs.map +1 -1
  421. package/lib/internal/_randomFormatUri.mjs +2 -7
  422. package/lib/internal/_randomFormatUri.mjs.map +1 -1
  423. package/lib/internal/_randomFormatUri2.mjs +9 -16
  424. package/lib/internal/_randomFormatUri2.mjs.map +1 -1
  425. package/lib/internal/_randomFormatUriReference.mjs +2 -7
  426. package/lib/internal/_randomFormatUriReference.mjs.map +1 -1
  427. package/lib/internal/_randomFormatUriReference2.mjs +9 -16
  428. package/lib/internal/_randomFormatUriReference2.mjs.map +1 -1
  429. package/lib/internal/_randomFormatUriTemplate.mjs +2 -7
  430. package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -1
  431. package/lib/internal/_randomFormatUriTemplate2.mjs +9 -16
  432. package/lib/internal/_randomFormatUriTemplate2.mjs.map +1 -1
  433. package/lib/internal/_randomFormatUrl.mjs +2 -7
  434. package/lib/internal/_randomFormatUrl.mjs.map +1 -1
  435. package/lib/internal/_randomFormatUrl2.mjs +14 -21
  436. package/lib/internal/_randomFormatUrl2.mjs.map +1 -1
  437. package/lib/internal/_randomFormatUuid.mjs +2 -7
  438. package/lib/internal/_randomFormatUuid.mjs.map +1 -1
  439. package/lib/internal/_randomFormatUuid2.mjs +10 -18
  440. package/lib/internal/_randomFormatUuid2.mjs.map +1 -1
  441. package/lib/internal/_randomInteger.js.map +1 -1
  442. package/lib/internal/_randomInteger.mjs +2 -7
  443. package/lib/internal/_randomInteger.mjs.map +1 -1
  444. package/lib/internal/_randomInteger2.mjs +44 -52
  445. package/lib/internal/_randomInteger2.mjs.map +1 -1
  446. package/lib/internal/_randomNumber.mjs +2 -7
  447. package/lib/internal/_randomNumber.mjs.map +1 -1
  448. package/lib/internal/_randomNumber2.mjs +63 -71
  449. package/lib/internal/_randomNumber2.mjs.map +1 -1
  450. package/lib/internal/_randomPattern.mjs +2 -7
  451. package/lib/internal/_randomPattern.mjs.map +1 -1
  452. package/lib/internal/_randomPattern2.mjs +18 -26
  453. package/lib/internal/_randomPattern2.mjs.map +1 -1
  454. package/lib/internal/_randomPick.mjs +2 -7
  455. package/lib/internal/_randomPick.mjs.map +1 -1
  456. package/lib/internal/_randomPick2.mjs +14 -21
  457. package/lib/internal/_randomPick2.mjs.map +1 -1
  458. package/lib/internal/_randomString.mjs +2 -7
  459. package/lib/internal/_randomString.mjs.map +1 -1
  460. package/lib/internal/_randomString2.mjs +26 -33
  461. package/lib/internal/_randomString2.mjs.map +1 -1
  462. package/lib/internal/_throwTypeGuardError.mjs +2 -7
  463. package/lib/internal/_throwTypeGuardError.mjs.map +1 -1
  464. package/lib/internal/_throwTypeGuardError2.mjs +11 -18
  465. package/lib/internal/_throwTypeGuardError2.mjs.map +1 -1
  466. package/lib/internal/_validateReport.js.map +1 -1
  467. package/lib/internal/_validateReport.mjs +2 -7
  468. package/lib/internal/_validateReport.mjs.map +1 -1
  469. package/lib/internal/_validateReport2.mjs +26 -34
  470. package/lib/internal/_validateReport2.mjs.map +1 -1
  471. package/lib/internal/private/__notationCapitalize.mjs +2 -7
  472. package/lib/internal/private/__notationCapitalize.mjs.map +1 -1
  473. package/lib/internal/private/__notationCapitalize2.mjs +6 -14
  474. package/lib/internal/private/__notationCapitalize2.mjs.map +1 -1
  475. package/lib/internal/private/__notationUnsnake.mjs +2 -7
  476. package/lib/internal/private/__notationUnsnake.mjs.map +1 -1
  477. package/lib/internal/private/__notationUnsnake2.mjs +26 -34
  478. package/lib/internal/private/__notationUnsnake2.mjs.map +1 -1
  479. package/lib/json.mjs +2 -7
  480. package/lib/json.mjs.map +1 -1
  481. package/lib/json2.mjs +89 -96
  482. package/lib/json2.mjs.map +1 -1
  483. package/lib/llm.d.ts +1 -1
  484. package/lib/llm.mjs +2 -7
  485. package/lib/llm.mjs.map +1 -1
  486. package/lib/llm2.mjs +49 -56
  487. package/lib/llm2.mjs.map +1 -1
  488. package/lib/misc.mjs +2 -7
  489. package/lib/misc.mjs.map +1 -1
  490. package/lib/misc2.mjs +89 -96
  491. package/lib/misc2.mjs.map +1 -1
  492. package/lib/module.mjs +1 -7
  493. package/lib/module.mjs.map +1 -1
  494. package/lib/module2.mjs +168 -161
  495. package/lib/module2.mjs.map +1 -1
  496. package/lib/notations.mjs +2 -7
  497. package/lib/notations.mjs.map +1 -1
  498. package/lib/notations2.mjs +124 -131
  499. package/lib/notations2.mjs.map +1 -1
  500. package/lib/protobuf.mjs +2 -7
  501. package/lib/protobuf.mjs.map +1 -1
  502. package/lib/protobuf2.mjs +89 -96
  503. package/lib/protobuf2.mjs.map +1 -1
  504. package/lib/re-exports.mjs +1 -7
  505. package/lib/re-exports.mjs.map +1 -1
  506. package/lib/re-exports2.mjs +12 -16
  507. package/lib/re-exports2.mjs.map +1 -1
  508. package/lib/reflect.mjs +2 -7
  509. package/lib/reflect.mjs.map +1 -1
  510. package/lib/reflect2.mjs +19 -26
  511. package/lib/reflect2.mjs.map +1 -1
  512. package/lib/transform.d.ts +6 -3
  513. package/lib/transform.js +5 -10
  514. package/lib/transform.js.map +1 -1
  515. package/lib/transform.mjs +1 -7
  516. package/lib/transform.mjs.map +1 -1
  517. package/lib/transform2.mjs +59 -72
  518. package/lib/transform2.mjs.map +1 -1
  519. package/lib/transformers/NoTransformConfigurationError.mjs +2 -7
  520. package/lib/transformers/NoTransformConfigurationError.mjs.map +1 -1
  521. package/lib/transformers/NoTransformConfigurationError2.mjs +17 -25
  522. package/lib/transformers/NoTransformConfigurationError2.mjs.map +1 -1
  523. package/native/adapter/adapter.go +168 -0
  524. package/native/adapter/cleanup.go +218 -0
  525. package/native/adapter/imports.go +91 -0
  526. package/native/adapter/visit.go +168 -0
  527. package/native/cmd/ttsc-typia/build.go +252 -0
  528. package/native/cmd/ttsc-typia/main.go +95 -0
  529. package/native/cmd/ttsc-typia/transform.go +290 -0
  530. package/native/core/context/IProgrammerProps.go +14 -0
  531. package/native/core/context/ITransformOptions.go +9 -0
  532. package/native/core/context/ITypiaContext.go +23 -0
  533. package/native/core/context/TransformerError.go +117 -0
  534. package/native/core/context/index.go +1 -0
  535. package/native/core/factories/CommentFactory.go +27 -0
  536. package/native/core/factories/ExpressionFactory.go +334 -0
  537. package/native/core/factories/FormatCheatSheet.go +30 -0
  538. package/native/core/factories/IdentifierFactory.go +163 -0
  539. package/native/core/factories/JsonMetadataFactory.go +162 -0
  540. package/native/core/factories/LiteralFactory.go +221 -0
  541. package/native/core/factories/MetadataCommentTagFactory.go +433 -0
  542. package/native/core/factories/MetadataFactory.go +529 -0
  543. package/native/core/factories/MetadataTypeTagFactory.go +560 -0
  544. package/native/core/factories/MetadataTypeTagSchemaFactory.go +117 -0
  545. package/native/core/factories/NumericRangeFactory.go +120 -0
  546. package/native/core/factories/ProtobufFactory.go +1068 -0
  547. package/native/core/factories/StatementFactory.go +105 -0
  548. package/native/core/factories/TemplateFactory.go +77 -0
  549. package/native/core/factories/TypeFactory.go +163 -0
  550. package/native/core/factories/ValueFactory.go +36 -0
  551. package/native/core/factories/index.go +1 -0
  552. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +56 -0
  553. package/native/core/factories/internal/metadata/MetadataHelper.go +225 -0
  554. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +80 -0
  555. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +34 -0
  556. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +44 -0
  557. package/native/core/factories/internal/metadata/emplace_metadata_object.go +231 -0
  558. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +58 -0
  559. package/native/core/factories/internal/metadata/explore_metadata.go +39 -0
  560. package/native/core/factories/internal/metadata/iterate_metadata.go +55 -0
  561. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +36 -0
  562. package/native/core/factories/internal/metadata/iterate_metadata_array.go +77 -0
  563. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +63 -0
  564. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +30 -0
  565. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +247 -0
  566. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +20 -0
  567. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +86 -0
  568. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +56 -0
  569. package/native/core/factories/internal/metadata/iterate_metadata_function.go +93 -0
  570. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +340 -0
  571. package/native/core/factories/internal/metadata/iterate_metadata_map.go +60 -0
  572. package/native/core/factories/internal/metadata/iterate_metadata_native.go +117 -0
  573. package/native/core/factories/internal/metadata/iterate_metadata_object.go +35 -0
  574. package/native/core/factories/internal/metadata/iterate_metadata_set.go +46 -0
  575. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +157 -0
  576. package/native/core/factories/internal/metadata/iterate_metadata_template.go +41 -0
  577. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +24 -0
  578. package/native/core/factories/internal/metadata/iterate_metadata_union.go +22 -0
  579. package/native/core/index.go +1 -0
  580. package/native/core/programmers/AssertProgrammer.go +483 -0
  581. package/native/core/programmers/ImportProgrammer.go +252 -0
  582. package/native/core/programmers/IsProgrammer.go +370 -0
  583. package/native/core/programmers/RandomProgrammer.go +1271 -0
  584. package/native/core/programmers/ValidateProgrammer.go +457 -0
  585. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +169 -0
  586. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +130 -0
  587. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +126 -0
  588. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +100 -0
  589. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +214 -0
  590. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +125 -0
  591. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +168 -0
  592. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +248 -0
  593. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +142 -0
  594. package/native/core/programmers/functional/index.go +1 -0
  595. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +53 -0
  596. package/native/core/programmers/helpers/AtomicPredicator.go +62 -0
  597. package/native/core/programmers/helpers/CloneJoiner.go +261 -0
  598. package/native/core/programmers/helpers/FunctionProgrammer.go +116 -0
  599. package/native/core/programmers/helpers/HttpMetadataUtil.go +30 -0
  600. package/native/core/programmers/helpers/ICheckEntry.go +14 -0
  601. package/native/core/programmers/helpers/IExpressionEntry.go +13 -0
  602. package/native/core/programmers/helpers/NotationJoiner.go +194 -0
  603. package/native/core/programmers/helpers/OptionPredicator.go +23 -0
  604. package/native/core/programmers/helpers/ProtobufUtil.go +297 -0
  605. package/native/core/programmers/helpers/ProtobufWire.go +14 -0
  606. package/native/core/programmers/helpers/PruneJoiner.go +274 -0
  607. package/native/core/programmers/helpers/RandomJoiner.go +193 -0
  608. package/native/core/programmers/helpers/StringifyJoinder.go +394 -0
  609. package/native/core/programmers/helpers/StringifyPredicator.go +25 -0
  610. package/native/core/programmers/helpers/UnionExplorer.go +939 -0
  611. package/native/core/programmers/helpers/UnionPredicator.go +95 -0
  612. package/native/core/programmers/helpers/disable_function_programmer_declare.go +10 -0
  613. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +115 -0
  614. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +59 -0
  615. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +71 -0
  616. package/native/core/programmers/http/HttpFormDataProgrammer.go +414 -0
  617. package/native/core/programmers/http/HttpHeadersProgrammer.go +418 -0
  618. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +140 -0
  619. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +53 -0
  620. package/native/core/programmers/http/HttpIsQueryProgrammer.go +65 -0
  621. package/native/core/programmers/http/HttpParameterProgrammer.go +193 -0
  622. package/native/core/programmers/http/HttpQueryProgrammer.go +475 -0
  623. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +109 -0
  624. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +56 -0
  625. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +68 -0
  626. package/native/core/programmers/http/index.go +1 -0
  627. package/native/core/programmers/index.go +1 -0
  628. package/native/core/programmers/internal/CheckerProgrammer.go +1695 -0
  629. package/native/core/programmers/internal/FeatureProgrammer.go +749 -0
  630. package/native/core/programmers/iterate/check_array_length.go +65 -0
  631. package/native/core/programmers/iterate/check_bigint.go +73 -0
  632. package/native/core/programmers/iterate/check_dynamic_key.go +257 -0
  633. package/native/core/programmers/iterate/check_dynamic_properties.go +283 -0
  634. package/native/core/programmers/iterate/check_everything.go +30 -0
  635. package/native/core/programmers/iterate/check_native.go +41 -0
  636. package/native/core/programmers/iterate/check_number.go +169 -0
  637. package/native/core/programmers/iterate/check_object.go +89 -0
  638. package/native/core/programmers/iterate/check_string.go +73 -0
  639. package/native/core/programmers/iterate/check_template.go +73 -0
  640. package/native/core/programmers/iterate/check_union_array_like.go +416 -0
  641. package/native/core/programmers/iterate/decode_union_object.go +150 -0
  642. package/native/core/programmers/iterate/feature_object_entries.go +172 -0
  643. package/native/core/programmers/iterate/json_schema_alias.go +61 -0
  644. package/native/core/programmers/iterate/json_schema_array.go +65 -0
  645. package/native/core/programmers/iterate/json_schema_bigint.go +17 -0
  646. package/native/core/programmers/iterate/json_schema_boolean.go +17 -0
  647. package/native/core/programmers/iterate/json_schema_constant.go +53 -0
  648. package/native/core/programmers/iterate/json_schema_description.go +21 -0
  649. package/native/core/programmers/iterate/json_schema_discriminator.go +57 -0
  650. package/native/core/programmers/iterate/json_schema_escaped.go +68 -0
  651. package/native/core/programmers/iterate/json_schema_jsDocTags.go +48 -0
  652. package/native/core/programmers/iterate/json_schema_native.go +59 -0
  653. package/native/core/programmers/iterate/json_schema_number.go +17 -0
  654. package/native/core/programmers/iterate/json_schema_object.go +179 -0
  655. package/native/core/programmers/iterate/json_schema_plugin.go +47 -0
  656. package/native/core/programmers/iterate/json_schema_station.go +251 -0
  657. package/native/core/programmers/iterate/json_schema_string.go +17 -0
  658. package/native/core/programmers/iterate/json_schema_template.go +63 -0
  659. package/native/core/programmers/iterate/json_schema_title.go +25 -0
  660. package/native/core/programmers/iterate/json_schema_tuple.go +41 -0
  661. package/native/core/programmers/iterate/metadata_to_pattern.go +64 -0
  662. package/native/core/programmers/iterate/postfix_of_tuple.go +12 -0
  663. package/native/core/programmers/iterate/prune_object_properties.go +101 -0
  664. package/native/core/programmers/iterate/stringify_dynamic_properties.go +212 -0
  665. package/native/core/programmers/iterate/stringify_native.go +9 -0
  666. package/native/core/programmers/iterate/stringify_regular_properties.go +108 -0
  667. package/native/core/programmers/iterate/template_to_pattern.go +29 -0
  668. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +22 -0
  669. package/native/core/programmers/json/JsonApplicationProgrammer.go +374 -0
  670. package/native/core/programmers/json/JsonAssertParseProgrammer.go +118 -0
  671. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +107 -0
  672. package/native/core/programmers/json/JsonIsParseProgrammer.go +165 -0
  673. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +113 -0
  674. package/native/core/programmers/json/JsonSchemaProgrammer.go +94 -0
  675. package/native/core/programmers/json/JsonSchemasProgrammer.go +148 -0
  676. package/native/core/programmers/json/JsonStringifyProgrammer.go +1423 -0
  677. package/native/core/programmers/json/JsonValidateParseProgrammer.go +107 -0
  678. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +125 -0
  679. package/native/core/programmers/json/index.go +1 -0
  680. package/native/core/programmers/llm/LlmApplicationProgrammer.go +500 -0
  681. package/native/core/programmers/llm/LlmCoerceProgrammer.go +108 -0
  682. package/native/core/programmers/llm/LlmControllerProgrammer.go +51 -0
  683. package/native/core/programmers/llm/LlmMetadataFactory.go +90 -0
  684. package/native/core/programmers/llm/LlmParametersProgrammer.go +168 -0
  685. package/native/core/programmers/llm/LlmParseProgrammer.go +120 -0
  686. package/native/core/programmers/llm/LlmSchemaProgrammer.go +474 -0
  687. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +146 -0
  688. package/native/core/programmers/llm/index.go +1 -0
  689. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +101 -0
  690. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +116 -0
  691. package/native/core/programmers/misc/MiscCloneProgrammer.go +1206 -0
  692. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +116 -0
  693. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +105 -0
  694. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +125 -0
  695. package/native/core/programmers/misc/MiscPruneProgrammer.go +798 -0
  696. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +122 -0
  697. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +113 -0
  698. package/native/core/programmers/misc/index.go +1 -0
  699. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +106 -0
  700. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1381 -0
  701. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +111 -0
  702. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +130 -0
  703. package/native/core/programmers/notations/index.go +1 -0
  704. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +124 -0
  705. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +145 -0
  706. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +845 -0
  707. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1207 -0
  708. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +121 -0
  709. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +115 -0
  710. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +273 -0
  711. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +110 -0
  712. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +145 -0
  713. package/native/core/programmers/protobuf/index.go +1 -0
  714. package/native/core/schemas/index.go +1 -0
  715. package/native/core/schemas/metadata/IMetadataDictionary.go +8 -0
  716. package/native/core/schemas/metadata/MetadataAlias.go +28 -0
  717. package/native/core/schemas/metadata/MetadataAliasType.go +52 -0
  718. package/native/core/schemas/metadata/MetadataApplication.go +41 -0
  719. package/native/core/schemas/metadata/MetadataArray.go +28 -0
  720. package/native/core/schemas/metadata/MetadataArrayType.go +47 -0
  721. package/native/core/schemas/metadata/MetadataAtomic.go +69 -0
  722. package/native/core/schemas/metadata/MetadataCollection.go +490 -0
  723. package/native/core/schemas/metadata/MetadataComponents.go +122 -0
  724. package/native/core/schemas/metadata/MetadataConstant.go +47 -0
  725. package/native/core/schemas/metadata/MetadataConstantValue.go +97 -0
  726. package/native/core/schemas/metadata/MetadataEscaped.go +36 -0
  727. package/native/core/schemas/metadata/MetadataFunction.go +46 -0
  728. package/native/core/schemas/metadata/MetadataMap.go +37 -0
  729. package/native/core/schemas/metadata/MetadataNative.go +72 -0
  730. package/native/core/schemas/metadata/MetadataObject.go +28 -0
  731. package/native/core/schemas/metadata/MetadataObjectType.go +146 -0
  732. package/native/core/schemas/metadata/MetadataParameter.go +46 -0
  733. package/native/core/schemas/metadata/MetadataProperty.go +50 -0
  734. package/native/core/schemas/metadata/MetadataSchema.go +863 -0
  735. package/native/core/schemas/metadata/MetadataSet.go +33 -0
  736. package/native/core/schemas/metadata/MetadataTemplate.go +70 -0
  737. package/native/core/schemas/metadata/MetadataTuple.go +20 -0
  738. package/native/core/schemas/metadata/MetadataTupleType.go +57 -0
  739. package/native/core/schemas/metadata/index.go +1 -0
  740. package/native/core/schemas/protobuf/IProtobufProperty.go +6 -0
  741. package/native/core/schemas/protobuf/IProtobufPropertyType.go +55 -0
  742. package/native/core/schemas/protobuf/IProtobufSchema.go +54 -0
  743. package/native/core/schemas/protobuf/index.go +1 -0
  744. package/native/core/typings/Writable.go +5 -0
  745. package/native/core/utils/PatternUtil.go +57 -0
  746. package/native/core/utils/ProtobufNameEncoder.go +47 -0
  747. package/native/go.mod +35 -0
  748. package/native/go.sum +22 -0
  749. package/native/go.work +20 -0
  750. package/native/go.work.sum +11 -0
  751. package/native/shim/printer/go.mod +5 -0
  752. package/native/shim/printer/shim.go +249 -0
  753. package/native/third_party/ttsc/driver/host.go +31 -0
  754. package/native/third_party/ttsc/driver/program.go +403 -0
  755. package/native/third_party/ttsc/driver/rewrite.go +315 -0
  756. package/native/third_party/ttsc/go.mod +46 -0
  757. package/native/third_party/ttsc/go.sum +22 -0
  758. package/native/third_party/ttsc/shim/ast/extra-shim.json +4 -0
  759. package/native/third_party/ttsc/shim/ast/go.mod +5 -0
  760. package/native/third_party/ttsc/shim/ast/lint.go +328 -0
  761. package/native/third_party/ttsc/shim/ast/shim.go +209 -0
  762. package/native/third_party/ttsc/shim/bundled/extra-shim.json +1 -0
  763. package/native/third_party/ttsc/shim/bundled/go.mod +5 -0
  764. package/native/third_party/ttsc/shim/bundled/shim.go +19 -0
  765. package/native/third_party/ttsc/shim/checker/extra-shim.json +31 -0
  766. package/native/third_party/ttsc/shim/checker/go.mod +5 -0
  767. package/native/third_party/ttsc/shim/checker/shim.go +166 -0
  768. package/native/third_party/ttsc/shim/compiler/extra-shim.json +4 -0
  769. package/native/third_party/ttsc/shim/compiler/go.mod +5 -0
  770. package/native/third_party/ttsc/shim/compiler/shim.go +50 -0
  771. package/native/third_party/ttsc/shim/core/extra-shim.json +4 -0
  772. package/native/third_party/ttsc/shim/core/go.mod +5 -0
  773. package/native/third_party/ttsc/shim/core/shim.go +26 -0
  774. package/native/third_party/ttsc/shim/diagnosticwriter/go.mod +5 -0
  775. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +137 -0
  776. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +29 -0
  777. package/native/third_party/ttsc/shim/parser/extra-shim.json +4 -0
  778. package/native/third_party/ttsc/shim/parser/go.mod +5 -0
  779. package/native/third_party/ttsc/shim/parser/shim.go +55 -0
  780. package/native/third_party/ttsc/shim/scanner/extra-shim.json +4 -0
  781. package/native/third_party/ttsc/shim/scanner/go.mod +5 -0
  782. package/native/third_party/ttsc/shim/scanner/shim.go +96 -0
  783. package/native/third_party/ttsc/shim/tsoptions/extra-shim.json +4 -0
  784. package/native/third_party/ttsc/shim/tsoptions/go.mod +5 -0
  785. package/native/third_party/ttsc/shim/tsoptions/shim.go +123 -0
  786. package/native/third_party/ttsc/shim/tspath/extra-shim.json +4 -0
  787. package/native/third_party/ttsc/shim/tspath/go.mod +5 -0
  788. package/native/third_party/ttsc/shim/tspath/shim.go +165 -0
  789. package/native/third_party/ttsc/shim/vfs/cachedvfs/extra-shim.json +4 -0
  790. package/native/third_party/ttsc/shim/vfs/cachedvfs/go.mod +5 -0
  791. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +12 -0
  792. package/native/third_party/ttsc/shim/vfs/extra-shim.json +4 -0
  793. package/native/third_party/ttsc/shim/vfs/go.mod +5 -0
  794. package/native/third_party/ttsc/shim/vfs/osvfs/extra-shim.json +4 -0
  795. package/native/third_party/ttsc/shim/vfs/osvfs/go.mod +5 -0
  796. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +13 -0
  797. package/native/third_party/ttsc/shim/vfs/shim.go +19 -0
  798. package/native/transform/CallExpressionTransformer.go +620 -0
  799. package/native/transform/FileTransformer.go +172 -0
  800. package/native/transform/ITransformProps.go +5 -0
  801. package/native/transform/ImportTransformer.go +282 -0
  802. package/native/transform/NodeTransformer.go +25 -0
  803. package/native/transform/TransformerError.go +11 -0
  804. package/native/transform/TypiaGenerator.go +168 -0
  805. package/native/transform/features/AssertTransformer.go +39 -0
  806. package/native/transform/features/CreateAssertTransformer.go +39 -0
  807. package/native/transform/features/CreateIsTransformer.go +35 -0
  808. package/native/transform/features/CreateRandomTransformer.go +47 -0
  809. package/native/transform/features/CreateValidateTransformer.go +35 -0
  810. package/native/transform/features/IsTransformer.go +35 -0
  811. package/native/transform/features/RandomTransformer.go +51 -0
  812. package/native/transform/features/ValidateTransformer.go +35 -0
  813. package/native/transform/features/functional/FunctionalGenericTransformer.go +70 -0
  814. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +22 -0
  815. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +22 -0
  816. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +28 -0
  817. package/native/transform/features/http/CreateHttpFormDataTransformer.go +22 -0
  818. package/native/transform/features/http/CreateHttpHeadersTransformer.go +22 -0
  819. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +22 -0
  820. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +22 -0
  821. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +28 -0
  822. package/native/transform/features/http/CreateHttpParameterTransformer.go +22 -0
  823. package/native/transform/features/http/CreateHttpQueryTransformer.go +28 -0
  824. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +22 -0
  825. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +22 -0
  826. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +28 -0
  827. package/native/transform/features/http/HttpAssertFormDataTransformer.go +22 -0
  828. package/native/transform/features/http/HttpAssertHeadersTransformer.go +22 -0
  829. package/native/transform/features/http/HttpAssertQueryTransformer.go +28 -0
  830. package/native/transform/features/http/HttpFormDataTransformer.go +22 -0
  831. package/native/transform/features/http/HttpHeadersTransformer.go +22 -0
  832. package/native/transform/features/http/HttpIsFormDataTransformer.go +22 -0
  833. package/native/transform/features/http/HttpIsHeadersTransformer.go +22 -0
  834. package/native/transform/features/http/HttpIsQueryTransformer.go +28 -0
  835. package/native/transform/features/http/HttpParameterTransformer.go +22 -0
  836. package/native/transform/features/http/HttpQueryTransformer.go +28 -0
  837. package/native/transform/features/http/HttpValidateFormDataTransformer.go +22 -0
  838. package/native/transform/features/http/HttpValidateHeadersTransformer.go +22 -0
  839. package/native/transform/features/http/HttpValidateQueryTransformer.go +28 -0
  840. package/native/transform/features/json/JsonApplicationTransformer.go +76 -0
  841. package/native/transform/features/json/JsonAssertParseTransformer.go +22 -0
  842. package/native/transform/features/json/JsonAssertStringifyTransformer.go +22 -0
  843. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +22 -0
  844. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +22 -0
  845. package/native/transform/features/json/JsonCreateIsParseTransformer.go +22 -0
  846. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +22 -0
  847. package/native/transform/features/json/JsonCreateStringifyTransformer.go +22 -0
  848. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +22 -0
  849. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +22 -0
  850. package/native/transform/features/json/JsonIsParseTransformer.go +22 -0
  851. package/native/transform/features/json/JsonIsStringifyTransformer.go +22 -0
  852. package/native/transform/features/json/JsonSchemaTransformer.go +176 -0
  853. package/native/transform/features/json/JsonSchemasTransformer.go +110 -0
  854. package/native/transform/features/json/JsonStringifyTransformer.go +22 -0
  855. package/native/transform/features/json/JsonValidateParseTransformer.go +22 -0
  856. package/native/transform/features/json/JsonValidateStringifyTransformer.go +22 -0
  857. package/native/transform/features/llm/LlmApplicationTransformer.go +54 -0
  858. package/native/transform/features/llm/LlmCoerceTransformer.go +61 -0
  859. package/native/transform/features/llm/LlmControllerTransformer.go +59 -0
  860. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +54 -0
  861. package/native/transform/features/llm/LlmCreateParseTransformer.go +54 -0
  862. package/native/transform/features/llm/LlmParametersTransformer.go +49 -0
  863. package/native/transform/features/llm/LlmParseTransformer.go +61 -0
  864. package/native/transform/features/llm/LlmSchemaTransformer.go +167 -0
  865. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +55 -0
  866. package/native/transform/features/misc/MiscAssertCloneTransformer.go +22 -0
  867. package/native/transform/features/misc/MiscAssertPruneTransformer.go +22 -0
  868. package/native/transform/features/misc/MiscCloneTransformer.go +22 -0
  869. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +22 -0
  870. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +22 -0
  871. package/native/transform/features/misc/MiscCreateCloneTransformer.go +22 -0
  872. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +22 -0
  873. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +22 -0
  874. package/native/transform/features/misc/MiscCreatePruneTransformer.go +22 -0
  875. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +22 -0
  876. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +22 -0
  877. package/native/transform/features/misc/MiscIsCloneTransformer.go +22 -0
  878. package/native/transform/features/misc/MiscIsPruneTransformer.go +22 -0
  879. package/native/transform/features/misc/MiscLiteralsTransformer.go +32 -0
  880. package/native/transform/features/misc/MiscPruneTransformer.go +22 -0
  881. package/native/transform/features/misc/MiscValidateCloneTransformer.go +22 -0
  882. package/native/transform/features/misc/MiscValidatePruneTransformer.go +22 -0
  883. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +27 -0
  884. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +27 -0
  885. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +27 -0
  886. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +27 -0
  887. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +27 -0
  888. package/native/transform/features/notations/NotationGeneralTransformer.go +36 -0
  889. package/native/transform/features/notations/NotationIsGeneralTransformer.go +27 -0
  890. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +27 -0
  891. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +22 -0
  892. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +22 -0
  893. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +22 -0
  894. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +22 -0
  895. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +22 -0
  896. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +22 -0
  897. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +22 -0
  898. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +22 -0
  899. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +22 -0
  900. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +22 -0
  901. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +22 -0
  902. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +22 -0
  903. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +22 -0
  904. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +22 -0
  905. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +31 -0
  906. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +22 -0
  907. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +22 -0
  908. package/native/transform/features/reflect/ReflectMetadataTransformer.go +74 -0
  909. package/native/transform/features/reflect/ReflectNameTransformer.go +100 -0
  910. package/native/transform/features/reflect/ReflectSchemaTransformer.go +153 -0
  911. package/native/transform/features/reflect/ReflectSchemasTransformer.go +69 -0
  912. package/native/transform/index.go +1 -0
  913. package/native/transform/internal/GenericTransformer.go +235 -0
  914. package/native/transform/transform.go +50 -0
  915. package/package.json +11 -20
  916. package/src/TypeGuardError.ts +1 -0
  917. package/src/executable/TypiaGenerateWizard.ts +87 -64
  918. package/src/executable/generate/ttsc.ts +18 -49
  919. package/src/internal/_randomInteger.ts +5 -5
  920. package/src/internal/_validateReport.ts +2 -1
  921. package/src/llm.ts +1 -1
  922. package/src/transform.ts +6 -14
  923. package/bin/ttsc-typia-native +0 -0
@@ -0,0 +1,1271 @@
1
+ package programmers
2
+
3
+ import (
4
+ "fmt"
5
+ "math"
6
+ "strings"
7
+
8
+ shimast "github.com/microsoft/typescript-go/shim/ast"
9
+ shimchecker "github.com/microsoft/typescript-go/shim/checker"
10
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
11
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
12
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
13
+ nativeinternal "github.com/samchon/typia/packages/typia/native/core/programmers/internal"
14
+ nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
15
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
16
+ )
17
+
18
+ type randomProgrammerNamespace struct{}
19
+
20
+ var RandomProgrammer = randomProgrammerNamespace{}
21
+
22
+ type RandomProgrammer_IProps struct {
23
+ Context nativecontext.ITypiaContext
24
+ Modulo *shimast.Node
25
+ Type *shimchecker.Type
26
+ Name *string
27
+ Init *shimast.Node
28
+ }
29
+
30
+ type RandomProgrammer_IDecomposeProps struct {
31
+ Context nativecontext.ITypiaContext
32
+ Functor *nativehelpers.FunctionProgrammer
33
+ Type *shimchecker.Type
34
+ Name *string
35
+ Init *shimast.Node
36
+ }
37
+
38
+ type randomProgrammer_IExplore struct {
39
+ Function bool
40
+ Recursive bool
41
+ }
42
+
43
+ type randomProgrammer_decodeProps struct {
44
+ Context nativecontext.ITypiaContext
45
+ Functor *nativehelpers.FunctionProgrammer
46
+ Explore randomProgrammer_IExplore
47
+ Metadata *schemametadata.MetadataSchema
48
+ }
49
+
50
+ type randomProgrammer_decodeAtomicProps struct {
51
+ Context nativecontext.ITypiaContext
52
+ Atomic *schemametadata.MetadataAtomic
53
+ }
54
+
55
+ type randomProgrammer_decodeArrayProps struct {
56
+ Context nativecontext.ITypiaContext
57
+ Functor *nativehelpers.FunctionProgrammer
58
+ Explore randomProgrammer_IExplore
59
+ Array *schemametadata.MetadataArray
60
+ }
61
+
62
+ type randomProgrammer_decodeTupleProps struct {
63
+ Context nativecontext.ITypiaContext
64
+ Functor *nativehelpers.FunctionProgrammer
65
+ Explore randomProgrammer_IExplore
66
+ Tuple *schemametadata.MetadataTuple
67
+ }
68
+
69
+ type randomProgrammer_decodeObjectProps struct {
70
+ Functor *nativehelpers.FunctionProgrammer
71
+ Explore randomProgrammer_IExplore
72
+ Object *schemametadata.MetadataObjectType
73
+ }
74
+
75
+ const (
76
+ randomProgrammer_PREFIX_OBJECT = "_ro"
77
+ randomProgrammer_PREFIX_ARRAY = "_ra"
78
+ randomProgrammer_PREFIX_TUPLE = "_rt"
79
+ )
80
+
81
+ var randomProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
82
+
83
+ func (randomProgrammerNamespace) Decompose(props RandomProgrammer_IDecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
84
+ collection := schemametadata.NewMetadataCollection()
85
+ result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
86
+ Checker: props.Context.Checker,
87
+ Transformer: props.Context.Transformer,
88
+ Options: nativefactories.MetadataFactory_IOptions{
89
+ Escape: false,
90
+ Constant: true,
91
+ Absorb: true,
92
+ Validate: RandomProgrammer.Validate,
93
+ },
94
+ Components: collection,
95
+ Type: props.Type,
96
+ })
97
+ if result.Success == false {
98
+ panic(nativecontext.TransformerError_from(struct {
99
+ Code string
100
+ Errors []nativecontext.TransformerError_MetadataFactory_IError
101
+ }{
102
+ Code: props.Functor.Method,
103
+ Errors: randomProgrammer_errors(result.Errors),
104
+ }))
105
+ }
106
+
107
+ functions := map[string]*shimast.Node{}
108
+ for i, stmt := range randomProgrammer_write_object_functions(struct {
109
+ Context nativecontext.ITypiaContext
110
+ Functor *nativehelpers.FunctionProgrammer
111
+ Collection *schemametadata.MetadataCollection
112
+ }{Context: props.Context, Functor: props.Functor, Collection: collection}) {
113
+ functions[randomProgrammer_prefix_object(i)] = stmt
114
+ }
115
+ for i, stmt := range randomProgrammer_write_array_functions(struct {
116
+ Context nativecontext.ITypiaContext
117
+ Functor *nativehelpers.FunctionProgrammer
118
+ Collection *schemametadata.MetadataCollection
119
+ }{Context: props.Context, Functor: props.Functor, Collection: collection}) {
120
+ functions[randomProgrammer_prefix_array(i)] = stmt
121
+ }
122
+ for i, stmt := range randomProgrammer_write_tuple_functions(struct {
123
+ Context nativecontext.ITypiaContext
124
+ Functor *nativehelpers.FunctionProgrammer
125
+ Collection *schemametadata.MetadataCollection
126
+ }{Context: props.Context, Functor: props.Functor, Collection: collection}) {
127
+ functions[randomProgrammer_prefix_tuple(i)] = stmt
128
+ }
129
+
130
+ randomGeneratorType := randomProgrammer_factory.NewTypeReferenceNode(
131
+ randomProgrammer_factory.NewIdentifier("Partial"),
132
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
133
+ randomProgrammer_import_type(props.Context, ImportProgrammer_TypeProps{
134
+ File: "typia",
135
+ Name: "IRandomGenerator",
136
+ }),
137
+ }),
138
+ )
139
+ init := props.Init
140
+ if init == nil {
141
+ init = randomProgrammer_factory.NewToken(shimast.KindQuestionToken)
142
+ }
143
+ resolvedType := randomProgrammer_import_type(props.Context, ImportProgrammer_TypeProps{
144
+ File: "typia",
145
+ Name: "Resolved",
146
+ Arguments: []*shimast.TypeNode{
147
+ randomProgrammer_type_reference(props.Context, props.Type, props.Name),
148
+ },
149
+ })
150
+ return nativeinternal.FeatureProgrammer_IDecomposed{
151
+ Functions: functions,
152
+ Statements: []*shimast.Node{
153
+ nativefactories.StatementFactory.Mut(nativefactories.StatementFactory_MutProps{
154
+ Name: "_generator",
155
+ Type: randomProgrammer_factory.NewUnionTypeNode(randomProgrammer_factory.NewNodeList([]*shimast.Node{
156
+ randomGeneratorType,
157
+ randomProgrammer_factory.NewTypeReferenceNode(randomProgrammer_factory.NewIdentifier("undefined"), nil),
158
+ })),
159
+ }),
160
+ },
161
+ Arrow: randomProgrammer_factory.NewArrowFunction(
162
+ nil,
163
+ nil,
164
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
165
+ nativefactories.IdentifierFactory.Parameter("generator", randomGeneratorType, init),
166
+ }),
167
+ resolvedType,
168
+ nil,
169
+ randomProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
170
+ randomProgrammer_factory.NewBlock(randomProgrammer_factory.NewNodeList([]*shimast.Node{
171
+ randomProgrammer_factory.NewExpressionStatement(randomProgrammer_factory.NewBinaryExpression(
172
+ nil,
173
+ randomProgrammer_factory.NewIdentifier("_generator"),
174
+ nil,
175
+ randomProgrammer_factory.NewToken(shimast.KindEqualsToken),
176
+ randomProgrammer_factory.NewIdentifier("generator"),
177
+ )),
178
+ randomProgrammer_factory.NewReturnStatement(randomProgrammer_decode(randomProgrammer_decodeProps{
179
+ Context: props.Context,
180
+ Functor: props.Functor,
181
+ Explore: randomProgrammer_IExplore{
182
+ Function: false,
183
+ Recursive: false,
184
+ },
185
+ Metadata: result.Data,
186
+ })),
187
+ }), true),
188
+ ),
189
+ }
190
+ }
191
+
192
+ func (randomProgrammerNamespace) Write(props RandomProgrammer_IProps) *shimast.Node {
193
+ functor := nativehelpers.NewFunctionProgrammer(randomProgrammer_method_text(props.Modulo))
194
+ result := RandomProgrammer.Decompose(RandomProgrammer_IDecomposeProps{
195
+ Context: props.Context,
196
+ Functor: functor,
197
+ Type: props.Type,
198
+ Name: props.Name,
199
+ Init: props.Init,
200
+ })
201
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
202
+ Modulo: props.Modulo,
203
+ Functor: functor,
204
+ Result: result,
205
+ })
206
+ }
207
+
208
+ func (randomProgrammerNamespace) Validate(props struct {
209
+ Metadata *schemametadata.MetadataSchema
210
+ Explore nativefactories.MetadataFactory_IExplore
211
+ Top *schemametadata.MetadataSchema
212
+ }) []string {
213
+ output := []string{}
214
+ for _, native := range props.Metadata.Natives {
215
+ if native.Name == "WeakSet" {
216
+ output = append(output, "WeakSet is not supported.")
217
+ break
218
+ }
219
+ if native.Name == "WeakMap" {
220
+ output = append(output, "WeakMap is not supported.")
221
+ break
222
+ }
223
+ }
224
+ return output
225
+ }
226
+
227
+ func randomProgrammer_write_object_functions(props struct {
228
+ Context nativecontext.ITypiaContext
229
+ Functor *nativehelpers.FunctionProgrammer
230
+ Collection *schemametadata.MetadataCollection
231
+ }) []*shimast.Node {
232
+ output := []*shimast.Node{}
233
+ for i, obj := range props.Collection.Objects() {
234
+ index := i
235
+ object := obj
236
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
237
+ Name: randomProgrammer_prefix_object(index),
238
+ Value: randomProgrammer_factory.NewArrowFunction(
239
+ nil,
240
+ nil,
241
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
242
+ nativefactories.IdentifierFactory.Parameter("_recursive", nativefactories.TypeFactory.Keyword("boolean"), randomProgrammer_factory.NewIdentifier(fmt.Sprint(object.Recursive))),
243
+ nativefactories.IdentifierFactory.Parameter("_depth", nativefactories.TypeFactory.Keyword("number"), nativefactories.ExpressionFactory.Number(0)),
244
+ }),
245
+ nativefactories.TypeFactory.Keyword("any"),
246
+ nil,
247
+ randomProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
248
+ nativehelpers.RandomJoiner.Object(nativehelpers.RandomJoiner_ObjectProps{
249
+ Decode: func(metadata *schemametadata.MetadataSchema) *shimast.Node {
250
+ return randomProgrammer_decode(randomProgrammer_decodeProps{
251
+ Context: props.Context,
252
+ Functor: props.Functor,
253
+ Explore: randomProgrammer_IExplore{
254
+ Recursive: object.Recursive,
255
+ Function: true,
256
+ },
257
+ Metadata: metadata,
258
+ })
259
+ },
260
+ Object: object,
261
+ }),
262
+ ),
263
+ }))
264
+ }
265
+ return output
266
+ }
267
+
268
+ func randomProgrammer_write_array_functions(props struct {
269
+ Context nativecontext.ITypiaContext
270
+ Functor *nativehelpers.FunctionProgrammer
271
+ Collection *schemametadata.MetadataCollection
272
+ }) []*shimast.Node {
273
+ output := []*shimast.Node{}
274
+ for i, array := range props.Collection.Arrays() {
275
+ if array.Recursive == false {
276
+ continue
277
+ }
278
+ index := i
279
+ array := array
280
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
281
+ Name: randomProgrammer_prefix_array(index),
282
+ Value: randomProgrammer_factory.NewArrowFunction(
283
+ nil,
284
+ nil,
285
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
286
+ nativefactories.IdentifierFactory.Parameter("_schema", nativefactories.TypeFactory.Keyword("boolean"), nil),
287
+ nativefactories.IdentifierFactory.Parameter("_recursive", nativefactories.TypeFactory.Keyword("boolean"), randomProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)),
288
+ nativefactories.IdentifierFactory.Parameter("_depth", nativefactories.TypeFactory.Keyword("number"), nativefactories.ExpressionFactory.Number(0)),
289
+ }),
290
+ nativefactories.TypeFactory.Keyword("any"),
291
+ nil,
292
+ randomProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
293
+ nativehelpers.RandomJoiner.Array(nativehelpers.RandomJoiner_ArrayProps{
294
+ Decode: func(metadata *schemametadata.MetadataSchema) *shimast.Node {
295
+ return randomProgrammer_decode(randomProgrammer_decodeProps{
296
+ Context: props.Context,
297
+ Functor: props.Functor,
298
+ Explore: randomProgrammer_IExplore{
299
+ Recursive: true,
300
+ Function: true,
301
+ },
302
+ Metadata: metadata,
303
+ })
304
+ },
305
+ Recursive: true,
306
+ Expression: randomProgrammer_coalesce(props.Context, "array", "randomArray"),
307
+ Array: array,
308
+ Schema: nil,
309
+ }),
310
+ ),
311
+ }))
312
+ }
313
+ return output
314
+ }
315
+
316
+ func randomProgrammer_write_tuple_functions(props struct {
317
+ Context nativecontext.ITypiaContext
318
+ Functor *nativehelpers.FunctionProgrammer
319
+ Collection *schemametadata.MetadataCollection
320
+ }) []*shimast.Node {
321
+ output := []*shimast.Node{}
322
+ for i, tuple := range props.Collection.Tuples() {
323
+ if tuple.Recursive == false {
324
+ continue
325
+ }
326
+ index := i
327
+ tuple := tuple
328
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
329
+ Name: randomProgrammer_prefix_tuple(index),
330
+ Value: randomProgrammer_factory.NewArrowFunction(
331
+ nil,
332
+ nil,
333
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
334
+ nativefactories.IdentifierFactory.Parameter("_recursive", nativefactories.TypeFactory.Keyword("boolean"), randomProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)),
335
+ nativefactories.IdentifierFactory.Parameter("_depth", nativefactories.TypeFactory.Keyword("number"), nativefactories.ExpressionFactory.Number(0)),
336
+ }),
337
+ nativefactories.TypeFactory.Keyword("any"),
338
+ nil,
339
+ randomProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
340
+ nativehelpers.RandomJoiner.Tuple(nativehelpers.RandomJoiner_TupleProps{
341
+ Decode: func(metadata *schemametadata.MetadataSchema) *shimast.Node {
342
+ return randomProgrammer_decode(randomProgrammer_decodeProps{
343
+ Context: props.Context,
344
+ Functor: props.Functor,
345
+ Explore: randomProgrammer_IExplore{
346
+ Function: true,
347
+ Recursive: true,
348
+ },
349
+ Metadata: metadata,
350
+ })
351
+ },
352
+ Elements: tuple.Elements,
353
+ }),
354
+ ),
355
+ }))
356
+ }
357
+ return output
358
+ }
359
+
360
+ func randomProgrammer_decode(props randomProgrammer_decodeProps) *shimast.Node {
361
+ expressions := []*shimast.Node{}
362
+ if props.Metadata.Any {
363
+ expressions = append(expressions, randomProgrammer_factory.NewStringLiteral("any type used...", shimast.TokenFlagsNone))
364
+ }
365
+ if props.Metadata.IsRequired() == false || len(props.Metadata.Functions) != 0 {
366
+ expressions = append(expressions, randomProgrammer_factory.NewIdentifier("undefined"))
367
+ }
368
+ if props.Metadata.Nullable {
369
+ expressions = append(expressions, randomProgrammer_factory.NewKeywordExpression(shimast.KindNullKeyword))
370
+ }
371
+ for _, constant := range props.Metadata.Constants {
372
+ for _, value := range constant.Values {
373
+ if constant.Type == "boolean" {
374
+ if truthy, _ := value.Value.(bool); truthy {
375
+ expressions = append(expressions, randomProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword))
376
+ } else {
377
+ expressions = append(expressions, randomProgrammer_factory.NewKeywordExpression(shimast.KindFalseKeyword))
378
+ }
379
+ } else if constant.Type == "bigint" {
380
+ expressions = append(expressions, nativefactories.ExpressionFactory.Bigint(value.Value))
381
+ } else if constant.Type == "number" {
382
+ expressions = append(expressions, nativefactories.ExpressionFactory.Number(value.Value))
383
+ } else {
384
+ expressions = append(expressions, randomProgrammer_factory.NewStringLiteral(fmt.Sprint(value.Value), shimast.TokenFlagsNone))
385
+ }
386
+ }
387
+ }
388
+ for _, template := range props.Metadata.Templates {
389
+ expressions = append(expressions, randomProgrammer_decode_template(struct {
390
+ Context nativecontext.ITypiaContext
391
+ Functor *nativehelpers.FunctionProgrammer
392
+ Explore randomProgrammer_IExplore
393
+ Template *schemametadata.MetadataTemplate
394
+ }{
395
+ Context: props.Context, Functor: props.Functor, Explore: props.Explore, Template: template,
396
+ }))
397
+ }
398
+ for _, atomic := range props.Metadata.Atomics {
399
+ expressions = append(expressions, randomProgrammer_decode_atomic(randomProgrammer_decodeAtomicProps{
400
+ Context: props.Context,
401
+ Atomic: atomic,
402
+ })...)
403
+ }
404
+ if props.Metadata.Escaped != nil {
405
+ next := props
406
+ next.Metadata = props.Metadata.Escaped.Returns
407
+ expressions = append(expressions, randomProgrammer_decode(next))
408
+ }
409
+ for _, array := range props.Metadata.Arrays {
410
+ next := props
411
+ expressions = append(expressions, randomProgrammer_decode_array(randomProgrammer_decodeArrayProps{
412
+ Context: next.Context,
413
+ Functor: next.Functor,
414
+ Explore: next.Explore,
415
+ Array: array,
416
+ })...)
417
+ }
418
+ for _, tuple := range props.Metadata.Tuples {
419
+ expressions = append(expressions, randomProgrammer_decode_tuple(randomProgrammer_decodeTupleProps{
420
+ Context: props.Context,
421
+ Functor: props.Functor,
422
+ Explore: props.Explore,
423
+ Tuple: tuple,
424
+ }))
425
+ }
426
+ for _, object := range props.Metadata.Objects {
427
+ expressions = append(expressions, randomProgrammer_decode_object(randomProgrammer_decodeObjectProps{
428
+ Functor: props.Functor,
429
+ Explore: props.Explore,
430
+ Object: object.Type,
431
+ }))
432
+ }
433
+ for _, native := range props.Metadata.Natives {
434
+ expressions = append(expressions, randomProgrammer_decode_native(struct {
435
+ Context nativecontext.ITypiaContext
436
+ Functor *nativehelpers.FunctionProgrammer
437
+ Explore randomProgrammer_IExplore
438
+ Name string
439
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Name: native.Name}))
440
+ }
441
+ for _, set := range props.Metadata.Sets {
442
+ expressions = append(expressions, randomProgrammer_decode_set(struct {
443
+ Context nativecontext.ITypiaContext
444
+ Functor *nativehelpers.FunctionProgrammer
445
+ Explore randomProgrammer_IExplore
446
+ Set *schemametadata.MetadataSet
447
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Set: set}))
448
+ }
449
+ for _, entry := range props.Metadata.Maps {
450
+ expressions = append(expressions, randomProgrammer_decode_map(struct {
451
+ Context nativecontext.ITypiaContext
452
+ Functor *nativehelpers.FunctionProgrammer
453
+ Explore randomProgrammer_IExplore
454
+ Map *schemametadata.MetadataMap
455
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Map: entry}))
456
+ }
457
+ if len(expressions) == 1 {
458
+ return expressions[0]
459
+ }
460
+ pickers := make([]*shimast.Node, 0, len(expressions))
461
+ for _, expr := range expressions {
462
+ value := expr
463
+ pickers = append(pickers, randomProgrammer_factory.NewArrowFunction(
464
+ nil,
465
+ nil,
466
+ randomProgrammer_factory.NewNodeList(nil),
467
+ nil,
468
+ nil,
469
+ randomProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
470
+ value,
471
+ ))
472
+ }
473
+ return randomProgrammer_factory.NewCallExpression(
474
+ randomProgrammer_factory.NewCallExpression(
475
+ randomProgrammer_internal(props.Context, "randomPick"),
476
+ nil,
477
+ nil,
478
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
479
+ randomProgrammer_factory.NewArrayLiteralExpression(randomProgrammer_factory.NewNodeList(pickers), true),
480
+ }),
481
+ shimast.NodeFlagsNone,
482
+ ),
483
+ nil,
484
+ nil,
485
+ nil,
486
+ shimast.NodeFlagsNone,
487
+ )
488
+ }
489
+
490
+ func randomProgrammer_decode_atomic(props randomProgrammer_decodeAtomicProps) []*shimast.Node {
491
+ var schemaList []nativeiterate.JsonSchema
492
+ if props.Atomic.Type == "boolean" {
493
+ schemaList = nativeiterate.Json_schema_boolean_export(props.Atomic)
494
+ } else if props.Atomic.Type == "string" {
495
+ schemaList = nativeiterate.Json_schema_string_export(props.Atomic)
496
+ } else if props.Atomic.Type == "bigint" {
497
+ schemaList = nativeiterate.Json_schema_bigint_export(props.Atomic)
498
+ } else {
499
+ schemaList = nativeiterate.Json_schema_number_export(props.Atomic)
500
+ }
501
+ output := make([]*shimast.Node, 0, len(schemaList))
502
+ for _, schema := range schemaList {
503
+ composed := randomProgrammer_compose_atomic(props.Atomic.Type, schema)
504
+ output = append(output, randomProgrammer_factory.NewCallExpression(
505
+ nativefactories.ExpressionFactory.Coalesce(
506
+ nativefactories.IdentifierFactory.Access(randomProgrammer_factory.NewIdentifier("_generator"), composed.Method, true),
507
+ randomProgrammer_internal(props.Context, composed.Internal),
508
+ ),
509
+ nil,
510
+ nil,
511
+ randomProgrammer_factory.NewNodeList(composed.Arguments),
512
+ shimast.NodeFlagsNone,
513
+ ))
514
+ }
515
+ return output
516
+ }
517
+
518
+ type randomProgrammer_composedAtomic struct {
519
+ Method string
520
+ Internal string
521
+ Arguments []*shimast.Node
522
+ }
523
+
524
+ func randomProgrammer_compose_atomic(atomicType string, schema nativeiterate.JsonSchema) randomProgrammer_composedAtomic {
525
+ if atomicType == "string" {
526
+ if raw, ok := schema["format"].(string); ok && raw != "" {
527
+ if raw == "date-time" {
528
+ return randomProgrammer_composedAtomic{Method: "datetime", Internal: "randomFormatDatetime"}
529
+ }
530
+ method := randomProgrammer_format_method(raw)
531
+ return randomProgrammer_composedAtomic{
532
+ Method: method,
533
+ Internal: "randomFormat" + randomProgrammer_format_pascal(raw),
534
+ }
535
+ }
536
+ if pattern, ok := schema["pattern"].(string); ok && pattern != "" {
537
+ return randomProgrammer_composedAtomic{
538
+ Method: "pattern",
539
+ Internal: "randomPattern",
540
+ Arguments: []*shimast.Node{
541
+ randomProgrammer_factory.NewNewExpression(
542
+ randomProgrammer_factory.NewIdentifier("RegExp"),
543
+ nil,
544
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{randomProgrammer_factory.NewStringLiteral(pattern, shimast.TokenFlagsNone)}),
545
+ ),
546
+ },
547
+ }
548
+ }
549
+ } else if atomicType == "number" {
550
+ if typ, ok := schema["type"].(string); ok && typ == "integer" {
551
+ return randomProgrammer_composedAtomic{
552
+ Method: "integer",
553
+ Internal: "randomInteger",
554
+ Arguments: []*shimast.Node{nativefactories.LiteralFactory.Write(schema)},
555
+ }
556
+ }
557
+ } else if atomicType == "boolean" {
558
+ return randomProgrammer_composedAtomic{
559
+ Method: "boolean",
560
+ Internal: "randomBoolean",
561
+ }
562
+ }
563
+ return randomProgrammer_composedAtomic{
564
+ Method: atomicType,
565
+ Internal: "random" + randomProgrammer_capitalize(atomicType),
566
+ Arguments: []*shimast.Node{nativefactories.LiteralFactory.Write(schema)},
567
+ }
568
+ }
569
+
570
+ func randomProgrammer_decode_template(props struct {
571
+ Context nativecontext.ITypiaContext
572
+ Functor *nativehelpers.FunctionProgrammer
573
+ Explore randomProgrammer_IExplore
574
+ Template *schemametadata.MetadataTemplate
575
+ }) *shimast.Node {
576
+ expressions := make([]*shimast.Expression, 0, len(props.Template.Row))
577
+ for _, metadata := range props.Template.Row {
578
+ expressions = append(expressions, randomProgrammer_decode(randomProgrammer_decodeProps{
579
+ Context: props.Context,
580
+ Functor: props.Functor,
581
+ Explore: props.Explore,
582
+ Metadata: metadata,
583
+ }))
584
+ }
585
+ return nativefactories.TemplateFactory.Generate(expressions)
586
+ }
587
+
588
+ func randomProgrammer_decode_array(props randomProgrammer_decodeArrayProps) []*shimast.Node {
589
+ components := &nativeiterate.OpenApi_IComponents{}
590
+ schemaList := nativeiterate.Json_schema_array_export(nativeiterate.Json_schema_array_export_props{
591
+ Components: components,
592
+ Array: props.Array,
593
+ })
594
+ output := make([]*shimast.Node, 0, len(schemaList))
595
+ if props.Array.Type.Recursive {
596
+ for _, schema := range schemaList {
597
+ output = append(output, randomProgrammer_factory.NewCallExpression(
598
+ randomProgrammer_factory.NewIdentifier(props.Functor.UseLocal(randomProgrammer_prefix_array(*props.Array.Type.Index))),
599
+ nil,
600
+ nil,
601
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
602
+ randomProgrammer_schema_without_items(schema),
603
+ }),
604
+ shimast.NodeFlagsNone,
605
+ ))
606
+ }
607
+ return output
608
+ }
609
+ for _, schema := range schemaList {
610
+ schema := schema
611
+ output = append(output, nativehelpers.RandomJoiner.Array(nativehelpers.RandomJoiner_ArrayProps{
612
+ Decode: func(metadata *schemametadata.MetadataSchema) *shimast.Node {
613
+ return randomProgrammer_decode(randomProgrammer_decodeProps{
614
+ Context: props.Context,
615
+ Functor: props.Functor,
616
+ Explore: props.Explore,
617
+ Metadata: metadata,
618
+ })
619
+ },
620
+ Expression: randomProgrammer_coalesce(props.Context, "array", "randomArray"),
621
+ Array: props.Array.Type,
622
+ Recursive: props.Explore.Recursive,
623
+ Schema: schema,
624
+ }))
625
+ }
626
+ return output
627
+ }
628
+
629
+ func randomProgrammer_decode_tuple(props randomProgrammer_decodeTupleProps) *shimast.Node {
630
+ if props.Tuple.Type.Recursive {
631
+ depth := nativefactories.ExpressionFactory.Number(0)
632
+ if props.Explore.Recursive {
633
+ depth = randomProgrammer_factory.NewBinaryExpression(
634
+ nil,
635
+ nativefactories.ExpressionFactory.Number(1),
636
+ nil,
637
+ randomProgrammer_factory.NewToken(shimast.KindPlusToken),
638
+ randomProgrammer_factory.NewIdentifier("_depth"),
639
+ )
640
+ }
641
+ return randomProgrammer_factory.NewCallExpression(
642
+ randomProgrammer_factory.NewIdentifier(props.Functor.UseLocal(randomProgrammer_prefix_tuple(*props.Tuple.Type.Index))),
643
+ nil,
644
+ nil,
645
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
646
+ randomProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
647
+ depth,
648
+ }),
649
+ shimast.NodeFlagsNone,
650
+ )
651
+ }
652
+ return nativehelpers.RandomJoiner.Tuple(nativehelpers.RandomJoiner_TupleProps{
653
+ Decode: func(metadata *schemametadata.MetadataSchema) *shimast.Node {
654
+ return randomProgrammer_decode(randomProgrammer_decodeProps{
655
+ Context: props.Context,
656
+ Functor: props.Functor,
657
+ Explore: props.Explore,
658
+ Metadata: metadata,
659
+ })
660
+ },
661
+ Elements: props.Tuple.Type.Elements,
662
+ })
663
+ }
664
+
665
+ func randomProgrammer_decode_object(props randomProgrammer_decodeObjectProps) *shimast.Node {
666
+ var args *shimast.NodeList
667
+ if props.Explore.Function {
668
+ recursive := randomProgrammer_factory.NewIdentifier("_recursive")
669
+ if props.Explore.Recursive {
670
+ recursive = randomProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword)
671
+ }
672
+ args = randomProgrammer_factory.NewNodeList([]*shimast.Node{
673
+ recursive,
674
+ randomProgrammer_factory.NewConditionalExpression(
675
+ randomProgrammer_factory.NewIdentifier("_recursive"),
676
+ nil,
677
+ randomProgrammer_factory.NewBinaryExpression(
678
+ nil,
679
+ nativefactories.ExpressionFactory.Number(1),
680
+ nil,
681
+ randomProgrammer_factory.NewToken(shimast.KindPlusToken),
682
+ randomProgrammer_factory.NewIdentifier("_depth"),
683
+ ),
684
+ nil,
685
+ randomProgrammer_factory.NewIdentifier("_depth"),
686
+ ),
687
+ })
688
+ }
689
+ return randomProgrammer_factory.NewCallExpression(
690
+ randomProgrammer_factory.NewIdentifier(props.Functor.UseLocal(randomProgrammer_prefix_object(props.Object.Index))),
691
+ nil,
692
+ nil,
693
+ args,
694
+ shimast.NodeFlagsNone,
695
+ )
696
+ }
697
+
698
+ func randomProgrammer_decode_set(props struct {
699
+ Context nativecontext.ITypiaContext
700
+ Functor *nativehelpers.FunctionProgrammer
701
+ Explore randomProgrammer_IExplore
702
+ Set *schemametadata.MetadataSet
703
+ }) *shimast.Node {
704
+ array := schemametadata.MetadataArray_create(schemametadata.MetadataArray{
705
+ Tags: [][]schemametadata.IMetadataTypeTag{},
706
+ Type: schemametadata.MetadataArrayType_create(schemametadata.MetadataArrayType{
707
+ Value: props.Set.Value,
708
+ Recursive: false,
709
+ Index: nil,
710
+ Nullables: []bool{},
711
+ Name: props.Set.GetName(),
712
+ }),
713
+ })
714
+ return randomProgrammer_factory.NewNewExpression(
715
+ randomProgrammer_factory.NewIdentifier("Set"),
716
+ nil,
717
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
718
+ randomProgrammer_first(randomProgrammer_decode_array(randomProgrammer_decodeArrayProps{
719
+ Context: props.Context,
720
+ Functor: props.Functor,
721
+ Explore: props.Explore,
722
+ Array: array,
723
+ })),
724
+ }),
725
+ )
726
+ }
727
+
728
+ func randomProgrammer_decode_map(props struct {
729
+ Context nativecontext.ITypiaContext
730
+ Functor *nativehelpers.FunctionProgrammer
731
+ Explore randomProgrammer_IExplore
732
+ Map *schemametadata.MetadataMap
733
+ }) *shimast.Node {
734
+ ofMap := true
735
+ tupleType := schemametadata.MetadataTupleType_create(schemametadata.MetadataTupleType{
736
+ Name: fmt.Sprintf("[%s, %s]", props.Map.Key.GetName(), props.Map.Value.GetName()),
737
+ Index: nil,
738
+ Recursive: false,
739
+ Nullables: []bool{},
740
+ Elements: []*schemametadata.MetadataSchema{props.Map.Key, props.Map.Value},
741
+ Of_map: &ofMap,
742
+ })
743
+ value := schemametadata.MetadataSchema_initialize()
744
+ value.Tuples = []*schemametadata.MetadataTuple{
745
+ schemametadata.MetadataTuple_create(schemametadata.MetadataTuple{
746
+ Type: tupleType,
747
+ Tags: [][]schemametadata.IMetadataTypeTag{},
748
+ }),
749
+ }
750
+ array := schemametadata.MetadataArray_create(schemametadata.MetadataArray{
751
+ Tags: [][]schemametadata.IMetadataTypeTag{},
752
+ Type: schemametadata.MetadataArrayType_create(schemametadata.MetadataArrayType{
753
+ Name: props.Map.GetName(),
754
+ Index: nil,
755
+ Recursive: false,
756
+ Nullables: []bool{},
757
+ Value: value,
758
+ }),
759
+ })
760
+ return randomProgrammer_factory.NewNewExpression(
761
+ randomProgrammer_factory.NewIdentifier("Map"),
762
+ nil,
763
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
764
+ randomProgrammer_first(randomProgrammer_decode_array(randomProgrammer_decodeArrayProps{
765
+ Context: props.Context,
766
+ Functor: props.Functor,
767
+ Explore: props.Explore,
768
+ Array: array,
769
+ })),
770
+ }),
771
+ )
772
+ }
773
+
774
+ func randomProgrammer_decode_native(props struct {
775
+ Context nativecontext.ITypiaContext
776
+ Functor *nativehelpers.FunctionProgrammer
777
+ Explore randomProgrammer_IExplore
778
+ Name string
779
+ }) *shimast.Node {
780
+ if props.Name == "Boolean" || props.Name == "Number" || props.Name == "BigInt" || props.Name == "String" {
781
+ atomic := strings.ToLower(props.Name)
782
+ if atomic == "bigint" {
783
+ atomic = "bigint"
784
+ }
785
+ return randomProgrammer_first(randomProgrammer_decode_atomic(randomProgrammer_decodeAtomicProps{
786
+ Context: props.Context,
787
+ Atomic: schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{
788
+ Type: atomic,
789
+ Tags: [][]schemametadata.IMetadataTypeTag{},
790
+ }),
791
+ }))
792
+ }
793
+ if props.Name == "Date" {
794
+ return randomProgrammer_decode_native_date(props.Context)
795
+ }
796
+ if randomProgrammer_is_typed_array(props.Name) {
797
+ return randomProgrammer_decode_native_byte_array(struct {
798
+ Context nativecontext.ITypiaContext
799
+ Functor *nativehelpers.FunctionProgrammer
800
+ Explore randomProgrammer_IExplore
801
+ Name string
802
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Name: props.Name})
803
+ }
804
+ if props.Name == "ArrayBuffer" || props.Name == "SharedArrayBuffer" {
805
+ return randomProgrammer_decode_native_array_buffer(struct {
806
+ Context nativecontext.ITypiaContext
807
+ Functor *nativehelpers.FunctionProgrammer
808
+ Explore randomProgrammer_IExplore
809
+ Name string
810
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Name: props.Name})
811
+ }
812
+ if props.Name == "DataView" {
813
+ return randomProgrammer_decode_native_data_view(props)
814
+ }
815
+ if props.Name == "Blob" {
816
+ return randomProgrammer_decode_native_blob(props)
817
+ }
818
+ if props.Name == "File" {
819
+ return randomProgrammer_decode_native_file(props)
820
+ }
821
+ if props.Name == "RegExp" {
822
+ return randomProgrammer_decode_regexp(props.Context)
823
+ }
824
+ return randomProgrammer_factory.NewNewExpression(randomProgrammer_factory.NewIdentifier(props.Name), nil, randomProgrammer_factory.NewNodeList(nil))
825
+ }
826
+
827
+ func randomProgrammer_decode_native_date(context nativecontext.ITypiaContext) *shimast.Node {
828
+ return randomProgrammer_factory.NewNewExpression(
829
+ randomProgrammer_factory.NewIdentifier("Date"),
830
+ nil,
831
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
832
+ randomProgrammer_factory.NewCallExpression(randomProgrammer_coalesce(context, "datetime", "randomFormatDatetime"), nil, nil, randomProgrammer_factory.NewNodeList(nil), shimast.NodeFlagsNone),
833
+ }),
834
+ )
835
+ }
836
+
837
+ func randomProgrammer_decode_native_byte_array(props struct {
838
+ Context nativecontext.ITypiaContext
839
+ Functor *nativehelpers.FunctionProgrammer
840
+ Explore randomProgrammer_IExplore
841
+ Name string
842
+ }) *shimast.Node {
843
+ protobufType, minimum, maximum := randomProgrammer_typed_array_range(props.Name)
844
+ atomic := "number"
845
+ if props.Name == "BigInt64Array" || props.Name == "BigUint64Array" {
846
+ atomic = "bigint"
847
+ }
848
+ value := schemametadata.MetadataSchema_initialize()
849
+ value.Atomics = []*schemametadata.MetadataAtomic{
850
+ schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{
851
+ Type: atomic,
852
+ Tags: [][]schemametadata.IMetadataTypeTag{randomProgrammer_tags([]schemametadata.IMetadataTypeTag{},
853
+ nativefactories.MetadataCommentTagFactory.Get(struct {
854
+ Kind string
855
+ Type string
856
+ Value string
857
+ }{Kind: "type", Type: atomic, Value: protobufType}),
858
+ nativefactories.MetadataCommentTagFactory.Get(struct {
859
+ Kind string
860
+ Type string
861
+ Value string
862
+ }{Kind: "minimum", Type: "number", Value: minimum}),
863
+ nativefactories.MetadataCommentTagFactory.Get(struct {
864
+ Kind string
865
+ Type string
866
+ Value string
867
+ }{Kind: "maximum", Type: "number", Value: maximum}),
868
+ )},
869
+ }),
870
+ }
871
+ array := schemametadata.MetadataArray_create(schemametadata.MetadataArray{
872
+ Tags: [][]schemametadata.IMetadataTypeTag{},
873
+ Type: schemametadata.MetadataArrayType_create(schemametadata.MetadataArrayType{
874
+ Name: fmt.Sprintf("%s<%s>", props.Name, atomic),
875
+ Value: value,
876
+ Recursive: false,
877
+ Index: nil,
878
+ Nullables: []bool{},
879
+ }),
880
+ })
881
+ return randomProgrammer_factory.NewNewExpression(
882
+ randomProgrammer_factory.NewIdentifier(props.Name),
883
+ nil,
884
+ randomProgrammer_factory.NewNodeList(randomProgrammer_decode_array(randomProgrammer_decodeArrayProps{
885
+ Context: props.Context,
886
+ Functor: props.Functor,
887
+ Explore: props.Explore,
888
+ Array: array,
889
+ })),
890
+ )
891
+ }
892
+
893
+ func randomProgrammer_decode_native_blob(props struct {
894
+ Context nativecontext.ITypiaContext
895
+ Functor *nativehelpers.FunctionProgrammer
896
+ Explore randomProgrammer_IExplore
897
+ Name string
898
+ }) *shimast.Node {
899
+ return randomProgrammer_factory.NewNewExpression(
900
+ randomProgrammer_factory.NewIdentifier("Blob"),
901
+ nil,
902
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
903
+ randomProgrammer_factory.NewArrayLiteralExpression(randomProgrammer_factory.NewNodeList([]*shimast.Node{
904
+ randomProgrammer_decode_native_byte_array(struct {
905
+ Context nativecontext.ITypiaContext
906
+ Functor *nativehelpers.FunctionProgrammer
907
+ Explore randomProgrammer_IExplore
908
+ Name string
909
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Name: "Uint8Array"}),
910
+ }), true),
911
+ }),
912
+ )
913
+ }
914
+
915
+ func randomProgrammer_decode_native_file(props struct {
916
+ Context nativecontext.ITypiaContext
917
+ Functor *nativehelpers.FunctionProgrammer
918
+ Explore randomProgrammer_IExplore
919
+ Name string
920
+ }) *shimast.Node {
921
+ return randomProgrammer_factory.NewNewExpression(
922
+ randomProgrammer_factory.NewIdentifier("File"),
923
+ nil,
924
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
925
+ randomProgrammer_factory.NewArrayLiteralExpression(randomProgrammer_factory.NewNodeList([]*shimast.Node{
926
+ randomProgrammer_decode_native_byte_array(struct {
927
+ Context nativecontext.ITypiaContext
928
+ Functor *nativehelpers.FunctionProgrammer
929
+ Explore randomProgrammer_IExplore
930
+ Name string
931
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Name: "Uint8Array"}),
932
+ }), true),
933
+ randomProgrammer_factory.NewTemplateExpression(
934
+ randomProgrammer_factory.NewTemplateHead("", "", shimast.TokenFlagsNone),
935
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
936
+ randomProgrammer_factory.NewTemplateSpan(
937
+ randomProgrammer_write_ranged_string(props.Context, 1, 8),
938
+ randomProgrammer_factory.NewTemplateMiddle(".", ".", shimast.TokenFlagsNone),
939
+ ),
940
+ randomProgrammer_factory.NewTemplateSpan(
941
+ randomProgrammer_write_ranged_string(props.Context, 3, 3),
942
+ randomProgrammer_factory.NewTemplateTail("", "", shimast.TokenFlagsNone),
943
+ ),
944
+ }),
945
+ ),
946
+ }),
947
+ )
948
+ }
949
+
950
+ func randomProgrammer_decode_native_array_buffer(props struct {
951
+ Context nativecontext.ITypiaContext
952
+ Functor *nativehelpers.FunctionProgrammer
953
+ Explore randomProgrammer_IExplore
954
+ Name string
955
+ }) *shimast.Node {
956
+ if props.Name == "ArrayBuffer" {
957
+ return nativefactories.IdentifierFactory.Access(
958
+ randomProgrammer_decode_native_byte_array(struct {
959
+ Context nativecontext.ITypiaContext
960
+ Functor *nativehelpers.FunctionProgrammer
961
+ Explore randomProgrammer_IExplore
962
+ Name string
963
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Name: "Uint8Array"}),
964
+ "buffer",
965
+ )
966
+ }
967
+ length := randomProgrammer_first(randomProgrammer_decode_atomic(randomProgrammer_decodeAtomicProps{
968
+ Context: props.Context,
969
+ Atomic: schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{
970
+ Type: "number",
971
+ Tags: [][]schemametadata.IMetadataTypeTag{nativefactories.MetadataCommentTagFactory.Get(struct {
972
+ Kind string
973
+ Type string
974
+ Value string
975
+ }{Kind: "type", Type: "number", Value: "uint32"})},
976
+ }),
977
+ }))
978
+ byteValue := randomProgrammer_first(randomProgrammer_decode_atomic(randomProgrammer_decodeAtomicProps{
979
+ Context: props.Context,
980
+ Atomic: schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{
981
+ Type: "number",
982
+ Tags: [][]schemametadata.IMetadataTypeTag{randomProgrammer_tags([]schemametadata.IMetadataTypeTag{},
983
+ nativefactories.MetadataCommentTagFactory.Get(struct {
984
+ Kind string
985
+ Type string
986
+ Value string
987
+ }{Kind: "type", Type: "number", Value: "uint32"}),
988
+ nativefactories.MetadataCommentTagFactory.Get(struct {
989
+ Kind string
990
+ Type string
991
+ Value string
992
+ }{Kind: "minimum", Type: "number", Value: "0"}),
993
+ nativefactories.MetadataCommentTagFactory.Get(struct {
994
+ Kind string
995
+ Type string
996
+ Value string
997
+ }{Kind: "maximum", Type: "number", Value: "255"}),
998
+ )},
999
+ }),
1000
+ }))
1001
+ return nativefactories.ExpressionFactory.SelfCall(randomProgrammer_factory.NewBlock(randomProgrammer_factory.NewNodeList([]*shimast.Node{
1002
+ nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{Name: "length", Value: length}),
1003
+ nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
1004
+ Name: "buffer",
1005
+ Value: randomProgrammer_factory.NewNewExpression(
1006
+ randomProgrammer_factory.NewIdentifier("SharedArrayBuffer"),
1007
+ nil,
1008
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{randomProgrammer_factory.NewIdentifier("length")}),
1009
+ ),
1010
+ }),
1011
+ nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
1012
+ Name: "bytes",
1013
+ Value: randomProgrammer_factory.NewNewExpression(
1014
+ randomProgrammer_factory.NewIdentifier("Uint8Array"),
1015
+ nil,
1016
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{randomProgrammer_factory.NewIdentifier("buffer")}),
1017
+ ),
1018
+ }),
1019
+ randomProgrammer_factory.NewExpressionStatement(randomProgrammer_factory.NewCallExpression(
1020
+ nativefactories.IdentifierFactory.Access(randomProgrammer_factory.NewIdentifier("bytes"), "set"),
1021
+ nil,
1022
+ nil,
1023
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
1024
+ randomProgrammer_factory.NewCallExpression(
1025
+ nativefactories.IdentifierFactory.Access(
1026
+ randomProgrammer_factory.NewCallExpression(
1027
+ nativefactories.IdentifierFactory.Access(
1028
+ randomProgrammer_factory.NewNewExpression(
1029
+ randomProgrammer_factory.NewIdentifier("Array"),
1030
+ nil,
1031
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{randomProgrammer_factory.NewIdentifier("length")}),
1032
+ ),
1033
+ "fill",
1034
+ ),
1035
+ nil,
1036
+ nil,
1037
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{nativefactories.ExpressionFactory.Number(0)}),
1038
+ shimast.NodeFlagsNone,
1039
+ ),
1040
+ "map",
1041
+ ),
1042
+ nil,
1043
+ nil,
1044
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
1045
+ randomProgrammer_factory.NewArrowFunction(nil, nil, randomProgrammer_factory.NewNodeList(nil), nil, nil, randomProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken), byteValue),
1046
+ }),
1047
+ shimast.NodeFlagsNone,
1048
+ ),
1049
+ nativefactories.ExpressionFactory.Number(0),
1050
+ }),
1051
+ shimast.NodeFlagsNone,
1052
+ )),
1053
+ randomProgrammer_factory.NewReturnStatement(randomProgrammer_factory.NewIdentifier("buffer")),
1054
+ }), true))
1055
+ }
1056
+
1057
+ func randomProgrammer_decode_native_data_view(props struct {
1058
+ Context nativecontext.ITypiaContext
1059
+ Functor *nativehelpers.FunctionProgrammer
1060
+ Explore randomProgrammer_IExplore
1061
+ Name string
1062
+ }) *shimast.Node {
1063
+ return randomProgrammer_factory.NewNewExpression(
1064
+ randomProgrammer_factory.NewIdentifier("DataView"),
1065
+ nil,
1066
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
1067
+ nativefactories.IdentifierFactory.Access(
1068
+ randomProgrammer_decode_native_byte_array(struct {
1069
+ Context nativecontext.ITypiaContext
1070
+ Functor *nativehelpers.FunctionProgrammer
1071
+ Explore randomProgrammer_IExplore
1072
+ Name string
1073
+ }{Context: props.Context, Functor: props.Functor, Explore: props.Explore, Name: "Uint8Array"}),
1074
+ "buffer",
1075
+ ),
1076
+ }),
1077
+ )
1078
+ }
1079
+
1080
+ func randomProgrammer_decode_regexp(context nativecontext.ITypiaContext) *shimast.Node {
1081
+ return randomProgrammer_factory.NewNewExpression(
1082
+ randomProgrammer_factory.NewIdentifier("RegExp"),
1083
+ nil,
1084
+ randomProgrammer_factory.NewNodeList([]*shimast.Node{
1085
+ randomProgrammer_factory.NewCallExpression(randomProgrammer_coalesce(context, "regex", "randomFormatRegex"), nil, nil, nil, shimast.NodeFlagsNone),
1086
+ }),
1087
+ )
1088
+ }
1089
+
1090
+ func randomProgrammer_write_ranged_string(context nativecontext.ITypiaContext, minLength int, maxLength int) *shimast.Node {
1091
+ return randomProgrammer_first(randomProgrammer_decode_atomic(randomProgrammer_decodeAtomicProps{
1092
+ Context: context,
1093
+ Atomic: schemametadata.MetadataAtomic_create(schemametadata.MetadataAtomic{
1094
+ Type: "string",
1095
+ Tags: [][]schemametadata.IMetadataTypeTag{randomProgrammer_tags([]schemametadata.IMetadataTypeTag{},
1096
+ nativefactories.MetadataCommentTagFactory.Get(struct {
1097
+ Kind string
1098
+ Type string
1099
+ Value string
1100
+ }{Kind: "minLength", Type: "string", Value: fmt.Sprint(minLength)}),
1101
+ nativefactories.MetadataCommentTagFactory.Get(struct {
1102
+ Kind string
1103
+ Type string
1104
+ Value string
1105
+ }{Kind: "maxLength", Type: "string", Value: fmt.Sprint(maxLength)}),
1106
+ )},
1107
+ }),
1108
+ }))
1109
+ }
1110
+
1111
+ func randomProgrammer_coalesce(context nativecontext.ITypiaContext, method string, internal string) *shimast.Node {
1112
+ return nativefactories.ExpressionFactory.Coalesce(
1113
+ nativefactories.IdentifierFactory.Access(randomProgrammer_factory.NewIdentifier("_generator"), method, true),
1114
+ randomProgrammer_internal(context, internal),
1115
+ )
1116
+ }
1117
+
1118
+ func randomProgrammer_schema_without_items(schema nativeiterate.JsonSchema) *shimast.Node {
1119
+ properties := []*shimast.Node{}
1120
+ for key, value := range schema {
1121
+ if key == "items" {
1122
+ continue
1123
+ }
1124
+ properties = append(properties, randomProgrammer_factory.NewPropertyAssignment(
1125
+ nil,
1126
+ nativefactories.IdentifierFactory.Identifier(key),
1127
+ nil,
1128
+ nil,
1129
+ nativefactories.LiteralFactory.Write(value),
1130
+ ))
1131
+ }
1132
+ return randomProgrammer_factory.NewObjectLiteralExpression(randomProgrammer_factory.NewNodeList(properties), true)
1133
+ }
1134
+
1135
+ func randomProgrammer_internal(context nativecontext.ITypiaContext, name string) *shimast.Node {
1136
+ if importer, ok := context.Importer.(interface{ Internal(string) *shimast.Node }); ok {
1137
+ return importer.Internal(name)
1138
+ }
1139
+ return randomProgrammer_factory.NewIdentifier(name)
1140
+ }
1141
+
1142
+ func randomProgrammer_import_type(context nativecontext.ITypiaContext, props ImportProgrammer_TypeProps) *shimast.Node {
1143
+ if importer, ok := context.Importer.(interface {
1144
+ Type(ImportProgrammer_TypeProps) *shimast.Node
1145
+ }); ok {
1146
+ return importer.Type(props)
1147
+ }
1148
+ if str, ok := props.Name.(string); ok {
1149
+ return randomProgrammer_factory.NewTypeReferenceNode(randomProgrammer_factory.NewIdentifier(str), randomProgrammer_factory.NewNodeList(props.Arguments))
1150
+ }
1151
+ return props.Name.(*shimast.Node)
1152
+ }
1153
+
1154
+ func randomProgrammer_type_reference(context nativecontext.ITypiaContext, typ *shimchecker.Type, name *string) *shimast.Node {
1155
+ if name != nil {
1156
+ return randomProgrammer_factory.NewTypeReferenceNode(randomProgrammer_factory.NewIdentifier(*name), nil)
1157
+ }
1158
+ return randomProgrammer_factory.NewTypeReferenceNode(randomProgrammer_factory.NewIdentifier(nativefactories.TypeFactory.GetFullName(nativefactories.TypeFactory_GetFullNameProps{
1159
+ Checker: context.Checker,
1160
+ Type: typ,
1161
+ })), nil)
1162
+ }
1163
+
1164
+ func randomProgrammer_method_text(modulo *shimast.Node) string {
1165
+ if modulo == nil {
1166
+ return ""
1167
+ }
1168
+ return modulo.Text()
1169
+ }
1170
+
1171
+ func randomProgrammer_errors(errors []nativefactories.MetadataFactory_IError) []nativecontext.TransformerError_MetadataFactory_IError {
1172
+ output := make([]nativecontext.TransformerError_MetadataFactory_IError, 0, len(errors))
1173
+ for _, err := range errors {
1174
+ output = append(output, nativecontext.TransformerError_MetadataFactory_IError{
1175
+ Name: err.Name,
1176
+ Explore: nativecontext.TransformerError_MetadataFactory_IExplore{
1177
+ Object: err.Explore.Object,
1178
+ Property: err.Explore.Property,
1179
+ Parameter: err.Explore.Parameter,
1180
+ Output: err.Explore.Output,
1181
+ },
1182
+ Messages: append([]string{}, err.Messages...),
1183
+ })
1184
+ }
1185
+ return output
1186
+ }
1187
+
1188
+ func randomProgrammer_prefix_object(i int) string {
1189
+ return fmt.Sprintf("%s%d", randomProgrammer_PREFIX_OBJECT, i)
1190
+ }
1191
+ func randomProgrammer_prefix_array(i int) string {
1192
+ return fmt.Sprintf("%s%d", randomProgrammer_PREFIX_ARRAY, i)
1193
+ }
1194
+ func randomProgrammer_prefix_tuple(i int) string {
1195
+ return fmt.Sprintf("%s%d", randomProgrammer_PREFIX_TUPLE, i)
1196
+ }
1197
+
1198
+ func randomProgrammer_capitalize(str string) string {
1199
+ if str == "" {
1200
+ return ""
1201
+ }
1202
+ return strings.ToUpper(str[:1]) + str[1:]
1203
+ }
1204
+
1205
+ func randomProgrammer_format_pascal(format string) string {
1206
+ parts := strings.Split(format, "-")
1207
+ for i, part := range parts {
1208
+ parts[i] = randomProgrammer_capitalize(part)
1209
+ }
1210
+ return strings.Join(parts, "")
1211
+ }
1212
+
1213
+ func randomProgrammer_format_method(format string) string {
1214
+ parts := strings.Split(format, "-")
1215
+ for i, part := range parts {
1216
+ if i != 0 {
1217
+ parts[i] = randomProgrammer_capitalize(part)
1218
+ }
1219
+ }
1220
+ return strings.Join(parts, "")
1221
+ }
1222
+
1223
+ func randomProgrammer_is_typed_array(name string) bool {
1224
+ switch name {
1225
+ case "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "BigUint64Array",
1226
+ "Int8Array", "Int16Array", "Int32Array", "BigInt64Array", "Float32Array", "Float64Array":
1227
+ return true
1228
+ default:
1229
+ return false
1230
+ }
1231
+ }
1232
+
1233
+ func randomProgrammer_typed_array_range(name string) (string, string, string) {
1234
+ switch name {
1235
+ case "Uint8Array", "Uint8ClampedArray":
1236
+ return "uint32", "0", "255"
1237
+ case "Uint16Array":
1238
+ return "uint32", "0", "65535"
1239
+ case "Uint32Array":
1240
+ return "uint32", "0", "4294967295"
1241
+ case "BigUint64Array":
1242
+ return "uint64", "0", "18446744073709551615"
1243
+ case "Int8Array":
1244
+ return "int32", "-128", "127"
1245
+ case "Int16Array":
1246
+ return "int32", "-32768", "32767"
1247
+ case "Int32Array":
1248
+ return "int32", "-2147483648", "2147483647"
1249
+ case "BigInt64Array":
1250
+ return "uint64", "-9223372036854775808", "9223372036854775807"
1251
+ case "Float32Array":
1252
+ return "float", "-1.175494351e38", "3.4028235e38"
1253
+ default:
1254
+ return "double", fmt.Sprint(math.SmallestNonzeroFloat64), fmt.Sprint(math.MaxFloat64)
1255
+ }
1256
+ }
1257
+
1258
+ func randomProgrammer_tags(base []schemametadata.IMetadataTypeTag, rows ...[]schemametadata.IMetadataTypeTag) []schemametadata.IMetadataTypeTag {
1259
+ output := append([]schemametadata.IMetadataTypeTag{}, base...)
1260
+ for _, row := range rows {
1261
+ output = append(output, row...)
1262
+ }
1263
+ return output
1264
+ }
1265
+
1266
+ func randomProgrammer_first(list []*shimast.Node) *shimast.Node {
1267
+ if len(list) == 0 {
1268
+ return randomProgrammer_factory.NewIdentifier("undefined")
1269
+ }
1270
+ return list[0]
1271
+ }