typia 13.0.0-dev.20260427-3 → 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,1381 @@
1
+ package notations
2
+
3
+ import (
4
+ "fmt"
5
+ "strings"
6
+
7
+ shimast "github.com/microsoft/typescript-go/shim/ast"
8
+ shimchecker "github.com/microsoft/typescript-go/shim/checker"
9
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
10
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
11
+ nativeprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers"
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 notationGeneralProgrammerNamespace struct{}
19
+
20
+ var NotationGeneralProgrammer = notationGeneralProgrammerNamespace{}
21
+
22
+ type NotationGeneralProgrammer_IRename struct {
23
+ Name string
24
+ Func func(str string) string
25
+ }
26
+
27
+ type NotationGeneralProgrammer_IProps struct {
28
+ nativecontext.IProgrammerProps
29
+ Rename NotationGeneralProgrammer_IRename
30
+ }
31
+
32
+ type NotationGeneralProgrammer_ReturnTypeProps struct {
33
+ Rename NotationGeneralProgrammer_IRename
34
+ Context nativecontext.ITypiaContext
35
+ Type string
36
+ }
37
+
38
+ type NotationGeneralProgrammer_DecomposeProps struct {
39
+ Rename NotationGeneralProgrammer_IRename
40
+ Validated bool
41
+ Context nativecontext.ITypiaContext
42
+ Functor *nativehelpers.FunctionProgrammer
43
+ Type *shimchecker.Type
44
+ Name *string
45
+ }
46
+
47
+ const notationGeneralProgrammer_PREFIX = "_c"
48
+
49
+ var notationGeneralProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
50
+
51
+ func (notationGeneralProgrammerNamespace) ReturnType(props NotationGeneralProgrammer_ReturnTypeProps) *shimast.Node {
52
+ return notationGeneralProgrammer_import_type(props.Context, nativeprogrammers.ImportProgrammer_TypeProps{
53
+ File: "typia",
54
+ Name: notationGeneralProgrammer_capitalize(props.Rename.Name) + "Case",
55
+ Arguments: []*shimast.TypeNode{
56
+ notationGeneralProgrammer_factory.NewTypeReferenceNode(notationGeneralProgrammer_factory.NewIdentifier(props.Type), nil),
57
+ },
58
+ })
59
+ }
60
+
61
+ func (notationGeneralProgrammerNamespace) Decompose(props NotationGeneralProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
62
+ config := notationGeneralProgrammer_configure(struct {
63
+ Rename NotationGeneralProgrammer_IRename
64
+ Context nativecontext.ITypiaContext
65
+ Functor *nativehelpers.FunctionProgrammer
66
+ }{Rename: props.Rename, Context: props.Context, Functor: props.Functor})
67
+ if props.Validated == false {
68
+ config.Addition = func(collection *schemametadata.MetadataCollection) []*shimast.Node {
69
+ return nativeprogrammers.IsProgrammer.Write_function_statements(nativeprogrammers.IsProgrammer_WriteFunctionStatementsProps{
70
+ Context: props.Context,
71
+ Functor: props.Functor,
72
+ Collection: collection,
73
+ })
74
+ }
75
+ }
76
+ composed := nativeinternal.FeatureProgrammer.Compose(nativeinternal.FeatureProgrammer_ComposeProps{
77
+ Context: props.Context,
78
+ Config: config,
79
+ Functor: props.Functor,
80
+ Type: props.Type,
81
+ Name: props.Name,
82
+ })
83
+ typeName := notationGeneralProgrammer_type_name(props.Context, props.Type, props.Name)
84
+ return nativeinternal.FeatureProgrammer_IDecomposed{
85
+ Functions: composed.Functions,
86
+ Statements: composed.Statements,
87
+ Arrow: notationGeneralProgrammer_factory.NewArrowFunction(
88
+ nil,
89
+ nil,
90
+ notationGeneralProgrammer_factory.NewNodeList(composed.Parameters),
91
+ NotationGeneralProgrammer.ReturnType(NotationGeneralProgrammer_ReturnTypeProps{
92
+ Rename: props.Rename,
93
+ Context: props.Context,
94
+ Type: typeName,
95
+ }),
96
+ nil,
97
+ notationGeneralProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
98
+ composed.Body,
99
+ ),
100
+ }
101
+ }
102
+
103
+ func (notationGeneralProgrammerNamespace) Write(props NotationGeneralProgrammer_IProps) *shimast.Node {
104
+ functor := nativehelpers.NewFunctionProgrammer(notationGeneralProgrammer_method_text(props.Modulo))
105
+ result := NotationGeneralProgrammer.Decompose(NotationGeneralProgrammer_DecomposeProps{
106
+ Rename: props.Rename,
107
+ Context: props.Context,
108
+ Functor: functor,
109
+ Type: props.Type,
110
+ Name: props.Name,
111
+ Validated: true,
112
+ })
113
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
114
+ Functor: functor,
115
+ Modulo: props.Modulo,
116
+ Result: result,
117
+ })
118
+ }
119
+
120
+ func notationGeneralProgrammer_write_array_functions(props struct {
121
+ Config nativeinternal.FeatureProgrammer_IConfig
122
+ Functor *nativehelpers.FunctionProgrammer
123
+ Collection *schemametadata.MetadataCollection
124
+ }) []*shimast.Node {
125
+ output := []*shimast.Node{}
126
+ for i, typ := range props.Collection.Arrays() {
127
+ if typ.Recursive == false {
128
+ continue
129
+ }
130
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
131
+ Name: fmt.Sprintf("%sa%d", props.Config.Prefix, i),
132
+ Value: notationGeneralProgrammer_factory.NewArrowFunction(
133
+ nil,
134
+ nil,
135
+ notationGeneralProgrammer_factory.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
136
+ Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace},
137
+ Type: nativefactories.TypeFactory.Keyword("any"),
138
+ Input: notationGeneralProgrammer_factory.NewIdentifier("input"),
139
+ })),
140
+ nativefactories.TypeFactory.Keyword("any"),
141
+ nil,
142
+ notationGeneralProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
143
+ notationGeneralProgrammer_decode_array_inline(notationGeneralProgrammer_decodeArrayProps{
144
+ Config: props.Config,
145
+ Functor: props.Functor,
146
+ Input: notationGeneralProgrammer_factory.NewIdentifier("input"),
147
+ Array: schemametadata.MetadataArray_create(schemametadata.MetadataArray{
148
+ Type: typ,
149
+ Tags: [][]schemametadata.IMetadataTypeTag{},
150
+ }),
151
+ Explore: nativeinternal.FeatureProgrammer_IExplore{
152
+ Tracable: props.Config.Trace,
153
+ Source: "function",
154
+ From: "array",
155
+ Postfix: "",
156
+ },
157
+ }),
158
+ ),
159
+ }))
160
+ }
161
+ return output
162
+ }
163
+
164
+ func notationGeneralProgrammer_write_tuple_functions(props struct {
165
+ Config nativeinternal.FeatureProgrammer_IConfig
166
+ Rename NotationGeneralProgrammer_IRename
167
+ Context nativecontext.ITypiaContext
168
+ Functor *nativehelpers.FunctionProgrammer
169
+ Collection *schemametadata.MetadataCollection
170
+ }) []*shimast.Node {
171
+ output := []*shimast.Node{}
172
+ for i, tuple := range props.Collection.Tuples() {
173
+ if tuple.Recursive == false {
174
+ continue
175
+ }
176
+ output = append(output, nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
177
+ Name: fmt.Sprintf("%st%d", props.Config.Prefix, i),
178
+ Value: notationGeneralProgrammer_factory.NewArrowFunction(
179
+ nil,
180
+ nil,
181
+ notationGeneralProgrammer_factory.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
182
+ Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace},
183
+ Type: nativefactories.TypeFactory.Keyword("any"),
184
+ Input: notationGeneralProgrammer_factory.NewIdentifier("input"),
185
+ })),
186
+ nativefactories.TypeFactory.Keyword("any"),
187
+ nil,
188
+ notationGeneralProgrammer_factory.NewToken(shimast.KindEqualsGreaterThanToken),
189
+ notationGeneralProgrammer_decode_tuple_inline(notationGeneralProgrammer_decodeTupleInlineProps{
190
+ Context: props.Context,
191
+ Rename: props.Rename,
192
+ Config: props.Config,
193
+ Functor: props.Functor,
194
+ Input: notationGeneralProgrammer_factory.NewIdentifier("input"),
195
+ Tuple: tuple,
196
+ Explore: nativeinternal.FeatureProgrammer_IExplore{
197
+ Tracable: props.Config.Trace,
198
+ Source: "function",
199
+ From: "array",
200
+ Postfix: "",
201
+ },
202
+ }),
203
+ ),
204
+ }))
205
+ }
206
+ return output
207
+ }
208
+
209
+ func notationGeneralProgrammer_decode(props struct {
210
+ Config nativeinternal.FeatureProgrammer_IConfig
211
+ Rename NotationGeneralProgrammer_IRename
212
+ Context nativecontext.ITypiaContext
213
+ Functor *nativehelpers.FunctionProgrammer
214
+ Metadata *schemametadata.MetadataSchema
215
+ Explore nativeinternal.FeatureProgrammer_IExplore
216
+ Input *shimast.Node
217
+ }) *shimast.Node {
218
+ if props.Metadata.Any ||
219
+ notationGeneralProgrammer_some_arrays(props.Metadata.Arrays, func(a *schemametadata.MetadataArray) bool { return a.Type.Value.Any }) ||
220
+ notationGeneralProgrammer_some_tuples(props.Metadata.Tuples, func(t *schemametadata.MetadataTuple) bool {
221
+ return len(t.Type.Elements) != 0 && notationGeneralProgrammer_every_schema(t.Type.Elements, func(e *schemametadata.MetadataSchema) bool { return e.Any })
222
+ }) {
223
+ return nativefactories.ExpressionFactory.Currying(nativefactories.ExpressionFactory_CurryingProps{
224
+ Function: notationGeneralProgrammer_internal(props.Context, "notationAny"),
225
+ Arguments: []*shimast.Expression{
226
+ notationGeneralProgrammer_internal(props.Context, "notation"+notationGeneralProgrammer_capitalize(props.Rename.Name)),
227
+ props.Input,
228
+ },
229
+ })
230
+ }
231
+
232
+ unions := []notationGeneralProgrammer_IUnion{}
233
+ if len(props.Metadata.Functions) != 0 {
234
+ unions = append(unions, notationGeneralProgrammer_IUnion{
235
+ Type: "functional",
236
+ Is: func() *shimast.Node {
237
+ return notationGeneralProgrammer_binary(
238
+ notationGeneralProgrammer_factory.NewStringLiteral("function", shimast.TokenFlagsNone),
239
+ shimast.KindEqualsEqualsEqualsToken,
240
+ notationGeneralProgrammer_factory.NewTypeOfExpression(props.Input),
241
+ )
242
+ },
243
+ Value: func() *shimast.Node {
244
+ return notationGeneralProgrammer_factory.NewIdentifier("undefined")
245
+ },
246
+ })
247
+ }
248
+
249
+ for _, tuple := range props.Metadata.Tuples {
250
+ tuple := tuple
251
+ unions = append(unions, notationGeneralProgrammer_IUnion{
252
+ Type: "tuple",
253
+ Is: func() *shimast.Node {
254
+ partial := schemametadata.MetadataSchema_initialize()
255
+ partial.Tuples = append(partial.Tuples, tuple)
256
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
257
+ Context: props.Context,
258
+ Functor: props.Functor,
259
+ Input: props.Input,
260
+ Metadata: partial,
261
+ Explore: notationGeneralProgrammer_checker_explore(props.Explore),
262
+ })
263
+ },
264
+ Value: func() *shimast.Node {
265
+ return notationGeneralProgrammer_decode_tuple(notationGeneralProgrammer_decodeTupleProps{
266
+ Config: props.Config,
267
+ Rename: props.Rename,
268
+ Context: props.Context,
269
+ Functor: props.Functor,
270
+ Tuple: tuple,
271
+ Explore: props.Explore,
272
+ Input: props.Input,
273
+ })
274
+ },
275
+ })
276
+ }
277
+
278
+ if len(props.Metadata.Arrays) != 0 {
279
+ unions = append(unions, notationGeneralProgrammer_IUnion{
280
+ Type: "array",
281
+ Is: func() *shimast.Node {
282
+ return nativefactories.ExpressionFactory.IsArray(props.Input)
283
+ },
284
+ Value: func() *shimast.Node {
285
+ explore := props.Explore
286
+ explore.From = "array"
287
+ return notationGeneralProgrammer_explore_arrays(notationGeneralProgrammer_exploreArraysProps{
288
+ Context: props.Context,
289
+ Config: props.Config,
290
+ Functor: props.Functor,
291
+ Input: props.Input,
292
+ Arrays: props.Metadata.Arrays,
293
+ Explore: explore,
294
+ })
295
+ },
296
+ })
297
+ }
298
+
299
+ if len(props.Metadata.Sets) != 0 {
300
+ unions = append(unions, notationGeneralProgrammer_IUnion{
301
+ Type: "set",
302
+ Is: func() *shimast.Node {
303
+ return nativefactories.ExpressionFactory.IsInstanceOf("Set", props.Input)
304
+ },
305
+ Value: func() *shimast.Node {
306
+ explore := props.Explore
307
+ explore.From = "array"
308
+ return notationGeneralProgrammer_explore_sets(notationGeneralProgrammer_exploreSetsProps{
309
+ Context: props.Context,
310
+ Config: props.Config,
311
+ Functor: props.Functor,
312
+ Input: props.Input,
313
+ Explore: explore,
314
+ Sets: props.Metadata.Sets,
315
+ })
316
+ },
317
+ })
318
+ }
319
+
320
+ if len(props.Metadata.Maps) != 0 {
321
+ unions = append(unions, notationGeneralProgrammer_IUnion{
322
+ Type: "map",
323
+ Is: func() *shimast.Node {
324
+ return nativefactories.ExpressionFactory.IsInstanceOf("Map", props.Input)
325
+ },
326
+ Value: func() *shimast.Node {
327
+ explore := props.Explore
328
+ explore.From = "array"
329
+ return notationGeneralProgrammer_explore_maps(notationGeneralProgrammer_exploreMapsProps{
330
+ Context: props.Context,
331
+ Config: props.Config,
332
+ Functor: props.Functor,
333
+ Input: props.Input,
334
+ Maps: props.Metadata.Maps,
335
+ Explore: explore,
336
+ })
337
+ },
338
+ })
339
+ }
340
+
341
+ for _, native := range props.Metadata.Natives {
342
+ native := native
343
+ if native.Name == "WeakSet" || native.Name == "WeakMap" {
344
+ continue
345
+ }
346
+ unions = append(unions, notationGeneralProgrammer_IUnion{
347
+ Type: "native",
348
+ Is: func() *shimast.Node {
349
+ return nativefactories.ExpressionFactory.IsInstanceOf(native.Name, props.Input)
350
+ },
351
+ Value: func() *shimast.Node {
352
+ if native.Name == "Boolean" || native.Name == "Number" || native.Name == "String" {
353
+ return notationGeneralProgrammer_factory.NewCallExpression(
354
+ nativefactories.IdentifierFactory.Access(props.Input, "valueOf"),
355
+ nil,
356
+ nil,
357
+ nil,
358
+ shimast.NodeFlagsNone,
359
+ )
360
+ }
361
+ return notationGeneralProgrammer_decode_native(struct {
362
+ Name string
363
+ Input *shimast.Node
364
+ }{Name: native.Name, Input: props.Input})
365
+ },
366
+ })
367
+ }
368
+
369
+ if len(props.Metadata.Objects) != 0 {
370
+ unions = append(unions, notationGeneralProgrammer_IUnion{
371
+ Type: "object",
372
+ Is: func() *shimast.Node {
373
+ return nativefactories.ExpressionFactory.IsObject(nativefactories.ExpressionFactory_IsObjectProps{
374
+ CheckNull: true,
375
+ CheckArray: false,
376
+ Input: props.Input,
377
+ })
378
+ },
379
+ Value: func() *shimast.Node {
380
+ explore := props.Explore
381
+ explore.From = "object"
382
+ return notationGeneralProgrammer_explore_objects(notationGeneralProgrammer_exploreObjectsProps{
383
+ Config: props.Config,
384
+ Functor: props.Functor,
385
+ Input: props.Input,
386
+ Metadata: props.Metadata,
387
+ Explore: explore,
388
+ })
389
+ },
390
+ })
391
+ }
392
+
393
+ if len(unions) == 0 {
394
+ return props.Input
395
+ }
396
+ if len(unions) == 1 && props.Metadata.Size() == 1 {
397
+ value := unions[0].Value()
398
+ if (props.Metadata.Nullable || props.Metadata.IsRequired() == false) && notationGeneralProgrammer_is_instance(props.Metadata) {
399
+ value = notationGeneralProgrammer_factory.NewConditionalExpression(
400
+ props.Input,
401
+ nil,
402
+ value,
403
+ nil,
404
+ props.Input,
405
+ )
406
+ }
407
+ return notationGeneralProgrammer_factory.NewAsExpression(value, nativefactories.TypeFactory.Keyword("any"))
408
+ }
409
+ last := props.Input
410
+ for i := len(unions) - 1; i >= 0; i-- {
411
+ union := unions[i]
412
+ last = notationGeneralProgrammer_factory.NewConditionalExpression(
413
+ union.Is(),
414
+ nil,
415
+ union.Value(),
416
+ nil,
417
+ last,
418
+ )
419
+ }
420
+ return notationGeneralProgrammer_factory.NewAsExpression(last, nativefactories.TypeFactory.Keyword("any"))
421
+ }
422
+
423
+ func notationGeneralProgrammer_decode_object(props struct {
424
+ Functor *nativehelpers.FunctionProgrammer
425
+ Object *schemametadata.MetadataObjectType
426
+ Input *shimast.Node
427
+ Explore nativeinternal.FeatureProgrammer_IExplore
428
+ }) *shimast.Node {
429
+ return nativeinternal.FeatureProgrammer.Decode_object(nativeinternal.FeatureProgrammer_DecodeObjectProps{
430
+ Config: nativeinternal.FeatureProgrammer_DecodeObjectConfig{Trace: false, Path: false, Prefix: notationGeneralProgrammer_PREFIX},
431
+ Functor: props.Functor,
432
+ Object: props.Object,
433
+ Input: props.Input,
434
+ Explore: props.Explore,
435
+ })
436
+ }
437
+
438
+ type notationGeneralProgrammer_decodeArrayProps struct {
439
+ Config nativeinternal.FeatureProgrammer_IConfig
440
+ Functor *nativehelpers.FunctionProgrammer
441
+ Input *shimast.Node
442
+ Array *schemametadata.MetadataArray
443
+ Explore nativeinternal.FeatureProgrammer_IExplore
444
+ }
445
+
446
+ func notationGeneralProgrammer_decode_array(props notationGeneralProgrammer_decodeArrayProps) *shimast.Node {
447
+ if props.Array.Type.Recursive {
448
+ index := 0
449
+ if props.Array.Type.Index != nil {
450
+ index = *props.Array.Type.Index
451
+ }
452
+ return notationGeneralProgrammer_factory.NewCallExpression(
453
+ notationGeneralProgrammer_factory.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%sa%d", props.Config.Prefix, index))),
454
+ nil,
455
+ nil,
456
+ notationGeneralProgrammer_factory.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
457
+ Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace},
458
+ Explore: notationGeneralProgrammer_explore_with(props.Explore, "function", "array"),
459
+ Input: props.Input,
460
+ })),
461
+ shimast.NodeFlagsNone,
462
+ )
463
+ }
464
+ return notationGeneralProgrammer_decode_array_inline(props)
465
+ }
466
+
467
+ func notationGeneralProgrammer_decode_array_inline(props notationGeneralProgrammer_decodeArrayProps) *shimast.Node {
468
+ return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{
469
+ Config: nativeinternal.FeatureProgrammer_DecodeArrayConfig{
470
+ Trace: props.Config.Trace,
471
+ Path: props.Config.Path,
472
+ Prefix: props.Config.Prefix,
473
+ Decoder: props.Config.Decoder,
474
+ },
475
+ Functor: props.Functor,
476
+ Combiner: func(next struct {
477
+ Input *shimast.Expression
478
+ Arrow *shimast.Node
479
+ }) *shimast.Node {
480
+ return nativehelpers.NotationJoiner.Array(nativehelpers.NotationJoiner_ArrayProps{
481
+ Input: next.Input,
482
+ Arrow: next.Arrow,
483
+ })
484
+ },
485
+ Array: props.Array,
486
+ Input: props.Input,
487
+ Explore: props.Explore,
488
+ })
489
+ }
490
+
491
+ type notationGeneralProgrammer_decodeTupleProps struct {
492
+ Config nativeinternal.FeatureProgrammer_IConfig
493
+ Rename NotationGeneralProgrammer_IRename
494
+ Context nativecontext.ITypiaContext
495
+ Functor *nativehelpers.FunctionProgrammer
496
+ Tuple *schemametadata.MetadataTuple
497
+ Explore nativeinternal.FeatureProgrammer_IExplore
498
+ Input *shimast.Node
499
+ }
500
+
501
+ func notationGeneralProgrammer_decode_tuple(props notationGeneralProgrammer_decodeTupleProps) *shimast.Node {
502
+ if props.Tuple.Type.Recursive {
503
+ index := 0
504
+ if props.Tuple.Type.Index != nil {
505
+ index = *props.Tuple.Type.Index
506
+ }
507
+ return notationGeneralProgrammer_factory.NewCallExpression(
508
+ notationGeneralProgrammer_factory.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%st%d", props.Config.Prefix, index))),
509
+ nil,
510
+ nil,
511
+ notationGeneralProgrammer_factory.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
512
+ Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace},
513
+ Explore: notationGeneralProgrammer_explore_with(props.Explore, "function", props.Explore.From),
514
+ Input: props.Input,
515
+ })),
516
+ shimast.NodeFlagsNone,
517
+ )
518
+ }
519
+ return notationGeneralProgrammer_decode_tuple_inline(notationGeneralProgrammer_decodeTupleInlineProps{
520
+ Context: props.Context,
521
+ Rename: props.Rename,
522
+ Config: props.Config,
523
+ Functor: props.Functor,
524
+ Tuple: props.Tuple.Type,
525
+ Explore: props.Explore,
526
+ Input: props.Input,
527
+ })
528
+ }
529
+
530
+ type notationGeneralProgrammer_decodeTupleInlineProps struct {
531
+ Context nativecontext.ITypiaContext
532
+ Rename NotationGeneralProgrammer_IRename
533
+ Config nativeinternal.FeatureProgrammer_IConfig
534
+ Functor *nativehelpers.FunctionProgrammer
535
+ Explore nativeinternal.FeatureProgrammer_IExplore
536
+ Tuple *schemametadata.MetadataTupleType
537
+ Input *shimast.Node
538
+ }
539
+
540
+ func notationGeneralProgrammer_decode_tuple_inline(props notationGeneralProgrammer_decodeTupleInlineProps) *shimast.Node {
541
+ elements := []*shimast.Node{}
542
+ for index, elem := range props.Tuple.Elements {
543
+ if elem.Rest != nil {
544
+ continue
545
+ }
546
+ explore := props.Explore
547
+ explore.From = "array"
548
+ if len(props.Explore.Postfix) != 0 {
549
+ explore.Postfix = fmt.Sprintf("%s[%d]\"", nativeiterate.Postfix_of_tuple_export(props.Explore.Postfix), index)
550
+ } else {
551
+ explore.Postfix = fmt.Sprintf("\"[%d]\"", index)
552
+ }
553
+ elements = append(elements, notationGeneralProgrammer_decode(struct {
554
+ Config nativeinternal.FeatureProgrammer_IConfig
555
+ Rename NotationGeneralProgrammer_IRename
556
+ Context nativecontext.ITypiaContext
557
+ Functor *nativehelpers.FunctionProgrammer
558
+ Metadata *schemametadata.MetadataSchema
559
+ Explore nativeinternal.FeatureProgrammer_IExplore
560
+ Input *shimast.Node
561
+ }{
562
+ Config: props.Config,
563
+ Rename: props.Rename,
564
+ Context: props.Context,
565
+ Functor: props.Functor,
566
+ Metadata: elem,
567
+ Explore: explore,
568
+ Input: notationGeneralProgrammer_factory.NewElementAccessExpression(props.Input, nil, nativefactories.ExpressionFactory.Number(index), shimast.NodeFlagsNone),
569
+ }))
570
+ }
571
+ var rest *shimast.Node
572
+ if len(props.Tuple.Elements) != 0 {
573
+ last := props.Tuple.Elements[len(props.Tuple.Elements)-1]
574
+ if last.Rest != nil {
575
+ start := len(props.Tuple.Elements) - 1
576
+ explore := props.Explore
577
+ explore.Start = &start
578
+ rest = notationGeneralProgrammer_decode(struct {
579
+ Config nativeinternal.FeatureProgrammer_IConfig
580
+ Rename NotationGeneralProgrammer_IRename
581
+ Context nativecontext.ITypiaContext
582
+ Functor *nativehelpers.FunctionProgrammer
583
+ Metadata *schemametadata.MetadataSchema
584
+ Explore nativeinternal.FeatureProgrammer_IExplore
585
+ Input *shimast.Node
586
+ }{
587
+ Config: props.Config,
588
+ Rename: props.Rename,
589
+ Context: props.Context,
590
+ Functor: props.Functor,
591
+ Input: notationGeneralProgrammer_factory.NewCallExpression(
592
+ nativefactories.IdentifierFactory.Access(props.Input, "slice"),
593
+ nil,
594
+ nil,
595
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{nativefactories.ExpressionFactory.Number(start)}),
596
+ shimast.NodeFlagsNone,
597
+ ),
598
+ Metadata: nativeiterate.Wrap_metadata_rest_tuple_export(last.Rest),
599
+ Explore: explore,
600
+ })
601
+ }
602
+ }
603
+ return nativehelpers.NotationJoiner.Tuple(nativehelpers.NotationJoiner_TupleProps{
604
+ Elements: elements,
605
+ Rest: rest,
606
+ })
607
+ }
608
+
609
+ func notationGeneralProgrammer_decode_native(props struct {
610
+ Name string
611
+ Input *shimast.Node
612
+ }) *shimast.Node {
613
+ if props.Name == "Date" {
614
+ return notationGeneralProgrammer_factory.NewNewExpression(
615
+ notationGeneralProgrammer_factory.NewIdentifier(props.Name),
616
+ nil,
617
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{props.Input}),
618
+ )
619
+ }
620
+ return props.Input
621
+ }
622
+
623
+ type notationGeneralProgrammer_exploreSetsProps struct {
624
+ Context nativecontext.ITypiaContext
625
+ Config nativeinternal.FeatureProgrammer_IConfig
626
+ Functor *nativehelpers.FunctionProgrammer
627
+ Input *shimast.Node
628
+ Explore nativeinternal.FeatureProgrammer_IExplore
629
+ Sets []*schemametadata.MetadataSet
630
+ }
631
+
632
+ func notationGeneralProgrammer_explore_sets(props notationGeneralProgrammer_exploreSetsProps) *shimast.Node {
633
+ return notationGeneralProgrammer_factory.NewCallExpression(
634
+ nativehelpers.UnionExplorer.Set(nativehelpers.UnionExplorer_SetProps{
635
+ Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
636
+ Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
637
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
638
+ Context: props.Context,
639
+ Functor: props.Functor,
640
+ Input: v.Input,
641
+ Metadata: v.Definition.(*schemametadata.MetadataSchema),
642
+ Explore: notationGeneralProgrammer_checker_explore(v.Explore),
643
+ })
644
+ },
645
+ Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
646
+ return notationGeneralProgrammer_factory.NewNewExpression(
647
+ notationGeneralProgrammer_factory.NewIdentifier("Set"),
648
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{nativefactories.TypeFactory.Keyword("any")}),
649
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{
650
+ notationGeneralProgrammer_decode_array(notationGeneralProgrammer_decodeArrayProps{
651
+ Config: props.Config,
652
+ Functor: props.Functor,
653
+ Input: v.Input,
654
+ Array: v.Definition.(*schemametadata.MetadataArray),
655
+ Explore: notationGeneralProgrammer_feature_explore(v.Explore),
656
+ }),
657
+ }),
658
+ )
659
+ },
660
+ Empty: notationGeneralProgrammer_factory.NewNewExpression(
661
+ notationGeneralProgrammer_factory.NewIdentifier("Set"),
662
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{nativefactories.TypeFactory.Keyword("any")}),
663
+ nil,
664
+ ),
665
+ Success: notationGeneralProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
666
+ Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
667
+ return notationGeneralProgrammer_create_throw_error(notationGeneralProgrammer_throwProps{
668
+ Context: props.Context,
669
+ Functor: props.Functor,
670
+ Expected: v.Expected,
671
+ Input: v.Input,
672
+ })
673
+ },
674
+ },
675
+ Parameters: nil,
676
+ Input: props.Input,
677
+ Sets: props.Sets,
678
+ Explore: props.Explore,
679
+ }),
680
+ nil,
681
+ nil,
682
+ nil,
683
+ shimast.NodeFlagsNone,
684
+ )
685
+ }
686
+
687
+ type notationGeneralProgrammer_exploreMapsProps struct {
688
+ Context nativecontext.ITypiaContext
689
+ Config nativeinternal.FeatureProgrammer_IConfig
690
+ Functor *nativehelpers.FunctionProgrammer
691
+ Input *shimast.Node
692
+ Maps []*schemametadata.MetadataMap
693
+ Explore nativeinternal.FeatureProgrammer_IExplore
694
+ }
695
+
696
+ func notationGeneralProgrammer_explore_maps(props notationGeneralProgrammer_exploreMapsProps) *shimast.Node {
697
+ return notationGeneralProgrammer_factory.NewCallExpression(
698
+ nativehelpers.UnionExplorer.Map(nativehelpers.UnionExplorer_MapProps{
699
+ Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
700
+ Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
701
+ pair := v.Definition.([]*schemametadata.MetadataSchema)
702
+ first := nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
703
+ Context: props.Context,
704
+ Functor: props.Functor,
705
+ Input: notationGeneralProgrammer_factory.NewElementAccessExpression(v.Input, nil, nativefactories.ExpressionFactory.Number(0), shimast.NodeFlagsNone),
706
+ Metadata: pair[0],
707
+ Explore: notationGeneralProgrammer_checker_explore_with_postfix(v.Explore, "[0]"),
708
+ })
709
+ second := nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
710
+ Context: props.Context,
711
+ Functor: props.Functor,
712
+ Input: notationGeneralProgrammer_factory.NewElementAccessExpression(v.Input, nil, nativefactories.ExpressionFactory.Number(1), shimast.NodeFlagsNone),
713
+ Metadata: pair[1],
714
+ Explore: notationGeneralProgrammer_checker_explore_with_postfix(v.Explore, "[1]"),
715
+ })
716
+ return notationGeneralProgrammer_binary(first, shimast.KindAmpersandAmpersandToken, second)
717
+ },
718
+ Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
719
+ return notationGeneralProgrammer_factory.NewNewExpression(
720
+ notationGeneralProgrammer_factory.NewIdentifier("Map"),
721
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{
722
+ nativefactories.TypeFactory.Keyword("any"),
723
+ nativefactories.TypeFactory.Keyword("any"),
724
+ }),
725
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{
726
+ notationGeneralProgrammer_decode_array(notationGeneralProgrammer_decodeArrayProps{
727
+ Config: props.Config,
728
+ Functor: props.Functor,
729
+ Input: v.Input,
730
+ Array: v.Definition.(*schemametadata.MetadataArray),
731
+ Explore: notationGeneralProgrammer_feature_explore(v.Explore),
732
+ }),
733
+ }),
734
+ )
735
+ },
736
+ Empty: notationGeneralProgrammer_factory.NewNewExpression(
737
+ notationGeneralProgrammer_factory.NewIdentifier("Map"),
738
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{
739
+ nativefactories.TypeFactory.Keyword("any"),
740
+ nativefactories.TypeFactory.Keyword("any"),
741
+ }),
742
+ nil,
743
+ ),
744
+ Success: notationGeneralProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
745
+ Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
746
+ return notationGeneralProgrammer_create_throw_error(notationGeneralProgrammer_throwProps{
747
+ Context: props.Context,
748
+ Functor: props.Functor,
749
+ Expected: v.Expected,
750
+ Input: v.Input,
751
+ })
752
+ },
753
+ },
754
+ Parameters: nil,
755
+ Input: props.Input,
756
+ Maps: props.Maps,
757
+ Explore: props.Explore,
758
+ }),
759
+ nil,
760
+ nil,
761
+ nil,
762
+ shimast.NodeFlagsNone,
763
+ )
764
+ }
765
+
766
+ type notationGeneralProgrammer_exploreObjectsProps struct {
767
+ Config nativeinternal.FeatureProgrammer_IConfig
768
+ Functor *nativehelpers.FunctionProgrammer
769
+ Input *shimast.Node
770
+ Metadata *schemametadata.MetadataSchema
771
+ Explore nativeinternal.FeatureProgrammer_IExplore
772
+ }
773
+
774
+ func notationGeneralProgrammer_explore_objects(props notationGeneralProgrammer_exploreObjectsProps) *shimast.Node {
775
+ if len(props.Metadata.Objects) == 1 {
776
+ return notationGeneralProgrammer_decode_object(struct {
777
+ Functor *nativehelpers.FunctionProgrammer
778
+ Object *schemametadata.MetadataObjectType
779
+ Input *shimast.Node
780
+ Explore nativeinternal.FeatureProgrammer_IExplore
781
+ }{Functor: props.Functor, Object: props.Metadata.Objects[0].Type, Input: props.Input, Explore: props.Explore})
782
+ }
783
+ index := 0
784
+ if props.Metadata.Union_index != nil {
785
+ index = *props.Metadata.Union_index
786
+ }
787
+ return notationGeneralProgrammer_factory.NewCallExpression(
788
+ notationGeneralProgrammer_factory.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%su%d", notationGeneralProgrammer_PREFIX, index))),
789
+ nil,
790
+ nil,
791
+ notationGeneralProgrammer_factory.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
792
+ Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace},
793
+ Explore: props.Explore,
794
+ Input: props.Input,
795
+ })),
796
+ shimast.NodeFlagsNone,
797
+ )
798
+ }
799
+
800
+ type notationGeneralProgrammer_exploreArraysProps struct {
801
+ Context nativecontext.ITypiaContext
802
+ Config nativeinternal.FeatureProgrammer_IConfig
803
+ Functor *nativehelpers.FunctionProgrammer
804
+ Input *shimast.Node
805
+ Arrays []*schemametadata.MetadataArray
806
+ Explore nativeinternal.FeatureProgrammer_IExplore
807
+ }
808
+
809
+ func notationGeneralProgrammer_explore_arrays(props notationGeneralProgrammer_exploreArraysProps) *shimast.Node {
810
+ return notationGeneralProgrammer_explore_array_like_union_types(notationGeneralProgrammer_exploreArrayLikeUnionTypesProps[*schemametadata.MetadataArray]{
811
+ Config: props.Config,
812
+ Functor: props.Functor,
813
+ Factory: func(next notationGeneralProgrammer_arrayLikeFactoryProps[*schemametadata.MetadataArray]) *shimast.Node {
814
+ return nativehelpers.UnionExplorer.Array(nativehelpers.UnionExplorer_ArrayProps{
815
+ Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
816
+ Checker: func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node {
817
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
818
+ Context: props.Context,
819
+ Functor: props.Functor,
820
+ Input: v.Input,
821
+ Metadata: v.Definition.(*schemametadata.MetadataSchema),
822
+ Explore: notationGeneralProgrammer_checker_explore(v.Explore),
823
+ })
824
+ },
825
+ Decoder: func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node {
826
+ return notationGeneralProgrammer_decode_array(notationGeneralProgrammer_decodeArrayProps{
827
+ Config: props.Config,
828
+ Functor: props.Functor,
829
+ Input: v.Input,
830
+ Array: v.Definition.(*schemametadata.MetadataArray),
831
+ Explore: notationGeneralProgrammer_feature_explore(v.Explore),
832
+ })
833
+ },
834
+ Empty: notationGeneralProgrammer_factory.NewIdentifier("[]"),
835
+ Success: notationGeneralProgrammer_factory.NewKeywordExpression(shimast.KindTrueKeyword),
836
+ Failure: func(v nativehelpers.UnionExplorer_ArrayLikeFailureProps) *shimast.Node {
837
+ return notationGeneralProgrammer_create_throw_error(notationGeneralProgrammer_throwProps{
838
+ Context: props.Context,
839
+ Functor: props.Functor,
840
+ Expected: v.Expected,
841
+ Input: v.Input,
842
+ })
843
+ },
844
+ },
845
+ Parameters: next.Parameters,
846
+ Input: next.Input,
847
+ Arrays: next.Definitions,
848
+ Explore: next.Explore,
849
+ })
850
+ },
851
+ Definitions: props.Arrays,
852
+ Input: props.Input,
853
+ Explore: props.Explore,
854
+ })
855
+ }
856
+
857
+ type notationGeneralProgrammer_arrayLikeFactoryProps[T any] struct {
858
+ Parameters []*shimast.Node
859
+ Input *shimast.Node
860
+ Definitions []T
861
+ Explore nativeinternal.FeatureProgrammer_IExplore
862
+ }
863
+
864
+ type notationGeneralProgrammer_exploreArrayLikeUnionTypesProps[T interface {
865
+ *schemametadata.MetadataArray | *schemametadata.MetadataTuple
866
+ }] struct {
867
+ Config nativeinternal.FeatureProgrammer_IConfig
868
+ Functor *nativehelpers.FunctionProgrammer
869
+ Factory func(next notationGeneralProgrammer_arrayLikeFactoryProps[T]) *shimast.Node
870
+ Input *shimast.Node
871
+ Definitions []T
872
+ Explore nativeinternal.FeatureProgrammer_IExplore
873
+ }
874
+
875
+ func notationGeneralProgrammer_explore_array_like_union_types[T interface {
876
+ *schemametadata.MetadataArray | *schemametadata.MetadataTuple
877
+ }](props notationGeneralProgrammer_exploreArrayLikeUnionTypesProps[T]) *shimast.Node {
878
+ arrow := func(next struct {
879
+ Parameters []*shimast.Node
880
+ Explore nativeinternal.FeatureProgrammer_IExplore
881
+ Input *shimast.Node
882
+ }) *shimast.Node {
883
+ return props.Factory(notationGeneralProgrammer_arrayLikeFactoryProps[T]{
884
+ Parameters: next.Parameters,
885
+ Definitions: props.Definitions,
886
+ Explore: next.Explore,
887
+ Input: next.Input,
888
+ })
889
+ }
890
+ arrayExplore := props.Explore
891
+ arrayExplore.Source = "function"
892
+ arrayExplore.From = "array"
893
+ return notationGeneralProgrammer_factory.NewCallExpression(
894
+ notationGeneralProgrammer_factory.NewIdentifier(props.Functor.EmplaceUnion(props.Config.Prefix, notationGeneralProgrammer_array_like_names(props.Definitions), func() *shimast.Node {
895
+ explore := arrayExplore
896
+ explore.Postfix = ""
897
+ return arrow(struct {
898
+ Parameters []*shimast.Node
899
+ Explore nativeinternal.FeatureProgrammer_IExplore
900
+ Input *shimast.Node
901
+ }{
902
+ Parameters: nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
903
+ Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace},
904
+ Type: nativefactories.TypeFactory.Keyword("any"),
905
+ Input: notationGeneralProgrammer_factory.NewIdentifier("input"),
906
+ }),
907
+ Explore: explore,
908
+ Input: notationGeneralProgrammer_factory.NewIdentifier("input"),
909
+ })
910
+ })),
911
+ nil,
912
+ nil,
913
+ notationGeneralProgrammer_factory.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
914
+ Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace},
915
+ Explore: arrayExplore,
916
+ Input: props.Input,
917
+ })),
918
+ shimast.NodeFlagsNone,
919
+ )
920
+ }
921
+
922
+ func notationGeneralProgrammer_configure(props struct {
923
+ Rename NotationGeneralProgrammer_IRename
924
+ Context nativecontext.ITypiaContext
925
+ Functor *nativehelpers.FunctionProgrammer
926
+ }) nativeinternal.FeatureProgrammer_IConfig {
927
+ var config nativeinternal.FeatureProgrammer_IConfig
928
+ config = nativeinternal.FeatureProgrammer_IConfig{
929
+ Types: nativeinternal.FeatureProgrammer_IConfig_ITypes{
930
+ Input: func(t *shimchecker.Type, name *string) *shimast.TypeNode {
931
+ return notationGeneralProgrammer_factory.NewTypeReferenceNode(notationGeneralProgrammer_factory.NewIdentifier(notationGeneralProgrammer_type_name(props.Context, t, name)), nil)
932
+ },
933
+ Output: func(t *shimchecker.Type, name *string) *shimast.TypeNode {
934
+ return NotationGeneralProgrammer.ReturnType(NotationGeneralProgrammer_ReturnTypeProps{
935
+ Rename: props.Rename,
936
+ Context: props.Context,
937
+ Type: notationGeneralProgrammer_type_name(props.Context, t, name),
938
+ })
939
+ },
940
+ },
941
+ Prefix: notationGeneralProgrammer_PREFIX,
942
+ Trace: false,
943
+ Path: false,
944
+ Initializer: notationGeneralProgrammer_initializer,
945
+ Decoder: func(next nativeinternal.FeatureProgrammer_DecoderProps) *shimast.Node {
946
+ return notationGeneralProgrammer_decode(struct {
947
+ Config nativeinternal.FeatureProgrammer_IConfig
948
+ Rename NotationGeneralProgrammer_IRename
949
+ Context nativecontext.ITypiaContext
950
+ Functor *nativehelpers.FunctionProgrammer
951
+ Metadata *schemametadata.MetadataSchema
952
+ Explore nativeinternal.FeatureProgrammer_IExplore
953
+ Input *shimast.Node
954
+ }{Config: config, Rename: props.Rename, Context: props.Context, Functor: props.Functor, Metadata: next.Metadata, Explore: next.Explore, Input: next.Input})
955
+ },
956
+ Objector: nativeinternal.FeatureProgrammer_IConfig_IObjector{
957
+ Checker: func(next nativeinternal.FeatureProgrammer_ObjectorCheckerProps) *shimast.Node {
958
+ return nativeprogrammers.IsProgrammer.Decode(nativeprogrammers.IsProgrammer_DecodeProps{
959
+ Context: props.Context,
960
+ Functor: props.Functor,
961
+ Input: next.Input,
962
+ Metadata: next.Metadata,
963
+ Explore: notationGeneralProgrammer_checker_explore(next.Explore),
964
+ })
965
+ },
966
+ Decoder: func(next nativeinternal.FeatureProgrammer_ObjectorDecoderProps) *shimast.Node {
967
+ return notationGeneralProgrammer_decode_object(struct {
968
+ Functor *nativehelpers.FunctionProgrammer
969
+ Object *schemametadata.MetadataObjectType
970
+ Input *shimast.Node
971
+ Explore nativeinternal.FeatureProgrammer_IExplore
972
+ }{Functor: props.Functor, Object: next.Object, Input: next.Input, Explore: next.Explore})
973
+ },
974
+ Joiner: func(next nativeinternal.FeatureProgrammer_ObjectorJoinerProps) *shimast.Node {
975
+ return nativehelpers.NotationJoiner.Object(nativehelpers.NotationJoiner_ObjectProps{
976
+ Rename: props.Rename.Func,
977
+ Input: next.Input,
978
+ Entries: next.Entries,
979
+ })
980
+ },
981
+ Unionizer: func(next nativeinternal.FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
982
+ return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
983
+ Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
984
+ return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
985
+ Context: props.Context,
986
+ Functor: props.Functor,
987
+ Object: v.Object,
988
+ Input: v.Input,
989
+ Explore: notationGeneralProgrammer_feature_explore(v.Explore),
990
+ })
991
+ },
992
+ Decoder: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
993
+ return notationGeneralProgrammer_decode_object(struct {
994
+ Functor *nativehelpers.FunctionProgrammer
995
+ Object *schemametadata.MetadataObjectType
996
+ Input *shimast.Node
997
+ Explore nativeinternal.FeatureProgrammer_IExplore
998
+ }{Functor: props.Functor, Object: v.Object, Input: v.Input, Explore: notationGeneralProgrammer_feature_explore(v.Explore)})
999
+ },
1000
+ Success: func(exp *shimast.Expression) *shimast.Node {
1001
+ return exp
1002
+ },
1003
+ Escaper: func(v nativeiterate.Decode_union_object_escape) *shimast.Node {
1004
+ return notationGeneralProgrammer_create_throw_error(notationGeneralProgrammer_throwProps{
1005
+ Context: props.Context,
1006
+ Functor: props.Functor,
1007
+ Expected: v.Expected,
1008
+ Input: v.Input,
1009
+ })
1010
+ },
1011
+ Input: next.Input,
1012
+ Objects: next.Objects,
1013
+ Explore: next.Explore,
1014
+ })
1015
+ },
1016
+ Failure: func(next nativeinternal.FeatureProgrammer_ObjectorFailureProps) *shimast.Node {
1017
+ return notationGeneralProgrammer_create_throw_error(notationGeneralProgrammer_throwProps{
1018
+ Context: props.Context,
1019
+ Functor: props.Functor,
1020
+ Expected: next.Expected,
1021
+ Input: next.Input,
1022
+ })
1023
+ },
1024
+ },
1025
+ Generator: nativeinternal.FeatureProgrammer_IConfig_IGenerator{
1026
+ Arrays: func(collection *schemametadata.MetadataCollection) []*shimast.Node {
1027
+ return notationGeneralProgrammer_write_array_functions(struct {
1028
+ Config nativeinternal.FeatureProgrammer_IConfig
1029
+ Functor *nativehelpers.FunctionProgrammer
1030
+ Collection *schemametadata.MetadataCollection
1031
+ }{Config: config, Functor: props.Functor, Collection: collection})
1032
+ },
1033
+ Tuples: func(collection *schemametadata.MetadataCollection) []*shimast.Node {
1034
+ return notationGeneralProgrammer_write_tuple_functions(struct {
1035
+ Config nativeinternal.FeatureProgrammer_IConfig
1036
+ Rename NotationGeneralProgrammer_IRename
1037
+ Context nativecontext.ITypiaContext
1038
+ Functor *nativehelpers.FunctionProgrammer
1039
+ Collection *schemametadata.MetadataCollection
1040
+ }{Config: config, Rename: props.Rename, Context: props.Context, Functor: props.Functor, Collection: collection})
1041
+ },
1042
+ },
1043
+ }
1044
+ return config
1045
+ }
1046
+
1047
+ func notationGeneralProgrammer_initializer(props nativeinternal.FeatureProgrammer_InitializerProps) nativeinternal.FeatureProgrammer_InitializerOutput {
1048
+ collection := schemametadata.NewMetadataCollection()
1049
+ result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
1050
+ Checker: props.Context.Checker,
1051
+ Transformer: props.Context.Transformer,
1052
+ Options: nativefactories.MetadataFactory_IOptions{
1053
+ Escape: false,
1054
+ Constant: true,
1055
+ Absorb: true,
1056
+ },
1057
+ Components: collection,
1058
+ Type: props.Type,
1059
+ })
1060
+ if result.Success == false {
1061
+ panic(nativecontext.TransformerError_from(struct {
1062
+ Code string
1063
+ Errors []nativecontext.TransformerError_MetadataFactory_IError
1064
+ }{
1065
+ Code: props.Functor.Method,
1066
+ Errors: notationGeneralProgrammer_errors(result.Errors),
1067
+ }))
1068
+ }
1069
+ return nativeinternal.FeatureProgrammer_InitializerOutput{
1070
+ Collection: collection,
1071
+ Metadata: result.Data,
1072
+ }
1073
+ }
1074
+
1075
+ type notationGeneralProgrammer_throwProps struct {
1076
+ Context nativecontext.ITypiaContext
1077
+ Functor *nativehelpers.FunctionProgrammer
1078
+ Expected string
1079
+ Input *shimast.Node
1080
+ }
1081
+
1082
+ func notationGeneralProgrammer_create_throw_error(props notationGeneralProgrammer_throwProps) *shimast.Node {
1083
+ return notationGeneralProgrammer_factory.NewExpressionStatement(
1084
+ notationGeneralProgrammer_factory.NewCallExpression(
1085
+ notationGeneralProgrammer_internal(props.Context, "throwTypeGuardError"),
1086
+ nil,
1087
+ notationGeneralProgrammer_factory.NewNodeList(nil),
1088
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{
1089
+ notationGeneralProgrammer_factory.NewObjectLiteralExpression(
1090
+ notationGeneralProgrammer_factory.NewNodeList([]*shimast.Node{
1091
+ notationGeneralProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("method"), nil, nil, notationGeneralProgrammer_factory.NewStringLiteral(props.Functor.Method, shimast.TokenFlagsNone)),
1092
+ notationGeneralProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("expected"), nil, nil, notationGeneralProgrammer_factory.NewStringLiteral(props.Expected, shimast.TokenFlagsNone)),
1093
+ notationGeneralProgrammer_factory.NewPropertyAssignment(nil, nativefactories.IdentifierFactory.Identifier("value"), nil, nil, props.Input),
1094
+ }),
1095
+ true,
1096
+ ),
1097
+ }),
1098
+ shimast.NodeFlagsNone,
1099
+ ),
1100
+ )
1101
+ }
1102
+
1103
+ func notationGeneralProgrammer_is_instance(metadata *schemametadata.MetadataSchema) bool {
1104
+ return len(metadata.Objects) != 0 ||
1105
+ len(metadata.Arrays) != 0 ||
1106
+ len(metadata.Tuples) != 0 ||
1107
+ len(metadata.Sets) != 0 ||
1108
+ len(metadata.Maps) != 0 ||
1109
+ len(metadata.Natives) != 0 ||
1110
+ (metadata.Rest != nil && notationGeneralProgrammer_is_instance(metadata.Rest))
1111
+ }
1112
+
1113
+ type notationGeneralProgrammer_IUnion struct {
1114
+ Type string
1115
+ Is func() *shimast.Node
1116
+ Value func() *shimast.Node
1117
+ }
1118
+
1119
+ func notationGeneralProgrammer_binary(left *shimast.Node, operator shimast.Kind, right *shimast.Node) *shimast.Node {
1120
+ return notationGeneralProgrammer_factory.NewBinaryExpression(nil, left, nil, notationGeneralProgrammer_factory.NewToken(operator), right)
1121
+ }
1122
+
1123
+ func notationGeneralProgrammer_internal(context nativecontext.ITypiaContext, name string) *shimast.Node {
1124
+ if importer, ok := context.Importer.(interface{ Internal(string) *shimast.Node }); ok {
1125
+ return importer.Internal(name)
1126
+ }
1127
+ return notationGeneralProgrammer_factory.NewIdentifier(name)
1128
+ }
1129
+
1130
+ func notationGeneralProgrammer_import_type(context nativecontext.ITypiaContext, props nativeprogrammers.ImportProgrammer_TypeProps) *shimast.Node {
1131
+ if importer, ok := context.Importer.(interface {
1132
+ Type(nativeprogrammers.ImportProgrammer_TypeProps) *shimast.Node
1133
+ }); ok {
1134
+ return importer.Type(props)
1135
+ }
1136
+ if str, ok := props.Name.(string); ok {
1137
+ return notationGeneralProgrammer_factory.NewTypeReferenceNode(notationGeneralProgrammer_factory.NewIdentifier(str), notationGeneralProgrammer_factory.NewNodeList(props.Arguments))
1138
+ }
1139
+ return props.Name.(*shimast.Node)
1140
+ }
1141
+
1142
+ func notationGeneralProgrammer_type_name(context nativecontext.ITypiaContext, typ *shimchecker.Type, name *string) string {
1143
+ if name != nil {
1144
+ return *name
1145
+ }
1146
+ return nativefactories.TypeFactory.GetFullName(nativefactories.TypeFactory_GetFullNameProps{
1147
+ Checker: context.Checker,
1148
+ Type: typ,
1149
+ })
1150
+ }
1151
+
1152
+ func notationGeneralProgrammer_method_text(modulo *shimast.Node) string {
1153
+ if modulo == nil {
1154
+ return ""
1155
+ }
1156
+ return modulo.Text()
1157
+ }
1158
+
1159
+ func notationGeneralProgrammer_feature_explore(input any) nativeinternal.FeatureProgrammer_IExplore {
1160
+ switch v := input.(type) {
1161
+ case nativeinternal.FeatureProgrammer_IExplore:
1162
+ return v
1163
+ case *nativeinternal.FeatureProgrammer_IExplore:
1164
+ return *v
1165
+ default:
1166
+ return nativeinternal.FeatureProgrammer_IExplore{}
1167
+ }
1168
+ }
1169
+
1170
+ func notationGeneralProgrammer_checker_explore(input any) nativeinternal.CheckerProgrammer_IExplore {
1171
+ v := notationGeneralProgrammer_feature_explore(input)
1172
+ return nativeinternal.CheckerProgrammer_IExplore{
1173
+ Tracable: v.Tracable,
1174
+ Source: v.Source,
1175
+ From: v.From,
1176
+ Postfix: v.Postfix,
1177
+ Start: v.Start,
1178
+ }
1179
+ }
1180
+
1181
+ func notationGeneralProgrammer_checker_explore_with_postfix(input any, postfix string) nativeinternal.CheckerProgrammer_IExplore {
1182
+ v := notationGeneralProgrammer_checker_explore(input)
1183
+ v.Postfix = v.Postfix + postfix
1184
+ return v
1185
+ }
1186
+
1187
+ func notationGeneralProgrammer_explore_with(explore nativeinternal.FeatureProgrammer_IExplore, source string, from string) nativeinternal.FeatureProgrammer_IExplore {
1188
+ explore.Source = source
1189
+ explore.From = from
1190
+ return explore
1191
+ }
1192
+
1193
+ func notationGeneralProgrammer_errors(errors []nativefactories.MetadataFactory_IError) []nativecontext.TransformerError_MetadataFactory_IError {
1194
+ output := make([]nativecontext.TransformerError_MetadataFactory_IError, 0, len(errors))
1195
+ for _, err := range errors {
1196
+ output = append(output, nativecontext.TransformerError_MetadataFactory_IError{
1197
+ Name: err.Name,
1198
+ Explore: nativecontext.TransformerError_MetadataFactory_IExplore{
1199
+ Object: err.Explore.Object,
1200
+ Property: err.Explore.Property,
1201
+ Parameter: err.Explore.Parameter,
1202
+ Output: err.Explore.Output,
1203
+ },
1204
+ Messages: append([]string{}, err.Messages...),
1205
+ })
1206
+ }
1207
+ return output
1208
+ }
1209
+
1210
+ func notationGeneralProgrammer_some_arrays(values []*schemametadata.MetadataArray, pred func(*schemametadata.MetadataArray) bool) bool {
1211
+ for _, value := range values {
1212
+ if pred(value) {
1213
+ return true
1214
+ }
1215
+ }
1216
+ return false
1217
+ }
1218
+
1219
+ func notationGeneralProgrammer_some_tuples(values []*schemametadata.MetadataTuple, pred func(*schemametadata.MetadataTuple) bool) bool {
1220
+ for _, value := range values {
1221
+ if pred(value) {
1222
+ return true
1223
+ }
1224
+ }
1225
+ return false
1226
+ }
1227
+
1228
+ func notationGeneralProgrammer_every_schema(values []*schemametadata.MetadataSchema, pred func(*schemametadata.MetadataSchema) bool) bool {
1229
+ if len(values) == 0 {
1230
+ return false
1231
+ }
1232
+ for _, value := range values {
1233
+ if pred(value) == false {
1234
+ return false
1235
+ }
1236
+ }
1237
+ return true
1238
+ }
1239
+
1240
+ func notationGeneralProgrammer_array_like_names[T interface {
1241
+ *schemametadata.MetadataArray | *schemametadata.MetadataTuple
1242
+ }](values []T) string {
1243
+ names := make([]string, 0, len(values))
1244
+ for _, value := range values {
1245
+ switch typed := any(value).(type) {
1246
+ case *schemametadata.MetadataArray:
1247
+ names = append(names, typed.Type.Name)
1248
+ case *schemametadata.MetadataTuple:
1249
+ names = append(names, typed.Type.Name)
1250
+ }
1251
+ }
1252
+ return strings.Join(names, " | ")
1253
+ }
1254
+
1255
+ func notationGeneralProgrammer_merge_functions(groups ...map[string]*shimast.Node) map[string]*shimast.Node {
1256
+ output := map[string]*shimast.Node{}
1257
+ for _, group := range groups {
1258
+ for key, value := range group {
1259
+ output[key] = value
1260
+ }
1261
+ }
1262
+ return output
1263
+ }
1264
+
1265
+ func notationGeneralProgrammer_capitalize(str string) string {
1266
+ if str == "" {
1267
+ return str
1268
+ }
1269
+ return strings.ToUpper(str[:1]) + str[1:]
1270
+ }
1271
+
1272
+ var NotationGeneralProgrammer_Camel = NotationGeneralProgrammer_IRename{Name: "camel", Func: notationGeneralProgrammer_camel}
1273
+ var NotationGeneralProgrammer_Pascal = NotationGeneralProgrammer_IRename{Name: "pascal", Func: notationGeneralProgrammer_pascal}
1274
+ var NotationGeneralProgrammer_Snake = NotationGeneralProgrammer_IRename{Name: "snake", Func: notationGeneralProgrammer_snake}
1275
+
1276
+ func notationGeneralProgrammer_camel(str string) string {
1277
+ return notationGeneralProgrammer_unsnake(str, func(value string) string {
1278
+ if value == "" {
1279
+ return value
1280
+ }
1281
+ if value == strings.ToUpper(value) {
1282
+ return strings.ToLower(value)
1283
+ }
1284
+ return strings.ToLower(value[:1]) + value[1:]
1285
+ }, func(value string, index int) string {
1286
+ if index == 0 {
1287
+ return strings.ToLower(value)
1288
+ }
1289
+ return notationGeneralProgrammer_capitalize(strings.ToLower(value))
1290
+ })
1291
+ }
1292
+
1293
+ func notationGeneralProgrammer_pascal(str string) string {
1294
+ return notationGeneralProgrammer_unsnake(str, func(value string) string {
1295
+ if value == "" {
1296
+ return value
1297
+ }
1298
+ return strings.ToUpper(value[:1]) + value[1:]
1299
+ }, func(value string, index int) string {
1300
+ return notationGeneralProgrammer_capitalize(value)
1301
+ })
1302
+ }
1303
+
1304
+ func notationGeneralProgrammer_snake(str string) string {
1305
+ if str == "" {
1306
+ return str
1307
+ }
1308
+ prefix := ""
1309
+ for len(str) != 0 && str[0] == '_' {
1310
+ prefix += "_"
1311
+ str = str[1:]
1312
+ }
1313
+ out := func(value string) string { return prefix + value }
1314
+ items := strings.Split(str, "_")
1315
+ if len(items) > 1 {
1316
+ for i, item := range items {
1317
+ items[i] = strings.ToLower(item)
1318
+ }
1319
+ return out(strings.Join(items, "_"))
1320
+ }
1321
+ indexes := []int{}
1322
+ for i := 0; i < len(str); i++ {
1323
+ code := str[i]
1324
+ if 'A' <= code && code <= 'Z' {
1325
+ indexes = append(indexes, i)
1326
+ }
1327
+ }
1328
+ for i := len(indexes) - 1; i > 0; i-- {
1329
+ now := indexes[i]
1330
+ prev := indexes[i-1]
1331
+ if now-prev == 1 {
1332
+ indexes = append(indexes[:i], indexes[i+1:]...)
1333
+ }
1334
+ }
1335
+ if len(indexes) != 0 && indexes[0] == 0 {
1336
+ indexes = indexes[1:]
1337
+ }
1338
+ if len(indexes) == 0 {
1339
+ return strings.ToLower(str)
1340
+ }
1341
+ ret := ""
1342
+ for i, last := range indexes {
1343
+ first := 0
1344
+ if i != 0 {
1345
+ first = indexes[i-1]
1346
+ }
1347
+ ret += strings.ToLower(str[first:last])
1348
+ ret += "_"
1349
+ }
1350
+ ret += strings.ToLower(str[indexes[len(indexes)-1]:])
1351
+ return out(ret)
1352
+ }
1353
+
1354
+ func notationGeneralProgrammer_unsnake(str string, plain func(string) string, snake func(string, int) string) string {
1355
+ prefix := ""
1356
+ for len(str) != 0 && str[0] == '_' {
1357
+ prefix += "_"
1358
+ str = str[1:]
1359
+ }
1360
+ out := func(value string) string { return prefix + value }
1361
+ if str == "" {
1362
+ return out("")
1363
+ }
1364
+ raw := strings.Split(str, "_")
1365
+ items := []string{}
1366
+ for _, item := range raw {
1367
+ if item != "" {
1368
+ items = append(items, item)
1369
+ }
1370
+ }
1371
+ if len(items) == 0 {
1372
+ return out("")
1373
+ }
1374
+ if len(items) == 1 {
1375
+ return out(plain(items[0]))
1376
+ }
1377
+ for i, item := range items {
1378
+ items[i] = snake(item, i)
1379
+ }
1380
+ return out(strings.Join(items, ""))
1381
+ }