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
@@ -1,21 +1,21 @@
1
- import { Metadata } from "../../schemas/metadata/Metadata";
2
-
3
- export namespace HttpMetadataUtil {
4
- export const atomics = (
5
- metadata: Metadata,
6
- ): Set<"boolean" | "bigint" | "number" | "string"> =>
7
- new Set([
8
- ...metadata.atomics.map((a) => a.type),
9
- ...metadata.constants.map((c) => c.type),
10
- ...(metadata.templates.length ? (["string"] as const) : []),
11
- ]);
12
-
13
- export const isUnion = (metadata: Metadata): boolean =>
14
- atomics(metadata).size +
15
- metadata.arrays.length +
16
- metadata.tuples.length +
17
- metadata.natives.length +
18
- metadata.maps.length +
19
- metadata.objects.length >
20
- 1;
21
- }
1
+ import { Metadata } from "../../schemas/metadata/Metadata";
2
+
3
+ export namespace HttpMetadataUtil {
4
+ export const atomics = (
5
+ metadata: Metadata,
6
+ ): Set<"boolean" | "bigint" | "number" | "string"> =>
7
+ new Set([
8
+ ...metadata.atomics.map((a) => a.type),
9
+ ...metadata.constants.map((c) => c.type),
10
+ ...(metadata.templates.length ? (["string"] as const) : []),
11
+ ]);
12
+
13
+ export const isUnion = (metadata: Metadata): boolean =>
14
+ atomics(metadata).size +
15
+ metadata.arrays.length +
16
+ metadata.tuples.length +
17
+ metadata.natives.length +
18
+ metadata.maps.length +
19
+ metadata.objects.length >
20
+ 1;
21
+ }
@@ -1,144 +1,144 @@
1
- import ts from "typescript";
2
-
3
- import { IdentifierFactory } from "../../factories/IdentifierFactory";
4
- import { StatementFactory } from "../../factories/StatementFactory";
5
- import { TypeFactory } from "../../factories/TypeFactory";
6
-
7
- import { Escaper } from "../../utils/Escaper";
8
-
9
- import { metadata_to_pattern } from "../internal/metadata_to_pattern";
10
- import { IExpressionEntry } from "./IExpressionEntry";
11
-
12
- export namespace NotationJoiner {
13
- export const object = (props: {
14
- rename: (str: string) => string;
15
- input: ts.Expression;
16
- entries: IExpressionEntry<ts.Expression>[];
17
- }): ts.ConciseBody => {
18
- if (props.entries.length === 0) return ts.factory.createIdentifier("{}");
19
-
20
- const regular = props.entries.filter((e) => e.key.isSoleLiteral());
21
- const dynamic = props.entries.filter((e) => !e.key.isSoleLiteral());
22
- const literal = ts.factory.createObjectLiteralExpression(
23
- regular.map((entry) => {
24
- const str: string = props.rename(entry.key.getSoleLiteral()!);
25
- return ts.factory.createPropertyAssignment(
26
- Escaper.variable(str) ? str : ts.factory.createStringLiteral(str),
27
- entry.expression,
28
- );
29
- }),
30
- true,
31
- );
32
- if (dynamic.length === 0) return literal;
33
-
34
- const key = ts.factory.createIdentifier("key");
35
- const output = ts.factory.createIdentifier("output");
36
-
37
- const statements: ts.Statement[] = [];
38
- if (regular.length !== 0)
39
- statements.push(
40
- ts.factory.createIfStatement(
41
- ts.factory.createCallExpression(
42
- IdentifierFactory.access(
43
- ts.factory.createArrayLiteralExpression(
44
- regular.map((r) =>
45
- ts.factory.createStringLiteral(r.key.getSoleLiteral()!),
46
- ),
47
- ),
48
- "some",
49
- ),
50
- undefined,
51
- [
52
- ts.factory.createArrowFunction(
53
- undefined,
54
- undefined,
55
- [IdentifierFactory.parameter("regular")],
56
- undefined,
57
- undefined,
58
- ts.factory.createStrictEquality(
59
- ts.factory.createIdentifier("regular"),
60
- ts.factory.createIdentifier("key"),
61
- ),
62
- ),
63
- ],
64
- ),
65
- ts.factory.createContinueStatement(),
66
- ),
67
- );
68
- statements.push(
69
- ...dynamic.map((entry) =>
70
- ts.factory.createIfStatement(
71
- ts.factory.createCallExpression(
72
- ts.factory.createIdentifier(
73
- `RegExp(/${metadata_to_pattern({
74
- top: true,
75
- metadata: entry.key,
76
- })}/).test`,
77
- ),
78
- undefined,
79
- [key],
80
- ),
81
- ts.factory.createBlock([
82
- ts.factory.createExpressionStatement(
83
- ts.factory.createBinaryExpression(
84
- ts.factory.createElementAccessExpression(output, key),
85
- ts.factory.createToken(ts.SyntaxKind.EqualsToken),
86
- entry.expression,
87
- ),
88
- ),
89
- ts.factory.createContinueStatement(),
90
- ]),
91
- ),
92
- ),
93
- );
94
-
95
- return ts.factory.createBlock([
96
- StatementFactory.constant({
97
- name: "output",
98
- value: ts.factory.createAsExpression(
99
- literal,
100
- TypeFactory.keyword("any"),
101
- ),
102
- }),
103
- ts.factory.createForOfStatement(
104
- undefined,
105
- StatementFactory.entry({
106
- key: "key",
107
- value: "value",
108
- }),
109
- ts.factory.createCallExpression(
110
- ts.factory.createIdentifier("Object.entries"),
111
- undefined,
112
- [props.input],
113
- ),
114
- ts.factory.createBlock(statements),
115
- ),
116
- ts.factory.createReturnStatement(output),
117
- ]);
118
- };
119
-
120
- export const tuple = (props: {
121
- elements: ts.Expression[];
122
- rest: ts.Expression | null;
123
- }): ts.Expression => {
124
- return ts.factory.createAsExpression(
125
- ts.factory.createArrayLiteralExpression(
126
- props.rest === null
127
- ? props.elements
128
- : [...props.elements, ts.factory.createSpreadElement(props.rest)],
129
- true,
130
- ),
131
- TypeFactory.keyword("any"),
132
- );
133
- };
134
-
135
- export const array = (props: {
136
- input: ts.Expression;
137
- arrow: ts.Expression;
138
- }) =>
139
- ts.factory.createCallExpression(
140
- ts.factory.createPropertyAccessExpression(props.input, "map"),
141
- undefined,
142
- [props.arrow],
143
- );
144
- }
1
+ import ts from "typescript";
2
+
3
+ import { IdentifierFactory } from "../../factories/IdentifierFactory";
4
+ import { StatementFactory } from "../../factories/StatementFactory";
5
+ import { TypeFactory } from "../../factories/TypeFactory";
6
+
7
+ import { Escaper } from "../../utils/Escaper";
8
+
9
+ import { metadata_to_pattern } from "../internal/metadata_to_pattern";
10
+ import { IExpressionEntry } from "./IExpressionEntry";
11
+
12
+ export namespace NotationJoiner {
13
+ export const object = (props: {
14
+ rename: (str: string) => string;
15
+ input: ts.Expression;
16
+ entries: IExpressionEntry<ts.Expression>[];
17
+ }): ts.ConciseBody => {
18
+ if (props.entries.length === 0) return ts.factory.createIdentifier("{}");
19
+
20
+ const regular = props.entries.filter((e) => e.key.isSoleLiteral());
21
+ const dynamic = props.entries.filter((e) => !e.key.isSoleLiteral());
22
+ const literal = ts.factory.createObjectLiteralExpression(
23
+ regular.map((entry) => {
24
+ const str: string = props.rename(entry.key.getSoleLiteral()!);
25
+ return ts.factory.createPropertyAssignment(
26
+ Escaper.variable(str) ? str : ts.factory.createStringLiteral(str),
27
+ entry.expression,
28
+ );
29
+ }),
30
+ true,
31
+ );
32
+ if (dynamic.length === 0) return literal;
33
+
34
+ const key = ts.factory.createIdentifier("key");
35
+ const output = ts.factory.createIdentifier("output");
36
+
37
+ const statements: ts.Statement[] = [];
38
+ if (regular.length !== 0)
39
+ statements.push(
40
+ ts.factory.createIfStatement(
41
+ ts.factory.createCallExpression(
42
+ IdentifierFactory.access(
43
+ ts.factory.createArrayLiteralExpression(
44
+ regular.map((r) =>
45
+ ts.factory.createStringLiteral(r.key.getSoleLiteral()!),
46
+ ),
47
+ ),
48
+ "some",
49
+ ),
50
+ undefined,
51
+ [
52
+ ts.factory.createArrowFunction(
53
+ undefined,
54
+ undefined,
55
+ [IdentifierFactory.parameter("regular")],
56
+ undefined,
57
+ undefined,
58
+ ts.factory.createStrictEquality(
59
+ ts.factory.createIdentifier("regular"),
60
+ ts.factory.createIdentifier("key"),
61
+ ),
62
+ ),
63
+ ],
64
+ ),
65
+ ts.factory.createContinueStatement(),
66
+ ),
67
+ );
68
+ statements.push(
69
+ ...dynamic.map((entry) =>
70
+ ts.factory.createIfStatement(
71
+ ts.factory.createCallExpression(
72
+ ts.factory.createIdentifier(
73
+ `RegExp(/${metadata_to_pattern({
74
+ top: true,
75
+ metadata: entry.key,
76
+ })}/).test`,
77
+ ),
78
+ undefined,
79
+ [key],
80
+ ),
81
+ ts.factory.createBlock([
82
+ ts.factory.createExpressionStatement(
83
+ ts.factory.createBinaryExpression(
84
+ ts.factory.createElementAccessExpression(output, key),
85
+ ts.factory.createToken(ts.SyntaxKind.EqualsToken),
86
+ entry.expression,
87
+ ),
88
+ ),
89
+ ts.factory.createContinueStatement(),
90
+ ]),
91
+ ),
92
+ ),
93
+ );
94
+
95
+ return ts.factory.createBlock([
96
+ StatementFactory.constant({
97
+ name: "output",
98
+ value: ts.factory.createAsExpression(
99
+ literal,
100
+ TypeFactory.keyword("any"),
101
+ ),
102
+ }),
103
+ ts.factory.createForOfStatement(
104
+ undefined,
105
+ StatementFactory.entry({
106
+ key: "key",
107
+ value: "value",
108
+ }),
109
+ ts.factory.createCallExpression(
110
+ ts.factory.createIdentifier("Object.entries"),
111
+ undefined,
112
+ [props.input],
113
+ ),
114
+ ts.factory.createBlock(statements),
115
+ ),
116
+ ts.factory.createReturnStatement(output),
117
+ ]);
118
+ };
119
+
120
+ export const tuple = (props: {
121
+ elements: ts.Expression[];
122
+ rest: ts.Expression | null;
123
+ }): ts.Expression => {
124
+ return ts.factory.createAsExpression(
125
+ ts.factory.createArrayLiteralExpression(
126
+ props.rest === null
127
+ ? props.elements
128
+ : [...props.elements, ts.factory.createSpreadElement(props.rest)],
129
+ true,
130
+ ),
131
+ TypeFactory.keyword("any"),
132
+ );
133
+ };
134
+
135
+ export const array = (props: {
136
+ input: ts.Expression;
137
+ arrow: ts.Expression;
138
+ }) =>
139
+ ts.factory.createCallExpression(
140
+ ts.factory.createPropertyAccessExpression(props.input, "map"),
141
+ undefined,
142
+ [props.arrow],
143
+ );
144
+ }
@@ -1,125 +1,125 @@
1
- import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
2
- import { Metadata } from "../../schemas/metadata/Metadata";
3
- import { MetadataObject } from "../../schemas/metadata/MetadataObject";
4
-
5
- import { ProtobufAtomic } from "../../typings/ProtobufAtomic";
6
-
7
- export namespace ProtobufUtil {
8
- export const isStaticObject = (obj: MetadataObject): boolean =>
9
- obj.properties.length >= 1 &&
10
- obj.properties.every((p) => p.key.isSoleLiteral());
11
-
12
- export const size = (meta: Metadata): number =>
13
- getAtomics(meta).length +
14
- meta.arrays.length +
15
- meta.tuples.length +
16
- meta.natives.length +
17
- meta.objects.length +
18
- meta.maps.length;
19
-
20
- export const isUnion = (meta: Metadata): boolean => size(meta) > 1;
21
-
22
- export const getAtomics = (meta: Metadata): ProtobufAtomic[] => {
23
- const set: Set<ProtobufAtomic> = new Set();
24
- if (meta.templates.length) set.add("string");
25
- for (const c of meta.constants)
26
- if (c.type === "boolean") set.add("bool");
27
- else if (c.type === "bigint") set.add("uint64");
28
- else if (c.type === "number")
29
- set.add(deduce_numeric_type(c.values.map((v) => v.value) as number[]));
30
- else if (c.type === "string") set.add("string");
31
- for (const atomic of meta.atomics)
32
- if (atomic.type === "boolean") set.add("bool");
33
- else if (atomic.type === "bigint")
34
- decode_bigint(atomic.tags).forEach((t) => set.add(t));
35
- else if (atomic.type === "number")
36
- decode_number(atomic.tags).forEach((t) => set.add(t));
37
- else if (atomic.type === "string") set.add("string");
38
-
39
- return [...set].sort(compare);
40
- };
41
-
42
- export const getNumbers = (meta: Metadata): ProtobufAtomic.Numeric[] => {
43
- const set: Set<ProtobufAtomic.Numeric> = new Set();
44
- for (const c of meta.constants)
45
- if (c.type === "number")
46
- set.add(deduce_numeric_type(c.values.map((v) => v.value) as number[]));
47
- for (const atomic of meta.atomics)
48
- if (atomic.type === "number")
49
- decode_number(atomic.tags).forEach((t) => set.add(t));
50
- return [...set].sort(compare);
51
- };
52
-
53
- export const getBigints = (meta: Metadata): ProtobufAtomic.BigNumeric[] => {
54
- const set: Set<ProtobufAtomic.BigNumeric> = new Set();
55
- for (const c of meta.constants) if (c.type === "bigint") set.add("uint64");
56
- for (const atomic of meta.atomics)
57
- if (atomic.type === "bigint")
58
- decode_bigint(atomic.tags).forEach((t) => set.add(t));
59
- return [...set].sort(compare);
60
- };
61
-
62
- const compare = (x: ProtobufAtomic, y: ProtobufAtomic): number =>
63
- ATOMIC_ORDER.get(x)! - ATOMIC_ORDER.get(y)!;
64
- }
65
-
66
- const ATOMIC_ORDER = new Map<ProtobufAtomic, number>(
67
- (
68
- [
69
- "bool",
70
- "int32",
71
- "uint32",
72
- "int64",
73
- "uint64",
74
- "float",
75
- "double",
76
- "string",
77
- ] as const
78
- ).map((str, i) => [str, i]),
79
- );
80
-
81
- const deduce_numeric_type = (values: number[]): ProtobufAtomic.Numeric =>
82
- values.every((v) => Math.floor(v) === v)
83
- ? values.every((v) => -2147483648 <= v && v <= 2147483647)
84
- ? "int32"
85
- : "int64"
86
- : "double";
87
-
88
- const decode_bigint = (
89
- typeTags: IMetadataTypeTag[][],
90
- ): ProtobufAtomic.BigNumeric[] => {
91
- if (typeTags.length === 0) return ["int64"];
92
-
93
- const types: Set<ProtobufAtomic.BigNumeric> = new Set();
94
- for (const row of typeTags) {
95
- const value: ProtobufAtomic.BigNumeric | undefined = row.find(
96
- (tag) =>
97
- tag.kind === "type" &&
98
- (tag.value === "int64" || tag.value === "uint64"),
99
- )?.value;
100
- types.add(value ?? "int64");
101
- }
102
- return [...types];
103
- };
104
-
105
- const decode_number = (
106
- typeTags: IMetadataTypeTag[][],
107
- ): ProtobufAtomic.Numeric[] => {
108
- if (typeTags.length === 0) return ["double"];
109
-
110
- const types: Set<ProtobufAtomic.Numeric> = new Set();
111
- for (const row of typeTags) {
112
- const value: ProtobufAtomic.Numeric | undefined = row.find(
113
- (tag) =>
114
- tag.kind === "type" &&
115
- (tag.value === "int32" ||
116
- tag.value === "uint32" ||
117
- tag.value === "int64" ||
118
- tag.value === "uint64" ||
119
- tag.value === "float" ||
120
- tag.value === "double"),
121
- )?.value;
122
- types.add(value ?? "double");
123
- }
124
- return [...types];
125
- };
1
+ import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
2
+ import { Metadata } from "../../schemas/metadata/Metadata";
3
+ import { MetadataObject } from "../../schemas/metadata/MetadataObject";
4
+
5
+ import { ProtobufAtomic } from "../../typings/ProtobufAtomic";
6
+
7
+ export namespace ProtobufUtil {
8
+ export const isStaticObject = (obj: MetadataObject): boolean =>
9
+ obj.properties.length >= 1 &&
10
+ obj.properties.every((p) => p.key.isSoleLiteral());
11
+
12
+ export const size = (meta: Metadata): number =>
13
+ getAtomics(meta).length +
14
+ meta.arrays.length +
15
+ meta.tuples.length +
16
+ meta.natives.length +
17
+ meta.objects.length +
18
+ meta.maps.length;
19
+
20
+ export const isUnion = (meta: Metadata): boolean => size(meta) > 1;
21
+
22
+ export const getAtomics = (meta: Metadata): ProtobufAtomic[] => {
23
+ const set: Set<ProtobufAtomic> = new Set();
24
+ if (meta.templates.length) set.add("string");
25
+ for (const c of meta.constants)
26
+ if (c.type === "boolean") set.add("bool");
27
+ else if (c.type === "bigint") set.add("uint64");
28
+ else if (c.type === "number")
29
+ set.add(deduce_numeric_type(c.values.map((v) => v.value) as number[]));
30
+ else if (c.type === "string") set.add("string");
31
+ for (const atomic of meta.atomics)
32
+ if (atomic.type === "boolean") set.add("bool");
33
+ else if (atomic.type === "bigint")
34
+ decode_bigint(atomic.tags).forEach((t) => set.add(t));
35
+ else if (atomic.type === "number")
36
+ decode_number(atomic.tags).forEach((t) => set.add(t));
37
+ else if (atomic.type === "string") set.add("string");
38
+
39
+ return [...set].sort(compare);
40
+ };
41
+
42
+ export const getNumbers = (meta: Metadata): ProtobufAtomic.Numeric[] => {
43
+ const set: Set<ProtobufAtomic.Numeric> = new Set();
44
+ for (const c of meta.constants)
45
+ if (c.type === "number")
46
+ set.add(deduce_numeric_type(c.values.map((v) => v.value) as number[]));
47
+ for (const atomic of meta.atomics)
48
+ if (atomic.type === "number")
49
+ decode_number(atomic.tags).forEach((t) => set.add(t));
50
+ return [...set].sort(compare);
51
+ };
52
+
53
+ export const getBigints = (meta: Metadata): ProtobufAtomic.BigNumeric[] => {
54
+ const set: Set<ProtobufAtomic.BigNumeric> = new Set();
55
+ for (const c of meta.constants) if (c.type === "bigint") set.add("uint64");
56
+ for (const atomic of meta.atomics)
57
+ if (atomic.type === "bigint")
58
+ decode_bigint(atomic.tags).forEach((t) => set.add(t));
59
+ return [...set].sort(compare);
60
+ };
61
+
62
+ const compare = (x: ProtobufAtomic, y: ProtobufAtomic): number =>
63
+ ATOMIC_ORDER.get(x)! - ATOMIC_ORDER.get(y)!;
64
+ }
65
+
66
+ const ATOMIC_ORDER = new Map<ProtobufAtomic, number>(
67
+ (
68
+ [
69
+ "bool",
70
+ "int32",
71
+ "uint32",
72
+ "int64",
73
+ "uint64",
74
+ "float",
75
+ "double",
76
+ "string",
77
+ ] as const
78
+ ).map((str, i) => [str, i]),
79
+ );
80
+
81
+ const deduce_numeric_type = (values: number[]): ProtobufAtomic.Numeric =>
82
+ values.every((v) => Math.floor(v) === v)
83
+ ? values.every((v) => -2147483648 <= v && v <= 2147483647)
84
+ ? "int32"
85
+ : "int64"
86
+ : "double";
87
+
88
+ const decode_bigint = (
89
+ typeTags: IMetadataTypeTag[][],
90
+ ): ProtobufAtomic.BigNumeric[] => {
91
+ if (typeTags.length === 0) return ["int64"];
92
+
93
+ const types: Set<ProtobufAtomic.BigNumeric> = new Set();
94
+ for (const row of typeTags) {
95
+ const value: ProtobufAtomic.BigNumeric | undefined = row.find(
96
+ (tag) =>
97
+ tag.kind === "type" &&
98
+ (tag.value === "int64" || tag.value === "uint64"),
99
+ )?.value;
100
+ types.add(value ?? "int64");
101
+ }
102
+ return [...types];
103
+ };
104
+
105
+ const decode_number = (
106
+ typeTags: IMetadataTypeTag[][],
107
+ ): ProtobufAtomic.Numeric[] => {
108
+ if (typeTags.length === 0) return ["double"];
109
+
110
+ const types: Set<ProtobufAtomic.Numeric> = new Set();
111
+ for (const row of typeTags) {
112
+ const value: ProtobufAtomic.Numeric | undefined = row.find(
113
+ (tag) =>
114
+ tag.kind === "type" &&
115
+ (tag.value === "int32" ||
116
+ tag.value === "uint32" ||
117
+ tag.value === "int64" ||
118
+ tag.value === "uint64" ||
119
+ tag.value === "float" ||
120
+ tag.value === "double"),
121
+ )?.value;
122
+ types.add(value ?? "double");
123
+ }
124
+ return [...types];
125
+ };