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
@@ -20,9 +20,10 @@ import { Atomic } from "../../typings/Atomic";
20
20
 
21
21
  import { Escaper } from "../../utils/Escaper";
22
22
  import { MapUtil } from "../../utils/MapUtil";
23
+ import { StringUtil } from "../../utils/StringUtil";
23
24
 
24
25
  import { FeatureProgrammer } from "../FeatureProgrammer";
25
- import { FunctionImporter } from "../helpers/FunctionImporter";
26
+ import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
26
27
  import { HttpMetadataUtil } from "../helpers/HttpMetadataUtil";
27
28
 
28
29
  export namespace HttpHeadersProgrammer {
@@ -30,7 +31,7 @@ export namespace HttpHeadersProgrammer {
30
31
 
31
32
  export const decompose = (props: {
32
33
  context: ITypiaContext;
33
- importer: FunctionImporter;
34
+ functor: FunctionProgrammer;
34
35
  type: ts.Type;
35
36
  name: string | undefined;
36
37
  }): FeatureProgrammer.IDecomposed => {
@@ -49,14 +50,15 @@ export namespace HttpHeadersProgrammer {
49
50
  type: props.type,
50
51
  });
51
52
  if (result.success === false)
52
- throw TransformerError.from(`typia.http.${props.importer.method}`)(
53
- result.errors,
54
- );
53
+ throw TransformerError.from({
54
+ code: props.functor.method,
55
+ errors: result.errors,
56
+ });
55
57
 
56
58
  // DO TRANSFORM
57
59
  const object: MetadataObject = result.data.objects[0]!;
58
60
  const statements: ts.Statement[] = decode_object({
59
- importer: props.importer,
61
+ context: props.context,
60
62
  object,
61
63
  });
62
64
  return {
@@ -95,22 +97,22 @@ export namespace HttpHeadersProgrammer {
95
97
  };
96
98
 
97
99
  export const write = (props: IProgrammerProps): ts.CallExpression => {
98
- const importer: FunctionImporter = new FunctionImporter(
100
+ const functor: FunctionProgrammer = new FunctionProgrammer(
99
101
  props.modulo.getText(),
100
102
  );
101
103
  const result: FeatureProgrammer.IDecomposed = decompose({
102
104
  ...props,
103
- importer,
105
+ functor,
104
106
  });
105
107
  return FeatureProgrammer.writeDecomposed({
106
108
  modulo: props.modulo,
107
- importer,
109
+ functor,
108
110
  result,
109
111
  });
110
112
  };
111
113
 
112
114
  export const validate = (
113
- meta: Metadata,
115
+ metadata: Metadata,
114
116
  explore: MetadataFactory.IExplore,
115
117
  ): string[] => {
116
118
  const errors: string[] = [];
@@ -118,10 +120,10 @@ export namespace HttpHeadersProgrammer {
118
120
 
119
121
  if (explore.top === true) {
120
122
  // TOP MUST BE ONLY OBJECT
121
- if (meta.objects.length !== 1 || meta.bucket() !== 1)
123
+ if (metadata.objects.length !== 1 || metadata.bucket() !== 1)
122
124
  insert("only one object type is allowed.");
123
- if (meta.nullable === true) insert("headers cannot be null.");
124
- if (meta.isRequired() === false) insert("headers cannot be null.");
125
+ if (metadata.nullable === true) insert("headers cannot be null.");
126
+ if (metadata.isRequired() === false) insert("headers cannot be null.");
125
127
  } else if (
126
128
  explore.nested !== null &&
127
129
  explore.nested instanceof MetadataArrayType
@@ -129,17 +131,19 @@ export namespace HttpHeadersProgrammer {
129
131
  //----
130
132
  // ARRAY
131
133
  //----
132
- const atomics = HttpMetadataUtil.atomics(meta);
134
+ const atomics = HttpMetadataUtil.atomics(metadata);
133
135
  const expected: number =
134
- meta.atomics.length +
135
- meta.templates.length +
136
- meta.constants.map((c) => c.values.length).reduce((a, b) => a + b, 0);
136
+ metadata.atomics.length +
137
+ metadata.templates.length +
138
+ metadata.constants
139
+ .map((c) => c.values.length)
140
+ .reduce((a, b) => a + b, 0);
137
141
  if (atomics.size > 1) insert("union type is not allowed in array.");
138
- if (meta.size() !== expected)
142
+ if (metadata.size() !== expected)
139
143
  insert("only atomic or constant types are allowed in array.");
140
- if (meta.nullable === true)
144
+ if (metadata.nullable === true)
141
145
  insert("nullable type is not allowed in array.");
142
- if (meta.isRequired() === false)
146
+ if (metadata.isRequired() === false)
143
147
  insert("optional type is not allowed in array.");
144
148
  } else if (explore.object && explore.property !== null) {
145
149
  //----
@@ -149,25 +153,26 @@ export namespace HttpHeadersProgrammer {
149
153
  if (typeof explore.property === "object")
150
154
  insert("dynamic property is not allowed.");
151
155
  // DO NOT ALLOW TUPLE TYPE
152
- if (meta.tuples.length) insert("tuple type is not allowed.");
156
+ if (metadata.tuples.length) insert("tuple type is not allowed.");
153
157
  // DO NOT ALLOW UNION TYPE
154
- if (HttpMetadataUtil.isUnion(meta)) insert("union type is not allowed.");
158
+ if (HttpMetadataUtil.isUnion(metadata))
159
+ insert("union type is not allowed.");
155
160
  // DO NOT ALLOW NESTED OBJECT
156
161
  if (
157
- meta.objects.length ||
158
- meta.sets.length ||
159
- meta.maps.length ||
160
- meta.natives.length
162
+ metadata.objects.length ||
163
+ metadata.sets.length ||
164
+ metadata.maps.length ||
165
+ metadata.natives.length
161
166
  )
162
167
  insert("nested object type is not allowed.");
163
168
  // DO NOT ALLOW NULLABLE
164
- if (meta.nullable === true) insert("nullable type is not allowed.");
169
+ if (metadata.nullable === true) insert("nullable type is not allowed.");
165
170
 
166
171
  //----
167
172
  // SPECIAL KEY NAMES
168
173
  //----
169
174
  const isArray: boolean =
170
- meta.arrays.length >= 1 || meta.tuples.length >= 1;
175
+ metadata.arrays.length >= 1 || metadata.tuples.length >= 1;
171
176
  // SET-COOKIE MUST BE ARRAY
172
177
  if (
173
178
  typeof explore.property === "string" &&
@@ -202,7 +207,7 @@ export namespace HttpHeadersProgrammer {
202
207
  };
203
208
 
204
209
  const decode_object = (props: {
205
- importer: FunctionImporter;
210
+ context: ITypiaContext;
206
211
  object: MetadataObject;
207
212
  }): ts.Statement[] => {
208
213
  const output: ts.Identifier = ts.factory.createIdentifier("output");
@@ -218,7 +223,7 @@ export namespace HttpHeadersProgrammer {
218
223
  )
219
224
  optionals.push(p.key.constants[0]!.values[0]!.value as string);
220
225
  return decode_regular_property({
221
- importer: props.importer,
226
+ context: props.context,
222
227
  property: p,
223
228
  });
224
229
  }),
@@ -244,7 +249,7 @@ export namespace HttpHeadersProgrammer {
244
249
  };
245
250
 
246
251
  const decode_regular_property = (props: {
247
- importer: FunctionImporter;
252
+ context: ITypiaContext;
248
253
  property: MetadataProperty;
249
254
  }): ts.PropertyAssignment => {
250
255
  const key: string = props.property.key.constants[0]!.values[0]!
@@ -278,14 +283,14 @@ export namespace HttpHeadersProgrammer {
278
283
  ? key === "set-cookie"
279
284
  ? input
280
285
  : decode_array({
281
- importer: props.importer,
286
+ context: props.context,
282
287
  type,
283
288
  key,
284
289
  value,
285
290
  input,
286
291
  })
287
292
  : decode_value({
288
- importer: props.importer,
293
+ context: props.context,
289
294
  type,
290
295
  input,
291
296
  }),
@@ -293,25 +298,47 @@ export namespace HttpHeadersProgrammer {
293
298
  };
294
299
 
295
300
  const decode_value = (props: {
296
- importer: FunctionImporter;
301
+ context: ITypiaContext;
297
302
  type: Atomic.Literal;
298
303
  input: ts.Expression;
299
304
  }) =>
300
305
  props.type === "string"
301
306
  ? props.input
302
307
  : ts.factory.createCallExpression(
303
- props.importer.use(props.type),
308
+ props.context.importer.internal(
309
+ `httpHeaderRead${StringUtil.capitalize(props.type)}`,
310
+ ),
304
311
  undefined,
305
312
  [props.input],
306
313
  );
307
314
 
308
315
  const decode_array = (props: {
309
- importer: FunctionImporter;
316
+ context: ITypiaContext;
310
317
  type: Atomic.Literal;
311
318
  key: string;
312
319
  value: Metadata;
313
320
  input: ts.Expression;
314
321
  }) => {
322
+ const reader =
323
+ props.type === "string"
324
+ ? ts.factory.createArrowFunction(
325
+ undefined,
326
+ undefined,
327
+ [IdentifierFactory.parameter("str")],
328
+ undefined,
329
+ undefined,
330
+ ts.factory.createCallExpression(
331
+ IdentifierFactory.access(
332
+ ts.factory.createIdentifier("str"),
333
+ "trim",
334
+ ),
335
+ undefined,
336
+ undefined,
337
+ ),
338
+ )
339
+ : props.context.importer.internal(
340
+ `httpHeaderRead${StringUtil.capitalize(props.type)}`,
341
+ );
315
342
  const split: ts.CallChain = ts.factory.createCallChain(
316
343
  ts.factory.createPropertyAccessChain(
317
344
  ts.factory.createCallChain(
@@ -333,7 +360,7 @@ export namespace HttpHeadersProgrammer {
333
360
  ),
334
361
  undefined,
335
362
  undefined,
336
- [props.importer.use(props.type)],
363
+ [reader],
337
364
  );
338
365
  return ts.factory.createConditionalExpression(
339
366
  ExpressionFactory.isArray(props.input),
@@ -341,7 +368,7 @@ export namespace HttpHeadersProgrammer {
341
368
  ts.factory.createCallExpression(
342
369
  IdentifierFactory.access(props.input, "map"),
343
370
  undefined,
344
- [props.importer.use(props.type)],
371
+ [reader],
345
372
  ),
346
373
  undefined,
347
374
  props.value.isRequired() === false
@@ -8,13 +8,13 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
8
8
 
9
9
  import { FeatureProgrammer } from "../FeatureProgrammer";
10
10
  import { IsProgrammer } from "../IsProgrammer";
11
- import { FunctionImporter } from "../helpers/FunctionImporter";
11
+ import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
12
12
  import { HttpFormDataProgrammer } from "./HttpFormDataProgrammer";
13
13
 
14
14
  export namespace HttpIsFormDataProgrammer {
15
15
  export const decompose = (props: {
16
16
  context: ITypiaContext;
17
- importer: FunctionImporter;
17
+ functor: FunctionProgrammer;
18
18
  type: ts.Type;
19
19
  name: string | undefined;
20
20
  }): FeatureProgrammer.IDecomposed => {
@@ -92,16 +92,16 @@ export namespace HttpIsFormDataProgrammer {
92
92
  };
93
93
 
94
94
  export const write = (props: IProgrammerProps): ts.CallExpression => {
95
- const importer: FunctionImporter = new FunctionImporter(
95
+ const functor: FunctionProgrammer = new FunctionProgrammer(
96
96
  props.modulo.getText(),
97
97
  );
98
98
  const result: FeatureProgrammer.IDecomposed = decompose({
99
99
  ...props,
100
- importer,
100
+ functor,
101
101
  });
102
102
  return FeatureProgrammer.writeDecomposed({
103
103
  modulo: props.modulo,
104
- importer,
104
+ functor,
105
105
  result,
106
106
  });
107
107
  };
@@ -8,13 +8,13 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
8
8
 
9
9
  import { FeatureProgrammer } from "../FeatureProgrammer";
10
10
  import { IsProgrammer } from "../IsProgrammer";
11
- import { FunctionImporter } from "../helpers/FunctionImporter";
11
+ import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
12
12
  import { HttpHeadersProgrammer } from "./HttpHeadersProgrammer";
13
13
 
14
14
  export namespace HttpIsHeadersProgrammer {
15
15
  export const decompose = (props: {
16
16
  context: ITypiaContext;
17
- importer: FunctionImporter;
17
+ functor: FunctionProgrammer;
18
18
  type: ts.Type;
19
19
  name: string | undefined;
20
20
  }): FeatureProgrammer.IDecomposed => {
@@ -92,16 +92,16 @@ export namespace HttpIsHeadersProgrammer {
92
92
  };
93
93
 
94
94
  export const write = (props: IProgrammerProps): ts.CallExpression => {
95
- const importer: FunctionImporter = new FunctionImporter(
95
+ const functor: FunctionProgrammer = new FunctionProgrammer(
96
96
  props.modulo.getText(),
97
97
  );
98
98
  const result: FeatureProgrammer.IDecomposed = decompose({
99
99
  ...props,
100
- importer,
100
+ functor,
101
101
  });
102
102
  return FeatureProgrammer.writeDecomposed({
103
103
  modulo: props.modulo,
104
- importer,
104
+ functor,
105
105
  result,
106
106
  });
107
107
  };
@@ -8,7 +8,7 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
8
8
 
9
9
  import { FeatureProgrammer } from "../FeatureProgrammer";
10
10
  import { IsProgrammer } from "../IsProgrammer";
11
- import { FunctionImporter } from "../helpers/FunctionImporter";
11
+ import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
12
12
  import { HttpQueryProgrammer } from "./HttpQueryProgrammer";
13
13
 
14
14
  export namespace HttpIsQueryProgrammer {
@@ -18,7 +18,7 @@ export namespace HttpIsQueryProgrammer {
18
18
 
19
19
  export const decompose = (props: {
20
20
  context: ITypiaContext;
21
- importer: FunctionImporter;
21
+ functor: FunctionProgrammer;
22
22
  type: ts.Type;
23
23
  name: string | undefined;
24
24
  allowOptional: boolean;
@@ -97,17 +97,17 @@ export namespace HttpIsQueryProgrammer {
97
97
  };
98
98
 
99
99
  export const write = (props: IProps): ts.CallExpression => {
100
- const importer: FunctionImporter = new FunctionImporter(
100
+ const functor: FunctionProgrammer = new FunctionProgrammer(
101
101
  props.modulo.getText(),
102
102
  );
103
103
  const result: FeatureProgrammer.IDecomposed = decompose({
104
104
  ...props,
105
- importer,
105
+ functor,
106
106
  allowOptional: !!props.allowOptional,
107
107
  });
108
108
  return FeatureProgrammer.writeDecomposed({
109
109
  modulo: props.modulo,
110
- importer,
110
+ functor,
111
111
  result,
112
112
  });
113
113
  };
@@ -11,8 +11,9 @@ import { Metadata } from "../../schemas/metadata/Metadata";
11
11
  import { IProgrammerProps } from "../../transformers/IProgrammerProps";
12
12
  import { TransformerError } from "../../transformers/TransformerError";
13
13
 
14
+ import { StringUtil } from "../../utils/StringUtil";
15
+
14
16
  import { AssertProgrammer } from "../AssertProgrammer";
15
- import { FunctionImporter } from "../helpers/FunctionImporter";
16
17
  import { HttpMetadataUtil } from "../helpers/HttpMetadataUtil";
17
18
 
18
19
  export namespace HttpParameterProgrammer {
@@ -30,12 +31,12 @@ export namespace HttpParameterProgrammer {
30
31
  type: props.type,
31
32
  });
32
33
  if (result.success === false)
33
- throw TransformerError.from(props.modulo.getText())(result.errors);
34
+ throw TransformerError.from({
35
+ code: props.modulo.getText(),
36
+ errors: result.errors,
37
+ });
34
38
 
35
39
  const atomic = [...HttpMetadataUtil.atomics(result.data)][0]!;
36
- const importer: FunctionImporter = new FunctionImporter(
37
- props.modulo.getText(),
38
- );
39
40
  const block: ts.Statement[] = [
40
41
  StatementFactory.constant({
41
42
  name: "assert",
@@ -56,7 +57,9 @@ export namespace HttpParameterProgrammer {
56
57
  StatementFactory.constant({
57
58
  name: "value",
58
59
  value: ts.factory.createCallExpression(
59
- importer.use(atomic),
60
+ props.context.importer.internal(
61
+ `httpParameterRead${StringUtil.capitalize(atomic)}`,
62
+ ),
60
63
  undefined,
61
64
  [ts.factory.createIdentifier("input")],
62
65
  ),
@@ -87,10 +90,7 @@ export namespace HttpParameterProgrammer {
87
90
  }),
88
91
  ),
89
92
  undefined,
90
- ts.factory.createBlock(
91
- [...importer.declare(props.modulo), ...block],
92
- true,
93
- ),
93
+ ts.factory.createBlock(block, true),
94
94
  );
95
95
  };
96
96
 
@@ -18,9 +18,10 @@ import { TransformerError } from "../../transformers/TransformerError";
18
18
  import { Atomic } from "../../typings/Atomic";
19
19
 
20
20
  import { Escaper } from "../../utils/Escaper";
21
+ import { StringUtil } from "../../utils/StringUtil";
21
22
 
22
23
  import { FeatureProgrammer } from "../FeatureProgrammer";
23
- import { FunctionImporter } from "../helpers/FunctionImporter";
24
+ import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
24
25
  import { HttpMetadataUtil } from "../helpers/HttpMetadataUtil";
25
26
 
26
27
  export namespace HttpQueryProgrammer {
@@ -32,7 +33,7 @@ export namespace HttpQueryProgrammer {
32
33
 
33
34
  export const decompose = (props: {
34
35
  context: ITypiaContext;
35
- importer: FunctionImporter;
36
+ functor: FunctionProgrammer;
36
37
  allowOptional: boolean;
37
38
  type: ts.Type;
38
39
  name: string | undefined;
@@ -53,14 +54,15 @@ export namespace HttpQueryProgrammer {
53
54
  type: props.type,
54
55
  });
55
56
  if (result.success === false)
56
- throw TransformerError.from(`typia.http.${props.importer.method}`)(
57
- result.errors,
58
- );
57
+ throw TransformerError.from({
58
+ code: props.functor.method,
59
+ errors: result.errors,
60
+ });
59
61
 
60
62
  // DO TRANSFORM
61
63
  const object: MetadataObject = result.data.objects[0]!;
62
64
  const statements: ts.Statement[] = decode_object({
63
- importer: props.importer,
65
+ context: props.context,
64
66
  object,
65
67
  });
66
68
  return {
@@ -99,17 +101,17 @@ export namespace HttpQueryProgrammer {
99
101
  };
100
102
 
101
103
  export const write = (props: IProps): ts.CallExpression => {
102
- const importer: FunctionImporter = new FunctionImporter(
104
+ const functor: FunctionProgrammer = new FunctionProgrammer(
103
105
  props.modulo.getText(),
104
106
  );
105
107
  const result: FeatureProgrammer.IDecomposed = decompose({
106
108
  ...props,
107
- importer,
109
+ functor,
108
110
  allowOptional: !!props.allowOptional,
109
111
  });
110
112
  return FeatureProgrammer.writeDecomposed({
111
113
  modulo: props.modulo,
112
- importer,
114
+ functor,
113
115
  result,
114
116
  });
115
117
  };
@@ -180,7 +182,7 @@ export namespace HttpQueryProgrammer {
180
182
  };
181
183
 
182
184
  const decode_object = (props: {
183
- importer: FunctionImporter;
185
+ context: ITypiaContext;
184
186
  object: MetadataObject;
185
187
  }): ts.Statement[] => {
186
188
  const input: ts.Identifier = ts.factory.createIdentifier("input");
@@ -193,7 +195,7 @@ export namespace HttpQueryProgrammer {
193
195
  ts.factory.createToken(ts.SyntaxKind.EqualsToken),
194
196
  ts.factory.createAsExpression(
195
197
  ts.factory.createCallExpression(
196
- props.importer.use("params"),
198
+ props.context.importer.internal("httpQueryParseURLSearchParams"),
197
199
  undefined,
198
200
  [input],
199
201
  ),
@@ -206,7 +208,7 @@ export namespace HttpQueryProgrammer {
206
208
  value: ts.factory.createObjectLiteralExpression(
207
209
  props.object.properties.map((p) =>
208
210
  decode_regular_property({
209
- importer: props.importer,
211
+ context: props.context,
210
212
  property: p,
211
213
  }),
212
214
  ),
@@ -220,7 +222,7 @@ export namespace HttpQueryProgrammer {
220
222
  };
221
223
 
222
224
  const decode_regular_property = (props: {
223
- importer: FunctionImporter;
225
+ context: ITypiaContext;
224
226
  property: MetadataProperty;
225
227
  }): ts.PropertyAssignment => {
226
228
  const key: string = props.property.key.constants[0]!.values[0]!
@@ -247,7 +249,7 @@ export namespace HttpQueryProgrammer {
247
249
  Escaper.variable(key) ? key : ts.factory.createStringLiteral(key),
248
250
  isArray
249
251
  ? decode_array({
250
- importer: props.importer,
252
+ context: props.context,
251
253
  metadata: value,
252
254
  input: ts.factory.createCallExpression(
253
255
  IdentifierFactory.access(
@@ -267,7 +269,7 @@ export namespace HttpQueryProgrammer {
267
269
  undefined,
268
270
  undefined,
269
271
  decode_value({
270
- importer: props.importer,
272
+ context: props.context,
271
273
  type,
272
274
  coalesce: false,
273
275
  input: ts.factory.createIdentifier("elem"),
@@ -277,7 +279,7 @@ export namespace HttpQueryProgrammer {
277
279
  ),
278
280
  })
279
281
  : decode_value({
280
- importer: props.importer,
282
+ context: props.context,
281
283
  type,
282
284
  coalesce: value.nullable === false && value.isRequired() === false,
283
285
  input: ts.factory.createCallExpression(
@@ -290,13 +292,15 @@ export namespace HttpQueryProgrammer {
290
292
  };
291
293
 
292
294
  const decode_value = (props: {
293
- importer: FunctionImporter;
295
+ context: ITypiaContext;
294
296
  type: Atomic.Literal;
295
297
  coalesce: boolean;
296
298
  input: ts.Expression;
297
299
  }) => {
298
300
  const call = ts.factory.createCallExpression(
299
- props.importer.use(props.type),
301
+ props.context.importer.internal(
302
+ `httpQueryRead${StringUtil.capitalize(props.type)}`,
303
+ ),
300
304
  undefined,
301
305
  [props.input],
302
306
  );
@@ -310,13 +314,13 @@ export namespace HttpQueryProgrammer {
310
314
  };
311
315
 
312
316
  const decode_array = (props: {
313
- importer: FunctionImporter;
317
+ context: ITypiaContext;
314
318
  metadata: Metadata;
315
319
  input: ts.Expression;
316
320
  }): ts.Expression =>
317
321
  props.metadata.nullable || props.metadata.isRequired() === false
318
322
  ? ts.factory.createCallExpression(
319
- props.importer.use("array"),
323
+ props.context.importer.internal("httpQueryReadArray"),
320
324
  undefined,
321
325
  [
322
326
  props.input,
@@ -8,14 +8,14 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
8
8
 
9
9
  import { FeatureProgrammer } from "../FeatureProgrammer";
10
10
  import { ValidateProgrammer } from "../ValidateProgrammer";
11
- import { FunctionImporter } from "../helpers/FunctionImporter";
11
+ import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
12
12
  import { HttpFormDataProgrammer } from "./HttpFormDataProgrammer";
13
13
 
14
14
  export namespace HttpValidateFormDataProgrammer {
15
15
  export const decompose = (props: {
16
16
  context: ITypiaContext;
17
17
  modulo: ts.LeftHandSideExpression;
18
- importer: FunctionImporter;
18
+ functor: FunctionProgrammer;
19
19
  type: ts.Type;
20
20
  name: string | undefined;
21
21
  }): FeatureProgrammer.IDecomposed => {
@@ -74,16 +74,16 @@ export namespace HttpValidateFormDataProgrammer {
74
74
  };
75
75
 
76
76
  export const write = (props: IProgrammerProps): ts.CallExpression => {
77
- const importer: FunctionImporter = new FunctionImporter(
77
+ const functor: FunctionProgrammer = new FunctionProgrammer(
78
78
  props.modulo.getText(),
79
79
  );
80
80
  const result: FeatureProgrammer.IDecomposed = decompose({
81
81
  ...props,
82
- importer,
82
+ functor,
83
83
  });
84
84
  return FeatureProgrammer.writeDecomposed({
85
85
  modulo: props.modulo,
86
- importer,
86
+ functor,
87
87
  result,
88
88
  });
89
89
  };
@@ -8,14 +8,14 @@ import { ITypiaContext } from "../../transformers/ITypiaContext";
8
8
 
9
9
  import { FeatureProgrammer } from "../FeatureProgrammer";
10
10
  import { ValidateProgrammer } from "../ValidateProgrammer";
11
- import { FunctionImporter } from "../helpers/FunctionImporter";
11
+ import { FunctionProgrammer } from "../helpers/FunctionProgrammer";
12
12
  import { HttpHeadersProgrammer } from "./HttpHeadersProgrammer";
13
13
 
14
14
  export namespace HttpValidateHeadersProgrammer {
15
15
  export const decompose = (props: {
16
16
  context: ITypiaContext;
17
17
  modulo: ts.LeftHandSideExpression;
18
- importer: FunctionImporter;
18
+ functor: FunctionProgrammer;
19
19
  type: ts.Type;
20
20
  name: string | undefined;
21
21
  }): FeatureProgrammer.IDecomposed => {
@@ -74,16 +74,16 @@ export namespace HttpValidateHeadersProgrammer {
74
74
  };
75
75
 
76
76
  export const write = (props: IProgrammerProps): ts.CallExpression => {
77
- const importer: FunctionImporter = new FunctionImporter(
77
+ const functor: FunctionProgrammer = new FunctionProgrammer(
78
78
  props.modulo.getText(),
79
79
  );
80
80
  const result: FeatureProgrammer.IDecomposed = decompose({
81
81
  ...props,
82
- importer,
82
+ functor,
83
83
  });
84
84
  return FeatureProgrammer.writeDecomposed({
85
85
  modulo: props.modulo,
86
- importer,
86
+ functor,
87
87
  result,
88
88
  });
89
89
  };