typia 8.0.0 → 8.0.2-dev.20250314

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 (1503) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +150 -150
  3. package/lib/AssertionGuard.mjs +2 -0
  4. package/lib/AssertionGuard.mjs.map +1 -0
  5. package/lib/CamelCase.mjs +2 -0
  6. package/lib/CamelCase.mjs.map +1 -0
  7. package/lib/IRandomGenerator.mjs +2 -0
  8. package/lib/IRandomGenerator.mjs.map +1 -0
  9. package/lib/IReadableURLSearchParams.mjs +2 -0
  10. package/lib/IReadableURLSearchParams.mjs.map +1 -0
  11. package/lib/IValidation.mjs +2 -0
  12. package/lib/IValidation.mjs.map +1 -0
  13. package/lib/PascalCase.mjs +2 -0
  14. package/lib/PascalCase.mjs.map +1 -0
  15. package/lib/Primitive.mjs +2 -0
  16. package/lib/Primitive.mjs.map +1 -0
  17. package/lib/Resolved.mjs +2 -0
  18. package/lib/Resolved.mjs.map +1 -0
  19. package/lib/SnakeCase.mjs +2 -0
  20. package/lib/SnakeCase.mjs.map +1 -0
  21. package/lib/TypeGuardError.mjs.map +1 -1
  22. package/lib/executable/TypiaGenerateWizard.mjs +59 -0
  23. package/lib/executable/TypiaGenerateWizard.mjs.map +1 -0
  24. package/lib/executable/TypiaPatchWizard.mjs +37 -0
  25. package/lib/executable/TypiaPatchWizard.mjs.map +1 -0
  26. package/lib/executable/TypiaSetupWizard.mjs +131 -0
  27. package/lib/executable/TypiaSetupWizard.mjs.map +1 -0
  28. package/lib/executable/setup/ArgumentParser.mjs +24 -0
  29. package/lib/executable/setup/ArgumentParser.mjs.map +1 -0
  30. package/lib/executable/setup/CommandExecutor.mjs +12 -0
  31. package/lib/executable/setup/CommandExecutor.mjs.map +1 -0
  32. package/lib/executable/setup/FileRetriever.mjs +21 -0
  33. package/lib/executable/setup/FileRetriever.mjs.map +1 -0
  34. package/lib/executable/setup/PackageManager.mjs +62 -0
  35. package/lib/executable/setup/PackageManager.mjs.map +1 -0
  36. package/lib/executable/setup/PluginConfigurator.js +3 -3
  37. package/lib/executable/setup/PluginConfigurator.mjs +45 -0
  38. package/lib/executable/setup/PluginConfigurator.mjs.map +1 -0
  39. package/lib/executable/typia.js +15 -15
  40. package/lib/executable/typia.mjs +57 -0
  41. package/lib/executable/typia.mjs.map +1 -0
  42. package/lib/factories/CommentFactory.mjs +68 -0
  43. package/lib/factories/CommentFactory.mjs.map +1 -0
  44. package/lib/factories/ExpressionFactory.mjs +101 -0
  45. package/lib/factories/ExpressionFactory.mjs.map +1 -0
  46. package/lib/factories/IdentifierFactory.mjs +47 -0
  47. package/lib/factories/IdentifierFactory.mjs.map +1 -0
  48. package/lib/factories/JsonMetadataFactory.mjs +59 -0
  49. package/lib/factories/JsonMetadataFactory.mjs.map +1 -0
  50. package/lib/factories/LiteralFactory.mjs +45 -0
  51. package/lib/factories/LiteralFactory.mjs.map +1 -0
  52. package/lib/factories/MetadataCollection.mjs +232 -0
  53. package/lib/factories/MetadataCollection.mjs.map +1 -0
  54. package/lib/factories/MetadataCommentTagFactory.mjs +579 -0
  55. package/lib/factories/MetadataCommentTagFactory.mjs.map +1 -0
  56. package/lib/factories/MetadataFactory.mjs +291 -0
  57. package/lib/factories/MetadataFactory.mjs.map +1 -0
  58. package/lib/factories/MetadataTypeTagFactory.mjs +316 -0
  59. package/lib/factories/MetadataTypeTagFactory.mjs.map +1 -0
  60. package/lib/factories/MetadataTypeTagSchemaFactory.mjs +68 -0
  61. package/lib/factories/MetadataTypeTagSchemaFactory.mjs.map +1 -0
  62. package/lib/factories/NumericRangeFactory.mjs +27 -0
  63. package/lib/factories/NumericRangeFactory.mjs.map +1 -0
  64. package/lib/factories/ProtobufFactory.mjs +688 -0
  65. package/lib/factories/ProtobufFactory.mjs.map +1 -0
  66. package/lib/factories/StatementFactory.mjs +31 -0
  67. package/lib/factories/StatementFactory.mjs.map +1 -0
  68. package/lib/factories/TemplateFactory.mjs +45 -0
  69. package/lib/factories/TemplateFactory.mjs.map +1 -0
  70. package/lib/factories/TypeFactory.mjs +102 -0
  71. package/lib/factories/TypeFactory.mjs.map +1 -0
  72. package/lib/factories/ValueFactory.mjs +13 -0
  73. package/lib/factories/ValueFactory.mjs.map +1 -0
  74. package/lib/factories/internal/metadata/IMetadataIteratorProps.mjs +2 -0
  75. package/lib/factories/internal/metadata/IMetadataIteratorProps.mjs.map +1 -0
  76. package/lib/factories/internal/metadata/MetadataHelper.mjs +23 -0
  77. package/lib/factories/internal/metadata/MetadataHelper.mjs.map +1 -0
  78. package/lib/factories/internal/metadata/emend_metadata_atomics.mjs +35 -0
  79. package/lib/factories/internal/metadata/emend_metadata_atomics.mjs.map +1 -0
  80. package/lib/factories/internal/metadata/emplace_metadata_alias.mjs +25 -0
  81. package/lib/factories/internal/metadata/emplace_metadata_alias.mjs.map +1 -0
  82. package/lib/factories/internal/metadata/emplace_metadata_array_type.mjs +26 -0
  83. package/lib/factories/internal/metadata/emplace_metadata_array_type.mjs.map +1 -0
  84. package/lib/factories/internal/metadata/emplace_metadata_object.js +7 -6
  85. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  86. package/lib/factories/internal/metadata/emplace_metadata_object.mjs +152 -0
  87. package/lib/factories/internal/metadata/emplace_metadata_object.mjs.map +1 -0
  88. package/lib/factories/internal/metadata/emplace_metadata_tuple.mjs +47 -0
  89. package/lib/factories/internal/metadata/emplace_metadata_tuple.mjs.map +1 -0
  90. package/lib/factories/internal/metadata/explore_metadata.mjs +26 -0
  91. package/lib/factories/internal/metadata/explore_metadata.mjs.map +1 -0
  92. package/lib/factories/internal/metadata/iterate_metadata.mjs +51 -0
  93. package/lib/factories/internal/metadata/iterate_metadata.mjs.map +1 -0
  94. package/lib/factories/internal/metadata/iterate_metadata_alias.mjs +21 -0
  95. package/lib/factories/internal/metadata/iterate_metadata_alias.mjs.map +1 -0
  96. package/lib/factories/internal/metadata/iterate_metadata_array.mjs +51 -0
  97. package/lib/factories/internal/metadata/iterate_metadata_array.mjs.map +1 -0
  98. package/lib/factories/internal/metadata/iterate_metadata_atomic.mjs +47 -0
  99. package/lib/factories/internal/metadata/iterate_metadata_atomic.mjs.map +1 -0
  100. package/lib/factories/internal/metadata/iterate_metadata_coalesce.mjs +25 -0
  101. package/lib/factories/internal/metadata/iterate_metadata_coalesce.mjs.map +1 -0
  102. package/lib/factories/internal/metadata/iterate_metadata_collection.mjs +87 -0
  103. package/lib/factories/internal/metadata/iterate_metadata_collection.mjs.map +1 -0
  104. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.mjs +29 -0
  105. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.mjs.map +1 -0
  106. package/lib/factories/internal/metadata/iterate_metadata_constant.mjs +54 -0
  107. package/lib/factories/internal/metadata/iterate_metadata_constant.mjs.map +1 -0
  108. package/lib/factories/internal/metadata/iterate_metadata_escape.mjs +44 -0
  109. package/lib/factories/internal/metadata/iterate_metadata_escape.mjs.map +1 -0
  110. package/lib/factories/internal/metadata/iterate_metadata_function.mjs +76 -0
  111. package/lib/factories/internal/metadata/iterate_metadata_function.mjs.map +1 -0
  112. package/lib/factories/internal/metadata/iterate_metadata_intersection.mjs +185 -0
  113. package/lib/factories/internal/metadata/iterate_metadata_intersection.mjs.map +1 -0
  114. package/lib/factories/internal/metadata/iterate_metadata_map.mjs +47 -0
  115. package/lib/factories/internal/metadata/iterate_metadata_map.mjs.map +1 -0
  116. package/lib/factories/internal/metadata/iterate_metadata_native.mjs +203 -0
  117. package/lib/factories/internal/metadata/iterate_metadata_native.mjs.map +1 -0
  118. package/lib/factories/internal/metadata/iterate_metadata_object.mjs +23 -0
  119. package/lib/factories/internal/metadata/iterate_metadata_object.mjs.map +1 -0
  120. package/lib/factories/internal/metadata/iterate_metadata_set.mjs +46 -0
  121. package/lib/factories/internal/metadata/iterate_metadata_set.mjs.map +1 -0
  122. package/lib/factories/internal/metadata/iterate_metadata_sort.mjs +75 -0
  123. package/lib/factories/internal/metadata/iterate_metadata_sort.mjs.map +1 -0
  124. package/lib/factories/internal/metadata/iterate_metadata_template.mjs +35 -0
  125. package/lib/factories/internal/metadata/iterate_metadata_template.mjs.map +1 -0
  126. package/lib/factories/internal/metadata/iterate_metadata_tuple.mjs +17 -0
  127. package/lib/factories/internal/metadata/iterate_metadata_tuple.mjs.map +1 -0
  128. package/lib/factories/internal/metadata/iterate_metadata_union.mjs +18 -0
  129. package/lib/factories/internal/metadata/iterate_metadata_union.mjs.map +1 -0
  130. package/lib/functional.mjs.map +1 -1
  131. package/lib/http.mjs.map +1 -1
  132. package/lib/index.mjs.map +1 -1
  133. package/lib/internal/_IProtobufWriter.mjs +2 -0
  134. package/lib/internal/_IProtobufWriter.mjs.map +1 -0
  135. package/lib/internal/_ProtobufReader.mjs +176 -0
  136. package/lib/internal/_ProtobufReader.mjs.map +1 -0
  137. package/lib/internal/_ProtobufSizer.mjs +130 -0
  138. package/lib/internal/_ProtobufSizer.mjs.map +1 -0
  139. package/lib/internal/_ProtobufWriter.mjs +122 -0
  140. package/lib/internal/_ProtobufWriter.mjs.map +1 -0
  141. package/lib/internal/_accessExpressionAsString.mjs +44 -0
  142. package/lib/internal/_accessExpressionAsString.mjs.map +1 -0
  143. package/lib/internal/_assertGuard.mjs +14 -0
  144. package/lib/internal/_assertGuard.mjs.map +1 -0
  145. package/lib/internal/_functionalTypeGuardErrorFactory.mjs +6 -0
  146. package/lib/internal/_functionalTypeGuardErrorFactory.mjs.map +1 -0
  147. package/lib/internal/_httpFormDataReadArray.mjs +4 -0
  148. package/lib/internal/_httpFormDataReadArray.mjs.map +1 -0
  149. package/lib/internal/_httpFormDataReadBigint.mjs +18 -0
  150. package/lib/internal/_httpFormDataReadBigint.mjs.map +1 -0
  151. package/lib/internal/_httpFormDataReadBlob.mjs +10 -0
  152. package/lib/internal/_httpFormDataReadBlob.mjs.map +1 -0
  153. package/lib/internal/_httpFormDataReadBoolean.mjs +16 -0
  154. package/lib/internal/_httpFormDataReadBoolean.mjs.map +1 -0
  155. package/lib/internal/_httpFormDataReadFile.mjs +10 -0
  156. package/lib/internal/_httpFormDataReadFile.mjs.map +1 -0
  157. package/lib/internal/_httpFormDataReadNumber.mjs +14 -0
  158. package/lib/internal/_httpFormDataReadNumber.mjs.map +1 -0
  159. package/lib/internal/_httpFormDataReadString.mjs +10 -0
  160. package/lib/internal/_httpFormDataReadString.mjs.map +1 -0
  161. package/lib/internal/_httpHeaderReadBigint.mjs +12 -0
  162. package/lib/internal/_httpHeaderReadBigint.mjs.map +1 -0
  163. package/lib/internal/_httpHeaderReadBoolean.mjs +10 -0
  164. package/lib/internal/_httpHeaderReadBoolean.mjs.map +1 -0
  165. package/lib/internal/_httpHeaderReadNumber.mjs +8 -0
  166. package/lib/internal/_httpHeaderReadNumber.mjs.map +1 -0
  167. package/lib/internal/_httpParameterReadBigint.mjs +12 -0
  168. package/lib/internal/_httpParameterReadBigint.mjs.map +1 -0
  169. package/lib/internal/_httpParameterReadBoolean.mjs +10 -0
  170. package/lib/internal/_httpParameterReadBoolean.mjs.map +1 -0
  171. package/lib/internal/_httpParameterReadNumber.mjs +8 -0
  172. package/lib/internal/_httpParameterReadNumber.mjs.map +1 -0
  173. package/lib/internal/_httpParameterReadString.mjs +4 -0
  174. package/lib/internal/_httpParameterReadString.mjs.map +1 -0
  175. package/lib/internal/_httpQueryParseURLSearchParams.mjs +11 -0
  176. package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -0
  177. package/lib/internal/_httpQueryReadArray.mjs +4 -0
  178. package/lib/internal/_httpQueryReadArray.mjs.map +1 -0
  179. package/lib/internal/_httpQueryReadBigint.mjs +12 -0
  180. package/lib/internal/_httpQueryReadBigint.mjs.map +1 -0
  181. package/lib/internal/_httpQueryReadBoolean.mjs +14 -0
  182. package/lib/internal/_httpQueryReadBoolean.mjs.map +1 -0
  183. package/lib/internal/_httpQueryReadNumber.mjs +8 -0
  184. package/lib/internal/_httpQueryReadNumber.mjs.map +1 -0
  185. package/lib/internal/_httpQueryReadString.mjs +4 -0
  186. package/lib/internal/_httpQueryReadString.mjs.map +1 -0
  187. package/lib/internal/_isBetween.mjs +4 -0
  188. package/lib/internal/_isBetween.mjs.map +1 -0
  189. package/lib/internal/_isBigintString.mjs +12 -0
  190. package/lib/internal/_isBigintString.mjs.map +1 -0
  191. package/lib/internal/_isFormatByte.mjs +8 -0
  192. package/lib/internal/_isFormatByte.mjs.map +1 -0
  193. package/lib/internal/_isFormatDate.mjs +5 -0
  194. package/lib/internal/_isFormatDate.mjs.map +1 -0
  195. package/lib/internal/_isFormatDateTime.mjs +5 -0
  196. package/lib/internal/_isFormatDateTime.mjs.map +1 -0
  197. package/lib/internal/_isFormatDuration.mjs +5 -0
  198. package/lib/internal/_isFormatDuration.mjs.map +1 -0
  199. package/lib/internal/_isFormatEmail.mjs +5 -0
  200. package/lib/internal/_isFormatEmail.mjs.map +1 -0
  201. package/lib/internal/_isFormatHostname.mjs +5 -0
  202. package/lib/internal/_isFormatHostname.mjs.map +1 -0
  203. package/lib/internal/_isFormatIdnEmail.mjs +5 -0
  204. package/lib/internal/_isFormatIdnEmail.mjs.map +1 -0
  205. package/lib/internal/_isFormatIdnHostname.mjs +5 -0
  206. package/lib/internal/_isFormatIdnHostname.mjs.map +1 -0
  207. package/lib/internal/_isFormatIpv4.mjs +5 -0
  208. package/lib/internal/_isFormatIpv4.mjs.map +1 -0
  209. package/lib/internal/_isFormatIpv6.mjs +5 -0
  210. package/lib/internal/_isFormatIpv6.mjs.map +1 -0
  211. package/lib/internal/_isFormatIri.mjs +5 -0
  212. package/lib/internal/_isFormatIri.mjs.map +1 -0
  213. package/lib/internal/_isFormatIriReference.mjs +5 -0
  214. package/lib/internal/_isFormatIriReference.mjs.map +1 -0
  215. package/lib/internal/_isFormatJsonPointer.mjs +5 -0
  216. package/lib/internal/_isFormatJsonPointer.mjs.map +1 -0
  217. package/lib/internal/_isFormatPassword.mjs +4 -0
  218. package/lib/internal/_isFormatPassword.mjs.map +1 -0
  219. package/lib/internal/_isFormatRegex.mjs +12 -0
  220. package/lib/internal/_isFormatRegex.mjs.map +1 -0
  221. package/lib/internal/_isFormatRelativeJsonPointer.mjs +5 -0
  222. package/lib/internal/_isFormatRelativeJsonPointer.mjs.map +1 -0
  223. package/lib/internal/_isFormatTime.mjs +5 -0
  224. package/lib/internal/_isFormatTime.mjs.map +1 -0
  225. package/lib/internal/_isFormatUri.mjs +6 -0
  226. package/lib/internal/_isFormatUri.mjs.map +1 -0
  227. package/lib/internal/_isFormatUriReference.mjs +5 -0
  228. package/lib/internal/_isFormatUriReference.mjs.map +1 -0
  229. package/lib/internal/_isFormatUriTemplate.mjs +5 -0
  230. package/lib/internal/_isFormatUriTemplate.mjs.map +1 -0
  231. package/lib/internal/_isFormatUrl.mjs +5 -0
  232. package/lib/internal/_isFormatUrl.mjs.map +1 -0
  233. package/lib/internal/_isFormatUuid.mjs +5 -0
  234. package/lib/internal/_isFormatUuid.mjs.map +1 -0
  235. package/lib/internal/_isTypeFloat.mjs +6 -0
  236. package/lib/internal/_isTypeFloat.mjs.map +1 -0
  237. package/lib/internal/_isTypeInt32.mjs +6 -0
  238. package/lib/internal/_isTypeInt32.mjs.map +1 -0
  239. package/lib/internal/_isTypeInt64.mjs +6 -0
  240. package/lib/internal/_isTypeInt64.mjs.map +1 -0
  241. package/lib/internal/_isTypeUint32.mjs +6 -0
  242. package/lib/internal/_isTypeUint32.mjs.map +1 -0
  243. package/lib/internal/_isTypeUint64.mjs +6 -0
  244. package/lib/internal/_isTypeUint64.mjs.map +1 -0
  245. package/lib/internal/_isUniqueItems.mjs +138 -0
  246. package/lib/internal/_isUniqueItems.mjs.map +1 -0
  247. package/lib/internal/_jsonStringifyNumber.mjs +15 -0
  248. package/lib/internal/_jsonStringifyNumber.mjs.map +1 -0
  249. package/lib/internal/_jsonStringifyRest.mjs +6 -0
  250. package/lib/internal/_jsonStringifyRest.mjs.map +1 -0
  251. package/lib/internal/_jsonStringifyString.mjs +40 -0
  252. package/lib/internal/_jsonStringifyString.mjs.map +1 -0
  253. package/lib/internal/_jsonStringifyTail.mjs +4 -0
  254. package/lib/internal/_jsonStringifyTail.mjs.map +1 -0
  255. package/lib/internal/_llmApplicationFinalize.mjs +19 -0
  256. package/lib/internal/_llmApplicationFinalize.mjs.map +1 -0
  257. package/lib/internal/_miscCloneAny.mjs +62 -0
  258. package/lib/internal/_miscCloneAny.mjs.map +1 -0
  259. package/lib/internal/_notationAny.mjs +37 -0
  260. package/lib/internal/_notationAny.mjs.map +1 -0
  261. package/lib/internal/_notationCamel.mjs +14 -0
  262. package/lib/internal/_notationCamel.mjs.map +1 -0
  263. package/lib/internal/_notationPascal.mjs +10 -0
  264. package/lib/internal/_notationPascal.mjs.map +1 -0
  265. package/lib/internal/_notationSnake.mjs +49 -0
  266. package/lib/internal/_notationSnake.mjs.map +1 -0
  267. package/lib/internal/_randomArray.mjs +17 -0
  268. package/lib/internal/_randomArray.mjs.map +1 -0
  269. package/lib/internal/_randomBigint.mjs +6 -0
  270. package/lib/internal/_randomBigint.mjs.map +1 -0
  271. package/lib/internal/_randomBoolean.mjs +4 -0
  272. package/lib/internal/_randomBoolean.mjs.map +1 -0
  273. package/lib/internal/_randomFormatByte.mjs +5 -0
  274. package/lib/internal/_randomFormatByte.mjs.map +1 -0
  275. package/lib/internal/_randomFormatDate.mjs +13 -0
  276. package/lib/internal/_randomFormatDate.mjs.map +1 -0
  277. package/lib/internal/_randomFormatDatetime.mjs +11 -0
  278. package/lib/internal/_randomFormatDatetime.mjs.map +1 -0
  279. package/lib/internal/_randomFormatDuration.mjs +28 -0
  280. package/lib/internal/_randomFormatDuration.mjs.map +1 -0
  281. package/lib/internal/_randomFormatEmail.mjs +10 -0
  282. package/lib/internal/_randomFormatEmail.mjs.map +1 -0
  283. package/lib/internal/_randomFormatHostname.mjs +7 -0
  284. package/lib/internal/_randomFormatHostname.mjs.map +1 -0
  285. package/lib/internal/_randomFormatIdnEmail.mjs +6 -0
  286. package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -0
  287. package/lib/internal/_randomFormatIdnHostname.mjs +6 -0
  288. package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -0
  289. package/lib/internal/_randomFormatIpv4.mjs +10 -0
  290. package/lib/internal/_randomFormatIpv4.mjs.map +1 -0
  291. package/lib/internal/_randomFormatIpv6.mjs +10 -0
  292. package/lib/internal/_randomFormatIpv6.mjs.map +1 -0
  293. package/lib/internal/_randomFormatIri.mjs +6 -0
  294. package/lib/internal/_randomFormatIri.mjs.map +1 -0
  295. package/lib/internal/_randomFormatIriReference.mjs +6 -0
  296. package/lib/internal/_randomFormatIriReference.mjs.map +1 -0
  297. package/lib/internal/_randomFormatJsonPointer.mjs +7 -0
  298. package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -0
  299. package/lib/internal/_randomFormatPassword.mjs +9 -0
  300. package/lib/internal/_randomFormatPassword.mjs.map +1 -0
  301. package/lib/internal/_randomFormatRegex.mjs +5 -0
  302. package/lib/internal/_randomFormatRegex.mjs.map +1 -0
  303. package/lib/internal/_randomFormatRelativeJsonPointer.mjs +9 -0
  304. package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -0
  305. package/lib/internal/_randomFormatTime.mjs +12 -0
  306. package/lib/internal/_randomFormatTime.mjs.map +1 -0
  307. package/lib/internal/_randomFormatUri.mjs +6 -0
  308. package/lib/internal/_randomFormatUri.mjs.map +1 -0
  309. package/lib/internal/_randomFormatUriReference.mjs +6 -0
  310. package/lib/internal/_randomFormatUriReference.mjs.map +1 -0
  311. package/lib/internal/_randomFormatUriTemplate.mjs +6 -0
  312. package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -0
  313. package/lib/internal/_randomFormatUrl.mjs +10 -0
  314. package/lib/internal/_randomFormatUrl.mjs.map +1 -0
  315. package/lib/internal/_randomFormatUuid.mjs +8 -0
  316. package/lib/internal/_randomFormatUuid.mjs.map +1 -0
  317. package/lib/internal/_randomInteger.mjs +39 -0
  318. package/lib/internal/_randomInteger.mjs.map +1 -0
  319. package/lib/internal/_randomNumber.mjs +58 -0
  320. package/lib/internal/_randomNumber.mjs.map +1 -0
  321. package/lib/internal/_randomPattern.mjs +14 -0
  322. package/lib/internal/_randomPattern.mjs.map +1 -0
  323. package/lib/internal/_randomPick.mjs +10 -0
  324. package/lib/internal/_randomPick.mjs.map +1 -0
  325. package/lib/internal/_randomString.mjs +20 -0
  326. package/lib/internal/_randomString.mjs.map +1 -0
  327. package/lib/internal/_throwTypeGuardError.mjs +8 -0
  328. package/lib/internal/_throwTypeGuardError.mjs.map +1 -0
  329. package/lib/internal/_validateReport.mjs +16 -0
  330. package/lib/internal/_validateReport.mjs.map +1 -0
  331. package/lib/internal/private/__notationCapitalize.mjs +4 -0
  332. package/lib/internal/private/__notationCapitalize.mjs.map +1 -0
  333. package/lib/internal/private/__notationUnsnake.mjs +24 -0
  334. package/lib/internal/private/__notationUnsnake.mjs.map +1 -0
  335. package/lib/json.mjs.map +1 -1
  336. package/lib/llm.mjs.map +1 -1
  337. package/lib/misc.mjs.map +1 -1
  338. package/lib/module.mjs.map +1 -1
  339. package/lib/notations.mjs.map +1 -1
  340. package/lib/programmers/AssertProgrammer.mjs +255 -0
  341. package/lib/programmers/AssertProgrammer.mjs.map +1 -0
  342. package/lib/programmers/CheckerProgrammer.mjs +1103 -0
  343. package/lib/programmers/CheckerProgrammer.mjs.map +1 -0
  344. package/lib/programmers/FeatureProgrammer.mjs +231 -0
  345. package/lib/programmers/FeatureProgrammer.mjs.map +1 -0
  346. package/lib/programmers/ImportProgrammer.mjs +95 -0
  347. package/lib/programmers/ImportProgrammer.mjs.map +1 -0
  348. package/lib/programmers/IsProgrammer.mjs +162 -0
  349. package/lib/programmers/IsProgrammer.mjs.map +1 -0
  350. package/lib/programmers/RandomProgrammer.mjs +709 -0
  351. package/lib/programmers/RandomProgrammer.mjs.map +1 -0
  352. package/lib/programmers/TypiaProgrammer.mjs +126 -0
  353. package/lib/programmers/TypiaProgrammer.mjs.map +1 -0
  354. package/lib/programmers/ValidateProgrammer.mjs +228 -0
  355. package/lib/programmers/ValidateProgrammer.mjs.map +1 -0
  356. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.mjs +67 -0
  357. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.mjs.map +1 -0
  358. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.mjs +64 -0
  359. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.mjs.map +1 -0
  360. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.mjs +65 -0
  361. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.mjs.map +1 -0
  362. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.mjs +41 -0
  363. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.mjs.map +1 -0
  364. package/lib/programmers/functional/FunctionalIsParametersProgrammer.mjs +51 -0
  365. package/lib/programmers/functional/FunctionalIsParametersProgrammer.mjs.map +1 -0
  366. package/lib/programmers/functional/FunctionalIsReturnProgrammer.mjs +58 -0
  367. package/lib/programmers/functional/FunctionalIsReturnProgrammer.mjs.map +1 -0
  368. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.mjs +53 -0
  369. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.mjs.map +1 -0
  370. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.mjs +92 -0
  371. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.mjs.map +1 -0
  372. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.mjs +63 -0
  373. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.mjs.map +1 -0
  374. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.mjs +23 -0
  375. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.mjs.map +1 -0
  376. package/lib/programmers/helpers/AtomicPredicator.mjs +13 -0
  377. package/lib/programmers/helpers/AtomicPredicator.mjs.map +1 -0
  378. package/lib/programmers/helpers/CloneJoiner.mjs +56 -0
  379. package/lib/programmers/helpers/CloneJoiner.mjs.map +1 -0
  380. package/lib/programmers/helpers/FunctionProgrammer.mjs +53 -0
  381. package/lib/programmers/helpers/FunctionProgrammer.mjs.map +1 -0
  382. package/lib/programmers/helpers/HttpMetadataUtil.mjs +18 -0
  383. package/lib/programmers/helpers/HttpMetadataUtil.mjs.map +1 -0
  384. package/lib/programmers/helpers/ICheckEntry.mjs +2 -0
  385. package/lib/programmers/helpers/ICheckEntry.mjs.map +1 -0
  386. package/lib/programmers/helpers/IExpressionEntry.mjs +2 -0
  387. package/lib/programmers/helpers/IExpressionEntry.mjs.map +1 -0
  388. package/lib/programmers/helpers/NotationJoiner.mjs +56 -0
  389. package/lib/programmers/helpers/NotationJoiner.mjs.map +1 -0
  390. package/lib/programmers/helpers/OptionPredicator.mjs +10 -0
  391. package/lib/programmers/helpers/OptionPredicator.mjs.map +1 -0
  392. package/lib/programmers/helpers/ProtobufUtil.mjs +170 -0
  393. package/lib/programmers/helpers/ProtobufUtil.mjs.map +1 -0
  394. package/lib/programmers/helpers/ProtobufWire.mjs +2 -0
  395. package/lib/programmers/helpers/ProtobufWire.mjs.map +1 -0
  396. package/lib/programmers/helpers/PruneJoiner.mjs +57 -0
  397. package/lib/programmers/helpers/PruneJoiner.mjs.map +1 -0
  398. package/lib/programmers/helpers/RandomJoiner.mjs +86 -0
  399. package/lib/programmers/helpers/RandomJoiner.mjs.map +1 -0
  400. package/lib/programmers/helpers/StringifyJoinder.mjs +72 -0
  401. package/lib/programmers/helpers/StringifyJoinder.mjs.map +1 -0
  402. package/lib/programmers/helpers/StringifyPredicator.mjs +11 -0
  403. package/lib/programmers/helpers/StringifyPredicator.mjs.map +1 -0
  404. package/lib/programmers/helpers/UnionExplorer.mjs +206 -0
  405. package/lib/programmers/helpers/UnionExplorer.mjs.map +1 -0
  406. package/lib/programmers/helpers/UnionPredicator.mjs +62 -0
  407. package/lib/programmers/helpers/UnionPredicator.mjs.map +1 -0
  408. package/lib/programmers/helpers/disable_function_programmer_declare.mjs +14 -0
  409. package/lib/programmers/helpers/disable_function_programmer_declare.mjs.map +1 -0
  410. package/lib/programmers/http/HttpAssertFormDataProgrammer.mjs +73 -0
  411. package/lib/programmers/http/HttpAssertFormDataProgrammer.mjs.map +1 -0
  412. package/lib/programmers/http/HttpAssertHeadersProgrammer.mjs +73 -0
  413. package/lib/programmers/http/HttpAssertHeadersProgrammer.mjs.map +1 -0
  414. package/lib/programmers/http/HttpAssertQueryProgrammer.mjs +74 -0
  415. package/lib/programmers/http/HttpAssertQueryProgrammer.mjs.map +1 -0
  416. package/lib/programmers/http/HttpFormDataProgrammer.mjs +201 -0
  417. package/lib/programmers/http/HttpFormDataProgrammer.mjs.map +1 -0
  418. package/lib/programmers/http/HttpHeadersProgrammer.mjs +257 -0
  419. package/lib/programmers/http/HttpHeadersProgrammer.mjs.map +1 -0
  420. package/lib/programmers/http/HttpIsFormDataProgrammer.mjs +72 -0
  421. package/lib/programmers/http/HttpIsFormDataProgrammer.mjs.map +1 -0
  422. package/lib/programmers/http/HttpIsHeadersProgrammer.mjs +72 -0
  423. package/lib/programmers/http/HttpIsHeadersProgrammer.mjs.map +1 -0
  424. package/lib/programmers/http/HttpIsQueryProgrammer.mjs +73 -0
  425. package/lib/programmers/http/HttpIsQueryProgrammer.mjs.map +1 -0
  426. package/lib/programmers/http/HttpParameterProgrammer.mjs +84 -0
  427. package/lib/programmers/http/HttpParameterProgrammer.mjs.map +1 -0
  428. package/lib/programmers/http/HttpQueryProgrammer.mjs +211 -0
  429. package/lib/programmers/http/HttpQueryProgrammer.mjs.map +1 -0
  430. package/lib/programmers/http/HttpValidateFormDataProgrammer.mjs +67 -0
  431. package/lib/programmers/http/HttpValidateFormDataProgrammer.mjs.map +1 -0
  432. package/lib/programmers/http/HttpValidateHeadersProgrammer.mjs +67 -0
  433. package/lib/programmers/http/HttpValidateHeadersProgrammer.mjs.map +1 -0
  434. package/lib/programmers/http/HttpValidateQueryProgrammer.mjs +68 -0
  435. package/lib/programmers/http/HttpValidateQueryProgrammer.mjs.map +1 -0
  436. package/lib/programmers/internal/check_array_length.mjs +30 -0
  437. package/lib/programmers/internal/check_array_length.mjs.map +1 -0
  438. package/lib/programmers/internal/check_bigint.mjs +31 -0
  439. package/lib/programmers/internal/check_bigint.mjs.map +1 -0
  440. package/lib/programmers/internal/check_dynamic_key.mjs +91 -0
  441. package/lib/programmers/internal/check_dynamic_key.mjs.map +1 -0
  442. package/lib/programmers/internal/check_dynamic_properties.mjs +101 -0
  443. package/lib/programmers/internal/check_dynamic_properties.mjs.map +1 -0
  444. package/lib/programmers/internal/check_everything.mjs +13 -0
  445. package/lib/programmers/internal/check_everything.mjs.map +1 -0
  446. package/lib/programmers/internal/check_native.mjs +19 -0
  447. package/lib/programmers/internal/check_native.mjs.map +1 -0
  448. package/lib/programmers/internal/check_number.mjs +69 -0
  449. package/lib/programmers/internal/check_number.mjs.map +1 -0
  450. package/lib/programmers/internal/check_object.mjs +42 -0
  451. package/lib/programmers/internal/check_object.mjs.map +1 -0
  452. package/lib/programmers/internal/check_string.mjs +31 -0
  453. package/lib/programmers/internal/check_string.mjs.map +1 -0
  454. package/lib/programmers/internal/check_template.mjs +29 -0
  455. package/lib/programmers/internal/check_template.mjs.map +1 -0
  456. package/lib/programmers/internal/check_union_array_like.mjs +106 -0
  457. package/lib/programmers/internal/check_union_array_like.mjs.map +1 -0
  458. package/lib/programmers/internal/decode_union_object.mjs +56 -0
  459. package/lib/programmers/internal/decode_union_object.mjs.map +1 -0
  460. package/lib/programmers/internal/feature_object_entries.mjs +41 -0
  461. package/lib/programmers/internal/feature_object_entries.mjs.map +1 -0
  462. package/lib/programmers/internal/json_schema_alias.mjs +37 -0
  463. package/lib/programmers/internal/json_schema_alias.mjs.map +1 -0
  464. package/lib/programmers/internal/json_schema_array.mjs +35 -0
  465. package/lib/programmers/internal/json_schema_array.mjs.map +1 -0
  466. package/lib/programmers/internal/json_schema_bigint.mjs +11 -0
  467. package/lib/programmers/internal/json_schema_bigint.mjs.map +1 -0
  468. package/lib/programmers/internal/json_schema_boolean.mjs +11 -0
  469. package/lib/programmers/internal/json_schema_boolean.mjs.map +1 -0
  470. package/lib/programmers/internal/json_schema_constant.mjs +19 -0
  471. package/lib/programmers/internal/json_schema_constant.mjs.map +1 -0
  472. package/lib/programmers/internal/json_schema_description.mjs +9 -0
  473. package/lib/programmers/internal/json_schema_description.mjs.map +1 -0
  474. package/lib/programmers/internal/json_schema_discriminator.mjs +24 -0
  475. package/lib/programmers/internal/json_schema_discriminator.mjs.map +1 -0
  476. package/lib/programmers/internal/json_schema_escaped.mjs +57 -0
  477. package/lib/programmers/internal/json_schema_escaped.mjs.map +1 -0
  478. package/lib/programmers/internal/json_schema_native.mjs +29 -0
  479. package/lib/programmers/internal/json_schema_native.mjs.map +1 -0
  480. package/lib/programmers/internal/json_schema_number.mjs +11 -0
  481. package/lib/programmers/internal/json_schema_number.mjs.map +1 -0
  482. package/lib/programmers/internal/json_schema_object.mjs +122 -0
  483. package/lib/programmers/internal/json_schema_object.mjs.map +1 -0
  484. package/lib/programmers/internal/json_schema_plugin.mjs +16 -0
  485. package/lib/programmers/internal/json_schema_plugin.mjs.map +1 -0
  486. package/lib/programmers/internal/json_schema_station.mjs +157 -0
  487. package/lib/programmers/internal/json_schema_station.mjs.map +1 -0
  488. package/lib/programmers/internal/json_schema_string.mjs +11 -0
  489. package/lib/programmers/internal/json_schema_string.mjs.map +1 -0
  490. package/lib/programmers/internal/json_schema_template.mjs +40 -0
  491. package/lib/programmers/internal/json_schema_template.mjs.map +1 -0
  492. package/lib/programmers/internal/json_schema_title.mjs +15 -0
  493. package/lib/programmers/internal/json_schema_title.mjs.map +1 -0
  494. package/lib/programmers/internal/json_schema_tuple.mjs +28 -0
  495. package/lib/programmers/internal/json_schema_tuple.mjs.map +1 -0
  496. package/lib/programmers/internal/metadata_to_pattern.mjs +34 -0
  497. package/lib/programmers/internal/metadata_to_pattern.mjs.map +1 -0
  498. package/lib/programmers/internal/postfix_of_tuple.mjs +7 -0
  499. package/lib/programmers/internal/postfix_of_tuple.mjs.map +1 -0
  500. package/lib/programmers/internal/prune_object_properties.mjs +31 -0
  501. package/lib/programmers/internal/prune_object_properties.mjs.map +1 -0
  502. package/lib/programmers/internal/stringify_dynamic_properties.mjs +63 -0
  503. package/lib/programmers/internal/stringify_dynamic_properties.mjs.map +1 -0
  504. package/lib/programmers/internal/stringify_native.mjs +9 -0
  505. package/lib/programmers/internal/stringify_native.mjs.map +1 -0
  506. package/lib/programmers/internal/stringify_regular_properties.mjs +52 -0
  507. package/lib/programmers/internal/stringify_regular_properties.mjs.map +1 -0
  508. package/lib/programmers/internal/template_to_pattern.mjs +18 -0
  509. package/lib/programmers/internal/template_to_pattern.mjs.map +1 -0
  510. package/lib/programmers/internal/wrap_metadata_rest_tuple.mjs +24 -0
  511. package/lib/programmers/internal/wrap_metadata_rest_tuple.mjs.map +1 -0
  512. package/lib/programmers/json/JsonApplicationProgrammer.js +3 -14
  513. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  514. package/lib/programmers/json/JsonApplicationProgrammer.mjs +171 -0
  515. package/lib/programmers/json/JsonApplicationProgrammer.mjs.map +1 -0
  516. package/lib/programmers/json/JsonAssertParseProgrammer.mjs +83 -0
  517. package/lib/programmers/json/JsonAssertParseProgrammer.mjs.map +1 -0
  518. package/lib/programmers/json/JsonAssertStringifyProgrammer.mjs +82 -0
  519. package/lib/programmers/json/JsonAssertStringifyProgrammer.mjs.map +1 -0
  520. package/lib/programmers/json/JsonIsParseProgrammer.mjs +71 -0
  521. package/lib/programmers/json/JsonIsParseProgrammer.mjs.map +1 -0
  522. package/lib/programmers/json/JsonIsStringifyProgrammer.mjs +77 -0
  523. package/lib/programmers/json/JsonIsStringifyProgrammer.mjs.map +1 -0
  524. package/lib/programmers/json/JsonSchemasProgrammer.mjs +68 -0
  525. package/lib/programmers/json/JsonSchemasProgrammer.mjs.map +1 -0
  526. package/lib/programmers/json/JsonStringifyProgrammer.mjs +697 -0
  527. package/lib/programmers/json/JsonStringifyProgrammer.mjs.map +1 -0
  528. package/lib/programmers/json/JsonValidateParseProgrammer.mjs +74 -0
  529. package/lib/programmers/json/JsonValidateParseProgrammer.mjs.map +1 -0
  530. package/lib/programmers/json/JsonValidateStringifyProgrammer.mjs +83 -0
  531. package/lib/programmers/json/JsonValidateStringifyProgrammer.mjs.map +1 -0
  532. package/lib/programmers/llm/LlmApplicationProgrammer.js +6 -16
  533. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  534. package/lib/programmers/llm/LlmApplicationProgrammer.mjs +260 -0
  535. package/lib/programmers/llm/LlmApplicationProgrammer.mjs.map +1 -0
  536. package/lib/programmers/llm/LlmModelPredicator.mjs +96 -0
  537. package/lib/programmers/llm/LlmModelPredicator.mjs.map +1 -0
  538. package/lib/programmers/llm/LlmParametersProgrammer.mjs +65 -0
  539. package/lib/programmers/llm/LlmParametersProgrammer.mjs.map +1 -0
  540. package/lib/programmers/llm/LlmSchemaProgrammer.mjs +118 -0
  541. package/lib/programmers/llm/LlmSchemaProgrammer.mjs.map +1 -0
  542. package/lib/programmers/misc/MiscAssertCloneProgrammer.mjs +70 -0
  543. package/lib/programmers/misc/MiscAssertCloneProgrammer.mjs.map +1 -0
  544. package/lib/programmers/misc/MiscAssertPruneProgrammer.mjs +76 -0
  545. package/lib/programmers/misc/MiscAssertPruneProgrammer.mjs.map +1 -0
  546. package/lib/programmers/misc/MiscCloneProgrammer.mjs +647 -0
  547. package/lib/programmers/misc/MiscCloneProgrammer.mjs.map +1 -0
  548. package/lib/programmers/misc/MiscIsCloneProgrammer.mjs +64 -0
  549. package/lib/programmers/misc/MiscIsCloneProgrammer.mjs.map +1 -0
  550. package/lib/programmers/misc/MiscIsPruneProgrammer.mjs +62 -0
  551. package/lib/programmers/misc/MiscIsPruneProgrammer.mjs.map +1 -0
  552. package/lib/programmers/misc/MiscLiteralsProgrammer.mjs +65 -0
  553. package/lib/programmers/misc/MiscLiteralsProgrammer.mjs.map +1 -0
  554. package/lib/programmers/misc/MiscPruneProgrammer.mjs +475 -0
  555. package/lib/programmers/misc/MiscPruneProgrammer.mjs.map +1 -0
  556. package/lib/programmers/misc/MiscValidateCloneProgrammer.mjs +69 -0
  557. package/lib/programmers/misc/MiscValidateCloneProgrammer.mjs.map +1 -0
  558. package/lib/programmers/misc/MiscValidatePruneProgrammer.mjs +75 -0
  559. package/lib/programmers/misc/MiscValidatePruneProgrammer.mjs.map +1 -0
  560. package/lib/programmers/notations/NotationAssertGeneralProgrammer.mjs +70 -0
  561. package/lib/programmers/notations/NotationAssertGeneralProgrammer.mjs.map +1 -0
  562. package/lib/programmers/notations/NotationGeneralProgrammer.mjs +632 -0
  563. package/lib/programmers/notations/NotationGeneralProgrammer.mjs.map +1 -0
  564. package/lib/programmers/notations/NotationIsGeneralProgrammer.mjs +64 -0
  565. package/lib/programmers/notations/NotationIsGeneralProgrammer.mjs.map +1 -0
  566. package/lib/programmers/notations/NotationValidateGeneralProgrammer.mjs +69 -0
  567. package/lib/programmers/notations/NotationValidateGeneralProgrammer.mjs.map +1 -0
  568. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.mjs +71 -0
  569. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.mjs.map +1 -0
  570. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.mjs +75 -0
  571. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.mjs.map +1 -0
  572. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.mjs +335 -0
  573. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.mjs.map +1 -0
  574. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.mjs +533 -0
  575. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.mjs.map +1 -0
  576. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.mjs +72 -0
  577. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.mjs.map +1 -0
  578. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.mjs +66 -0
  579. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.mjs.map +1 -0
  580. package/lib/programmers/protobuf/ProtobufMessageProgrammer.mjs +131 -0
  581. package/lib/programmers/protobuf/ProtobufMessageProgrammer.mjs.map +1 -0
  582. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.mjs +67 -0
  583. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.mjs.map +1 -0
  584. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.mjs +77 -0
  585. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.mjs.map +1 -0
  586. package/lib/protobuf.mjs.map +1 -1
  587. package/lib/reflect.mjs.map +1 -1
  588. package/lib/schemas/json/IJsonApplication.mjs +2 -0
  589. package/lib/schemas/json/IJsonApplication.mjs.map +1 -0
  590. package/lib/schemas/json/IJsonSchemaCollection.mjs +2 -0
  591. package/lib/schemas/json/IJsonSchemaCollection.mjs.map +1 -0
  592. package/lib/schemas/json/__IJsonApplication.mjs +2 -0
  593. package/lib/schemas/json/__IJsonApplication.mjs.map +1 -0
  594. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs +2 -0
  595. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs.map +1 -0
  596. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs +2 -0
  597. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs.map +1 -0
  598. package/lib/schemas/metadata/IJsDocTagInfo.mjs +2 -0
  599. package/lib/schemas/metadata/IJsDocTagInfo.mjs.map +1 -0
  600. package/lib/schemas/metadata/IMetadata.mjs +2 -0
  601. package/lib/schemas/metadata/IMetadata.mjs.map +1 -0
  602. package/lib/schemas/metadata/IMetadataAlias.mjs +2 -0
  603. package/lib/schemas/metadata/IMetadataAlias.mjs.map +1 -0
  604. package/lib/schemas/metadata/IMetadataAliasType.mjs +2 -0
  605. package/lib/schemas/metadata/IMetadataAliasType.mjs.map +1 -0
  606. package/lib/schemas/metadata/IMetadataApplication.mjs +2 -0
  607. package/lib/schemas/metadata/IMetadataApplication.mjs.map +1 -0
  608. package/lib/schemas/metadata/IMetadataArray.mjs +2 -0
  609. package/lib/schemas/metadata/IMetadataArray.mjs.map +1 -0
  610. package/lib/schemas/metadata/IMetadataArrayType.mjs +2 -0
  611. package/lib/schemas/metadata/IMetadataArrayType.mjs.map +1 -0
  612. package/lib/schemas/metadata/IMetadataAtomic.mjs +2 -0
  613. package/lib/schemas/metadata/IMetadataAtomic.mjs.map +1 -0
  614. package/lib/schemas/metadata/IMetadataComponents.mjs +2 -0
  615. package/lib/schemas/metadata/IMetadataComponents.mjs.map +1 -0
  616. package/lib/schemas/metadata/IMetadataConstant.mjs +2 -0
  617. package/lib/schemas/metadata/IMetadataConstant.mjs.map +1 -0
  618. package/lib/schemas/metadata/IMetadataConstantValue.mjs +2 -0
  619. package/lib/schemas/metadata/IMetadataConstantValue.mjs.map +1 -0
  620. package/lib/schemas/metadata/IMetadataDictionary.mjs +2 -0
  621. package/lib/schemas/metadata/IMetadataDictionary.mjs.map +1 -0
  622. package/lib/schemas/metadata/IMetadataEscaped.mjs +2 -0
  623. package/lib/schemas/metadata/IMetadataEscaped.mjs.map +1 -0
  624. package/lib/schemas/metadata/IMetadataFunction.mjs +2 -0
  625. package/lib/schemas/metadata/IMetadataFunction.mjs.map +1 -0
  626. package/lib/schemas/metadata/IMetadataMap.mjs +2 -0
  627. package/lib/schemas/metadata/IMetadataMap.mjs.map +1 -0
  628. package/lib/schemas/metadata/IMetadataNative.mjs +2 -0
  629. package/lib/schemas/metadata/IMetadataNative.mjs.map +1 -0
  630. package/lib/schemas/metadata/IMetadataObject.mjs +2 -0
  631. package/lib/schemas/metadata/IMetadataObject.mjs.map +1 -0
  632. package/lib/schemas/metadata/IMetadataObjectType.mjs +2 -0
  633. package/lib/schemas/metadata/IMetadataObjectType.mjs.map +1 -0
  634. package/lib/schemas/metadata/IMetadataParameter.mjs +2 -0
  635. package/lib/schemas/metadata/IMetadataParameter.mjs.map +1 -0
  636. package/lib/schemas/metadata/IMetadataProperty.mjs +2 -0
  637. package/lib/schemas/metadata/IMetadataProperty.mjs.map +1 -0
  638. package/lib/schemas/metadata/IMetadataSet.mjs +2 -0
  639. package/lib/schemas/metadata/IMetadataSet.mjs.map +1 -0
  640. package/lib/schemas/metadata/IMetadataTemplate.mjs +2 -0
  641. package/lib/schemas/metadata/IMetadataTemplate.mjs.map +1 -0
  642. package/lib/schemas/metadata/IMetadataTuple.mjs +2 -0
  643. package/lib/schemas/metadata/IMetadataTuple.mjs.map +1 -0
  644. package/lib/schemas/metadata/IMetadataTupleType.mjs +2 -0
  645. package/lib/schemas/metadata/IMetadataTupleType.mjs.map +1 -0
  646. package/lib/schemas/metadata/IMetadataTypeTag.mjs +2 -0
  647. package/lib/schemas/metadata/IMetadataTypeTag.mjs.map +1 -0
  648. package/lib/schemas/metadata/Metadata.js +9 -0
  649. package/lib/schemas/metadata/Metadata.js.map +1 -1
  650. package/lib/schemas/metadata/Metadata.mjs +566 -0
  651. package/lib/schemas/metadata/Metadata.mjs.map +1 -0
  652. package/lib/schemas/metadata/MetadataAlias.mjs +40 -0
  653. package/lib/schemas/metadata/MetadataAlias.mjs.map +1 -0
  654. package/lib/schemas/metadata/MetadataAliasType.mjs +54 -0
  655. package/lib/schemas/metadata/MetadataAliasType.mjs.map +1 -0
  656. package/lib/schemas/metadata/MetadataApplication.mjs +34 -0
  657. package/lib/schemas/metadata/MetadataApplication.mjs.map +1 -0
  658. package/lib/schemas/metadata/MetadataArray.mjs +42 -0
  659. package/lib/schemas/metadata/MetadataArray.mjs.map +1 -0
  660. package/lib/schemas/metadata/MetadataArrayType.mjs +47 -0
  661. package/lib/schemas/metadata/MetadataArrayType.mjs.map +1 -0
  662. package/lib/schemas/metadata/MetadataAtomic.mjs +71 -0
  663. package/lib/schemas/metadata/MetadataAtomic.mjs.map +1 -0
  664. package/lib/schemas/metadata/MetadataComponents.mjs +74 -0
  665. package/lib/schemas/metadata/MetadataComponents.mjs.map +1 -0
  666. package/lib/schemas/metadata/MetadataConstant.mjs +28 -0
  667. package/lib/schemas/metadata/MetadataConstant.mjs.map +1 -0
  668. package/lib/schemas/metadata/MetadataConstantValue.mjs +50 -0
  669. package/lib/schemas/metadata/MetadataConstantValue.mjs.map +1 -0
  670. package/lib/schemas/metadata/MetadataEscaped.mjs +40 -0
  671. package/lib/schemas/metadata/MetadataEscaped.mjs.map +1 -0
  672. package/lib/schemas/metadata/MetadataFunction.mjs +39 -0
  673. package/lib/schemas/metadata/MetadataFunction.mjs.map +1 -0
  674. package/lib/schemas/metadata/MetadataMap.mjs +40 -0
  675. package/lib/schemas/metadata/MetadataMap.mjs.map +1 -0
  676. package/lib/schemas/metadata/MetadataNative.mjs +39 -0
  677. package/lib/schemas/metadata/MetadataNative.mjs.map +1 -0
  678. package/lib/schemas/metadata/MetadataObject.mjs +42 -0
  679. package/lib/schemas/metadata/MetadataObject.mjs.map +1 -0
  680. package/lib/schemas/metadata/MetadataObjectType.mjs +101 -0
  681. package/lib/schemas/metadata/MetadataObjectType.mjs.map +1 -0
  682. package/lib/schemas/metadata/MetadataParameter.mjs +41 -0
  683. package/lib/schemas/metadata/MetadataParameter.mjs.map +1 -0
  684. package/lib/schemas/metadata/MetadataProperty.mjs +49 -0
  685. package/lib/schemas/metadata/MetadataProperty.mjs.map +1 -0
  686. package/lib/schemas/metadata/MetadataSet.mjs +37 -0
  687. package/lib/schemas/metadata/MetadataSet.mjs.map +1 -0
  688. package/lib/schemas/metadata/MetadataTemplate.mjs +60 -0
  689. package/lib/schemas/metadata/MetadataTemplate.mjs.map +1 -0
  690. package/lib/schemas/metadata/MetadataTuple.mjs +26 -0
  691. package/lib/schemas/metadata/MetadataTuple.mjs.map +1 -0
  692. package/lib/schemas/metadata/MetadataTupleType.mjs +52 -0
  693. package/lib/schemas/metadata/MetadataTupleType.mjs.map +1 -0
  694. package/lib/schemas/protobuf/IProtobufProperty.mjs +2 -0
  695. package/lib/schemas/protobuf/IProtobufProperty.mjs.map +1 -0
  696. package/lib/schemas/protobuf/IProtobufPropertyType.mjs +2 -0
  697. package/lib/schemas/protobuf/IProtobufPropertyType.mjs.map +1 -0
  698. package/lib/schemas/protobuf/IProtobufSchema.mjs +2 -0
  699. package/lib/schemas/protobuf/IProtobufSchema.mjs.map +1 -0
  700. package/lib/tags/Constant.mjs +2 -0
  701. package/lib/tags/Constant.mjs.map +1 -0
  702. package/lib/tags/ContentMediaType.mjs +2 -0
  703. package/lib/tags/ContentMediaType.mjs.map +1 -0
  704. package/lib/tags/Default.mjs +2 -0
  705. package/lib/tags/Default.mjs.map +1 -0
  706. package/lib/tags/Example.mjs +2 -0
  707. package/lib/tags/Example.mjs.map +1 -0
  708. package/lib/tags/Examples.mjs +2 -0
  709. package/lib/tags/Examples.mjs.map +1 -0
  710. package/lib/tags/ExclusiveMaximum.mjs +2 -0
  711. package/lib/tags/ExclusiveMaximum.mjs.map +1 -0
  712. package/lib/tags/ExclusiveMinimum.mjs +2 -0
  713. package/lib/tags/ExclusiveMinimum.mjs.map +1 -0
  714. package/lib/tags/Format.mjs +2 -0
  715. package/lib/tags/Format.mjs.map +1 -0
  716. package/lib/tags/JsonSchemaPlugin.mjs +2 -0
  717. package/lib/tags/JsonSchemaPlugin.mjs.map +1 -0
  718. package/lib/tags/MaxItems.mjs +2 -0
  719. package/lib/tags/MaxItems.mjs.map +1 -0
  720. package/lib/tags/MaxLength.mjs +2 -0
  721. package/lib/tags/MaxLength.mjs.map +1 -0
  722. package/lib/tags/Maximum.mjs +2 -0
  723. package/lib/tags/Maximum.mjs.map +1 -0
  724. package/lib/tags/MinItems.mjs +2 -0
  725. package/lib/tags/MinItems.mjs.map +1 -0
  726. package/lib/tags/MinLength.mjs +2 -0
  727. package/lib/tags/MinLength.mjs.map +1 -0
  728. package/lib/tags/Minimum.mjs +2 -0
  729. package/lib/tags/Minimum.mjs.map +1 -0
  730. package/lib/tags/MultipleOf.mjs +2 -0
  731. package/lib/tags/MultipleOf.mjs.map +1 -0
  732. package/lib/tags/Pattern.mjs +2 -0
  733. package/lib/tags/Pattern.mjs.map +1 -0
  734. package/lib/tags/Sequence.mjs +2 -0
  735. package/lib/tags/Sequence.mjs.map +1 -0
  736. package/lib/tags/TagBase.mjs +2 -0
  737. package/lib/tags/TagBase.mjs.map +1 -0
  738. package/lib/tags/Type.mjs +2 -0
  739. package/lib/tags/Type.mjs.map +1 -0
  740. package/lib/tags/UniqueItems.mjs +2 -0
  741. package/lib/tags/UniqueItems.mjs.map +1 -0
  742. package/lib/tags/internal/FormatCheatSheet.mjs +35 -0
  743. package/lib/tags/internal/FormatCheatSheet.mjs.map +1 -0
  744. package/lib/transform.mjs +29 -0
  745. package/lib/transform.mjs.map +1 -0
  746. package/lib/transformers/CallExpressionTransformer.mjs +450 -0
  747. package/lib/transformers/CallExpressionTransformer.mjs.map +1 -0
  748. package/lib/transformers/FileTransformer.mjs +93 -0
  749. package/lib/transformers/FileTransformer.mjs.map +1 -0
  750. package/lib/transformers/IProgrammerProps.mjs +2 -0
  751. package/lib/transformers/IProgrammerProps.mjs.map +1 -0
  752. package/lib/transformers/ITransformOptions.mjs +2 -0
  753. package/lib/transformers/ITransformOptions.mjs.map +1 -0
  754. package/lib/transformers/ITransformProps.mjs +2 -0
  755. package/lib/transformers/ITransformProps.mjs.map +1 -0
  756. package/lib/transformers/ITypiaContext.mjs +2 -0
  757. package/lib/transformers/ITypiaContext.mjs.map +1 -0
  758. package/lib/transformers/ImportTransformer.mjs +51 -0
  759. package/lib/transformers/ImportTransformer.mjs.map +1 -0
  760. package/lib/transformers/NodeTransformer.mjs +15 -0
  761. package/lib/transformers/NodeTransformer.mjs.map +1 -0
  762. package/lib/transformers/TransformerError.mjs +51 -0
  763. package/lib/transformers/TransformerError.mjs.map +1 -0
  764. package/lib/transformers/features/AssertTransformer.mjs +23 -0
  765. package/lib/transformers/features/AssertTransformer.mjs.map +1 -0
  766. package/lib/transformers/features/CreateAssertTransformer.mjs +23 -0
  767. package/lib/transformers/features/CreateAssertTransformer.mjs.map +1 -0
  768. package/lib/transformers/features/CreateIsTransformer.mjs +17 -0
  769. package/lib/transformers/features/CreateIsTransformer.mjs.map +1 -0
  770. package/lib/transformers/features/CreateRandomTransformer.mjs +40 -0
  771. package/lib/transformers/features/CreateRandomTransformer.mjs.map +1 -0
  772. package/lib/transformers/features/CreateValidateTransformer.mjs +17 -0
  773. package/lib/transformers/features/CreateValidateTransformer.mjs.map +1 -0
  774. package/lib/transformers/features/IsTransformer.mjs +17 -0
  775. package/lib/transformers/features/IsTransformer.mjs.map +1 -0
  776. package/lib/transformers/features/RandomTransformer.mjs +35 -0
  777. package/lib/transformers/features/RandomTransformer.mjs.map +1 -0
  778. package/lib/transformers/features/ValidateTransformer.mjs +17 -0
  779. package/lib/transformers/features/ValidateTransformer.mjs.map +1 -0
  780. package/lib/transformers/features/functional/FunctionalGenericTransformer.mjs +33 -0
  781. package/lib/transformers/features/functional/FunctionalGenericTransformer.mjs.map +1 -0
  782. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.mjs +14 -0
  783. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.mjs.map +1 -0
  784. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.mjs +14 -0
  785. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.mjs.map +1 -0
  786. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.mjs +14 -0
  787. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.mjs.map +1 -0
  788. package/lib/transformers/features/http/CreateHttpFormDataTransformer.mjs +14 -0
  789. package/lib/transformers/features/http/CreateHttpFormDataTransformer.mjs.map +1 -0
  790. package/lib/transformers/features/http/CreateHttpHeadersTransformer.mjs +14 -0
  791. package/lib/transformers/features/http/CreateHttpHeadersTransformer.mjs.map +1 -0
  792. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.mjs +14 -0
  793. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.mjs.map +1 -0
  794. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.mjs +14 -0
  795. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.mjs.map +1 -0
  796. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.mjs +14 -0
  797. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.mjs.map +1 -0
  798. package/lib/transformers/features/http/CreateHttpParameterTransformer.mjs +14 -0
  799. package/lib/transformers/features/http/CreateHttpParameterTransformer.mjs.map +1 -0
  800. package/lib/transformers/features/http/CreateHttpQueryTransformer.mjs +14 -0
  801. package/lib/transformers/features/http/CreateHttpQueryTransformer.mjs.map +1 -0
  802. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.mjs +14 -0
  803. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.mjs.map +1 -0
  804. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.mjs +14 -0
  805. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.mjs.map +1 -0
  806. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.mjs +14 -0
  807. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.mjs.map +1 -0
  808. package/lib/transformers/features/http/HttpAssertFormDataTransformer.mjs +14 -0
  809. package/lib/transformers/features/http/HttpAssertFormDataTransformer.mjs.map +1 -0
  810. package/lib/transformers/features/http/HttpAssertHeadersTransformer.mjs +14 -0
  811. package/lib/transformers/features/http/HttpAssertHeadersTransformer.mjs.map +1 -0
  812. package/lib/transformers/features/http/HttpAssertQueryTransformer.mjs +14 -0
  813. package/lib/transformers/features/http/HttpAssertQueryTransformer.mjs.map +1 -0
  814. package/lib/transformers/features/http/HttpFormDataTransformer.mjs +14 -0
  815. package/lib/transformers/features/http/HttpFormDataTransformer.mjs.map +1 -0
  816. package/lib/transformers/features/http/HttpHeadersTransformer.mjs +14 -0
  817. package/lib/transformers/features/http/HttpHeadersTransformer.mjs.map +1 -0
  818. package/lib/transformers/features/http/HttpIsFormDataTransformer.mjs +14 -0
  819. package/lib/transformers/features/http/HttpIsFormDataTransformer.mjs.map +1 -0
  820. package/lib/transformers/features/http/HttpIsHeadersTransformer.mjs +14 -0
  821. package/lib/transformers/features/http/HttpIsHeadersTransformer.mjs.map +1 -0
  822. package/lib/transformers/features/http/HttpIsQueryTransformer.mjs +14 -0
  823. package/lib/transformers/features/http/HttpIsQueryTransformer.mjs.map +1 -0
  824. package/lib/transformers/features/http/HttpParameterTransformer.mjs +14 -0
  825. package/lib/transformers/features/http/HttpParameterTransformer.mjs.map +1 -0
  826. package/lib/transformers/features/http/HttpQueryTransformer.mjs +14 -0
  827. package/lib/transformers/features/http/HttpQueryTransformer.mjs.map +1 -0
  828. package/lib/transformers/features/http/HttpValidateFormDataTransformer.mjs +14 -0
  829. package/lib/transformers/features/http/HttpValidateFormDataTransformer.mjs.map +1 -0
  830. package/lib/transformers/features/http/HttpValidateHeadersTransformer.mjs +14 -0
  831. package/lib/transformers/features/http/HttpValidateHeadersTransformer.mjs.map +1 -0
  832. package/lib/transformers/features/http/HttpValidateQueryTransformer.mjs +14 -0
  833. package/lib/transformers/features/http/HttpValidateQueryTransformer.mjs.map +1 -0
  834. package/lib/transformers/features/json/JsonApplicationTransformer.mjs +2 -0
  835. package/lib/transformers/features/json/JsonApplicationTransformer.mjs.map +1 -0
  836. package/lib/transformers/features/json/JsonAssertParseTransformer.mjs +14 -0
  837. package/lib/transformers/features/json/JsonAssertParseTransformer.mjs.map +1 -0
  838. package/lib/transformers/features/json/JsonAssertStringifyTransformer.mjs +14 -0
  839. package/lib/transformers/features/json/JsonAssertStringifyTransformer.mjs.map +1 -0
  840. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.mjs +14 -0
  841. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.mjs.map +1 -0
  842. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.mjs +14 -0
  843. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.mjs.map +1 -0
  844. package/lib/transformers/features/json/JsonCreateIsParseTransformer.mjs +14 -0
  845. package/lib/transformers/features/json/JsonCreateIsParseTransformer.mjs.map +1 -0
  846. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.mjs +14 -0
  847. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.mjs.map +1 -0
  848. package/lib/transformers/features/json/JsonCreateStringifyTransformer.mjs +14 -0
  849. package/lib/transformers/features/json/JsonCreateStringifyTransformer.mjs.map +1 -0
  850. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.mjs +14 -0
  851. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.mjs.map +1 -0
  852. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.mjs +14 -0
  853. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.mjs.map +1 -0
  854. package/lib/transformers/features/json/JsonIsParseTransformer.mjs +14 -0
  855. package/lib/transformers/features/json/JsonIsParseTransformer.mjs.map +1 -0
  856. package/lib/transformers/features/json/JsonIsStringifyTransformer.mjs +14 -0
  857. package/lib/transformers/features/json/JsonIsStringifyTransformer.mjs.map +1 -0
  858. package/lib/transformers/features/json/JsonSchemasTransformer.mjs +113 -0
  859. package/lib/transformers/features/json/JsonSchemasTransformer.mjs.map +1 -0
  860. package/lib/transformers/features/json/JsonStringifyTransformer.mjs +14 -0
  861. package/lib/transformers/features/json/JsonStringifyTransformer.mjs.map +1 -0
  862. package/lib/transformers/features/json/JsonValidateParseTransformer.mjs +14 -0
  863. package/lib/transformers/features/json/JsonValidateParseTransformer.mjs.map +1 -0
  864. package/lib/transformers/features/json/JsonValidateStringifyTransformer.mjs +14 -0
  865. package/lib/transformers/features/json/JsonValidateStringifyTransformer.mjs.map +1 -0
  866. package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +101 -0
  867. package/lib/transformers/features/llm/LlmApplicationTransformer.mjs.map +1 -0
  868. package/lib/transformers/features/llm/LlmParametersTransformer.mjs +80 -0
  869. package/lib/transformers/features/llm/LlmParametersTransformer.mjs.map +1 -0
  870. package/lib/transformers/features/llm/LlmSchemaTransformer.mjs +99 -0
  871. package/lib/transformers/features/llm/LlmSchemaTransformer.mjs.map +1 -0
  872. package/lib/transformers/features/misc/MiscAssertCloneTransformer.mjs +14 -0
  873. package/lib/transformers/features/misc/MiscAssertCloneTransformer.mjs.map +1 -0
  874. package/lib/transformers/features/misc/MiscAssertPruneTransformer.mjs +14 -0
  875. package/lib/transformers/features/misc/MiscAssertPruneTransformer.mjs.map +1 -0
  876. package/lib/transformers/features/misc/MiscCloneTransformer.mjs +14 -0
  877. package/lib/transformers/features/misc/MiscCloneTransformer.mjs.map +1 -0
  878. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.mjs +14 -0
  879. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.mjs.map +1 -0
  880. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.mjs +14 -0
  881. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.mjs.map +1 -0
  882. package/lib/transformers/features/misc/MiscCreateCloneTransformer.mjs +14 -0
  883. package/lib/transformers/features/misc/MiscCreateCloneTransformer.mjs.map +1 -0
  884. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.mjs +14 -0
  885. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.mjs.map +1 -0
  886. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.mjs +14 -0
  887. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.mjs.map +1 -0
  888. package/lib/transformers/features/misc/MiscCreatePruneTransformer.mjs +14 -0
  889. package/lib/transformers/features/misc/MiscCreatePruneTransformer.mjs.map +1 -0
  890. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.mjs +14 -0
  891. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.mjs.map +1 -0
  892. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.mjs +14 -0
  893. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.mjs.map +1 -0
  894. package/lib/transformers/features/misc/MiscIsCloneTransformer.mjs +14 -0
  895. package/lib/transformers/features/misc/MiscIsCloneTransformer.mjs.map +1 -0
  896. package/lib/transformers/features/misc/MiscIsPruneTransformer.mjs +14 -0
  897. package/lib/transformers/features/misc/MiscIsPruneTransformer.mjs.map +1 -0
  898. package/lib/transformers/features/misc/MiscLiteralsTransformer.mjs +30 -0
  899. package/lib/transformers/features/misc/MiscLiteralsTransformer.mjs.map +1 -0
  900. package/lib/transformers/features/misc/MiscPruneTransformer.mjs +14 -0
  901. package/lib/transformers/features/misc/MiscPruneTransformer.mjs.map +1 -0
  902. package/lib/transformers/features/misc/MiscValidateCloneTransformer.mjs +14 -0
  903. package/lib/transformers/features/misc/MiscValidateCloneTransformer.mjs.map +1 -0
  904. package/lib/transformers/features/misc/MiscValidatePruneTransformer.mjs +14 -0
  905. package/lib/transformers/features/misc/MiscValidatePruneTransformer.mjs.map +1 -0
  906. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.mjs +18 -0
  907. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.mjs.map +1 -0
  908. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.mjs +18 -0
  909. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.mjs.map +1 -0
  910. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.mjs +18 -0
  911. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.mjs.map +1 -0
  912. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.mjs +18 -0
  913. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.mjs.map +1 -0
  914. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.mjs +18 -0
  915. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.mjs.map +1 -0
  916. package/lib/transformers/features/notations/NotationGeneralTransformer.mjs +17 -0
  917. package/lib/transformers/features/notations/NotationGeneralTransformer.mjs.map +1 -0
  918. package/lib/transformers/features/notations/NotationIsGeneralTransformer.mjs +18 -0
  919. package/lib/transformers/features/notations/NotationIsGeneralTransformer.mjs.map +1 -0
  920. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.mjs +18 -0
  921. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.mjs.map +1 -0
  922. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.mjs +14 -0
  923. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.mjs.map +1 -0
  924. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.mjs +14 -0
  925. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.mjs.map +1 -0
  926. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.mjs +14 -0
  927. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.mjs.map +1 -0
  928. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.mjs +14 -0
  929. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.mjs.map +1 -0
  930. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.mjs +14 -0
  931. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.mjs.map +1 -0
  932. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.mjs +14 -0
  933. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.mjs.map +1 -0
  934. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.mjs +14 -0
  935. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.mjs.map +1 -0
  936. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.mjs +14 -0
  937. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.mjs.map +1 -0
  938. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.mjs +14 -0
  939. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.mjs.map +1 -0
  940. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.mjs +14 -0
  941. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.mjs.map +1 -0
  942. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.mjs +14 -0
  943. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.mjs.map +1 -0
  944. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.mjs +14 -0
  945. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.mjs.map +1 -0
  946. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.mjs +14 -0
  947. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.mjs.map +1 -0
  948. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.mjs +14 -0
  949. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.mjs.map +1 -0
  950. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.mjs +29 -0
  951. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.mjs.map +1 -0
  952. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.mjs +14 -0
  953. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.mjs.map +1 -0
  954. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.mjs +14 -0
  955. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.mjs.map +1 -0
  956. package/lib/transformers/features/reflect/ReflectMetadataTransformer.mjs +60 -0
  957. package/lib/transformers/features/reflect/ReflectMetadataTransformer.mjs.map +1 -0
  958. package/lib/transformers/features/reflect/ReflectNameTransformer.mjs +66 -0
  959. package/lib/transformers/features/reflect/ReflectNameTransformer.mjs.map +1 -0
  960. package/lib/transformers/internal/GenericTransformer.mjs +72 -0
  961. package/lib/transformers/internal/GenericTransformer.mjs.map +1 -0
  962. package/lib/typings/Atomic.mjs +2 -0
  963. package/lib/typings/Atomic.mjs.map +1 -0
  964. package/lib/typings/ClassProperties.mjs +2 -0
  965. package/lib/typings/ClassProperties.mjs.map +1 -0
  966. package/lib/typings/Customizable.mjs +2 -0
  967. package/lib/typings/Customizable.mjs.map +1 -0
  968. package/lib/typings/Equal.mjs +2 -0
  969. package/lib/typings/Equal.mjs.map +1 -0
  970. package/lib/typings/IsTuple.mjs +2 -0
  971. package/lib/typings/IsTuple.mjs.map +1 -0
  972. package/lib/typings/NativeClass.mjs +2 -0
  973. package/lib/typings/NativeClass.mjs.map +1 -0
  974. package/lib/typings/OmitNever.mjs +2 -0
  975. package/lib/typings/OmitNever.mjs.map +1 -0
  976. package/lib/typings/ProtobufAtomic.mjs +2 -0
  977. package/lib/typings/ProtobufAtomic.mjs.map +1 -0
  978. package/lib/typings/SpecialFields.mjs +2 -0
  979. package/lib/typings/SpecialFields.mjs.map +1 -0
  980. package/lib/typings/ValidationPipe.mjs +2 -0
  981. package/lib/typings/ValidationPipe.mjs.map +1 -0
  982. package/lib/typings/ValueOf.mjs +2 -0
  983. package/lib/typings/ValueOf.mjs.map +1 -0
  984. package/lib/typings/Writable.mjs +6 -0
  985. package/lib/typings/Writable.mjs.map +1 -0
  986. package/lib/utils/ArrayUtil.mjs +27 -0
  987. package/lib/utils/ArrayUtil.mjs.map +1 -0
  988. package/lib/utils/Escaper.mjs +51 -0
  989. package/lib/utils/Escaper.mjs.map +1 -0
  990. package/lib/utils/MapUtil.mjs +14 -0
  991. package/lib/utils/MapUtil.mjs.map +1 -0
  992. package/lib/utils/NamingConvention.mjs +94 -0
  993. package/lib/utils/NamingConvention.mjs.map +1 -0
  994. package/lib/utils/PatternUtil.mjs +29 -0
  995. package/lib/utils/PatternUtil.mjs.map +1 -0
  996. package/lib/utils/ProtobufNameEncoder.mjs +35 -0
  997. package/lib/utils/ProtobufNameEncoder.mjs.map +1 -0
  998. package/lib/utils/Singleton.mjs +17 -0
  999. package/lib/utils/Singleton.mjs.map +1 -0
  1000. package/lib/utils/StringUtil.mjs +13 -0
  1001. package/lib/utils/StringUtil.mjs.map +1 -0
  1002. package/package.json +6 -2
  1003. package/src/AssertionGuard.ts +1 -1
  1004. package/src/CamelCase.ts +75 -75
  1005. package/src/IRandomGenerator.ts +49 -49
  1006. package/src/IReadableURLSearchParams.ts +9 -9
  1007. package/src/IValidation.ts +1 -1
  1008. package/src/PascalCase.ts +71 -71
  1009. package/src/Primitive.ts +92 -92
  1010. package/src/Resolved.ts +74 -74
  1011. package/src/SnakeCase.ts +126 -126
  1012. package/src/TypeGuardError.ts +37 -37
  1013. package/src/executable/TypiaGenerateWizard.ts +83 -83
  1014. package/src/executable/TypiaPatchWizard.ts +45 -45
  1015. package/src/executable/TypiaSetupWizard.ts +171 -171
  1016. package/src/executable/setup/ArgumentParser.ts +42 -42
  1017. package/src/executable/setup/CommandExecutor.ts +8 -8
  1018. package/src/executable/setup/FileRetriever.ts +19 -19
  1019. package/src/executable/setup/PackageManager.ts +87 -87
  1020. package/src/executable/setup/PluginConfigurator.ts +69 -69
  1021. package/src/executable/typia.ts +55 -55
  1022. package/src/factories/CommentFactory.ts +79 -79
  1023. package/src/factories/ExpressionFactory.ts +216 -216
  1024. package/src/factories/IdentifierFactory.ts +89 -89
  1025. package/src/factories/JsonMetadataFactory.ts +83 -83
  1026. package/src/factories/LiteralFactory.ts +52 -52
  1027. package/src/factories/MetadataCollection.ts +278 -278
  1028. package/src/factories/MetadataCommentTagFactory.ts +650 -650
  1029. package/src/factories/MetadataFactory.ts +404 -404
  1030. package/src/factories/MetadataTypeTagFactory.ts +413 -413
  1031. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  1032. package/src/factories/NumericRangeFactory.ts +72 -72
  1033. package/src/factories/ProtobufFactory.ts +875 -875
  1034. package/src/factories/StatementFactory.ts +90 -90
  1035. package/src/factories/TemplateFactory.ts +64 -64
  1036. package/src/factories/TypeFactory.ts +140 -140
  1037. package/src/factories/ValueFactory.ts +12 -12
  1038. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  1039. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  1040. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  1041. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  1042. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  1043. package/src/factories/internal/metadata/emplace_metadata_object.ts +212 -208
  1044. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  1045. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  1046. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  1047. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  1048. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  1049. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  1050. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  1051. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  1052. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  1053. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  1054. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  1055. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  1056. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +212 -212
  1057. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  1058. package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
  1059. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  1060. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  1061. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  1062. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  1063. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  1064. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  1065. package/src/functional.ts +750 -750
  1066. package/src/http.ts +1047 -1047
  1067. package/src/index.ts +4 -4
  1068. package/src/internal/_IProtobufWriter.ts +18 -18
  1069. package/src/internal/_ProtobufReader.ts +194 -194
  1070. package/src/internal/_ProtobufSizer.ts +145 -145
  1071. package/src/internal/_ProtobufWriter.ts +145 -145
  1072. package/src/internal/_accessExpressionAsString.ts +46 -46
  1073. package/src/internal/_assertGuard.ts +13 -13
  1074. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  1075. package/src/internal/_httpFormDataReadArray.ts +4 -4
  1076. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  1077. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  1078. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  1079. package/src/internal/_httpFormDataReadFile.ts +10 -10
  1080. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  1081. package/src/internal/_httpFormDataReadString.ts +10 -10
  1082. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  1083. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  1084. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  1085. package/src/internal/_httpParameterReadBigint.ts +10 -10
  1086. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  1087. package/src/internal/_httpParameterReadNumber.ts +7 -7
  1088. package/src/internal/_httpParameterReadString.ts +2 -2
  1089. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  1090. package/src/internal/_httpQueryReadArray.ts +4 -4
  1091. package/src/internal/_httpQueryReadBigint.ts +12 -12
  1092. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  1093. package/src/internal/_httpQueryReadNumber.ts +9 -9
  1094. package/src/internal/_httpQueryReadString.ts +4 -4
  1095. package/src/internal/_isBetween.ts +2 -2
  1096. package/src/internal/_isBigintString.ts +8 -8
  1097. package/src/internal/_isFormatByte.ts +7 -7
  1098. package/src/internal/_isFormatDate.ts +3 -3
  1099. package/src/internal/_isFormatDateTime.ts +4 -4
  1100. package/src/internal/_isFormatDuration.ts +4 -4
  1101. package/src/internal/_isFormatEmail.ts +4 -4
  1102. package/src/internal/_isFormatHostname.ts +4 -4
  1103. package/src/internal/_isFormatIdnEmail.ts +4 -4
  1104. package/src/internal/_isFormatIdnHostname.ts +4 -4
  1105. package/src/internal/_isFormatIpv4.ts +4 -4
  1106. package/src/internal/_isFormatIpv6.ts +4 -4
  1107. package/src/internal/_isFormatIri.ts +3 -3
  1108. package/src/internal/_isFormatIriReference.ts +4 -4
  1109. package/src/internal/_isFormatJsonPointer.ts +3 -3
  1110. package/src/internal/_isFormatPassword.ts +1 -1
  1111. package/src/internal/_isFormatRegex.ts +8 -8
  1112. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  1113. package/src/internal/_isFormatTime.ts +4 -4
  1114. package/src/internal/_isFormatUri.ts +6 -6
  1115. package/src/internal/_isFormatUriReference.ts +5 -5
  1116. package/src/internal/_isFormatUriTemplate.ts +4 -4
  1117. package/src/internal/_isFormatUrl.ts +4 -4
  1118. package/src/internal/_isFormatUuid.ts +3 -3
  1119. package/src/internal/_isTypeFloat.ts +5 -5
  1120. package/src/internal/_isTypeInt32.ts +5 -5
  1121. package/src/internal/_isTypeInt64.ts +5 -5
  1122. package/src/internal/_isTypeUint32.ts +5 -5
  1123. package/src/internal/_isTypeUint64.ts +5 -5
  1124. package/src/internal/_isUniqueItems.ts +159 -159
  1125. package/src/internal/_jsonStringifyNumber.ts +12 -12
  1126. package/src/internal/_jsonStringifyRest.ts +3 -3
  1127. package/src/internal/_jsonStringifyString.ts +42 -42
  1128. package/src/internal/_jsonStringifyTail.ts +2 -2
  1129. package/src/internal/_llmApplicationFinalize.ts +20 -20
  1130. package/src/internal/_miscCloneAny.ts +46 -46
  1131. package/src/internal/_notationAny.ts +37 -37
  1132. package/src/internal/_notationCamel.ts +13 -13
  1133. package/src/internal/_notationPascal.ts +8 -8
  1134. package/src/internal/_notationSnake.ts +43 -43
  1135. package/src/internal/_randomArray.ts +21 -21
  1136. package/src/internal/_randomBigint.ts +6 -6
  1137. package/src/internal/_randomBoolean.ts +1 -1
  1138. package/src/internal/_randomFormatByte.ts +3 -3
  1139. package/src/internal/_randomFormatDate.ts +18 -18
  1140. package/src/internal/_randomFormatDatetime.ts +16 -16
  1141. package/src/internal/_randomFormatDuration.ts +27 -27
  1142. package/src/internal/_randomFormatEmail.ts +11 -11
  1143. package/src/internal/_randomFormatHostname.ts +6 -6
  1144. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  1145. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  1146. package/src/internal/_randomFormatIpv4.ts +11 -11
  1147. package/src/internal/_randomFormatIpv6.ts +11 -11
  1148. package/src/internal/_randomFormatIri.ts +3 -3
  1149. package/src/internal/_randomFormatIriReference.ts +3 -3
  1150. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  1151. package/src/internal/_randomFormatPassword.ts +8 -8
  1152. package/src/internal/_randomFormatRegex.ts +4 -4
  1153. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  1154. package/src/internal/_randomFormatTime.ts +14 -14
  1155. package/src/internal/_randomFormatUri.ts +3 -3
  1156. package/src/internal/_randomFormatUriReference.ts +3 -3
  1157. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  1158. package/src/internal/_randomFormatUrl.ts +11 -11
  1159. package/src/internal/_randomFormatUuid.ts +6 -6
  1160. package/src/internal/_randomInteger.ts +47 -47
  1161. package/src/internal/_randomNumber.ts +74 -74
  1162. package/src/internal/_randomPattern.ts +10 -10
  1163. package/src/internal/_randomPick.ts +9 -9
  1164. package/src/internal/_randomString.ts +24 -24
  1165. package/src/internal/_throwTypeGuardError.ts +5 -5
  1166. package/src/internal/_validateReport.ts +13 -13
  1167. package/src/internal/private/__notationCapitalize.ts +2 -2
  1168. package/src/internal/private/__notationUnsnake.ts +24 -24
  1169. package/src/json.ts +752 -752
  1170. package/src/llm.ts +396 -396
  1171. package/src/misc.ts +658 -658
  1172. package/src/module.ts +937 -937
  1173. package/src/notations.ts +827 -827
  1174. package/src/programmers/AssertProgrammer.ts +454 -454
  1175. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  1176. package/src/programmers/FeatureProgrammer.ts +622 -622
  1177. package/src/programmers/ImportProgrammer.ts +185 -185
  1178. package/src/programmers/IsProgrammer.ts +273 -273
  1179. package/src/programmers/RandomProgrammer.ts +1190 -1190
  1180. package/src/programmers/TypiaProgrammer.ts +174 -174
  1181. package/src/programmers/ValidateProgrammer.ts +439 -439
  1182. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  1183. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  1184. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  1185. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  1186. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  1187. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  1188. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  1189. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  1190. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  1191. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  1192. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  1193. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  1194. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  1195. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  1196. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  1197. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  1198. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  1199. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  1200. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  1201. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  1202. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  1203. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  1204. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  1205. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  1206. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  1207. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  1208. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  1209. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  1210. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  1211. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  1212. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  1213. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  1214. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  1215. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  1216. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  1217. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  1218. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  1219. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  1220. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  1221. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  1222. package/src/programmers/internal/check_array_length.ts +47 -47
  1223. package/src/programmers/internal/check_bigint.ts +50 -50
  1224. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  1225. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  1226. package/src/programmers/internal/check_everything.ts +23 -23
  1227. package/src/programmers/internal/check_native.ts +27 -27
  1228. package/src/programmers/internal/check_number.ts +112 -112
  1229. package/src/programmers/internal/check_object.ts +75 -75
  1230. package/src/programmers/internal/check_string.ts +50 -50
  1231. package/src/programmers/internal/check_template.ts +48 -48
  1232. package/src/programmers/internal/check_union_array_like.ts +335 -335
  1233. package/src/programmers/internal/decode_union_object.ts +116 -116
  1234. package/src/programmers/internal/feature_object_entries.ts +61 -61
  1235. package/src/programmers/internal/json_schema_alias.ts +47 -47
  1236. package/src/programmers/internal/json_schema_array.ts +45 -45
  1237. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  1238. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  1239. package/src/programmers/internal/json_schema_constant.ts +26 -26
  1240. package/src/programmers/internal/json_schema_description.ts +12 -12
  1241. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  1242. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  1243. package/src/programmers/internal/json_schema_native.ts +33 -33
  1244. package/src/programmers/internal/json_schema_number.ts +15 -15
  1245. package/src/programmers/internal/json_schema_object.ts +158 -158
  1246. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  1247. package/src/programmers/internal/json_schema_station.ts +182 -182
  1248. package/src/programmers/internal/json_schema_string.ts +15 -15
  1249. package/src/programmers/internal/json_schema_template.ts +55 -55
  1250. package/src/programmers/internal/json_schema_title.ts +20 -20
  1251. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  1252. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  1253. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  1254. package/src/programmers/internal/prune_object_properties.ts +71 -71
  1255. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  1256. package/src/programmers/internal/stringify_native.ts +7 -7
  1257. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  1258. package/src/programmers/internal/template_to_pattern.ts +23 -23
  1259. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  1260. package/src/programmers/json/JsonApplicationProgrammer.ts +266 -279
  1261. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  1262. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  1263. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  1264. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  1265. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  1266. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  1267. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  1268. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  1269. package/src/programmers/llm/LlmApplicationProgrammer.ts +401 -413
  1270. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  1271. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  1272. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  1273. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  1274. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  1275. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  1276. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  1277. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  1278. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  1279. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  1280. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  1281. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  1282. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  1283. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  1284. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  1285. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  1286. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  1287. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  1288. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  1289. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  1290. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  1291. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  1292. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  1293. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  1294. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  1295. package/src/protobuf.ts +868 -868
  1296. package/src/reflect.ts +57 -57
  1297. package/src/schemas/json/IJsonApplication.ts +73 -73
  1298. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  1299. package/src/schemas/json/__IJsonApplication.ts +63 -63
  1300. package/src/schemas/llm/ILlmApplicationOfValidate.ts +6 -6
  1301. package/src/schemas/llm/ILlmFunctionOfValidate.ts +6 -6
  1302. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  1303. package/src/schemas/metadata/IMetadata.ts +35 -35
  1304. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  1305. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  1306. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  1307. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  1308. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  1309. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  1310. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  1311. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  1312. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  1313. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  1314. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  1315. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  1316. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  1317. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  1318. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  1319. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  1320. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  1321. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  1322. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  1323. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  1324. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  1325. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  1326. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  1327. package/src/schemas/metadata/Metadata.ts +680 -669
  1328. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  1329. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  1330. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  1331. package/src/schemas/metadata/MetadataArray.ts +49 -49
  1332. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  1333. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  1334. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  1335. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  1336. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  1337. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  1338. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  1339. package/src/schemas/metadata/MetadataMap.ts +48 -48
  1340. package/src/schemas/metadata/MetadataNative.ts +44 -44
  1341. package/src/schemas/metadata/MetadataObject.ts +48 -48
  1342. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  1343. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  1344. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  1345. package/src/schemas/metadata/MetadataSet.ts +45 -45
  1346. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  1347. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  1348. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  1349. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  1350. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  1351. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  1352. package/src/tags/Constant.ts +15 -15
  1353. package/src/tags/ContentMediaType.ts +10 -10
  1354. package/src/tags/Default.ts +22 -22
  1355. package/src/tags/Example.ts +24 -24
  1356. package/src/tags/Examples.ts +16 -16
  1357. package/src/tags/ExclusiveMaximum.ts +25 -25
  1358. package/src/tags/ExclusiveMinimum.ts +25 -25
  1359. package/src/tags/Format.ts +50 -50
  1360. package/src/tags/JsonSchemaPlugin.ts +8 -8
  1361. package/src/tags/MaxItems.ts +12 -12
  1362. package/src/tags/MaxLength.ts +12 -12
  1363. package/src/tags/Maximum.ts +19 -19
  1364. package/src/tags/MinItems.ts +12 -12
  1365. package/src/tags/MinLength.ts +12 -12
  1366. package/src/tags/Minimum.ts +19 -19
  1367. package/src/tags/MultipleOf.ts +21 -21
  1368. package/src/tags/Pattern.ts +31 -31
  1369. package/src/tags/Sequence.ts +10 -10
  1370. package/src/tags/TagBase.ts +82 -82
  1371. package/src/tags/Type.ts +32 -32
  1372. package/src/tags/UniqueItems.ts +14 -14
  1373. package/src/tags/index.ts +21 -21
  1374. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  1375. package/src/transform.ts +35 -35
  1376. package/src/transformers/CallExpressionTransformer.ts +546 -546
  1377. package/src/transformers/FileTransformer.ts +136 -136
  1378. package/src/transformers/IProgrammerProps.ts +11 -11
  1379. package/src/transformers/ITransformOptions.ts +62 -62
  1380. package/src/transformers/ITransformProps.ts +9 -9
  1381. package/src/transformers/ITypiaContext.ts +18 -18
  1382. package/src/transformers/ImportTransformer.ts +81 -81
  1383. package/src/transformers/NodeTransformer.ts +17 -17
  1384. package/src/transformers/TransformerError.ts +60 -60
  1385. package/src/transformers/features/AssertTransformer.ts +24 -24
  1386. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  1387. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  1388. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  1389. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  1390. package/src/transformers/features/IsTransformer.ts +18 -18
  1391. package/src/transformers/features/RandomTransformer.ts +41 -41
  1392. package/src/transformers/features/ValidateTransformer.ts +18 -18
  1393. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  1394. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  1395. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  1396. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  1397. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  1398. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  1399. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  1400. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  1401. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  1402. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  1403. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  1404. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  1405. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  1406. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  1407. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  1408. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  1409. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  1410. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  1411. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  1412. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  1413. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  1414. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  1415. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  1416. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  1417. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  1418. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  1419. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  1420. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  1421. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  1422. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  1423. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  1424. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  1425. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  1426. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  1427. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  1428. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  1429. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  1430. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  1431. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  1432. package/src/transformers/features/json/JsonSchemasTransformer.ts +145 -145
  1433. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  1434. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  1435. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  1436. package/src/transformers/features/llm/LlmApplicationTransformer.ts +128 -128
  1437. package/src/transformers/features/llm/LlmParametersTransformer.ts +102 -102
  1438. package/src/transformers/features/llm/LlmSchemaTransformer.ts +143 -143
  1439. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  1440. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  1441. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  1442. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  1443. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  1444. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  1445. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  1446. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  1447. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  1448. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  1449. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  1450. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  1451. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  1452. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  1453. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  1454. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  1455. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  1456. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  1457. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  1458. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  1459. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  1460. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  1461. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  1462. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  1463. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  1464. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  1465. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  1466. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  1467. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  1468. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  1469. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  1470. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  1471. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  1472. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  1473. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  1474. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  1475. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  1476. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  1477. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  1478. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  1479. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  1480. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  1481. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  1482. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  1483. package/src/transformers/internal/GenericTransformer.ts +101 -101
  1484. package/src/typings/Atomic.ts +13 -13
  1485. package/src/typings/ClassProperties.ts +5 -5
  1486. package/src/typings/Customizable.ts +5 -5
  1487. package/src/typings/Equal.ts +18 -18
  1488. package/src/typings/IsTuple.ts +9 -9
  1489. package/src/typings/NativeClass.ts +23 -23
  1490. package/src/typings/OmitNever.ts +3 -3
  1491. package/src/typings/ProtobufAtomic.ts +19 -19
  1492. package/src/typings/SpecialFields.ts +3 -3
  1493. package/src/typings/ValidationPipe.ts +9 -9
  1494. package/src/typings/ValueOf.ts +20 -20
  1495. package/src/typings/Writable.ts +11 -11
  1496. package/src/utils/ArrayUtil.ts +41 -41
  1497. package/src/utils/Escaper.ts +50 -50
  1498. package/src/utils/MapUtil.ts +14 -14
  1499. package/src/utils/NamingConvention.ts +94 -94
  1500. package/src/utils/PatternUtil.ts +29 -29
  1501. package/src/utils/ProtobufNameEncoder.ts +32 -32
  1502. package/src/utils/Singleton.ts +16 -16
  1503. package/src/utils/StringUtil.ts +16 -16
package/src/protobuf.ts CHANGED
@@ -1,868 +1,868 @@
1
- import { IValidation } from "./IValidation";
2
- import { Resolved } from "./Resolved";
3
- import { TypeGuardError } from "./TypeGuardError";
4
-
5
- /* ===========================================================
6
- PROTOCOL BUFFER
7
- - MESSAGE
8
- - DECODE
9
- - ENCODE
10
- - FACTORY FUNCTIONS
11
- ==============================================================
12
- SCHEMA
13
- ----------------------------------------------------------- */
14
- /**
15
- * > You must configure the generic argument `T`.
16
- *
17
- * Protocol Buffer Message Schema.
18
- *
19
- * Creates a Protocol Buffer Message Schema from a TypeScript type. The message
20
- * schema would be returned as a string value, and it can be used to share with
21
- * other developers/languages/frameworks.
22
- *
23
- * For reference, Protocol Buffer has lots of restrictions, so that expression power
24
- * of Protocol Buffer is not enough strong to fully meet the TypeScript type specs.
25
- * In such reason, if you put a TypeScript type that is not compatible with Protocol
26
- * Buffer, this function would throw compilation errors.
27
- *
28
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
29
- *
30
- * @template T Target type
31
- * @returns Protocol Buffer Message Schema.
32
- *
33
- * @author Jeongho Nam - https://github.com/samchon
34
- */
35
- export function message(): never;
36
-
37
- /**
38
- * Protocol Buffer Message Schema.
39
- *
40
- * Creates a Protocol Buffer Message Schema from a TypeScript type. The message
41
- * schema would be returned as a string value, and it can be used to share with
42
- * other developers/languages/frameworks.
43
- *
44
- * For reference, Protocol Buffer has lots of restrictions, so that expression power
45
- * of Protocol Buffer is not enough strong to fully meet the TypeScript type specs.
46
- * In such reason, if you put a TypeScript type that is not compatible with Protocol
47
- * Buffer, this function would throw compilation errors.
48
- *
49
- * @template T Target type
50
- * @returns Protocol Buffer Message Schema.
51
- *
52
- * @author Jeongho Nam - https://github.com/samchon
53
- */
54
- export function message<T>(): string;
55
-
56
- /**
57
- * @internal
58
- */
59
- export function message(): never {
60
- halt("message");
61
- }
62
-
63
- /* -----------------------------------------------------------
64
- DECODE
65
- ----------------------------------------------------------- */
66
- /**
67
- * > You must configure the generic argument `T`.
68
- *
69
- * Protocol Buffer Decoder.
70
- *
71
- * `typia.protobuf.decode()` is a function decoding a binary data of Protocol Buffer
72
- * format to a TypeScript instance.
73
- *
74
- * For reference, as Protocol Buffer handles binary data directly, there's no way
75
- * when `input` binary data was not encoded from the `T` typed value. In that case,
76
- * unexpected behavior or internal error would be occurred. Therefore, I recommend you
77
- * to encode binary data of Protocol Buffer from type safe encode functions like below.
78
- * Use {@link encode} function only when you can ensure it.
79
- *
80
- * - {@link assertEncode}
81
- * - {@link isEncode}
82
- * - {@link validateEncode}
83
- *
84
- * Also, `typia` is providing type safe decoders like {@link assertDecode}, but it
85
- * is just for additional type validation like `number & Minimum<7>` or
86
- * `string & Format<"uuid">` cases, that are represented by
87
- * [custom tags](https://typia.io/docs/validators/tags). Thus, I repeat that,
88
- * you've to ensure the type safety when using decoder functions.
89
- *
90
- * @template T Expected type of decoded value
91
- * @param input Protobuf Buffer binary data
92
- * @returns Decoded value
93
- *
94
- * @author Jeongho Nam - https://github.com/samchon
95
- */
96
- export function decode(input: Uint8Array): never;
97
-
98
- /**
99
- * Protocol Buffer Decoder.
100
- *
101
- * `typia.protobuf.decode()` is a function decoding a binary data of Protocol Buffer
102
- * format to a TypeScript instance.
103
- *
104
- * For reference, as Protocol Buffer handles binary data directly, there's no way
105
- * when `input` binary data was not encoded from the `T` typed value. In that case,
106
- * unexpected behavior or internal error would be occurred. Therefore, I recommend you
107
- * to encode binary data of Protocol Buffer from type safe encode functions like below.
108
- * Use {@link encode} function only when you can ensure it.
109
- *
110
- * - {@link assertEncode}
111
- * - {@link isEncode}
112
- * - {@link validateEncode}
113
- *
114
- * Also, `typia` is providing type safe decoders like {@link assertDecode}, but it
115
- * is just for additional type validation like `number & Minimum<7>` or
116
- * `string & Format<"uuid">` cases, that are represented by
117
- * [custom tags](https://typia.io/docs/validators/tags). Thus, I repeat that,
118
- * you've to ensure the type safety when using decoder functions.
119
- *
120
- * @template T Expected type of decoded value
121
- * @param input Protobuf Buffer binary data
122
- * @returns Decoded value
123
- *
124
- * @author Jeongho Nam - https://github.com/samchon
125
- */
126
- export function decode<T>(input: Uint8Array): Resolved<T>;
127
-
128
- /**
129
- * @internal
130
- */
131
- export function decode(): never {
132
- halt("decode");
133
- }
134
-
135
- /**
136
- * > You must configure the generic argument `T`.
137
- *
138
- * Protocol Buffer Decoder wity type assertion, but not safe.
139
- *
140
- * `typia.protobuf.assertDecode()` is a combination function of {@link decode} and
141
- * {@link assert} function. Therefore, it decodes a binary data of Protocol Buffer to
142
- * a TypeScript instance, and performs type assertion process. If decoded value is
143
- * following the type `T`, it returns the decoded value. Otherwise, it throws
144
- * {@link TypeGuardError} instead.
145
- *
146
- * However, note that, this validation is not always safe. It just performs additional
147
- * type assertion like `number & Minimum<7>` or `string & Format<"uuid">` cases,
148
- * that are represented by [custom tags](https://typia.io/docs/validators/tags).
149
- * Therefore, when using `typia.protobuf.assertDecode<T>()` function, you have to
150
- * ensure the type safety by yourself.
151
- *
152
- * In such type safety reason, I recommend you to use type safe encode functions.
153
- *
154
- * - {@link assertEncode}
155
- * - {@link isEncode}
156
- * - {@link validateEncode}
157
- *
158
- * @template T Expected type of decoded value
159
- * @param input Protobuf Buffer binary data
160
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
161
- * @returns Decoded value
162
- *
163
- * @author Jeongho Nam - https://github.com/samchon
164
- */
165
- export function assertDecode(
166
- input: Uint8Array,
167
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
168
- ): never;
169
-
170
- /**
171
- * Protocol Buffer Decoder wity type assertion, but not safe.
172
- *
173
- * `typia.protobuf.assertDecode()` is a combination function of {@link decode} and
174
- * {@link assert} function. Therefore, it decodes a binary data of Protocol Buffer to
175
- * a TypeScript instance, and performs type assertion process. If decoded value is
176
- * following the type `T`, it returns the decoded value. Otherwise, it throws
177
- * {@link TypeGuardError} instead.
178
- *
179
- * However, note that, this validation is not always safe. It just performs additional
180
- * type assertion like `number & Minimum<7>` or `string & Format<"uuid">` cases,
181
- * that are represented by [custom tags](https://typia.io/docs/validators/tags).
182
- * Therefore, when using `typia.protobuf.assertDecode<T>()` function, you have to
183
- * ensure the type safety by yourself.
184
- *
185
- * In such type safety reason, I recommend you to use type safe encode functions.
186
- *
187
- * - {@link assertEncode}
188
- * - {@link isEncode}
189
- * - {@link validateEncode}
190
- *
191
- * @template T Expected type of decoded value
192
- * @param input Protobuf Buffer binary data
193
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
194
- * @returns Decoded value
195
- *
196
- * @author Jeongho Nam - https://github.com/samchon
197
- */
198
- export function assertDecode<T>(
199
- input: Uint8Array,
200
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
201
- ): Resolved<T>;
202
-
203
- /**
204
- * @internal
205
- */
206
- export function assertDecode(): never {
207
- halt("assertDecode");
208
- }
209
-
210
- /**
211
- * > You must configure the generic argument `T`.
212
- *
213
- * Protocol Buffer Decoder wity type checking, but not safe.
214
- *
215
- * `typia.protobuf.isDecode()` is a combination function of {@link decode} and
216
- * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to
217
- * a TypeScript instance, and performs type checking process. If decoded value is
218
- * following the type `T`, it returns the decoded value. Otherwise, it returns
219
- * `null` value instead.
220
- *
221
- * However, note that, this validation is not always safe. It just performs additional
222
- * type checking like `number & Minimum<7>` or `string & Format<"uuid">` cases,
223
- * that are represented by [custom tags](https://typia.io/docs/validators/tags).
224
- * Therefore, when using `typia.protobuf.isDecode<T>()` function, you have to
225
- * ensure the type safety by yourself.
226
- *
227
- * In such type safety reason, I recommend you to use type safe encode functions.
228
- *
229
- * - {@link assertEncode}
230
- * - {@link isEncode}
231
- * - {@link validateEncode}
232
- *
233
- * @template T Expected type of decoded value
234
- * @param input Protobuf Buffer binary data
235
- * @returns Decoded value
236
- *
237
- * @author Jeongho Nam - https://github.com/samchon
238
- */
239
- export function isDecode(input: Uint8Array): never;
240
-
241
- /**
242
- * Protocol Buffer Decoder wity type checking, but not safe.
243
- *
244
- * `typia.protobuf.isDecode()` is a combination function of {@link decode} and
245
- * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to
246
- * a TypeScript instance, and performs type checking process. If decoded value is
247
- * following the type `T`, it returns the decoded value. Otherwise, it returns
248
- * `null` value instead.
249
- *
250
- * However, note that, this validation is not always safe. It just performs additional
251
- * type checking like `number & Minimum<7>` or `string & Format<"uuid">` cases,
252
- * that are represented by [custom tags](https://typia.io/docs/validators/tags).
253
- * Therefore, when using `typia.protobuf.isDecode<T>()` function, you have to
254
- * ensure the type safety by yourself.
255
- *
256
- * In such type safety reason, I recommend you to use type safe encode functions.
257
- *
258
- * - {@link assertEncode}
259
- * - {@link isEncode}
260
- * - {@link validateEncode}
261
- *
262
- * @template T Expected type of decoded value
263
- * @param input Protobuf Buffer binary data
264
- * @returns Decoded value
265
- *
266
- * @author Jeongho Nam - https://github.com/samchon
267
- */
268
- export function isDecode<T>(input: Uint8Array): Resolved<T> | null;
269
-
270
- /**
271
- * @internal
272
- */
273
- export function isDecode(): never {
274
- halt("isDecode");
275
- }
276
-
277
- /**
278
- * > You must configure the generic argument `T`.
279
- *
280
- * Protocol Buffer Decoder wity type validation, but not safe.
281
- *
282
- * `typia.protobuf.validateDecode()` is a combination function of {@link decode} and
283
- * {@link validate} function. Therefore, it decodes a binary data of Protocol Buffer to
284
- * a TypeScript instance, and performs type validation process. If decoded value is
285
- * following the type `T`, it returns the decoded value with
286
- * {@link IValidation.ISuccess} typed instance. Otherwise, it returns
287
- * {@link IValidation.IFailure} value instead with detailed error reasons.
288
- *
289
- * However, note that, this validation is not always safe. It just performs additional
290
- * type validation like `number & Minimum<7>` or `string & Format<"uuid">` cases,
291
- * that are represented by [custom tags](https://typia.io/docs/validators/tags).
292
- * Therefore, when using `typia.protobuf.validateDecode<T>()` function, you have to
293
- * ensure the type safety by yourself.
294
- *
295
- * In such type safety reason, I recommend you to use type safe encode functions.
296
- *
297
- * - {@link assertEncode}
298
- * - {@link isEncode}
299
- * - {@link validateEncode}
300
- *
301
- * @template T Expected type of decoded value
302
- * @param input Protobuf Buffer binary data
303
- * @returns Decoded value
304
- *
305
- * @author Jeongho Nam - https://github.com/samchon
306
- */
307
- export function validateDecode(input: Uint8Array): never;
308
-
309
- /**
310
- * Protocol Buffer Decoder wity type validation, but not safe.
311
- *
312
- * `typia.protobuf.validateDecode()` is a combination function of {@link decode} and
313
- * {@link validate} function. Therefore, it decodes a binary data of Protocol Buffer to
314
- * a TypeScript instance, and performs type validation process. If decoded value is
315
- * following the type `T`, it returns the decoded value with
316
- * {@link IValidation.ISuccess} typed instance. Otherwise, it returns
317
- * {@link IValidation.IFailure} value instead with detailed error reasons.
318
- *
319
- * However, note that, this validation is not always safe. It just performs additional
320
- * type validation like `number & Minimum<7>` or `string & Format<"uuid">` cases,
321
- * that are represented by [custom tags](https://typia.io/docs/validators/tags).
322
- * Therefore, when using `typia.protobuf.validateDecode<T>()` function, you have to
323
- * ensure the type safety by yourself.
324
- *
325
- * In such type safety reason, I recommend you to use type safe encode functions.
326
- *
327
- * - {@link assertEncode}
328
- * - {@link isEncode}
329
- * - {@link validateEncode}
330
- *
331
- * @template T Expected type of decoded value
332
- * @param input Protobuf Buffer binary data
333
- * @returns Decoded value
334
- *
335
- * @author Jeongho Nam - https://github.com/samchon
336
- */
337
- export function validateDecode<T>(input: Uint8Array): IValidation<Resolved<T>>;
338
-
339
- /**
340
- * @internal
341
- */
342
- export function validateDecode(): never {
343
- halt("validateDecode");
344
- }
345
-
346
- /* -----------------------------------------------------------
347
- ENCODE
348
- ----------------------------------------------------------- */
349
- /**
350
- * Protocol Buffer Encoder.
351
- *
352
- * Converts an input value to a binary data of Protocol Buffer format.
353
- *
354
- * For reference, this `typia.protobuf.encode()` does not validate the `input` value.
355
- * It just believes that the `input` value is valid and converts it to a binary data
356
- * directly. Therefore, if you can't ensure the `input` value type, it would better to
357
- * call one of below functions instead.
358
- *
359
- * - {@link assertEncode}
360
- * - {@link isEncode}
361
- * - {@link validateEncode}
362
- *
363
- * By the way, you know what? Expression power of Protocol Buffer is not enough strong
364
- * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
365
- * type that is not compatible with Protocol Buffer, this function would throw
366
- * compilation errors.
367
- *
368
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
369
- *
370
- * @template T Type of the value input
371
- * @param input A value to encode
372
- * @returns Encoded binary data
373
- *
374
- * @author Jeongho Nam - https://github.com/samchon
375
- */
376
- export function encode<T>(input: T): Uint8Array;
377
-
378
- /**
379
- * @internal
380
- */
381
- export function encode(): never {
382
- halt("encode");
383
- }
384
-
385
- /**
386
- * Protocol Buffer Encoder with type assertion.
387
- *
388
- * `typia.protobuf.assertEncode()` is a combination function of {@link assert} and
389
- * {@link encode}.
390
- *
391
- * Therefore, it converts an `input` value to a binary data of
392
- * Protocol Buffer, with type assertion. If `input` value is not valid, it throws
393
- * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,
394
- * Protocol Buffer binary data would be returned.
395
- *
396
- * If you can trust `input` value, or want to perform other type of validation, use
397
- * below functions instead.
398
- *
399
- * - {@link encode}
400
- * - {@link isEncode}
401
- * - {@link validateEncode}
402
- *
403
- * By the way, you know what? Expression power of Protocol Buffer is not enough strong
404
- * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
405
- * type that is not compatible with Protocol Buffer, this function would throw
406
- * compilation errors.
407
- *
408
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
409
- *
410
- * @template T Type of the value input
411
- * @param input A value to encode
412
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
413
- * @returns Encoded binary data
414
- *
415
- * @author Jeongho Nam - https://github.com/samchon
416
- */
417
- export function assertEncode<T>(
418
- input: T,
419
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
420
- ): Uint8Array;
421
-
422
- /**
423
- * Protocol Buffer Encoder with type assertion.
424
- *
425
- * `typia.protobuf.assertEncode()` is a combination function of {@link assert} and
426
- * {@link encode}.
427
- *
428
- * Therefore, it converts an `input` value to a binary data of
429
- * Protocol Buffer, with type assertion. If `input` value is not valid, it throws
430
- * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,
431
- * Protocol Buffer binary data would be returned.
432
- *
433
- * If you can trust `input` value, or want to perform other type of validation, use
434
- * below functions instead.
435
- *
436
- * - {@link encode}
437
- * - {@link isEncode}
438
- * - {@link validateEncode}
439
- *
440
- * By the way, you know what? Expression power of Protocol Buffer is not enough strong
441
- * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
442
- * type that is not compatible with Protocol Buffer, this function would throw
443
- * compilation errors.
444
- *
445
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
446
- *
447
- * @template T Type of the value input
448
- * @param input A value to encode
449
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
450
- * @returns Encoded binary data
451
- *
452
- * @author Jeongho Nam - https://github.com/samchon
453
- */
454
- export function assertEncode<T>(
455
- input: unknown,
456
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
457
- ): Uint8Array;
458
-
459
- /**
460
- * @internal
461
- */
462
- export function assertEncode(): never {
463
- halt("assertEncode");
464
- }
465
-
466
- /**
467
- * Protocol Buffer Encoder with type checking.
468
- *
469
- * `typia.protobuf.isEncode()` is a combination function of {@link is} and
470
- * {@link encode}.
471
- *
472
- * Therefore, it converts an `input` value to a binary data of
473
- * Protocol Buffer, with type checking. If `input` value is not valid, it returns
474
- * `null` value. Otherwise, there's no problem on the `input` value, Protocol
475
- * Buffer binary data would be returned.
476
- *
477
- * If you can trust `input` value, or want to perform other type of validation, use
478
- * below functions instead.
479
- *
480
- * - {@link encode}
481
- * - {@link assertEncode}
482
- * - {@link validateEncode}
483
- *
484
- * By the way, you know what? Expression power of Protocol Buffer is not enough strong
485
- * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
486
- * type that is not compatible with Protocol Buffer, this function would throw
487
- * compilation errors.
488
- *
489
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
490
- *
491
- * @template T Type of the value input
492
- * @param input A value to encode
493
- * @returns Encoded binary data
494
- *
495
- * @author Jeongho Nam - https://github.com/samchon
496
- */
497
- export function isEncode<T>(input: T): Uint8Array | null;
498
-
499
- /**
500
- * Protocol Buffer Encoder with type checking.
501
- *
502
- * `typia.protobuf.isEncode()` is a combination function of {@link is} and
503
- * {@link encode}.
504
- *
505
- * Therefore, it converts an `input` value to a binary data of
506
- * Protocol Buffer, with type checking. If `input` value is not valid, it returns
507
- * `null` value. Otherwise, there's no problem on the `input` value, Protocol
508
- * Buffer binary data would be returned.
509
- *
510
- * If you can trust `input` value, or want to perform other type of validation, use
511
- * below functions instead.
512
- *
513
- * - {@link encode}
514
- * - {@link assertEncode}
515
- * - {@link validateEncode}
516
- *
517
- * By the way, you know what? Expression power of Protocol Buffer is not enough strong
518
- * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
519
- * type that is not compatible with Protocol Buffer, this function would throw
520
- * compilation errors.
521
- *
522
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
523
- *
524
- * @template T Type of the value input
525
- * @param input A value to encode
526
- * @returns Encoded binary data
527
- *
528
- * @author Jeongho Nam - https://github.com/samchon
529
- */
530
- export function isEncode<T>(input: unknown): Uint8Array | null;
531
-
532
- /**
533
- * @internal
534
- */
535
- export function isEncode(): never {
536
- halt("isEncode");
537
- }
538
-
539
- /**
540
- * Protocol Buffer Encoder with type validation.
541
- *
542
- * `typia.protobuf.validateEncode()` is a combination function of
543
- * {@link validation} and {@link encode}.
544
- *
545
- * Therefore, it converts an `input` value to a binary data of
546
- * Protocol Buffer, with type validation. If `input` value is not valid, it returns
547
- * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
548
- * no problem on the `input` value, Protocol Buffer binary data would be stored in
549
- * `data` property of the output {@link IValidation.ISuccess} instance.
550
- *
551
- * If you can trust `input` value, or want to perform other type of validation, use
552
- * below functions instead.
553
- *
554
- * - {@link encode}
555
- * - {@link assertEncode}
556
- * - {@link isEncode}
557
- *
558
- * By the way, you know what? Expression power of Protocol Buffer is not enough strong
559
- * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
560
- * type that is not compatible with Protocol Buffer, this function would throw
561
- * compilation errors.
562
- *
563
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
564
- *
565
- * @template T Type of the value input
566
- * @param input A value to encode
567
- * @returns Encoded binary data
568
- *
569
- * @author Jeongho Nam - https://github.com/samchon
570
- */
571
- export function validateEncode<T>(input: T): IValidation<Uint8Array>;
572
-
573
- /**
574
- * Protocol Buffer Encoder with type validation.
575
- *
576
- * `typia.protobuf.validateEncode()` is a combination function of
577
- * {@link validation} and {@link encode}.
578
- *
579
- * Therefore, it converts an `input` value to a binary data of
580
- * Protocol Buffer, with type validation. If `input` value is not valid, it returns
581
- * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
582
- * no problem on the `input` value, Protocol Buffer binary data would be stored in
583
- * `data` property of the output {@link IValidation.ISuccess} instance.
584
- *
585
- * If you can trust `input` value, or want to perform other type of validation, use
586
- * below functions instead.
587
- *
588
- * - {@link encode}
589
- * - {@link assertEncode}
590
- * - {@link isEncode}
591
- *
592
- * By the way, you know what? Expression power of Protocol Buffer is not enough strong
593
- * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
594
- * type that is not compatible with Protocol Buffer, this function would throw
595
- * compilation errors.
596
- *
597
- * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
598
- *
599
- * @template T Type of the value input
600
- * @param input A value to encode
601
- * @returns Encoded binary data
602
- *
603
- * @author Jeongho Nam - https://github.com/samchon
604
- */
605
- export function validateEncode<T>(input: unknown): IValidation<Uint8Array>;
606
-
607
- /**
608
- * @internal
609
- */
610
- export function validateEncode(): never {
611
- halt("validateEncode");
612
- }
613
-
614
- /* -----------------------------------------------------------
615
- FACTORY FUNCTIONS
616
- ----------------------------------------------------------- */
617
- /**
618
- * Creates a reusable {@link decode} function.
619
- *
620
- * @danger You must configure the generic argument `T`
621
- * @returns Nothing until you configure the generic argument `T`
622
- * @throws compile error
623
- *
624
- * @author Jeongho Nam - https://github.com/samchon
625
- */
626
- export function createDecode(): never;
627
-
628
- /**
629
- * Creates a reusable {@link decode} function.
630
- *
631
- * @template T Target type
632
- * @returns A reusable `decode` function
633
- *
634
- * @author Jeongho Nam - https://github.com/samchon
635
- */
636
- export function createDecode<T>(): (input: Uint8Array) => Resolved<T>;
637
-
638
- /**
639
- * @internal
640
- */
641
- export function createDecode<T>(): (input: Uint8Array) => Resolved<T> {
642
- halt("createDecode");
643
- }
644
-
645
- /**
646
- * Creates a reusable {@link isDecode} function.
647
- *
648
- * @danger You must configure the generic argument `T`
649
- * @returns Nothing until you configure the generic argument `T`
650
- * @throws compile error
651
- *
652
- * @author Jeongho Nam - https://github.com/samchon
653
- */
654
- export function createIsDecode(): never;
655
-
656
- /**
657
- * Creates a reusable {@link isDecode} function.
658
- *
659
- * @template T Target type
660
- * @returns A reusable `isDecode` function
661
- *
662
- * @author Jeongho Nam - https://github.com/samchon
663
- */
664
- export function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null;
665
-
666
- /**
667
- * @internal
668
- */
669
- export function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null {
670
- halt("createIsDecode");
671
- }
672
-
673
- /**
674
- * Creates a reusable {@link assertDecode} function.
675
- *
676
- * @danger You must configure the generic argument `T`
677
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
678
- * @returns Nothing until you configure the generic argument `T`
679
- * @throws compile error
680
- *
681
- * @author Jeongho Nam - https://github.com/samchon
682
- */
683
- export function createAssertDecode(
684
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
685
- ): never;
686
-
687
- /**
688
- * Creates a reusable {@link assertDecode} function.
689
- *
690
- * @template T Target type
691
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
692
- * @returns A reusable `assertDecode` function
693
- *
694
- * @author Jeongho Nam - https://github.com/samchon
695
- */
696
- export function createAssertDecode<T>(
697
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
698
- ): (input: Uint8Array) => Resolved<T>;
699
-
700
- /**
701
- * @internal
702
- */
703
- export function createAssertDecode<T>(): (input: Uint8Array) => Resolved<T> {
704
- halt("createAssertDecode");
705
- }
706
-
707
- /**
708
- * Creates a reusable {@link validateDecode} function.
709
- *
710
- * @danger You must configure the generic argument `T`
711
- * @returns Nothing until you configure the generic argument `T`
712
- * @throws compile error
713
- *
714
- * @author Jeongho Nam - https://github.com/samchon
715
- */
716
- export function createValidateDecode(): never;
717
-
718
- /**
719
- * Creates a reusable {@link validateDecode} function.
720
- *
721
- * @template T Target type
722
- * @returns A reusable `validateDecode` function
723
- *
724
- * @author Jeongho Nam - https://github.com/samchon
725
- */
726
- export function createValidateDecode<T>(): (
727
- input: Uint8Array,
728
- ) => IValidation<Resolved<T>>;
729
-
730
- /**
731
- * @internal
732
- */
733
- export function createValidateDecode<T>(): (
734
- input: Uint8Array,
735
- ) => IValidation<Resolved<T>> {
736
- halt("createValidateDecode");
737
- }
738
-
739
- /**
740
- * Creates a reusable {@link encode} function.
741
- *
742
- * @danger You must configure the generic argument `T`
743
- * @returns Nothing until you configure the generic argument `T`
744
- * @throws compile error
745
- *
746
- * @author Jeongho Nam - https://github.com/samchon
747
- */
748
- export function createEncode(): never;
749
-
750
- /**
751
- * Creates a reusable {@link encode} function.
752
- *
753
- * @template T Target type
754
- * @returns A reusable `encode` function
755
- *
756
- * @author Jeongho Nam - https://github.com/samchon
757
- */
758
- export function createEncode<T>(): (input: T) => Uint8Array;
759
-
760
- /**
761
- * @internal
762
- */
763
- export function createEncode<T>(): (input: T) => Uint8Array {
764
- halt("createEncode");
765
- }
766
-
767
- /**
768
- * Creates a reusable {@link isEncode} function.
769
- *
770
- * @danger You must configure the generic argument `T`
771
- * @returns Nothing until you configure the generic argument `T`
772
- * @throws compile error
773
- *
774
- * @author Jeongho Nam - https://github.com/samchon
775
- */
776
- export function createIsEncode(): never;
777
-
778
- /**
779
- * Creates a reusable {@link isEncode} function.
780
- *
781
- * @template T Target type
782
- * @returns A reusable `isEncode` function
783
- *
784
- * @author Jeongho Nam - https://github.com/samchon
785
- */
786
- export function createIsEncode<T>(): (input: T) => Uint8Array | null;
787
-
788
- /**
789
- * @internal
790
- */
791
- export function createIsEncode<T>(): (input: T) => Uint8Array | null {
792
- halt("createIsEncode");
793
- }
794
-
795
- /**
796
- * Creates a reusable {@link assertEncode} function.
797
- *
798
- * @danger You must configure the generic argument `T`
799
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
800
- * @returns Nothing until you configure the generic argument `T`
801
- * @throws compile error
802
- *
803
- * @author Jeongho Nam - https://github.com/samchon
804
- */
805
- export function createAssertEncode(
806
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
807
- ): never;
808
-
809
- /**
810
- * Creates a reusable {@link assertEncode} function.
811
- *
812
- * @template T Target type
813
- * @param errorFactory Custom error factory. Default is `TypeGuardError`
814
- * @returns A reusable `assertEncode` function
815
- *
816
- * @author Jeongho Nam - https://github.com/samchon
817
- */
818
- export function createAssertEncode<T>(
819
- errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
820
- ): (input: T) => Uint8Array;
821
-
822
- /**
823
- * @internal
824
- */
825
- export function createAssertEncode<T>(): (input: T) => Uint8Array {
826
- halt("createAssertEncode");
827
- }
828
-
829
- /**
830
- * Creates a reusable {@link validateEncode} function.
831
- *
832
- * @danger You must configure the generic argument `T`
833
- * @returns Nothing until you configure the generic argument `T`
834
- * @throws compile error
835
- *
836
- * @author Jeongho Nam - https://github.com/samchon
837
- */
838
- export function createValidateEncode(): never;
839
-
840
- /**
841
- * Creates a reusable {@link validateEncode} function.
842
- *
843
- * @template T Target type
844
- * @returns A reusable `validateEncode` function
845
- *
846
- * @author Jeongho Nam - https://github.com/samchon
847
- */
848
- export function createValidateEncode<T>(): (
849
- input: T,
850
- ) => IValidation<Uint8Array>;
851
-
852
- /**
853
- * @internal
854
- */
855
- export function createValidateEncode<T>(): (
856
- input: T,
857
- ) => IValidation<Uint8Array> {
858
- halt("createValidateEncode");
859
- }
860
-
861
- /**
862
- * @internal
863
- */
864
- function halt(name: string): never {
865
- throw new Error(
866
- `Error on typia.protobuf.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`,
867
- );
868
- }
1
+ import { IValidation } from "./IValidation";
2
+ import { Resolved } from "./Resolved";
3
+ import { TypeGuardError } from "./TypeGuardError";
4
+
5
+ /* ===========================================================
6
+ PROTOCOL BUFFER
7
+ - MESSAGE
8
+ - DECODE
9
+ - ENCODE
10
+ - FACTORY FUNCTIONS
11
+ ==============================================================
12
+ SCHEMA
13
+ ----------------------------------------------------------- */
14
+ /**
15
+ * > You must configure the generic argument `T`.
16
+ *
17
+ * Protocol Buffer Message Schema.
18
+ *
19
+ * Creates a Protocol Buffer Message Schema from a TypeScript type. The message
20
+ * schema would be returned as a string value, and it can be used to share with
21
+ * other developers/languages/frameworks.
22
+ *
23
+ * For reference, Protocol Buffer has lots of restrictions, so that expression power
24
+ * of Protocol Buffer is not enough strong to fully meet the TypeScript type specs.
25
+ * In such reason, if you put a TypeScript type that is not compatible with Protocol
26
+ * Buffer, this function would throw compilation errors.
27
+ *
28
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
29
+ *
30
+ * @template T Target type
31
+ * @returns Protocol Buffer Message Schema.
32
+ *
33
+ * @author Jeongho Nam - https://github.com/samchon
34
+ */
35
+ export function message(): never;
36
+
37
+ /**
38
+ * Protocol Buffer Message Schema.
39
+ *
40
+ * Creates a Protocol Buffer Message Schema from a TypeScript type. The message
41
+ * schema would be returned as a string value, and it can be used to share with
42
+ * other developers/languages/frameworks.
43
+ *
44
+ * For reference, Protocol Buffer has lots of restrictions, so that expression power
45
+ * of Protocol Buffer is not enough strong to fully meet the TypeScript type specs.
46
+ * In such reason, if you put a TypeScript type that is not compatible with Protocol
47
+ * Buffer, this function would throw compilation errors.
48
+ *
49
+ * @template T Target type
50
+ * @returns Protocol Buffer Message Schema.
51
+ *
52
+ * @author Jeongho Nam - https://github.com/samchon
53
+ */
54
+ export function message<T>(): string;
55
+
56
+ /**
57
+ * @internal
58
+ */
59
+ export function message(): never {
60
+ halt("message");
61
+ }
62
+
63
+ /* -----------------------------------------------------------
64
+ DECODE
65
+ ----------------------------------------------------------- */
66
+ /**
67
+ * > You must configure the generic argument `T`.
68
+ *
69
+ * Protocol Buffer Decoder.
70
+ *
71
+ * `typia.protobuf.decode()` is a function decoding a binary data of Protocol Buffer
72
+ * format to a TypeScript instance.
73
+ *
74
+ * For reference, as Protocol Buffer handles binary data directly, there's no way
75
+ * when `input` binary data was not encoded from the `T` typed value. In that case,
76
+ * unexpected behavior or internal error would be occurred. Therefore, I recommend you
77
+ * to encode binary data of Protocol Buffer from type safe encode functions like below.
78
+ * Use {@link encode} function only when you can ensure it.
79
+ *
80
+ * - {@link assertEncode}
81
+ * - {@link isEncode}
82
+ * - {@link validateEncode}
83
+ *
84
+ * Also, `typia` is providing type safe decoders like {@link assertDecode}, but it
85
+ * is just for additional type validation like `number & Minimum<7>` or
86
+ * `string & Format<"uuid">` cases, that are represented by
87
+ * [custom tags](https://typia.io/docs/validators/tags). Thus, I repeat that,
88
+ * you've to ensure the type safety when using decoder functions.
89
+ *
90
+ * @template T Expected type of decoded value
91
+ * @param input Protobuf Buffer binary data
92
+ * @returns Decoded value
93
+ *
94
+ * @author Jeongho Nam - https://github.com/samchon
95
+ */
96
+ export function decode(input: Uint8Array): never;
97
+
98
+ /**
99
+ * Protocol Buffer Decoder.
100
+ *
101
+ * `typia.protobuf.decode()` is a function decoding a binary data of Protocol Buffer
102
+ * format to a TypeScript instance.
103
+ *
104
+ * For reference, as Protocol Buffer handles binary data directly, there's no way
105
+ * when `input` binary data was not encoded from the `T` typed value. In that case,
106
+ * unexpected behavior or internal error would be occurred. Therefore, I recommend you
107
+ * to encode binary data of Protocol Buffer from type safe encode functions like below.
108
+ * Use {@link encode} function only when you can ensure it.
109
+ *
110
+ * - {@link assertEncode}
111
+ * - {@link isEncode}
112
+ * - {@link validateEncode}
113
+ *
114
+ * Also, `typia` is providing type safe decoders like {@link assertDecode}, but it
115
+ * is just for additional type validation like `number & Minimum<7>` or
116
+ * `string & Format<"uuid">` cases, that are represented by
117
+ * [custom tags](https://typia.io/docs/validators/tags). Thus, I repeat that,
118
+ * you've to ensure the type safety when using decoder functions.
119
+ *
120
+ * @template T Expected type of decoded value
121
+ * @param input Protobuf Buffer binary data
122
+ * @returns Decoded value
123
+ *
124
+ * @author Jeongho Nam - https://github.com/samchon
125
+ */
126
+ export function decode<T>(input: Uint8Array): Resolved<T>;
127
+
128
+ /**
129
+ * @internal
130
+ */
131
+ export function decode(): never {
132
+ halt("decode");
133
+ }
134
+
135
+ /**
136
+ * > You must configure the generic argument `T`.
137
+ *
138
+ * Protocol Buffer Decoder wity type assertion, but not safe.
139
+ *
140
+ * `typia.protobuf.assertDecode()` is a combination function of {@link decode} and
141
+ * {@link assert} function. Therefore, it decodes a binary data of Protocol Buffer to
142
+ * a TypeScript instance, and performs type assertion process. If decoded value is
143
+ * following the type `T`, it returns the decoded value. Otherwise, it throws
144
+ * {@link TypeGuardError} instead.
145
+ *
146
+ * However, note that, this validation is not always safe. It just performs additional
147
+ * type assertion like `number & Minimum<7>` or `string & Format<"uuid">` cases,
148
+ * that are represented by [custom tags](https://typia.io/docs/validators/tags).
149
+ * Therefore, when using `typia.protobuf.assertDecode<T>()` function, you have to
150
+ * ensure the type safety by yourself.
151
+ *
152
+ * In such type safety reason, I recommend you to use type safe encode functions.
153
+ *
154
+ * - {@link assertEncode}
155
+ * - {@link isEncode}
156
+ * - {@link validateEncode}
157
+ *
158
+ * @template T Expected type of decoded value
159
+ * @param input Protobuf Buffer binary data
160
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
161
+ * @returns Decoded value
162
+ *
163
+ * @author Jeongho Nam - https://github.com/samchon
164
+ */
165
+ export function assertDecode(
166
+ input: Uint8Array,
167
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
168
+ ): never;
169
+
170
+ /**
171
+ * Protocol Buffer Decoder wity type assertion, but not safe.
172
+ *
173
+ * `typia.protobuf.assertDecode()` is a combination function of {@link decode} and
174
+ * {@link assert} function. Therefore, it decodes a binary data of Protocol Buffer to
175
+ * a TypeScript instance, and performs type assertion process. If decoded value is
176
+ * following the type `T`, it returns the decoded value. Otherwise, it throws
177
+ * {@link TypeGuardError} instead.
178
+ *
179
+ * However, note that, this validation is not always safe. It just performs additional
180
+ * type assertion like `number & Minimum<7>` or `string & Format<"uuid">` cases,
181
+ * that are represented by [custom tags](https://typia.io/docs/validators/tags).
182
+ * Therefore, when using `typia.protobuf.assertDecode<T>()` function, you have to
183
+ * ensure the type safety by yourself.
184
+ *
185
+ * In such type safety reason, I recommend you to use type safe encode functions.
186
+ *
187
+ * - {@link assertEncode}
188
+ * - {@link isEncode}
189
+ * - {@link validateEncode}
190
+ *
191
+ * @template T Expected type of decoded value
192
+ * @param input Protobuf Buffer binary data
193
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
194
+ * @returns Decoded value
195
+ *
196
+ * @author Jeongho Nam - https://github.com/samchon
197
+ */
198
+ export function assertDecode<T>(
199
+ input: Uint8Array,
200
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
201
+ ): Resolved<T>;
202
+
203
+ /**
204
+ * @internal
205
+ */
206
+ export function assertDecode(): never {
207
+ halt("assertDecode");
208
+ }
209
+
210
+ /**
211
+ * > You must configure the generic argument `T`.
212
+ *
213
+ * Protocol Buffer Decoder wity type checking, but not safe.
214
+ *
215
+ * `typia.protobuf.isDecode()` is a combination function of {@link decode} and
216
+ * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to
217
+ * a TypeScript instance, and performs type checking process. If decoded value is
218
+ * following the type `T`, it returns the decoded value. Otherwise, it returns
219
+ * `null` value instead.
220
+ *
221
+ * However, note that, this validation is not always safe. It just performs additional
222
+ * type checking like `number & Minimum<7>` or `string & Format<"uuid">` cases,
223
+ * that are represented by [custom tags](https://typia.io/docs/validators/tags).
224
+ * Therefore, when using `typia.protobuf.isDecode<T>()` function, you have to
225
+ * ensure the type safety by yourself.
226
+ *
227
+ * In such type safety reason, I recommend you to use type safe encode functions.
228
+ *
229
+ * - {@link assertEncode}
230
+ * - {@link isEncode}
231
+ * - {@link validateEncode}
232
+ *
233
+ * @template T Expected type of decoded value
234
+ * @param input Protobuf Buffer binary data
235
+ * @returns Decoded value
236
+ *
237
+ * @author Jeongho Nam - https://github.com/samchon
238
+ */
239
+ export function isDecode(input: Uint8Array): never;
240
+
241
+ /**
242
+ * Protocol Buffer Decoder wity type checking, but not safe.
243
+ *
244
+ * `typia.protobuf.isDecode()` is a combination function of {@link decode} and
245
+ * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to
246
+ * a TypeScript instance, and performs type checking process. If decoded value is
247
+ * following the type `T`, it returns the decoded value. Otherwise, it returns
248
+ * `null` value instead.
249
+ *
250
+ * However, note that, this validation is not always safe. It just performs additional
251
+ * type checking like `number & Minimum<7>` or `string & Format<"uuid">` cases,
252
+ * that are represented by [custom tags](https://typia.io/docs/validators/tags).
253
+ * Therefore, when using `typia.protobuf.isDecode<T>()` function, you have to
254
+ * ensure the type safety by yourself.
255
+ *
256
+ * In such type safety reason, I recommend you to use type safe encode functions.
257
+ *
258
+ * - {@link assertEncode}
259
+ * - {@link isEncode}
260
+ * - {@link validateEncode}
261
+ *
262
+ * @template T Expected type of decoded value
263
+ * @param input Protobuf Buffer binary data
264
+ * @returns Decoded value
265
+ *
266
+ * @author Jeongho Nam - https://github.com/samchon
267
+ */
268
+ export function isDecode<T>(input: Uint8Array): Resolved<T> | null;
269
+
270
+ /**
271
+ * @internal
272
+ */
273
+ export function isDecode(): never {
274
+ halt("isDecode");
275
+ }
276
+
277
+ /**
278
+ * > You must configure the generic argument `T`.
279
+ *
280
+ * Protocol Buffer Decoder wity type validation, but not safe.
281
+ *
282
+ * `typia.protobuf.validateDecode()` is a combination function of {@link decode} and
283
+ * {@link validate} function. Therefore, it decodes a binary data of Protocol Buffer to
284
+ * a TypeScript instance, and performs type validation process. If decoded value is
285
+ * following the type `T`, it returns the decoded value with
286
+ * {@link IValidation.ISuccess} typed instance. Otherwise, it returns
287
+ * {@link IValidation.IFailure} value instead with detailed error reasons.
288
+ *
289
+ * However, note that, this validation is not always safe. It just performs additional
290
+ * type validation like `number & Minimum<7>` or `string & Format<"uuid">` cases,
291
+ * that are represented by [custom tags](https://typia.io/docs/validators/tags).
292
+ * Therefore, when using `typia.protobuf.validateDecode<T>()` function, you have to
293
+ * ensure the type safety by yourself.
294
+ *
295
+ * In such type safety reason, I recommend you to use type safe encode functions.
296
+ *
297
+ * - {@link assertEncode}
298
+ * - {@link isEncode}
299
+ * - {@link validateEncode}
300
+ *
301
+ * @template T Expected type of decoded value
302
+ * @param input Protobuf Buffer binary data
303
+ * @returns Decoded value
304
+ *
305
+ * @author Jeongho Nam - https://github.com/samchon
306
+ */
307
+ export function validateDecode(input: Uint8Array): never;
308
+
309
+ /**
310
+ * Protocol Buffer Decoder wity type validation, but not safe.
311
+ *
312
+ * `typia.protobuf.validateDecode()` is a combination function of {@link decode} and
313
+ * {@link validate} function. Therefore, it decodes a binary data of Protocol Buffer to
314
+ * a TypeScript instance, and performs type validation process. If decoded value is
315
+ * following the type `T`, it returns the decoded value with
316
+ * {@link IValidation.ISuccess} typed instance. Otherwise, it returns
317
+ * {@link IValidation.IFailure} value instead with detailed error reasons.
318
+ *
319
+ * However, note that, this validation is not always safe. It just performs additional
320
+ * type validation like `number & Minimum<7>` or `string & Format<"uuid">` cases,
321
+ * that are represented by [custom tags](https://typia.io/docs/validators/tags).
322
+ * Therefore, when using `typia.protobuf.validateDecode<T>()` function, you have to
323
+ * ensure the type safety by yourself.
324
+ *
325
+ * In such type safety reason, I recommend you to use type safe encode functions.
326
+ *
327
+ * - {@link assertEncode}
328
+ * - {@link isEncode}
329
+ * - {@link validateEncode}
330
+ *
331
+ * @template T Expected type of decoded value
332
+ * @param input Protobuf Buffer binary data
333
+ * @returns Decoded value
334
+ *
335
+ * @author Jeongho Nam - https://github.com/samchon
336
+ */
337
+ export function validateDecode<T>(input: Uint8Array): IValidation<Resolved<T>>;
338
+
339
+ /**
340
+ * @internal
341
+ */
342
+ export function validateDecode(): never {
343
+ halt("validateDecode");
344
+ }
345
+
346
+ /* -----------------------------------------------------------
347
+ ENCODE
348
+ ----------------------------------------------------------- */
349
+ /**
350
+ * Protocol Buffer Encoder.
351
+ *
352
+ * Converts an input value to a binary data of Protocol Buffer format.
353
+ *
354
+ * For reference, this `typia.protobuf.encode()` does not validate the `input` value.
355
+ * It just believes that the `input` value is valid and converts it to a binary data
356
+ * directly. Therefore, if you can't ensure the `input` value type, it would better to
357
+ * call one of below functions instead.
358
+ *
359
+ * - {@link assertEncode}
360
+ * - {@link isEncode}
361
+ * - {@link validateEncode}
362
+ *
363
+ * By the way, you know what? Expression power of Protocol Buffer is not enough strong
364
+ * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
365
+ * type that is not compatible with Protocol Buffer, this function would throw
366
+ * compilation errors.
367
+ *
368
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
369
+ *
370
+ * @template T Type of the value input
371
+ * @param input A value to encode
372
+ * @returns Encoded binary data
373
+ *
374
+ * @author Jeongho Nam - https://github.com/samchon
375
+ */
376
+ export function encode<T>(input: T): Uint8Array;
377
+
378
+ /**
379
+ * @internal
380
+ */
381
+ export function encode(): never {
382
+ halt("encode");
383
+ }
384
+
385
+ /**
386
+ * Protocol Buffer Encoder with type assertion.
387
+ *
388
+ * `typia.protobuf.assertEncode()` is a combination function of {@link assert} and
389
+ * {@link encode}.
390
+ *
391
+ * Therefore, it converts an `input` value to a binary data of
392
+ * Protocol Buffer, with type assertion. If `input` value is not valid, it throws
393
+ * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,
394
+ * Protocol Buffer binary data would be returned.
395
+ *
396
+ * If you can trust `input` value, or want to perform other type of validation, use
397
+ * below functions instead.
398
+ *
399
+ * - {@link encode}
400
+ * - {@link isEncode}
401
+ * - {@link validateEncode}
402
+ *
403
+ * By the way, you know what? Expression power of Protocol Buffer is not enough strong
404
+ * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
405
+ * type that is not compatible with Protocol Buffer, this function would throw
406
+ * compilation errors.
407
+ *
408
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
409
+ *
410
+ * @template T Type of the value input
411
+ * @param input A value to encode
412
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
413
+ * @returns Encoded binary data
414
+ *
415
+ * @author Jeongho Nam - https://github.com/samchon
416
+ */
417
+ export function assertEncode<T>(
418
+ input: T,
419
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
420
+ ): Uint8Array;
421
+
422
+ /**
423
+ * Protocol Buffer Encoder with type assertion.
424
+ *
425
+ * `typia.protobuf.assertEncode()` is a combination function of {@link assert} and
426
+ * {@link encode}.
427
+ *
428
+ * Therefore, it converts an `input` value to a binary data of
429
+ * Protocol Buffer, with type assertion. If `input` value is not valid, it throws
430
+ * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,
431
+ * Protocol Buffer binary data would be returned.
432
+ *
433
+ * If you can trust `input` value, or want to perform other type of validation, use
434
+ * below functions instead.
435
+ *
436
+ * - {@link encode}
437
+ * - {@link isEncode}
438
+ * - {@link validateEncode}
439
+ *
440
+ * By the way, you know what? Expression power of Protocol Buffer is not enough strong
441
+ * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
442
+ * type that is not compatible with Protocol Buffer, this function would throw
443
+ * compilation errors.
444
+ *
445
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
446
+ *
447
+ * @template T Type of the value input
448
+ * @param input A value to encode
449
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
450
+ * @returns Encoded binary data
451
+ *
452
+ * @author Jeongho Nam - https://github.com/samchon
453
+ */
454
+ export function assertEncode<T>(
455
+ input: unknown,
456
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
457
+ ): Uint8Array;
458
+
459
+ /**
460
+ * @internal
461
+ */
462
+ export function assertEncode(): never {
463
+ halt("assertEncode");
464
+ }
465
+
466
+ /**
467
+ * Protocol Buffer Encoder with type checking.
468
+ *
469
+ * `typia.protobuf.isEncode()` is a combination function of {@link is} and
470
+ * {@link encode}.
471
+ *
472
+ * Therefore, it converts an `input` value to a binary data of
473
+ * Protocol Buffer, with type checking. If `input` value is not valid, it returns
474
+ * `null` value. Otherwise, there's no problem on the `input` value, Protocol
475
+ * Buffer binary data would be returned.
476
+ *
477
+ * If you can trust `input` value, or want to perform other type of validation, use
478
+ * below functions instead.
479
+ *
480
+ * - {@link encode}
481
+ * - {@link assertEncode}
482
+ * - {@link validateEncode}
483
+ *
484
+ * By the way, you know what? Expression power of Protocol Buffer is not enough strong
485
+ * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
486
+ * type that is not compatible with Protocol Buffer, this function would throw
487
+ * compilation errors.
488
+ *
489
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
490
+ *
491
+ * @template T Type of the value input
492
+ * @param input A value to encode
493
+ * @returns Encoded binary data
494
+ *
495
+ * @author Jeongho Nam - https://github.com/samchon
496
+ */
497
+ export function isEncode<T>(input: T): Uint8Array | null;
498
+
499
+ /**
500
+ * Protocol Buffer Encoder with type checking.
501
+ *
502
+ * `typia.protobuf.isEncode()` is a combination function of {@link is} and
503
+ * {@link encode}.
504
+ *
505
+ * Therefore, it converts an `input` value to a binary data of
506
+ * Protocol Buffer, with type checking. If `input` value is not valid, it returns
507
+ * `null` value. Otherwise, there's no problem on the `input` value, Protocol
508
+ * Buffer binary data would be returned.
509
+ *
510
+ * If you can trust `input` value, or want to perform other type of validation, use
511
+ * below functions instead.
512
+ *
513
+ * - {@link encode}
514
+ * - {@link assertEncode}
515
+ * - {@link validateEncode}
516
+ *
517
+ * By the way, you know what? Expression power of Protocol Buffer is not enough strong
518
+ * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
519
+ * type that is not compatible with Protocol Buffer, this function would throw
520
+ * compilation errors.
521
+ *
522
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
523
+ *
524
+ * @template T Type of the value input
525
+ * @param input A value to encode
526
+ * @returns Encoded binary data
527
+ *
528
+ * @author Jeongho Nam - https://github.com/samchon
529
+ */
530
+ export function isEncode<T>(input: unknown): Uint8Array | null;
531
+
532
+ /**
533
+ * @internal
534
+ */
535
+ export function isEncode(): never {
536
+ halt("isEncode");
537
+ }
538
+
539
+ /**
540
+ * Protocol Buffer Encoder with type validation.
541
+ *
542
+ * `typia.protobuf.validateEncode()` is a combination function of
543
+ * {@link validation} and {@link encode}.
544
+ *
545
+ * Therefore, it converts an `input` value to a binary data of
546
+ * Protocol Buffer, with type validation. If `input` value is not valid, it returns
547
+ * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
548
+ * no problem on the `input` value, Protocol Buffer binary data would be stored in
549
+ * `data` property of the output {@link IValidation.ISuccess} instance.
550
+ *
551
+ * If you can trust `input` value, or want to perform other type of validation, use
552
+ * below functions instead.
553
+ *
554
+ * - {@link encode}
555
+ * - {@link assertEncode}
556
+ * - {@link isEncode}
557
+ *
558
+ * By the way, you know what? Expression power of Protocol Buffer is not enough strong
559
+ * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
560
+ * type that is not compatible with Protocol Buffer, this function would throw
561
+ * compilation errors.
562
+ *
563
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
564
+ *
565
+ * @template T Type of the value input
566
+ * @param input A value to encode
567
+ * @returns Encoded binary data
568
+ *
569
+ * @author Jeongho Nam - https://github.com/samchon
570
+ */
571
+ export function validateEncode<T>(input: T): IValidation<Uint8Array>;
572
+
573
+ /**
574
+ * Protocol Buffer Encoder with type validation.
575
+ *
576
+ * `typia.protobuf.validateEncode()` is a combination function of
577
+ * {@link validation} and {@link encode}.
578
+ *
579
+ * Therefore, it converts an `input` value to a binary data of
580
+ * Protocol Buffer, with type validation. If `input` value is not valid, it returns
581
+ * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
582
+ * no problem on the `input` value, Protocol Buffer binary data would be stored in
583
+ * `data` property of the output {@link IValidation.ISuccess} instance.
584
+ *
585
+ * If you can trust `input` value, or want to perform other type of validation, use
586
+ * below functions instead.
587
+ *
588
+ * - {@link encode}
589
+ * - {@link assertEncode}
590
+ * - {@link isEncode}
591
+ *
592
+ * By the way, you know what? Expression power of Protocol Buffer is not enough strong
593
+ * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript
594
+ * type that is not compatible with Protocol Buffer, this function would throw
595
+ * compilation errors.
596
+ *
597
+ * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)
598
+ *
599
+ * @template T Type of the value input
600
+ * @param input A value to encode
601
+ * @returns Encoded binary data
602
+ *
603
+ * @author Jeongho Nam - https://github.com/samchon
604
+ */
605
+ export function validateEncode<T>(input: unknown): IValidation<Uint8Array>;
606
+
607
+ /**
608
+ * @internal
609
+ */
610
+ export function validateEncode(): never {
611
+ halt("validateEncode");
612
+ }
613
+
614
+ /* -----------------------------------------------------------
615
+ FACTORY FUNCTIONS
616
+ ----------------------------------------------------------- */
617
+ /**
618
+ * Creates a reusable {@link decode} function.
619
+ *
620
+ * @danger You must configure the generic argument `T`
621
+ * @returns Nothing until you configure the generic argument `T`
622
+ * @throws compile error
623
+ *
624
+ * @author Jeongho Nam - https://github.com/samchon
625
+ */
626
+ export function createDecode(): never;
627
+
628
+ /**
629
+ * Creates a reusable {@link decode} function.
630
+ *
631
+ * @template T Target type
632
+ * @returns A reusable `decode` function
633
+ *
634
+ * @author Jeongho Nam - https://github.com/samchon
635
+ */
636
+ export function createDecode<T>(): (input: Uint8Array) => Resolved<T>;
637
+
638
+ /**
639
+ * @internal
640
+ */
641
+ export function createDecode<T>(): (input: Uint8Array) => Resolved<T> {
642
+ halt("createDecode");
643
+ }
644
+
645
+ /**
646
+ * Creates a reusable {@link isDecode} function.
647
+ *
648
+ * @danger You must configure the generic argument `T`
649
+ * @returns Nothing until you configure the generic argument `T`
650
+ * @throws compile error
651
+ *
652
+ * @author Jeongho Nam - https://github.com/samchon
653
+ */
654
+ export function createIsDecode(): never;
655
+
656
+ /**
657
+ * Creates a reusable {@link isDecode} function.
658
+ *
659
+ * @template T Target type
660
+ * @returns A reusable `isDecode` function
661
+ *
662
+ * @author Jeongho Nam - https://github.com/samchon
663
+ */
664
+ export function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null;
665
+
666
+ /**
667
+ * @internal
668
+ */
669
+ export function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null {
670
+ halt("createIsDecode");
671
+ }
672
+
673
+ /**
674
+ * Creates a reusable {@link assertDecode} function.
675
+ *
676
+ * @danger You must configure the generic argument `T`
677
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
678
+ * @returns Nothing until you configure the generic argument `T`
679
+ * @throws compile error
680
+ *
681
+ * @author Jeongho Nam - https://github.com/samchon
682
+ */
683
+ export function createAssertDecode(
684
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
685
+ ): never;
686
+
687
+ /**
688
+ * Creates a reusable {@link assertDecode} function.
689
+ *
690
+ * @template T Target type
691
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
692
+ * @returns A reusable `assertDecode` function
693
+ *
694
+ * @author Jeongho Nam - https://github.com/samchon
695
+ */
696
+ export function createAssertDecode<T>(
697
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
698
+ ): (input: Uint8Array) => Resolved<T>;
699
+
700
+ /**
701
+ * @internal
702
+ */
703
+ export function createAssertDecode<T>(): (input: Uint8Array) => Resolved<T> {
704
+ halt("createAssertDecode");
705
+ }
706
+
707
+ /**
708
+ * Creates a reusable {@link validateDecode} function.
709
+ *
710
+ * @danger You must configure the generic argument `T`
711
+ * @returns Nothing until you configure the generic argument `T`
712
+ * @throws compile error
713
+ *
714
+ * @author Jeongho Nam - https://github.com/samchon
715
+ */
716
+ export function createValidateDecode(): never;
717
+
718
+ /**
719
+ * Creates a reusable {@link validateDecode} function.
720
+ *
721
+ * @template T Target type
722
+ * @returns A reusable `validateDecode` function
723
+ *
724
+ * @author Jeongho Nam - https://github.com/samchon
725
+ */
726
+ export function createValidateDecode<T>(): (
727
+ input: Uint8Array,
728
+ ) => IValidation<Resolved<T>>;
729
+
730
+ /**
731
+ * @internal
732
+ */
733
+ export function createValidateDecode<T>(): (
734
+ input: Uint8Array,
735
+ ) => IValidation<Resolved<T>> {
736
+ halt("createValidateDecode");
737
+ }
738
+
739
+ /**
740
+ * Creates a reusable {@link encode} function.
741
+ *
742
+ * @danger You must configure the generic argument `T`
743
+ * @returns Nothing until you configure the generic argument `T`
744
+ * @throws compile error
745
+ *
746
+ * @author Jeongho Nam - https://github.com/samchon
747
+ */
748
+ export function createEncode(): never;
749
+
750
+ /**
751
+ * Creates a reusable {@link encode} function.
752
+ *
753
+ * @template T Target type
754
+ * @returns A reusable `encode` function
755
+ *
756
+ * @author Jeongho Nam - https://github.com/samchon
757
+ */
758
+ export function createEncode<T>(): (input: T) => Uint8Array;
759
+
760
+ /**
761
+ * @internal
762
+ */
763
+ export function createEncode<T>(): (input: T) => Uint8Array {
764
+ halt("createEncode");
765
+ }
766
+
767
+ /**
768
+ * Creates a reusable {@link isEncode} function.
769
+ *
770
+ * @danger You must configure the generic argument `T`
771
+ * @returns Nothing until you configure the generic argument `T`
772
+ * @throws compile error
773
+ *
774
+ * @author Jeongho Nam - https://github.com/samchon
775
+ */
776
+ export function createIsEncode(): never;
777
+
778
+ /**
779
+ * Creates a reusable {@link isEncode} function.
780
+ *
781
+ * @template T Target type
782
+ * @returns A reusable `isEncode` function
783
+ *
784
+ * @author Jeongho Nam - https://github.com/samchon
785
+ */
786
+ export function createIsEncode<T>(): (input: T) => Uint8Array | null;
787
+
788
+ /**
789
+ * @internal
790
+ */
791
+ export function createIsEncode<T>(): (input: T) => Uint8Array | null {
792
+ halt("createIsEncode");
793
+ }
794
+
795
+ /**
796
+ * Creates a reusable {@link assertEncode} function.
797
+ *
798
+ * @danger You must configure the generic argument `T`
799
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
800
+ * @returns Nothing until you configure the generic argument `T`
801
+ * @throws compile error
802
+ *
803
+ * @author Jeongho Nam - https://github.com/samchon
804
+ */
805
+ export function createAssertEncode(
806
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
807
+ ): never;
808
+
809
+ /**
810
+ * Creates a reusable {@link assertEncode} function.
811
+ *
812
+ * @template T Target type
813
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
814
+ * @returns A reusable `assertEncode` function
815
+ *
816
+ * @author Jeongho Nam - https://github.com/samchon
817
+ */
818
+ export function createAssertEncode<T>(
819
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
820
+ ): (input: T) => Uint8Array;
821
+
822
+ /**
823
+ * @internal
824
+ */
825
+ export function createAssertEncode<T>(): (input: T) => Uint8Array {
826
+ halt("createAssertEncode");
827
+ }
828
+
829
+ /**
830
+ * Creates a reusable {@link validateEncode} function.
831
+ *
832
+ * @danger You must configure the generic argument `T`
833
+ * @returns Nothing until you configure the generic argument `T`
834
+ * @throws compile error
835
+ *
836
+ * @author Jeongho Nam - https://github.com/samchon
837
+ */
838
+ export function createValidateEncode(): never;
839
+
840
+ /**
841
+ * Creates a reusable {@link validateEncode} function.
842
+ *
843
+ * @template T Target type
844
+ * @returns A reusable `validateEncode` function
845
+ *
846
+ * @author Jeongho Nam - https://github.com/samchon
847
+ */
848
+ export function createValidateEncode<T>(): (
849
+ input: T,
850
+ ) => IValidation<Uint8Array>;
851
+
852
+ /**
853
+ * @internal
854
+ */
855
+ export function createValidateEncode<T>(): (
856
+ input: T,
857
+ ) => IValidation<Uint8Array> {
858
+ halt("createValidateEncode");
859
+ }
860
+
861
+ /**
862
+ * @internal
863
+ */
864
+ function halt(name: string): never {
865
+ throw new Error(
866
+ `Error on typia.protobuf.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`,
867
+ );
868
+ }