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

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 (709) hide show
  1. package/lib/factories/IdentifierFactory.d.ts +1 -1
  2. package/lib/factories/JsonMetadataFactory.js +4 -1
  3. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  4. package/lib/factories/ProtobufFactory.js +4 -1
  5. package/lib/factories/ProtobufFactory.js.map +1 -1
  6. package/lib/functional/Namespace/index.d.ts +0 -1
  7. package/lib/functional/Namespace/index.js +1 -2
  8. package/lib/functional/Namespace/index.js.map +1 -1
  9. package/lib/functional.d.ts +18 -54
  10. package/lib/functional.js +18 -75
  11. package/lib/functional.js.map +1 -1
  12. package/lib/http.d.ts +39 -91
  13. package/lib/http.js +26 -121
  14. package/lib/http.js.map +1 -1
  15. package/lib/index.mjs +251 -1498
  16. package/lib/index.mjs.map +1 -1
  17. package/lib/internal/$ProtobufReader.d.ts +35 -0
  18. package/lib/internal/$ProtobufReader.js +166 -0
  19. package/lib/internal/$ProtobufReader.js.map +1 -0
  20. package/lib/internal/$ProtobufSizer.d.ts +36 -0
  21. package/lib/internal/$ProtobufSizer.js +125 -0
  22. package/lib/internal/$ProtobufSizer.js.map +1 -0
  23. package/lib/internal/$ProtobufWriter.d.ts +45 -0
  24. package/lib/internal/$ProtobufWriter.js +104 -0
  25. package/lib/internal/$ProtobufWriter.js.map +1 -0
  26. package/lib/internal/$accessExpressionAsString.d.ts +1 -0
  27. package/lib/internal/$accessExpressionAsString.js +50 -0
  28. package/lib/internal/$accessExpressionAsString.js.map +1 -0
  29. package/lib/internal/$assertGuard.d.ts +2 -0
  30. package/lib/internal/$assertGuard.js +15 -0
  31. package/lib/internal/$assertGuard.js.map +1 -0
  32. package/lib/internal/$functionalTypeGuardErrorFactory.d.ts +2 -0
  33. package/lib/internal/$functionalTypeGuardErrorFactory.js +9 -0
  34. package/lib/internal/$functionalTypeGuardErrorFactory.js.map +1 -0
  35. package/lib/internal/$httpFormDataReadArray.d.ts +1 -0
  36. package/lib/internal/$httpFormDataReadArray.js +6 -0
  37. package/lib/internal/$httpFormDataReadArray.js.map +1 -0
  38. package/lib/internal/$httpFormDataReadBigint.d.ts +1 -0
  39. package/lib/internal/$httpFormDataReadBigint.js +22 -0
  40. package/lib/internal/$httpFormDataReadBigint.js.map +1 -0
  41. package/lib/internal/$httpFormDataReadBlob.d.ts +1 -0
  42. package/lib/internal/$httpFormDataReadBlob.js +14 -0
  43. package/lib/internal/$httpFormDataReadBlob.js.map +1 -0
  44. package/lib/internal/$httpFormDataReadBoolean.d.ts +1 -0
  45. package/lib/internal/$httpFormDataReadBoolean.js +20 -0
  46. package/lib/internal/$httpFormDataReadBoolean.js.map +1 -0
  47. package/lib/internal/$httpFormDataReadFile.d.ts +1 -0
  48. package/lib/internal/$httpFormDataReadFile.js +14 -0
  49. package/lib/internal/$httpFormDataReadFile.js.map +1 -0
  50. package/lib/internal/$httpFormDataReadNumber.d.ts +1 -0
  51. package/lib/internal/$httpFormDataReadNumber.js +18 -0
  52. package/lib/internal/$httpFormDataReadNumber.js.map +1 -0
  53. package/lib/internal/$httpFormDataReadString.d.ts +1 -0
  54. package/lib/internal/$httpFormDataReadString.js +14 -0
  55. package/lib/internal/$httpFormDataReadString.js.map +1 -0
  56. package/lib/internal/$httpHeaderReadBigint.d.ts +1 -0
  57. package/lib/internal/$httpHeaderReadBigint.js +16 -0
  58. package/lib/internal/$httpHeaderReadBigint.js.map +1 -0
  59. package/lib/internal/$httpHeaderReadBoolean.d.ts +1 -0
  60. package/lib/internal/$httpHeaderReadBoolean.js +14 -0
  61. package/lib/internal/$httpHeaderReadBoolean.js.map +1 -0
  62. package/lib/internal/$httpHeaderReadNumber.d.ts +1 -0
  63. package/lib/internal/$httpHeaderReadNumber.js +12 -0
  64. package/lib/internal/$httpHeaderReadNumber.js.map +1 -0
  65. package/lib/internal/$httpParameterBigint.d.ts +1 -0
  66. package/lib/internal/$httpParameterBigint.js +16 -0
  67. package/lib/internal/$httpParameterBigint.js.map +1 -0
  68. package/lib/internal/$httpParameterBoolean.d.ts +1 -0
  69. package/lib/internal/$httpParameterBoolean.js +14 -0
  70. package/lib/internal/$httpParameterBoolean.js.map +1 -0
  71. package/lib/internal/$httpParameterNumber.d.ts +1 -0
  72. package/lib/internal/$httpParameterNumber.js +12 -0
  73. package/lib/internal/$httpParameterNumber.js.map +1 -0
  74. package/lib/internal/$httpParameterString.d.ts +1 -0
  75. package/lib/internal/$httpParameterString.js +8 -0
  76. package/lib/internal/$httpParameterString.js.map +1 -0
  77. package/lib/internal/$httpQueryParseURLSearchParams.d.ts +1 -0
  78. package/lib/internal/$httpQueryParseURLSearchParams.js +13 -0
  79. package/lib/internal/$httpQueryParseURLSearchParams.js.map +1 -0
  80. package/lib/internal/$httpQueryReadArray.d.ts +1 -0
  81. package/lib/internal/$httpQueryReadArray.js +6 -0
  82. package/lib/internal/$httpQueryReadArray.js.map +1 -0
  83. package/lib/internal/$httpQueryReadBigint.d.ts +1 -0
  84. package/lib/internal/$httpQueryReadBigint.js +16 -0
  85. package/lib/internal/$httpQueryReadBigint.js.map +1 -0
  86. package/lib/internal/$httpQueryReadBoolean.d.ts +1 -0
  87. package/lib/internal/$httpQueryReadBoolean.js +18 -0
  88. package/lib/internal/$httpQueryReadBoolean.js.map +1 -0
  89. package/lib/internal/$httpQueryReadNumber.d.ts +1 -0
  90. package/lib/internal/$httpQueryReadNumber.js +12 -0
  91. package/lib/internal/$httpQueryReadNumber.js.map +1 -0
  92. package/lib/internal/$httpQueryReadString.d.ts +1 -0
  93. package/lib/internal/$httpQueryReadString.js +8 -0
  94. package/lib/internal/$httpQueryReadString.js.map +1 -0
  95. package/lib/internal/$isBetween.d.ts +1 -0
  96. package/lib/internal/$isBetween.js +8 -0
  97. package/lib/internal/$isBetween.js.map +1 -0
  98. package/lib/internal/$isBigintString.d.ts +1 -0
  99. package/lib/internal/$isBigintString.js +14 -0
  100. package/lib/internal/$isBigintString.js.map +1 -0
  101. package/lib/internal/$jsonStringifyNumber.d.ts +1 -0
  102. package/lib/internal/$jsonStringifyNumber.js +16 -0
  103. package/lib/internal/$jsonStringifyNumber.js.map +1 -0
  104. package/lib/internal/$jsonStringifyRest.d.ts +1 -0
  105. package/lib/internal/$jsonStringifyRest.js +8 -0
  106. package/lib/internal/$jsonStringifyRest.js.map +1 -0
  107. package/lib/internal/$jsonStringifyString.d.ts +1 -0
  108. package/lib/internal/$jsonStringifyString.js +43 -0
  109. package/lib/internal/$jsonStringifyString.js.map +1 -0
  110. package/lib/internal/$jsonStringifyTail.d.ts +1 -0
  111. package/lib/internal/$jsonStringifyTail.js +8 -0
  112. package/lib/internal/$jsonStringifyTail.js.map +1 -0
  113. package/lib/internal/$llmApplicationFinalize.d.ts +2 -0
  114. package/lib/internal/$llmApplicationFinalize.js +42 -0
  115. package/lib/internal/$llmApplicationFinalize.js.map +1 -0
  116. package/lib/internal/$miscCloneAny.d.ts +2 -0
  117. package/lib/internal/$miscCloneAny.js +100 -0
  118. package/lib/internal/$miscCloneAny.js.map +1 -0
  119. package/lib/internal/$notationAny.d.ts +1 -0
  120. package/lib/internal/$notationAny.js +60 -0
  121. package/lib/internal/$notationAny.js.map +1 -0
  122. package/lib/internal/$notationCamel.d.ts +1 -0
  123. package/lib/internal/$notationCamel.js +18 -0
  124. package/lib/internal/$notationCamel.js.map +1 -0
  125. package/lib/internal/$notationPascal.d.ts +1 -0
  126. package/lib/internal/$notationPascal.js +12 -0
  127. package/lib/internal/$notationPascal.js.map +1 -0
  128. package/lib/internal/$notationSnake.d.ts +1 -0
  129. package/lib/internal/$notationSnake.js +51 -0
  130. package/lib/internal/$notationSnake.js.map +1 -0
  131. package/lib/internal/$randomArray.d.ts +4 -0
  132. package/lib/internal/$randomArray.js +19 -0
  133. package/lib/internal/$randomArray.js.map +1 -0
  134. package/lib/internal/$randomBigint.d.ts +2 -0
  135. package/lib/internal/$randomBigint.js +14 -0
  136. package/lib/internal/$randomBigint.js.map +1 -0
  137. package/lib/internal/$randomBoolean.d.ts +1 -0
  138. package/lib/internal/$randomBoolean.js +6 -0
  139. package/lib/internal/$randomBoolean.js.map +1 -0
  140. package/lib/internal/$randomByte.d.ts +1 -0
  141. package/lib/internal/$randomByte.js +7 -0
  142. package/lib/internal/$randomByte.js.map +1 -0
  143. package/lib/internal/$randomFormatDate.d.ts +4 -0
  144. package/lib/internal/$randomFormatDate.js +17 -0
  145. package/lib/internal/$randomFormatDate.js.map +1 -0
  146. package/lib/internal/$randomFormatDatetime.d.ts +4 -0
  147. package/lib/internal/$randomFormatDatetime.js +15 -0
  148. package/lib/internal/$randomFormatDatetime.js.map +1 -0
  149. package/lib/internal/$randomFormatDuration.d.ts +1 -0
  150. package/lib/internal/$randomFormatDuration.js +55 -0
  151. package/lib/internal/$randomFormatDuration.js.map +1 -0
  152. package/lib/internal/$randomFormatEmail.d.ts +1 -0
  153. package/lib/internal/$randomFormatEmail.js +16 -0
  154. package/lib/internal/$randomFormatEmail.js.map +1 -0
  155. package/lib/internal/$randomFormatHostname.d.ts +1 -0
  156. package/lib/internal/$randomFormatHostname.js +10 -0
  157. package/lib/internal/$randomFormatHostname.js.map +1 -0
  158. package/lib/internal/$randomFormatIdnEmail.d.ts +1 -0
  159. package/lib/internal/$randomFormatIdnEmail.js +7 -0
  160. package/lib/internal/$randomFormatIdnEmail.js.map +1 -0
  161. package/lib/internal/$randomFormatIdnHostname.d.ts +1 -0
  162. package/lib/internal/$randomFormatIdnHostname.js +7 -0
  163. package/lib/internal/$randomFormatIdnHostname.js.map +1 -0
  164. package/lib/internal/$randomFormatIpv4.d.ts +1 -0
  165. package/lib/internal/$randomFormatIpv4.js +15 -0
  166. package/lib/internal/$randomFormatIpv4.js.map +1 -0
  167. package/lib/internal/$randomFormatIpv6.d.ts +1 -0
  168. package/lib/internal/$randomFormatIpv6.js +15 -0
  169. package/lib/internal/$randomFormatIpv6.js.map +1 -0
  170. package/lib/internal/$randomFormatIri.d.ts +1 -0
  171. package/lib/internal/$randomFormatIri.js +7 -0
  172. package/lib/internal/$randomFormatIri.js.map +1 -0
  173. package/lib/internal/$randomFormatIriReference.d.ts +1 -0
  174. package/lib/internal/$randomFormatIriReference.js +7 -0
  175. package/lib/internal/$randomFormatIriReference.js.map +1 -0
  176. package/lib/internal/$randomFormatJsonPointer.d.ts +1 -0
  177. package/lib/internal/$randomFormatJsonPointer.js +12 -0
  178. package/lib/internal/$randomFormatJsonPointer.js.map +1 -0
  179. package/lib/internal/$randomFormatPassword.d.ts +1 -0
  180. package/lib/internal/$randomFormatPassword.js +13 -0
  181. package/lib/internal/$randomFormatPassword.js.map +1 -0
  182. package/lib/internal/$randomFormatRegex.d.ts +1 -0
  183. package/lib/internal/$randomFormatRegex.js +7 -0
  184. package/lib/internal/$randomFormatRegex.js.map +1 -0
  185. package/lib/internal/$randomFormatRelativeJsonPointer.d.ts +1 -0
  186. package/lib/internal/$randomFormatRelativeJsonPointer.js +13 -0
  187. package/lib/internal/$randomFormatRelativeJsonPointer.js.map +1 -0
  188. package/lib/internal/$randomFormatTime.d.ts +1 -0
  189. package/lib/internal/$randomFormatTime.js +15 -0
  190. package/lib/internal/$randomFormatTime.js.map +1 -0
  191. package/lib/internal/$randomFormatUri.d.ts +1 -0
  192. package/lib/internal/$randomFormatUri.js +7 -0
  193. package/lib/internal/$randomFormatUri.js.map +1 -0
  194. package/lib/internal/$randomFormatUriReference.d.ts +1 -0
  195. package/lib/internal/$randomFormatUriReference.js +7 -0
  196. package/lib/internal/$randomFormatUriReference.js.map +1 -0
  197. package/lib/internal/$randomFormatUriTemplate.d.ts +1 -0
  198. package/lib/internal/$randomFormatUriTemplate.js +7 -0
  199. package/lib/internal/$randomFormatUriTemplate.js.map +1 -0
  200. package/lib/internal/$randomFormatUrl.d.ts +1 -0
  201. package/lib/internal/$randomFormatUrl.js +16 -0
  202. package/lib/internal/$randomFormatUrl.js.map +1 -0
  203. package/lib/internal/$randomInteger.d.ts +2 -0
  204. package/lib/internal/$randomInteger.js +39 -0
  205. package/lib/internal/$randomInteger.js.map +1 -0
  206. package/lib/internal/$randomNumber.d.ts +2 -0
  207. package/lib/internal/$randomNumber.js +56 -0
  208. package/lib/internal/$randomNumber.js.map +1 -0
  209. package/lib/internal/$randomPattern.d.ts +1 -0
  210. package/lib/internal/$randomPattern.js +18 -0
  211. package/lib/internal/$randomPattern.js.map +1 -0
  212. package/lib/internal/$randomPick.d.ts +1 -0
  213. package/lib/internal/$randomPick.js +13 -0
  214. package/lib/internal/$randomPick.js.map +1 -0
  215. package/lib/internal/$randomString.d.ts +2 -0
  216. package/lib/internal/$randomString.js +23 -0
  217. package/lib/internal/$randomString.js.map +1 -0
  218. package/lib/internal/$randomUuid.d.ts +1 -0
  219. package/lib/internal/$randomUuid.js +12 -0
  220. package/lib/internal/$randomUuid.js.map +1 -0
  221. package/lib/internal/$throwTypeGuardError.d.ts +2 -0
  222. package/lib/internal/$throwTypeGuardError.js +9 -0
  223. package/lib/internal/$throwTypeGuardError.js.map +1 -0
  224. package/lib/internal/$validateReport.d.ts +2 -0
  225. package/lib/internal/$validateReport.js +18 -0
  226. package/lib/internal/$validateReport.js.map +1 -0
  227. package/lib/internal/private/$__IProtobufWriter.d.ts +15 -0
  228. package/lib/internal/private/$__IProtobufWriter.js +3 -0
  229. package/lib/internal/private/$__IProtobufWriter.js.map +1 -0
  230. package/lib/internal/private/$__notationCapitalize.d.ts +1 -0
  231. package/lib/internal/private/$__notationCapitalize.js +8 -0
  232. package/lib/internal/private/$__notationCapitalize.js.map +1 -0
  233. package/lib/internal/private/$__notationUnsnake.d.ts +4 -0
  234. package/lib/internal/private/$__notationUnsnake.js +28 -0
  235. package/lib/internal/private/$__notationUnsnake.js.map +1 -0
  236. package/lib/json.d.ts +27 -55
  237. package/lib/json.js +14 -62
  238. package/lib/json.js.map +1 -1
  239. package/lib/misc.d.ts +30 -62
  240. package/lib/misc.js +16 -80
  241. package/lib/misc.js.map +1 -1
  242. package/lib/module.d.ts +32 -64
  243. package/lib/module.js +17 -38
  244. package/lib/module.js.map +1 -1
  245. package/lib/notations.d.ts +45 -93
  246. package/lib/notations.js +24 -114
  247. package/lib/notations.js.map +1 -1
  248. package/lib/programmers/AssertProgrammer.d.ts +2 -2
  249. package/lib/programmers/AssertProgrammer.js +24 -41
  250. package/lib/programmers/AssertProgrammer.js.map +1 -1
  251. package/lib/programmers/CheckerProgrammer.d.ts +9 -9
  252. package/lib/programmers/CheckerProgrammer.js +54 -51
  253. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  254. package/lib/programmers/FeatureProgrammer.d.ts +8 -8
  255. package/lib/programmers/FeatureProgrammer.js +10 -10
  256. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  257. package/lib/programmers/ImportProgrammer.d.ts +10 -0
  258. package/lib/programmers/ImportProgrammer.js +119 -0
  259. package/lib/programmers/ImportProgrammer.js.map +1 -0
  260. package/lib/programmers/IsProgrammer.d.ts +6 -6
  261. package/lib/programmers/IsProgrammer.js +11 -13
  262. package/lib/programmers/IsProgrammer.js.map +1 -1
  263. package/lib/programmers/RandomProgrammer.d.ts +2 -2
  264. package/lib/programmers/RandomProgrammer.js +66 -63
  265. package/lib/programmers/RandomProgrammer.js.map +1 -1
  266. package/lib/programmers/ValidateProgrammer.d.ts +2 -2
  267. package/lib/programmers/ValidateProgrammer.js +9 -10
  268. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  269. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.d.ts +1 -1
  270. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +6 -4
  271. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
  272. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +1 -13
  273. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
  274. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +1 -1
  275. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
  276. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +4 -1
  277. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
  278. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +4 -1
  279. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  280. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +4 -1
  281. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  282. package/lib/programmers/helpers/{FunctionImporter.d.ts → FunctionProgrammer.d.ts} +4 -1
  283. package/lib/programmers/helpers/{FunctionImporter.js → FunctionProgrammer.js} +19 -16
  284. package/lib/programmers/helpers/FunctionProgrammer.js.map +1 -0
  285. package/lib/programmers/helpers/StringifyJoinder.d.ts +2 -2
  286. package/lib/programmers/helpers/StringifyJoinder.js +1 -1
  287. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  288. package/lib/programmers/helpers/disable_function_programmer_declare.d.ts +2 -0
  289. package/lib/programmers/helpers/disable_function_programmer_declare.js +19 -0
  290. package/lib/programmers/helpers/disable_function_programmer_declare.js.map +1 -0
  291. package/lib/programmers/http/HttpAssertFormDataProgrammer.d.ts +2 -2
  292. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +4 -4
  293. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  294. package/lib/programmers/http/HttpAssertHeadersProgrammer.d.ts +2 -2
  295. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +4 -4
  296. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  297. package/lib/programmers/http/HttpAssertQueryProgrammer.d.ts +2 -2
  298. package/lib/programmers/http/HttpAssertQueryProgrammer.js +4 -4
  299. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  300. package/lib/programmers/http/HttpFormDataProgrammer.d.ts +2 -2
  301. package/lib/programmers/http/HttpFormDataProgrammer.js +16 -12
  302. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  303. package/lib/programmers/http/HttpHeadersProgrammer.d.ts +3 -3
  304. package/lib/programmers/http/HttpHeadersProgrammer.js +40 -31
  305. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  306. package/lib/programmers/http/HttpIsFormDataProgrammer.d.ts +2 -2
  307. package/lib/programmers/http/HttpIsFormDataProgrammer.js +4 -4
  308. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  309. package/lib/programmers/http/HttpIsHeadersProgrammer.d.ts +2 -2
  310. package/lib/programmers/http/HttpIsHeadersProgrammer.js +4 -4
  311. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  312. package/lib/programmers/http/HttpIsQueryProgrammer.d.ts +2 -2
  313. package/lib/programmers/http/HttpIsQueryProgrammer.js +4 -4
  314. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  315. package/lib/programmers/http/HttpParameterProgrammer.js +7 -5
  316. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  317. package/lib/programmers/http/HttpQueryProgrammer.d.ts +2 -2
  318. package/lib/programmers/http/HttpQueryProgrammer.js +17 -13
  319. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  320. package/lib/programmers/http/HttpValidateFormDataProgrammer.d.ts +2 -2
  321. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +4 -4
  322. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  323. package/lib/programmers/http/HttpValidateHeadersProgrammer.d.ts +2 -2
  324. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +4 -4
  325. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  326. package/lib/programmers/http/HttpValidateQueryProgrammer.d.ts +2 -2
  327. package/lib/programmers/http/HttpValidateQueryProgrammer.js +4 -4
  328. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  329. package/lib/programmers/internal/check_dynamic_key.js +2 -2
  330. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  331. package/lib/programmers/internal/check_dynamic_properties.js +1 -2
  332. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  333. package/lib/programmers/internal/check_object.js +0 -1
  334. package/lib/programmers/internal/check_object.js.map +1 -1
  335. package/lib/programmers/internal/feature_object_entries.js +3 -2
  336. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  337. package/lib/programmers/json/JsonAssertParseProgrammer.d.ts +2 -2
  338. package/lib/programmers/json/JsonAssertParseProgrammer.js +4 -4
  339. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  340. package/lib/programmers/json/JsonAssertStringifyProgrammer.d.ts +2 -2
  341. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +4 -4
  342. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  343. package/lib/programmers/json/JsonIsParseProgrammer.d.ts +2 -2
  344. package/lib/programmers/json/JsonIsParseProgrammer.js +4 -4
  345. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  346. package/lib/programmers/json/JsonIsStringifyProgrammer.d.ts +2 -2
  347. package/lib/programmers/json/JsonIsStringifyProgrammer.js +4 -4
  348. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  349. package/lib/programmers/json/JsonStringifyProgrammer.d.ts +2 -2
  350. package/lib/programmers/json/JsonStringifyProgrammer.js +38 -33
  351. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  352. package/lib/programmers/json/JsonValidateParseProgrammer.d.ts +2 -2
  353. package/lib/programmers/json/JsonValidateParseProgrammer.js +4 -4
  354. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  355. package/lib/programmers/json/JsonValidateStringifyProgrammer.d.ts +2 -2
  356. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +4 -4
  357. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  358. package/lib/programmers/llm/LlmApplicationProgrammer.d.ts +1 -1
  359. package/lib/programmers/llm/LlmApplicationProgrammer.js +11 -11
  360. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  361. package/lib/programmers/llm/LlmSchemaProgrammer.d.ts +1 -1
  362. package/lib/programmers/llm/LlmSchemaProgrammer.js +12 -12
  363. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  364. package/lib/programmers/misc/MiscAssertCloneProgrammer.d.ts +2 -2
  365. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +4 -4
  366. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  367. package/lib/programmers/misc/MiscAssertPruneProgrammer.d.ts +2 -2
  368. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +4 -4
  369. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  370. package/lib/programmers/misc/MiscCloneProgrammer.d.ts +2 -2
  371. package/lib/programmers/misc/MiscCloneProgrammer.js +46 -37
  372. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  373. package/lib/programmers/misc/MiscIsCloneProgrammer.d.ts +2 -2
  374. package/lib/programmers/misc/MiscIsCloneProgrammer.js +4 -4
  375. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  376. package/lib/programmers/misc/MiscIsPruneProgrammer.d.ts +2 -2
  377. package/lib/programmers/misc/MiscIsPruneProgrammer.js +4 -4
  378. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  379. package/lib/programmers/misc/MiscLiteralsProgrammer.js +4 -1
  380. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  381. package/lib/programmers/misc/MiscPruneProgrammer.d.ts +2 -2
  382. package/lib/programmers/misc/MiscPruneProgrammer.js +36 -29
  383. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  384. package/lib/programmers/misc/MiscValidateCloneProgrammer.d.ts +2 -2
  385. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +4 -4
  386. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  387. package/lib/programmers/misc/MiscValidatePruneProgrammer.d.ts +2 -2
  388. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +4 -4
  389. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  390. package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +2 -2
  391. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +4 -4
  392. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  393. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +2 -2
  394. package/lib/programmers/notations/NotationGeneralProgrammer.js +72 -51
  395. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  396. package/lib/programmers/notations/NotationIsGeneralProgrammer.d.ts +2 -2
  397. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +4 -4
  398. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  399. package/lib/programmers/notations/NotationValidateGeneralProgrammer.d.ts +2 -2
  400. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +4 -4
  401. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  402. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.d.ts +2 -2
  403. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +4 -4
  404. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  405. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.d.ts +2 -2
  406. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +4 -4
  407. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  408. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.d.ts +2 -2
  409. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +14 -14
  410. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  411. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.d.ts +2 -2
  412. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +26 -22
  413. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  414. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.d.ts +2 -2
  415. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +4 -4
  416. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  417. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.d.ts +2 -2
  418. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +4 -4
  419. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  420. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.d.ts +2 -2
  421. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +4 -4
  422. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  423. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.d.ts +2 -2
  424. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +4 -4
  425. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  426. package/lib/protobuf.d.ts +31 -63
  427. package/lib/protobuf.js +16 -83
  428. package/lib/protobuf.js.map +1 -1
  429. package/lib/reflect.d.ts +2 -4
  430. package/lib/reflect.js +1 -3
  431. package/lib/reflect.js.map +1 -1
  432. package/lib/transformers/CallExpressionTransformer.d.ts +4 -1
  433. package/lib/transformers/CallExpressionTransformer.js +30 -32
  434. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  435. package/lib/transformers/FileTransformer.d.ts +1 -1
  436. package/lib/transformers/FileTransformer.js +70 -30
  437. package/lib/transformers/FileTransformer.js.map +1 -1
  438. package/lib/transformers/ITypiaContext.d.ts +2 -0
  439. package/lib/transformers/NodeTransformer.d.ts +4 -1
  440. package/lib/transformers/NodeTransformer.js +7 -6
  441. package/lib/transformers/NodeTransformer.js.map +1 -1
  442. package/lib/transformers/TransformerError.d.ts +4 -1
  443. package/lib/transformers/TransformerError.js +21 -23
  444. package/lib/transformers/TransformerError.js.map +1 -1
  445. package/lib/transformers/features/json/JsonApplicationTransformer.js +4 -1
  446. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  447. package/lib/transformers/features/llm/LlmApplicationTransformer.js +5 -4
  448. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  449. package/lib/transformers/features/llm/LlmSchemaTransformer.js +4 -1
  450. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  451. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +4 -1
  452. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  453. package/lib/transformers/features/reflect/ReflectNameTransformer.js +4 -1
  454. package/lib/transformers/features/reflect/ReflectNameTransformer.js.map +1 -1
  455. package/lib/utils/NamingConvention.d.ts +5 -0
  456. package/lib/utils/NamingConvention.js +102 -0
  457. package/lib/utils/NamingConvention.js.map +1 -0
  458. package/lib/utils/StringUtil.d.ts +8 -0
  459. package/lib/utils/StringUtil.js +19 -0
  460. package/lib/utils/StringUtil.js.map +1 -0
  461. package/package.json +2 -2
  462. package/src/CamelCase.ts +75 -75
  463. package/src/IRandomGenerator.ts +0 -1
  464. package/src/PascalCase.ts +71 -71
  465. package/src/Primitive.ts +92 -92
  466. package/src/SnakeCase.ts +126 -126
  467. package/src/factories/ExpressionFactory.ts +164 -164
  468. package/src/factories/IdentifierFactory.ts +89 -89
  469. package/src/factories/JsonMetadataFactory.ts +4 -1
  470. package/src/factories/MetadataTypeTagFactory.ts +385 -385
  471. package/src/factories/NumericRangeFactory.ts +72 -72
  472. package/src/factories/ProtobufFactory.ts +4 -3
  473. package/src/factories/TemplateFactory.ts +64 -64
  474. package/src/functional/$clone.ts +48 -48
  475. package/src/functional/$throws.ts +10 -10
  476. package/src/functional/Namespace/index.ts +0 -2
  477. package/src/functional/Namespace/json.ts +15 -15
  478. package/src/functional/Namespace/misc.ts +14 -14
  479. package/src/functional/Namespace/notations.ts +23 -23
  480. package/src/functional.ts +36 -158
  481. package/src/http.ts +79 -303
  482. package/src/internal/$ProtobufReader.ts +194 -0
  483. package/src/internal/$ProtobufSizer.ts +151 -0
  484. package/src/internal/$ProtobufWriter.ts +145 -0
  485. package/src/internal/$accessExpressionAsString.ts +46 -0
  486. package/src/internal/$assertGuard.ts +13 -0
  487. package/src/internal/$functionalTypeGuardErrorFactory.ts +4 -0
  488. package/src/internal/$httpFormDataReadArray.ts +4 -0
  489. package/src/internal/$httpFormDataReadBigint.ts +18 -0
  490. package/src/internal/$httpFormDataReadBlob.ts +10 -0
  491. package/src/internal/$httpFormDataReadBoolean.ts +16 -0
  492. package/src/internal/$httpFormDataReadFile.ts +10 -0
  493. package/src/internal/$httpFormDataReadNumber.ts +15 -0
  494. package/src/internal/$httpFormDataReadString.ts +10 -0
  495. package/src/internal/$httpHeaderReadBigint.ts +10 -0
  496. package/src/internal/$httpHeaderReadBoolean.ts +8 -0
  497. package/src/internal/$httpHeaderReadNumber.ts +7 -0
  498. package/src/internal/$httpParameterBigint.ts +10 -0
  499. package/src/internal/$httpParameterBoolean.ts +8 -0
  500. package/src/internal/$httpParameterNumber.ts +7 -0
  501. package/src/internal/$httpParameterString.ts +2 -0
  502. package/src/internal/$httpQueryParseURLSearchParams.ts +10 -0
  503. package/src/internal/$httpQueryReadArray.ts +4 -0
  504. package/src/internal/$httpQueryReadBigint.ts +12 -0
  505. package/src/internal/$httpQueryReadBoolean.ts +14 -0
  506. package/src/internal/$httpQueryReadNumber.ts +9 -0
  507. package/src/internal/$httpQueryReadString.ts +4 -0
  508. package/src/internal/$isBetween.ts +2 -0
  509. package/src/internal/$isBigintString.ts +8 -0
  510. package/src/internal/$jsonStringifyNumber.ts +12 -0
  511. package/src/internal/$jsonStringifyRest.ts +3 -0
  512. package/src/internal/$jsonStringifyString.ts +43 -0
  513. package/src/internal/$jsonStringifyTail.ts +2 -0
  514. package/src/internal/$llmApplicationFinalize.ts +18 -0
  515. package/src/internal/$miscCloneAny.ts +48 -0
  516. package/src/internal/$notationAny.ts +37 -0
  517. package/src/internal/$notationCamel.ts +13 -0
  518. package/src/internal/$notationPascal.ts +8 -0
  519. package/src/{utils/NamingConvention/NamingConvention.ts → internal/$notationSnake.ts} +43 -87
  520. package/src/internal/$randomArray.ts +20 -0
  521. package/src/internal/$randomBigint.ts +15 -0
  522. package/src/internal/$randomBoolean.ts +1 -0
  523. package/src/internal/$randomByte.ts +3 -0
  524. package/src/internal/$randomFormatDate.ts +17 -0
  525. package/src/internal/$randomFormatDatetime.ts +15 -0
  526. package/src/internal/$randomFormatDuration.ts +26 -0
  527. package/src/internal/$randomFormatEmail.ts +11 -0
  528. package/src/internal/$randomFormatHostname.ts +6 -0
  529. package/src/internal/$randomFormatIdnEmail.ts +3 -0
  530. package/src/internal/$randomFormatIdnHostname.ts +3 -0
  531. package/src/internal/$randomFormatIpv4.ts +10 -0
  532. package/src/internal/$randomFormatIpv6.ts +10 -0
  533. package/src/internal/$randomFormatIri.ts +3 -0
  534. package/src/internal/$randomFormatIriReference.ts +3 -0
  535. package/src/internal/$randomFormatJsonPointer.ts +7 -0
  536. package/src/internal/$randomFormatPassword.ts +8 -0
  537. package/src/internal/$randomFormatRegex.ts +4 -0
  538. package/src/internal/$randomFormatRelativeJsonPointer.ts +8 -0
  539. package/src/internal/$randomFormatTime.ts +13 -0
  540. package/src/internal/$randomFormatUri.ts +3 -0
  541. package/src/internal/$randomFormatUriReference.ts +3 -0
  542. package/src/internal/$randomFormatUriTemplate.ts +3 -0
  543. package/src/internal/$randomFormatUrl.ts +11 -0
  544. package/src/internal/$randomInteger.ts +44 -0
  545. package/src/internal/$randomNumber.ts +71 -0
  546. package/src/internal/$randomPattern.ts +10 -0
  547. package/src/internal/$randomPick.ts +8 -0
  548. package/src/internal/$randomString.ts +24 -0
  549. package/src/internal/$randomUuid.ts +6 -0
  550. package/src/internal/$throwTypeGuardError.ts +5 -0
  551. package/src/internal/$validateReport.ts +13 -0
  552. package/src/internal/private/$__IProtobufWriter.ts +18 -0
  553. package/src/internal/private/$__notationCapitalize.ts +2 -0
  554. package/src/internal/private/$__notationUnsnake.ts +24 -0
  555. package/src/json.ts +47 -134
  556. package/src/misc.ts +52 -151
  557. package/src/module.ts +50 -128
  558. package/src/notations.ts +76 -269
  559. package/src/programmers/AssertProgrammer.ts +51 -60
  560. package/src/programmers/CheckerProgrammer.ts +77 -76
  561. package/src/programmers/FeatureProgrammer.ts +18 -18
  562. package/src/programmers/ImportProgrammer.ts +109 -0
  563. package/src/programmers/IsProgrammer.ts +16 -18
  564. package/src/programmers/RandomProgrammer.ts +83 -82
  565. package/src/programmers/ValidateProgrammer.ts +15 -21
  566. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +8 -12
  567. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +1 -13
  568. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +1 -1
  569. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +4 -3
  570. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +4 -3
  571. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +4 -3
  572. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  573. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  574. package/src/programmers/helpers/{FunctionImporter.ts → FunctionProgrammer.ts} +4 -1
  575. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  576. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  577. package/src/programmers/helpers/ProtobufUtil.ts +125 -125
  578. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  579. package/src/programmers/helpers/RandomJoiner.ts +162 -162
  580. package/src/programmers/helpers/StringifyJoinder.ts +115 -114
  581. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  582. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  583. package/src/programmers/helpers/UnionPredicator.ts +77 -77
  584. package/src/programmers/helpers/disable_function_programmer_declare.ts +35 -0
  585. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +5 -5
  586. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +5 -5
  587. package/src/programmers/http/HttpAssertQueryProgrammer.ts +5 -5
  588. package/src/programmers/http/HttpFormDataProgrammer.ts +23 -19
  589. package/src/programmers/http/HttpHeadersProgrammer.ts +65 -38
  590. package/src/programmers/http/HttpIsFormDataProgrammer.ts +5 -5
  591. package/src/programmers/http/HttpIsHeadersProgrammer.ts +5 -5
  592. package/src/programmers/http/HttpIsQueryProgrammer.ts +5 -5
  593. package/src/programmers/http/HttpParameterProgrammer.ts +10 -10
  594. package/src/programmers/http/HttpQueryProgrammer.ts +24 -20
  595. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +5 -5
  596. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +5 -5
  597. package/src/programmers/http/HttpValidateQueryProgrammer.ts +5 -5
  598. package/src/programmers/internal/application_array.ts +56 -56
  599. package/src/programmers/internal/application_boolean.ts +25 -25
  600. package/src/programmers/internal/application_description.ts +12 -12
  601. package/src/programmers/internal/application_number.ts +25 -25
  602. package/src/programmers/internal/application_plugin.ts +19 -19
  603. package/src/programmers/internal/application_string.ts +25 -25
  604. package/src/programmers/internal/application_templates.ts +64 -64
  605. package/src/programmers/internal/application_title.ts +20 -20
  606. package/src/programmers/internal/application_union_discriminator.ts +35 -35
  607. package/src/programmers/internal/application_v30_native.ts +29 -29
  608. package/src/programmers/internal/application_v31_alias.ts +47 -47
  609. package/src/programmers/internal/application_v31_native.ts +25 -25
  610. package/src/programmers/internal/application_v31_tuple.ts +22 -22
  611. package/src/programmers/internal/check_dynamic_key.ts +2 -4
  612. package/src/programmers/internal/check_dynamic_properties.ts +1 -5
  613. package/src/programmers/internal/check_everything.ts +23 -23
  614. package/src/programmers/internal/check_native.ts +27 -27
  615. package/src/programmers/internal/check_object.ts +0 -3
  616. package/src/programmers/internal/check_template.ts +48 -48
  617. package/src/programmers/internal/check_union_array_like.ts +334 -334
  618. package/src/programmers/internal/decode_union_object.ts +116 -116
  619. package/src/programmers/internal/feature_object_entries.ts +61 -58
  620. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  621. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  622. package/src/programmers/internal/prune_object_properties.ts +63 -63
  623. package/src/programmers/internal/random_custom.ts +39 -39
  624. package/src/programmers/internal/template_to_pattern.ts +23 -23
  625. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  626. package/src/programmers/json/JsonAssertParseProgrammer.ts +5 -5
  627. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +5 -5
  628. package/src/programmers/json/JsonIsParseProgrammer.ts +5 -5
  629. package/src/programmers/json/JsonIsStringifyProgrammer.ts +5 -5
  630. package/src/programmers/json/JsonStringifyProgrammer.ts +60 -51
  631. package/src/programmers/json/JsonValidateParseProgrammer.ts +5 -5
  632. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +5 -5
  633. package/src/programmers/llm/LlmApplicationProgrammer.ts +12 -12
  634. package/src/programmers/llm/LlmSchemaProgrammer.ts +14 -12
  635. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +5 -5
  636. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +5 -5
  637. package/src/programmers/misc/MiscCloneProgrammer.ts +66 -55
  638. package/src/programmers/misc/MiscIsCloneProgrammer.ts +5 -5
  639. package/src/programmers/misc/MiscIsPruneProgrammer.ts +5 -5
  640. package/src/programmers/misc/MiscLiteralsProgrammer.ts +4 -1
  641. package/src/programmers/misc/MiscPruneProgrammer.ts +54 -45
  642. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +5 -5
  643. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +5 -5
  644. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +5 -5
  645. package/src/programmers/notations/NotationGeneralProgrammer.ts +106 -78
  646. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +5 -5
  647. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +5 -5
  648. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +5 -5
  649. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +5 -5
  650. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +21 -21
  651. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +41 -32
  652. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +5 -5
  653. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +5 -5
  654. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +5 -5
  655. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +5 -5
  656. package/src/protobuf.ts +51 -182
  657. package/src/reflect.ts +3 -9
  658. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  659. package/src/schemas/metadata/MetadataObject.ts +139 -139
  660. package/src/transformers/CallExpressionTransformer.ts +36 -36
  661. package/src/transformers/FileTransformer.ts +63 -34
  662. package/src/transformers/ITypiaContext.ts +3 -0
  663. package/src/transformers/NodeTransformer.ts +10 -6
  664. package/src/transformers/TransformerError.ts +26 -27
  665. package/src/transformers/features/json/JsonApplicationTransformer.ts +4 -1
  666. package/src/transformers/features/llm/LlmApplicationTransformer.ts +5 -7
  667. package/src/transformers/features/llm/LlmSchemaTransformer.ts +4 -1
  668. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +4 -1
  669. package/src/transformers/features/reflect/ReflectNameTransformer.ts +4 -1
  670. package/src/typings/Equal.ts +18 -18
  671. package/src/typings/IsTuple.ts +9 -9
  672. package/src/typings/NativeClass.ts +23 -23
  673. package/src/typings/ValueOf.ts +20 -20
  674. package/src/utils/MapUtil.ts +14 -14
  675. package/src/utils/NameEncoder.ts +32 -32
  676. package/src/utils/NamingConvention.ts +94 -0
  677. package/src/utils/StringUtil.ts +16 -0
  678. package/lib/functional/$every.d.ts +0 -2
  679. package/lib/functional/$every.js +0 -12
  680. package/lib/functional/$every.js.map +0 -1
  681. package/lib/functional/$varint.d.ts +0 -6
  682. package/lib/functional/$varint.js +0 -99
  683. package/lib/functional/$varint.js.map +0 -1
  684. package/lib/functional/$zigzag.d.ts +0 -4
  685. package/lib/functional/$zigzag.js +0 -35
  686. package/lib/functional/$zigzag.js.map +0 -1
  687. package/lib/programmers/helpers/FunctionImporter.js.map +0 -1
  688. package/lib/programmers/helpers/disable_function_importer_declare.d.ts +0 -2
  689. package/lib/programmers/helpers/disable_function_importer_declare.js +0 -19
  690. package/lib/programmers/helpers/disable_function_importer_declare.js.map +0 -1
  691. package/lib/utils/NamingConvention/NamingConvention.d.ts +0 -3
  692. package/lib/utils/NamingConvention/NamingConvention.js +0 -93
  693. package/lib/utils/NamingConvention/NamingConvention.js.map +0 -1
  694. package/lib/utils/NamingConvention/index.d.ts +0 -1
  695. package/lib/utils/NamingConvention/index.js +0 -28
  696. package/lib/utils/NamingConvention/index.js.map +0 -1
  697. package/lib/utils/StringUtil/StringUtil.d.ts +0 -2
  698. package/lib/utils/StringUtil/StringUtil.js +0 -14
  699. package/lib/utils/StringUtil/StringUtil.js.map +0 -1
  700. package/lib/utils/StringUtil/index.d.ts +0 -1
  701. package/lib/utils/StringUtil/index.js +0 -28
  702. package/lib/utils/StringUtil/index.js.map +0 -1
  703. package/src/functional/$every.ts +0 -11
  704. package/src/functional/$varint.ts +0 -130
  705. package/src/functional/$zigzag.ts +0 -39
  706. package/src/programmers/helpers/disable_function_importer_declare.ts +0 -33
  707. package/src/utils/NamingConvention/index.ts +0 -1
  708. package/src/utils/StringUtil/StringUtil.ts +0 -7
  709. package/src/utils/StringUtil/index.ts +0 -1
@@ -24,7 +24,7 @@ import { Escaper } from "../utils/Escaper";
24
24
 
25
25
  import { Format } from "../tags";
26
26
  import { FeatureProgrammer } from "./FeatureProgrammer";
27
- import { FunctionImporter } from "./helpers/FunctionImporter";
27
+ import { FunctionProgrammer } from "./helpers/FunctionProgrammer";
28
28
  import { RandomJoiner } from "./helpers/RandomJoiner";
29
29
  import { RandomRanger } from "./helpers/RandomRanger";
30
30
  import { random_custom } from "./internal/random_custom";
@@ -39,7 +39,7 @@ export namespace RandomProgrammer {
39
39
  }
40
40
  export interface IDecomposeProps {
41
41
  context: ITypiaContext;
42
- importer: FunctionImporter;
42
+ functor: FunctionProgrammer;
43
43
  type: ts.Type;
44
44
  name: string | undefined;
45
45
  init: ts.Expression | undefined;
@@ -69,22 +69,23 @@ export namespace RandomProgrammer {
69
69
  type: props.type,
70
70
  });
71
71
  if (result.success === false)
72
- throw TransformerError.from(`typia.${props.importer.method}`)(
73
- result.errors,
74
- );
72
+ throw TransformerError.from({
73
+ code: props.functor.method,
74
+ errors: result.errors,
75
+ });
75
76
 
76
77
  // GENERATE FUNCTION
77
78
  const functions: Record<string, ts.VariableStatement> = Object.fromEntries([
78
79
  ...write_object_functions({
79
- importer: props.importer,
80
+ functor: props.functor,
80
81
  collection,
81
82
  }).map((v, i) => [Prefix.object(i), v]),
82
83
  ...write_array_functions({
83
- importer: props.importer,
84
+ functor: props.functor,
84
85
  collection,
85
86
  }).map((v, i) => [Prefix.array(i), v]),
86
87
  ...write_tuple_functions({
87
- importer: props.importer,
88
+ functor: props.functor,
88
89
  collection,
89
90
  }).map((v, i) => [Prefix.tuple(i), v]),
90
91
  ]);
@@ -127,7 +128,7 @@ export namespace RandomProgrammer {
127
128
  ),
128
129
  ts.factory.createReturnStatement(
129
130
  decode({
130
- importer: props.importer,
131
+ functor: props.functor,
131
132
  explore: {
132
133
  function: false,
133
134
  recursive: false,
@@ -147,22 +148,22 @@ export namespace RandomProgrammer {
147
148
  };
148
149
 
149
150
  export const write = (props: IProps) => {
150
- const importer: FunctionImporter = new FunctionImporter(
151
+ const functor: FunctionProgrammer = new FunctionProgrammer(
151
152
  props.modulo.getText(),
152
153
  );
153
154
  const result: FeatureProgrammer.IDecomposed = decompose({
154
155
  ...props,
155
- importer,
156
+ functor,
156
157
  });
157
158
  return FeatureProgrammer.writeDecomposed({
158
159
  modulo: props.modulo,
159
- importer,
160
+ functor,
160
161
  result,
161
162
  });
162
163
  };
163
164
 
164
165
  const write_object_functions = (props: {
165
- importer: FunctionImporter;
166
+ functor: FunctionProgrammer;
166
167
  collection: MetadataCollection;
167
168
  }): ts.VariableStatement[] =>
168
169
  props.collection.objects().map((obj, i) =>
@@ -186,10 +187,10 @@ export namespace RandomProgrammer {
186
187
  TypeFactory.keyword("any"),
187
188
  undefined,
188
189
  RandomJoiner.object({
189
- coalesce: coalesce(props.importer),
190
+ coalesce: coalesce(props.functor),
190
191
  decode: (metadata) =>
191
192
  decode({
192
- importer: props.importer,
193
+ functor: props.functor,
193
194
  explore: {
194
195
  recursive: obj.recursive,
195
196
  function: true,
@@ -203,7 +204,7 @@ export namespace RandomProgrammer {
203
204
  );
204
205
 
205
206
  const write_array_functions = (props: {
206
- importer: FunctionImporter;
207
+ functor: FunctionProgrammer;
207
208
  collection: MetadataCollection;
208
209
  }): ts.VariableStatement[] =>
209
210
  props.collection
@@ -238,10 +239,10 @@ export namespace RandomProgrammer {
238
239
  TypeFactory.keyword("any"),
239
240
  undefined,
240
241
  RandomJoiner.array({
241
- coalesce: coalesce(props.importer),
242
+ coalesce: coalesce(props.functor),
242
243
  decode: (metadata) =>
243
244
  decode({
244
- importer: props.importer,
245
+ functor: props.functor,
245
246
  explore: {
246
247
  recursive: true,
247
248
  function: true,
@@ -261,7 +262,7 @@ export namespace RandomProgrammer {
261
262
  );
262
263
 
263
264
  const write_tuple_functions = (props: {
264
- importer: FunctionImporter;
265
+ functor: FunctionProgrammer;
265
266
  collection: MetadataCollection;
266
267
  }): ts.VariableStatement[] =>
267
268
  props.collection
@@ -290,7 +291,7 @@ export namespace RandomProgrammer {
290
291
  RandomJoiner.tuple({
291
292
  decode: (metadata) =>
292
293
  decode({
293
- importer: props.importer,
294
+ functor: props.functor,
294
295
  explore: {
295
296
  function: true,
296
297
  recursive: true,
@@ -307,7 +308,7 @@ export namespace RandomProgrammer {
307
308
  DECODERS
308
309
  ----------------------------------------------------------- */
309
310
  const decode = (props: {
310
- importer: FunctionImporter;
311
+ functor: FunctionProgrammer;
311
312
  explore: IExplore;
312
313
  metadata: Metadata;
313
314
  }): ts.Expression => {
@@ -339,25 +340,25 @@ export namespace RandomProgrammer {
339
340
  );
340
341
  for (const atomic of props.metadata.atomics)
341
342
  if (atomic.type === "boolean")
342
- expressions.push(decode_boolean(props.importer));
343
+ expressions.push(decode_boolean(props.functor));
343
344
  else if (atomic.type === "number")
344
345
  expressions.push(
345
346
  ...decode_number({
346
- importer: props.importer,
347
+ functor: props.functor,
347
348
  atomic,
348
349
  }),
349
350
  );
350
351
  else if (atomic.type === "string")
351
352
  expressions.push(
352
353
  ...decode_string({
353
- importer: props.importer,
354
+ functor: props.functor,
354
355
  atomic,
355
356
  }),
356
357
  );
357
358
  else if (atomic.type === "bigint")
358
359
  expressions.push(
359
360
  ...decode_bigint({
360
- importer: props.importer,
361
+ functor: props.functor,
361
362
  atomic,
362
363
  }),
363
364
  );
@@ -394,7 +395,7 @@ export namespace RandomProgrammer {
394
395
  for (const name of props.metadata.natives)
395
396
  expressions.push(
396
397
  decode_native({
397
- importer: props.importer,
398
+ functor: props.functor,
398
399
  name,
399
400
  }),
400
401
  );
@@ -416,7 +417,7 @@ export namespace RandomProgrammer {
416
417
  // PICK UP A TYPE
417
418
  if (expressions.length === 1) return expressions[0]!;
418
419
  return ts.factory.createCallExpression(
419
- ts.factory.createCallExpression(props.importer.use("pick"), undefined, [
420
+ ts.factory.createCallExpression(props.functor.use("pick"), undefined, [
420
421
  ts.factory.createArrayLiteralExpression(
421
422
  expressions.map((expr) =>
422
423
  ts.factory.createArrowFunction(
@@ -436,9 +437,9 @@ export namespace RandomProgrammer {
436
437
  );
437
438
  };
438
439
 
439
- const decode_boolean = (importer: FunctionImporter) =>
440
+ const decode_boolean = (functor: FunctionProgrammer) =>
440
441
  ts.factory.createCallExpression(
441
- coalesce(importer)("boolean"),
442
+ coalesce(functor)("boolean"),
442
443
  undefined,
443
444
  undefined,
444
445
  );
@@ -453,7 +454,7 @@ export namespace RandomProgrammer {
453
454
  : ExpressionFactory.bigint(Number(value));
454
455
 
455
456
  const decode_template = (props: {
456
- importer: FunctionImporter;
457
+ functor: FunctionProgrammer;
457
458
  explore: IExplore;
458
459
  template: MetadataTemplate;
459
460
  }) =>
@@ -467,7 +468,7 @@ export namespace RandomProgrammer {
467
468
  );
468
469
 
469
470
  const decode_number = (props: {
470
- importer: FunctionImporter;
471
+ functor: FunctionProgrammer;
471
472
  atomic: MetadataAtomic;
472
473
  }): ts.Expression[] =>
473
474
  (props.atomic.tags.length ? props.atomic.tags : [[]]).map((tags) => {
@@ -485,7 +486,7 @@ export namespace RandomProgrammer {
485
486
  : "double";
486
487
  const multiply = tags.find((t) => t.kind === "multipleOf");
487
488
  return random_custom({
488
- accessor: coalesce(props.importer),
489
+ accessor: coalesce(props.functor),
489
490
  type: "number",
490
491
  tags,
491
492
  expression: RandomRanger.number({
@@ -495,8 +496,8 @@ export namespace RandomProgrammer {
495
496
  setter: (args) =>
496
497
  ts.factory.createCallExpression(
497
498
  type !== "double" || multiply !== undefined
498
- ? coalesce(props.importer)("integer")
499
- : coalesce(props.importer)("number"),
499
+ ? coalesce(props.functor)("integer")
500
+ : coalesce(props.functor)("number"),
500
501
  undefined,
501
502
  args.map((val) => ExpressionFactory.number(val)),
502
503
  ),
@@ -512,12 +513,12 @@ export namespace RandomProgrammer {
512
513
  });
513
514
 
514
515
  const decode_bigint = (props: {
515
- importer: FunctionImporter;
516
+ functor: FunctionProgrammer;
516
517
  atomic: MetadataAtomic;
517
518
  }): ts.Expression[] =>
518
519
  (props.atomic.tags.length ? props.atomic.tags : [[]]).map((tags) =>
519
520
  random_custom({
520
- accessor: coalesce(props.importer),
521
+ accessor: coalesce(props.functor),
521
522
  type: "bigint",
522
523
  tags,
523
524
  expression: RandomRanger.number({
@@ -532,7 +533,7 @@ export namespace RandomProgrammer {
532
533
  transform: (value) => ExpressionFactory.bigint(value),
533
534
  setter: (args) =>
534
535
  ts.factory.createCallExpression(
535
- coalesce(props.importer)("bigint"),
536
+ coalesce(props.functor)("bigint"),
536
537
  undefined,
537
538
  args.map((value) => ExpressionFactory.bigint(value)),
538
539
  ),
@@ -548,25 +549,25 @@ export namespace RandomProgrammer {
548
549
  );
549
550
 
550
551
  const decode_string = (props: {
551
- importer: FunctionImporter;
552
+ functor: FunctionProgrammer;
552
553
  atomic: MetadataAtomic;
553
554
  }): ts.Expression[] =>
554
555
  (props.atomic.tags.length ? props.atomic.tags : [[]]).map((tags) =>
555
556
  random_custom({
556
- accessor: coalesce(props.importer),
557
+ accessor: coalesce(props.functor),
557
558
  type: "string",
558
559
  tags,
559
560
  expression: (() => {
560
561
  for (const t of tags)
561
562
  if (t.kind === "format")
562
563
  return ts.factory.createCallExpression(
563
- coalesce(props.importer)(emendFormat(t.value)),
564
+ coalesce(props.functor)(emendFormat(t.value)),
564
565
  undefined,
565
566
  undefined,
566
567
  );
567
568
  else if (t.kind === "pattern")
568
569
  return ts.factory.createCallExpression(
569
- coalesce(props.importer)("pattern"),
570
+ coalesce(props.functor)("pattern"),
570
571
  undefined,
571
572
  [
572
573
  ts.factory.createIdentifier(
@@ -576,7 +577,7 @@ export namespace RandomProgrammer {
576
577
  );
577
578
 
578
579
  const tail = RandomRanger.length({
579
- coalesce: coalesce(props.importer),
580
+ coalesce: coalesce(props.functor),
580
581
  defaults: {
581
582
  minimum: 5,
582
583
  maximum: 25,
@@ -589,7 +590,7 @@ export namespace RandomProgrammer {
589
590
  tags,
590
591
  });
591
592
  return ts.factory.createCallExpression(
592
- coalesce(props.importer)("string"),
593
+ coalesce(props.functor)("string"),
593
594
  undefined,
594
595
  tail ? [tail] : undefined,
595
596
  );
@@ -598,14 +599,14 @@ export namespace RandomProgrammer {
598
599
  );
599
600
 
600
601
  const decode_array = (props: {
601
- importer: FunctionImporter;
602
+ functor: FunctionProgrammer;
602
603
  explore: IExplore;
603
604
  array: MetadataArray;
604
605
  }): ts.Expression[] => {
605
606
  const fixed: Array<[ts.Expression | undefined, ts.Expression | undefined]> =
606
607
  (props.array.tags.length ? props.array.tags : [[]]).map((tags) => [
607
608
  RandomRanger.length({
608
- coalesce: coalesce(props.importer),
609
+ coalesce: coalesce(props.functor),
609
610
  defaults: {
610
611
  minimum: 0,
611
612
  maximum: 3,
@@ -630,11 +631,11 @@ export namespace RandomProgrammer {
630
631
  return fixed.map(([len, unique]) =>
631
632
  ts.factory.createCallExpression(
632
633
  ts.factory.createIdentifier(
633
- props.importer.useLocal(Prefix.array(props.array.type.index!)),
634
+ props.functor.useLocal(Prefix.array(props.array.type.index!)),
634
635
  ),
635
636
  undefined,
636
637
  [
637
- len ?? coalesce(props.importer)("length"),
638
+ len ?? coalesce(props.functor)("length"),
638
639
  unique ?? ts.factory.createFalse(),
639
640
  ts.factory.createTrue(),
640
641
  props.explore.recursive
@@ -648,7 +649,7 @@ export namespace RandomProgrammer {
648
649
  );
649
650
  return fixed.map(([len, unique]) => {
650
651
  const expr: ts.Expression = RandomJoiner.array({
651
- coalesce: coalesce(props.importer),
652
+ coalesce: coalesce(props.functor),
652
653
  decode: (metadata) =>
653
654
  decode({
654
655
  ...props,
@@ -678,14 +679,14 @@ export namespace RandomProgrammer {
678
679
  };
679
680
 
680
681
  const decode_tuple = (props: {
681
- importer: FunctionImporter;
682
+ functor: FunctionProgrammer;
682
683
  explore: IExplore;
683
684
  tuple: MetadataTuple;
684
685
  }): ts.Expression =>
685
686
  props.tuple.type.recursive
686
687
  ? ts.factory.createCallExpression(
687
688
  ts.factory.createIdentifier(
688
- props.importer.useLocal(Prefix.tuple(props.tuple.type.index!)),
689
+ props.functor.useLocal(Prefix.tuple(props.tuple.type.index!)),
689
690
  ),
690
691
  undefined,
691
692
  [
@@ -708,13 +709,13 @@ export namespace RandomProgrammer {
708
709
  });
709
710
 
710
711
  const decode_object = (props: {
711
- importer: FunctionImporter;
712
+ functor: FunctionProgrammer;
712
713
  explore: IExplore;
713
714
  object: MetadataObject;
714
715
  }) =>
715
716
  ts.factory.createCallExpression(
716
717
  ts.factory.createIdentifier(
717
- props.importer.useLocal(Prefix.object(props.object.index)),
718
+ props.functor.useLocal(Prefix.object(props.object.index)),
718
719
  ),
719
720
  undefined,
720
721
  props.explore.function
@@ -740,7 +741,7 @@ export namespace RandomProgrammer {
740
741
  NATIVE CLASSES
741
742
  ----------------------------------------------------------- */
742
743
  const decode_set = (props: {
743
- importer: FunctionImporter;
744
+ functor: FunctionProgrammer;
744
745
  explore: IExplore;
745
746
  metadata: Metadata;
746
747
  }) =>
@@ -765,7 +766,7 @@ export namespace RandomProgrammer {
765
766
  );
766
767
 
767
768
  const decode_map = (props: {
768
- importer: FunctionImporter;
769
+ functor: FunctionProgrammer;
769
770
  explore: IExplore;
770
771
  entry: Metadata.Entry;
771
772
  }) =>
@@ -808,13 +809,13 @@ export namespace RandomProgrammer {
808
809
  );
809
810
 
810
811
  const decode_native = (props: {
811
- importer: FunctionImporter;
812
+ functor: FunctionProgrammer;
812
813
  name: string;
813
814
  }): ts.Expression => {
814
- if (props.name === "Boolean") return decode_boolean(props.importer);
815
+ if (props.name === "Boolean") return decode_boolean(props.functor);
815
816
  else if (props.name === "Number")
816
817
  return decode_number({
817
- importer: props.importer,
818
+ functor: props.functor,
818
819
  atomic: MetadataAtomic.create({
819
820
  type: "number",
820
821
  tags: [],
@@ -822,13 +823,13 @@ export namespace RandomProgrammer {
822
823
  })[0]!;
823
824
  else if (props.name === "String")
824
825
  return decode_string({
825
- importer: props.importer,
826
+ functor: props.functor,
826
827
  atomic: MetadataAtomic.create({
827
828
  type: "string",
828
829
  tags: [],
829
830
  }),
830
831
  })[0]!;
831
- else if (props.name === "Date") return decode_native_date(props.importer);
832
+ else if (props.name === "Date") return decode_native_date(props.functor);
832
833
  else if (
833
834
  props.name === "Uint8Array" ||
834
835
  props.name === "Uint8ClampedArray" ||
@@ -852,9 +853,9 @@ export namespace RandomProgrammer {
852
853
  name: props.name,
853
854
  });
854
855
  else if (props.name === "DataView")
855
- return decode_native_data_view(props.importer);
856
- else if (props.name === "Blob") return decode_native_blob(props.importer);
857
- else if (props.name === "File") return decode_native_file(props.importer);
856
+ return decode_native_data_view(props.functor);
857
+ else if (props.name === "Blob") return decode_native_blob(props.functor);
858
+ else if (props.name === "File") return decode_native_file(props.functor);
858
859
  else if (props.name === "RegExp") return decode_regexp();
859
860
  else
860
861
  return ts.factory.createNewExpression(
@@ -864,13 +865,13 @@ export namespace RandomProgrammer {
864
865
  );
865
866
  };
866
867
 
867
- const decode_native_date = (importer: FunctionImporter) =>
868
+ const decode_native_date = (functor: FunctionProgrammer) =>
868
869
  ts.factory.createNewExpression(
869
870
  ts.factory.createIdentifier("Date"),
870
871
  undefined,
871
872
  [
872
873
  ts.factory.createCallExpression(
873
- coalesce(importer)("datetime"),
874
+ coalesce(functor)("datetime"),
874
875
  undefined,
875
876
  [],
876
877
  ),
@@ -878,7 +879,7 @@ export namespace RandomProgrammer {
878
879
  );
879
880
 
880
881
  const decode_native_byte_array = (props: {
881
- importer: FunctionImporter;
882
+ functor: FunctionProgrammer;
882
883
  name:
883
884
  | "Uint8Array"
884
885
  | "Uint8ClampedArray"
@@ -918,7 +919,7 @@ export namespace RandomProgrammer {
918
919
  [],
919
920
  [
920
921
  ts.factory.createCallExpression(
921
- coalesce(props.importer)("array"),
922
+ coalesce(props.functor)("array"),
922
923
  undefined,
923
924
  [
924
925
  ts.factory.createArrowFunction(
@@ -928,7 +929,7 @@ export namespace RandomProgrammer {
928
929
  TypeFactory.keyword("any"),
929
930
  undefined,
930
931
  ts.factory.createCallExpression(
931
- coalesce(props.importer)(
932
+ coalesce(props.functor)(
932
933
  props.name === "Float32Array" || props.name === "Float64Array"
933
934
  ? "number"
934
935
  : props.name === "BigInt64Array" ||
@@ -946,7 +947,7 @@ export namespace RandomProgrammer {
946
947
  );
947
948
  };
948
949
 
949
- const decode_native_blob = (importer: FunctionImporter) =>
950
+ const decode_native_blob = (functor: FunctionProgrammer) =>
950
951
  ts.factory.createNewExpression(
951
952
  ts.factory.createIdentifier("Blob"),
952
953
  undefined,
@@ -954,7 +955,7 @@ export namespace RandomProgrammer {
954
955
  ts.factory.createArrayLiteralExpression(
955
956
  [
956
957
  decode_native_byte_array({
957
- importer,
958
+ functor,
958
959
  name: "Uint8Array",
959
960
  }),
960
961
  ],
@@ -963,7 +964,7 @@ export namespace RandomProgrammer {
963
964
  ],
964
965
  );
965
966
 
966
- const decode_native_file = (importer: FunctionImporter) =>
967
+ const decode_native_file = (functor: FunctionProgrammer) =>
967
968
  ts.factory.createNewExpression(
968
969
  ts.factory.createIdentifier("File"),
969
970
  undefined,
@@ -971,7 +972,7 @@ export namespace RandomProgrammer {
971
972
  ts.factory.createArrayLiteralExpression(
972
973
  [
973
974
  decode_native_byte_array({
974
- importer,
975
+ functor,
975
976
  name: "Uint8Array",
976
977
  }),
977
978
  ],
@@ -980,7 +981,7 @@ export namespace RandomProgrammer {
980
981
  ts.factory.createTemplateExpression(ts.factory.createTemplateHead(""), [
981
982
  ts.factory.createTemplateSpan(
982
983
  ts.factory.createCallExpression(
983
- coalesce(importer)("string"),
984
+ coalesce(functor)("string"),
984
985
  undefined,
985
986
  [ts.factory.createNumericLiteral(8)],
986
987
  ),
@@ -988,7 +989,7 @@ export namespace RandomProgrammer {
988
989
  ),
989
990
  ts.factory.createTemplateSpan(
990
991
  ts.factory.createCallExpression(
991
- coalesce(importer)("string"),
992
+ coalesce(functor)("string"),
992
993
  undefined,
993
994
  [ts.factory.createNumericLiteral(3)],
994
995
  ),
@@ -999,13 +1000,13 @@ export namespace RandomProgrammer {
999
1000
  );
1000
1001
 
1001
1002
  const decode_native_array_buffer = (props: {
1002
- importer: FunctionImporter;
1003
+ functor: FunctionProgrammer;
1003
1004
  name: "ArrayBuffer" | "SharedArrayBuffer";
1004
1005
  }): ts.Expression =>
1005
1006
  props.name === "ArrayBuffer"
1006
1007
  ? IdentifierFactory.access(
1007
1008
  decode_native_byte_array({
1008
- importer: props.importer,
1009
+ functor: props.functor,
1009
1010
  name: "Uint8Array",
1010
1011
  }),
1011
1012
  "buffer",
@@ -1016,7 +1017,7 @@ export namespace RandomProgrammer {
1016
1017
  StatementFactory.constant({
1017
1018
  name: "length",
1018
1019
  value: ts.factory.createCallExpression(
1019
- coalesce(props.importer)("integer"),
1020
+ coalesce(props.functor)("integer"),
1020
1021
  undefined,
1021
1022
  [],
1022
1023
  ),
@@ -1046,7 +1047,7 @@ export namespace RandomProgrammer {
1046
1047
  undefined,
1047
1048
  [
1048
1049
  ts.factory.createCallExpression(
1049
- coalesce(props.importer)("array"),
1050
+ coalesce(props.functor)("array"),
1050
1051
  undefined,
1051
1052
  [
1052
1053
  ts.factory.createArrowFunction(
@@ -1056,7 +1057,7 @@ export namespace RandomProgrammer {
1056
1057
  TypeFactory.keyword("any"),
1057
1058
  undefined,
1058
1059
  ts.factory.createCallExpression(
1059
- coalesce(props.importer)("integer"),
1060
+ coalesce(props.functor)("integer"),
1060
1061
  undefined,
1061
1062
  [
1062
1063
  ExpressionFactory.number(0),
@@ -1079,14 +1080,14 @@ export namespace RandomProgrammer {
1079
1080
  ),
1080
1081
  );
1081
1082
 
1082
- const decode_native_data_view = (importer: FunctionImporter) =>
1083
+ const decode_native_data_view = (functor: FunctionProgrammer) =>
1083
1084
  ts.factory.createNewExpression(
1084
1085
  ts.factory.createIdentifier("DataView"),
1085
1086
  [],
1086
1087
  [
1087
1088
  IdentifierFactory.access(
1088
1089
  decode_native_byte_array({
1089
- importer,
1090
+ functor,
1090
1091
  name: "Uint8Array",
1091
1092
  }),
1092
1093
  "buffer",
@@ -1114,7 +1115,7 @@ const Prefix = {
1114
1115
  tuple: (i: number) => `$rt${i}`,
1115
1116
  };
1116
1117
 
1117
- const coalesce = (importer: FunctionImporter) => (name: string) =>
1118
+ const coalesce = (functor: FunctionProgrammer) => (name: string) =>
1118
1119
  ExpressionFactory.coalesce(
1119
1120
  Escaper.variable(name)
1120
1121
  ? ts.factory.createPropertyAccessChain(
@@ -1127,7 +1128,7 @@ const coalesce = (importer: FunctionImporter) => (name: string) =>
1127
1128
  ts.factory.createToken(ts.SyntaxKind.QuestionDotToken),
1128
1129
  ts.factory.createStringLiteral(name),
1129
1130
  ),
1130
- IdentifierFactory.access(importer.use("generator"), name),
1131
+ IdentifierFactory.access(functor.use("generator"), name),
1131
1132
  );
1132
1133
 
1133
1134
  const emendFormat = (key: keyof Format.Validator) =>