typia 7.6.0 → 7.6.1-dev.20250203

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 (578) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +150 -149
  3. package/lib/IReadableURLSearchParams.d.ts +1 -1
  4. package/lib/TypeGuardError.mjs +26 -0
  5. package/lib/TypeGuardError.mjs.map +1 -0
  6. package/lib/executable/setup/PluginConfigurator.js +3 -3
  7. package/lib/executable/typia.js +15 -15
  8. package/lib/factories/MetadataTypeTagFactory.js +1 -1
  9. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  10. package/lib/factories/ProtobufFactory.js +4 -4
  11. package/lib/factories/ProtobufFactory.js.map +1 -1
  12. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +1 -1
  13. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  14. package/lib/functional.mjs +120 -0
  15. package/lib/functional.mjs.map +1 -0
  16. package/lib/http.d.ts +16 -16
  17. package/lib/http.mjs +165 -0
  18. package/lib/http.mjs.map +1 -0
  19. package/lib/index.mjs +27 -1142
  20. package/lib/index.mjs.map +1 -1
  21. package/lib/internal/_isUniqueItems.js +1 -1
  22. package/lib/json.d.ts +5 -5
  23. package/lib/json.mjs +105 -0
  24. package/lib/json.mjs.map +1 -0
  25. package/lib/llm.d.ts +8 -8
  26. package/lib/llm.mjs +33 -0
  27. package/lib/llm.mjs.map +1 -0
  28. package/lib/misc.d.ts +10 -10
  29. package/lib/misc.mjs +111 -0
  30. package/lib/misc.mjs.map +1 -0
  31. package/lib/module.d.ts +5 -5
  32. package/lib/module.mjs +139 -0
  33. package/lib/module.mjs.map +1 -0
  34. package/lib/notations.mjs +153 -0
  35. package/lib/notations.mjs.map +1 -0
  36. package/lib/programmers/FeatureProgrammer.d.ts +3 -3
  37. package/lib/programmers/TypiaProgrammer.js +1 -1
  38. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  39. package/lib/programmers/helpers/UnionExplorer.js +1 -1
  40. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  41. package/lib/programmers/helpers/UnionPredicator.d.ts +1 -1
  42. package/lib/programmers/helpers/UnionPredicator.js +1 -1
  43. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  44. package/lib/programmers/json/JsonApplicationProgrammer.js +1 -1
  45. package/lib/programmers/llm/LlmApplicationProgrammer.js +2 -2
  46. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  47. package/lib/programmers/llm/LlmParametersProgrammer.js +1 -1
  48. package/lib/programmers/llm/LlmParametersProgrammer.js.map +1 -1
  49. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +1 -1
  50. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  51. package/lib/protobuf.d.ts +9 -9
  52. package/lib/protobuf.mjs +111 -0
  53. package/lib/protobuf.mjs.map +1 -0
  54. package/lib/reflect.mjs +18 -0
  55. package/lib/reflect.mjs.map +1 -0
  56. package/lib/schemas/llm/ILlmApplicationOfValidate.d.ts +2 -2
  57. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs +6 -0
  58. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs.map +1 -0
  59. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs +6 -0
  60. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs.map +1 -0
  61. package/lib/tags/TagBase.d.ts +1 -1
  62. package/lib/tags/index.mjs +2 -0
  63. package/lib/tags/index.mjs.map +1 -0
  64. package/lib/transformers/ImportTransformer.js +3 -3
  65. package/lib/transformers/ImportTransformer.js.map +1 -1
  66. package/lib/transformers/features/json/JsonValidateParseTransformer.js +1 -1
  67. package/lib/transformers/features/json/JsonValidateParseTransformer.js.map +1 -1
  68. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js +1 -1
  69. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js.map +1 -1
  70. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js +1 -1
  71. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js.map +1 -1
  72. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js +1 -1
  73. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js.map +1 -1
  74. package/lib/transformers/features/reflect/ReflectNameTransformer.js +1 -1
  75. package/package.json +11 -9
  76. package/src/AssertionGuard.ts +1 -1
  77. package/src/CamelCase.ts +75 -75
  78. package/src/IRandomGenerator.ts +49 -49
  79. package/src/IReadableURLSearchParams.ts +9 -9
  80. package/src/IValidation.ts +21 -21
  81. package/src/PascalCase.ts +71 -71
  82. package/src/Primitive.ts +92 -92
  83. package/src/Resolved.ts +74 -74
  84. package/src/SnakeCase.ts +126 -126
  85. package/src/TypeGuardError.ts +37 -37
  86. package/src/executable/TypiaGenerateWizard.ts +83 -83
  87. package/src/executable/TypiaPatchWizard.ts +45 -45
  88. package/src/executable/TypiaSetupWizard.ts +179 -179
  89. package/src/executable/setup/ArgumentParser.ts +42 -42
  90. package/src/executable/setup/CommandExecutor.ts +8 -8
  91. package/src/executable/setup/FileRetriever.ts +19 -19
  92. package/src/executable/setup/PackageManager.ts +87 -87
  93. package/src/executable/setup/PluginConfigurator.ts +69 -69
  94. package/src/executable/typia.ts +55 -55
  95. package/src/factories/CommentFactory.ts +79 -79
  96. package/src/factories/ExpressionFactory.ts +216 -216
  97. package/src/factories/IdentifierFactory.ts +89 -89
  98. package/src/factories/JsonMetadataFactory.ts +83 -83
  99. package/src/factories/LiteralFactory.ts +52 -52
  100. package/src/factories/MetadataCollection.ts +278 -278
  101. package/src/factories/MetadataCommentTagFactory.ts +650 -650
  102. package/src/factories/MetadataFactory.ts +404 -404
  103. package/src/factories/MetadataTypeTagFactory.ts +411 -411
  104. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  105. package/src/factories/NumericRangeFactory.ts +72 -72
  106. package/src/factories/ProtobufFactory.ts +875 -875
  107. package/src/factories/StatementFactory.ts +90 -90
  108. package/src/factories/TemplateFactory.ts +64 -64
  109. package/src/factories/TypeFactory.ts +140 -140
  110. package/src/factories/ValueFactory.ts +12 -12
  111. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  112. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  113. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  114. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  115. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  116. package/src/factories/internal/metadata/emplace_metadata_object.ts +208 -208
  117. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  118. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  119. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  120. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  121. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  122. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  123. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  124. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  125. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  126. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  127. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  128. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  129. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +213 -213
  130. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  131. package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
  132. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  133. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  134. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  135. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  136. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  137. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  138. package/src/functional.ts +750 -750
  139. package/src/http.ts +1047 -1047
  140. package/src/index.ts +4 -4
  141. package/src/internal/_IProtobufWriter.ts +18 -18
  142. package/src/internal/_ProtobufReader.ts +194 -194
  143. package/src/internal/_ProtobufSizer.ts +145 -145
  144. package/src/internal/_ProtobufWriter.ts +145 -145
  145. package/src/internal/_accessExpressionAsString.ts +46 -46
  146. package/src/internal/_assertGuard.ts +13 -13
  147. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  148. package/src/internal/_httpFormDataReadArray.ts +4 -4
  149. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  150. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  151. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  152. package/src/internal/_httpFormDataReadFile.ts +10 -10
  153. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  154. package/src/internal/_httpFormDataReadString.ts +10 -10
  155. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  156. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  157. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  158. package/src/internal/_httpParameterReadBigint.ts +10 -10
  159. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  160. package/src/internal/_httpParameterReadNumber.ts +7 -7
  161. package/src/internal/_httpParameterReadString.ts +2 -2
  162. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  163. package/src/internal/_httpQueryReadArray.ts +4 -4
  164. package/src/internal/_httpQueryReadBigint.ts +12 -12
  165. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  166. package/src/internal/_httpQueryReadNumber.ts +9 -9
  167. package/src/internal/_httpQueryReadString.ts +4 -4
  168. package/src/internal/_isBetween.ts +2 -2
  169. package/src/internal/_isBigintString.ts +8 -8
  170. package/src/internal/_isFormatByte.ts +7 -7
  171. package/src/internal/_isFormatDate.ts +3 -3
  172. package/src/internal/_isFormatDateTime.ts +4 -4
  173. package/src/internal/_isFormatDuration.ts +4 -4
  174. package/src/internal/_isFormatEmail.ts +4 -4
  175. package/src/internal/_isFormatHostname.ts +4 -4
  176. package/src/internal/_isFormatIdnEmail.ts +4 -4
  177. package/src/internal/_isFormatIdnHostname.ts +4 -4
  178. package/src/internal/_isFormatIpv4.ts +4 -4
  179. package/src/internal/_isFormatIpv6.ts +4 -4
  180. package/src/internal/_isFormatIri.ts +3 -3
  181. package/src/internal/_isFormatIriReference.ts +4 -4
  182. package/src/internal/_isFormatJsonPointer.ts +3 -3
  183. package/src/internal/_isFormatPassword.ts +1 -1
  184. package/src/internal/_isFormatRegex.ts +8 -8
  185. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  186. package/src/internal/_isFormatTime.ts +4 -4
  187. package/src/internal/_isFormatUri.ts +6 -6
  188. package/src/internal/_isFormatUriReference.ts +5 -5
  189. package/src/internal/_isFormatUriTemplate.ts +4 -4
  190. package/src/internal/_isFormatUrl.ts +4 -4
  191. package/src/internal/_isFormatUuid.ts +3 -3
  192. package/src/internal/_isTypeFloat.ts +5 -5
  193. package/src/internal/_isTypeInt32.ts +5 -5
  194. package/src/internal/_isTypeInt64.ts +5 -5
  195. package/src/internal/_isTypeUint32.ts +5 -5
  196. package/src/internal/_isTypeUint64.ts +5 -5
  197. package/src/internal/_isUniqueItems.ts +159 -159
  198. package/src/internal/_jsonStringifyNumber.ts +12 -12
  199. package/src/internal/_jsonStringifyRest.ts +3 -3
  200. package/src/internal/_jsonStringifyString.ts +42 -42
  201. package/src/internal/_jsonStringifyTail.ts +2 -2
  202. package/src/internal/_llmApplicationFinalize.ts +20 -20
  203. package/src/internal/_miscCloneAny.ts +46 -46
  204. package/src/internal/_notationAny.ts +37 -37
  205. package/src/internal/_notationCamel.ts +13 -13
  206. package/src/internal/_notationPascal.ts +8 -8
  207. package/src/internal/_notationSnake.ts +43 -43
  208. package/src/internal/_randomArray.ts +21 -21
  209. package/src/internal/_randomBigint.ts +6 -6
  210. package/src/internal/_randomBoolean.ts +1 -1
  211. package/src/internal/_randomFormatByte.ts +3 -3
  212. package/src/internal/_randomFormatDate.ts +18 -18
  213. package/src/internal/_randomFormatDatetime.ts +16 -16
  214. package/src/internal/_randomFormatDuration.ts +27 -27
  215. package/src/internal/_randomFormatEmail.ts +11 -11
  216. package/src/internal/_randomFormatHostname.ts +6 -6
  217. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  218. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  219. package/src/internal/_randomFormatIpv4.ts +11 -11
  220. package/src/internal/_randomFormatIpv6.ts +11 -11
  221. package/src/internal/_randomFormatIri.ts +3 -3
  222. package/src/internal/_randomFormatIriReference.ts +3 -3
  223. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  224. package/src/internal/_randomFormatPassword.ts +8 -8
  225. package/src/internal/_randomFormatRegex.ts +4 -4
  226. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  227. package/src/internal/_randomFormatTime.ts +14 -14
  228. package/src/internal/_randomFormatUri.ts +3 -3
  229. package/src/internal/_randomFormatUriReference.ts +3 -3
  230. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  231. package/src/internal/_randomFormatUrl.ts +11 -11
  232. package/src/internal/_randomFormatUuid.ts +6 -6
  233. package/src/internal/_randomInteger.ts +47 -47
  234. package/src/internal/_randomNumber.ts +74 -74
  235. package/src/internal/_randomPattern.ts +10 -10
  236. package/src/internal/_randomPick.ts +9 -9
  237. package/src/internal/_randomString.ts +24 -24
  238. package/src/internal/_throwTypeGuardError.ts +5 -5
  239. package/src/internal/_validateReport.ts +13 -13
  240. package/src/internal/private/__notationCapitalize.ts +2 -2
  241. package/src/internal/private/__notationUnsnake.ts +24 -24
  242. package/src/json.ts +752 -752
  243. package/src/llm.ts +481 -481
  244. package/src/misc.ts +658 -658
  245. package/src/module.ts +937 -937
  246. package/src/notations.ts +827 -827
  247. package/src/programmers/AssertProgrammer.ts +454 -454
  248. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  249. package/src/programmers/FeatureProgrammer.ts +622 -622
  250. package/src/programmers/ImportProgrammer.ts +185 -185
  251. package/src/programmers/IsProgrammer.ts +273 -273
  252. package/src/programmers/RandomProgrammer.ts +1190 -1190
  253. package/src/programmers/TypiaProgrammer.ts +174 -174
  254. package/src/programmers/ValidateProgrammer.ts +439 -439
  255. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  256. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  257. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  258. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  259. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  260. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  261. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  262. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  263. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  264. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  265. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  266. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  267. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  268. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  269. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  270. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  271. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  272. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  273. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  274. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  275. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  276. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  277. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  278. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  279. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  280. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  281. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  282. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  283. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  284. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  285. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  286. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  287. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  288. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  289. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  290. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  291. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  292. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  293. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  294. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  295. package/src/programmers/internal/check_array_length.ts +47 -47
  296. package/src/programmers/internal/check_bigint.ts +50 -50
  297. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  298. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  299. package/src/programmers/internal/check_everything.ts +23 -23
  300. package/src/programmers/internal/check_native.ts +27 -27
  301. package/src/programmers/internal/check_number.ts +112 -112
  302. package/src/programmers/internal/check_object.ts +75 -75
  303. package/src/programmers/internal/check_string.ts +50 -50
  304. package/src/programmers/internal/check_template.ts +48 -48
  305. package/src/programmers/internal/check_union_array_like.ts +335 -335
  306. package/src/programmers/internal/decode_union_object.ts +116 -116
  307. package/src/programmers/internal/feature_object_entries.ts +61 -61
  308. package/src/programmers/internal/json_schema_alias.ts +47 -47
  309. package/src/programmers/internal/json_schema_array.ts +45 -45
  310. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  311. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  312. package/src/programmers/internal/json_schema_constant.ts +26 -26
  313. package/src/programmers/internal/json_schema_description.ts +12 -12
  314. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  315. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  316. package/src/programmers/internal/json_schema_native.ts +33 -33
  317. package/src/programmers/internal/json_schema_number.ts +15 -15
  318. package/src/programmers/internal/json_schema_object.ts +158 -158
  319. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  320. package/src/programmers/internal/json_schema_station.ts +182 -182
  321. package/src/programmers/internal/json_schema_string.ts +15 -15
  322. package/src/programmers/internal/json_schema_template.ts +55 -55
  323. package/src/programmers/internal/json_schema_title.ts +20 -20
  324. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  325. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  326. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  327. package/src/programmers/internal/prune_object_properties.ts +71 -71
  328. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  329. package/src/programmers/internal/stringify_native.ts +7 -7
  330. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  331. package/src/programmers/internal/template_to_pattern.ts +23 -23
  332. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  333. package/src/programmers/json/JsonApplicationProgrammer.ts +279 -279
  334. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  335. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  336. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  337. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  338. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  339. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  340. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  341. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  342. package/src/programmers/llm/LlmApplicationOfValidateProgrammer.ts +104 -104
  343. package/src/programmers/llm/LlmApplicationProgrammer.ts +327 -327
  344. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  345. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  346. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  347. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  348. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  349. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  350. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  351. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  352. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  353. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  354. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  355. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  356. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  357. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  358. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  359. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  360. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  361. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  362. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  363. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  364. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  365. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  366. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  367. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  368. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  369. package/src/protobuf.ts +868 -868
  370. package/src/reflect.ts +57 -57
  371. package/src/schemas/json/IJsonApplication.ts +73 -73
  372. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  373. package/src/schemas/json/__IJsonApplication.ts +63 -63
  374. package/src/schemas/llm/ILlmApplicationOfValidate.ts +55 -55
  375. package/src/schemas/llm/ILlmFunctionOfValidate.ts +39 -39
  376. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  377. package/src/schemas/metadata/IMetadata.ts +35 -35
  378. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  379. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  380. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  381. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  382. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  383. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  384. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  385. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  386. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  387. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  388. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  389. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  390. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  391. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  392. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  393. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  394. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  395. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  396. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  397. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  398. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  399. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  400. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  401. package/src/schemas/metadata/Metadata.ts +669 -669
  402. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  403. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  404. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  405. package/src/schemas/metadata/MetadataArray.ts +49 -49
  406. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  407. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  408. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  409. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  410. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  411. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  412. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  413. package/src/schemas/metadata/MetadataMap.ts +48 -48
  414. package/src/schemas/metadata/MetadataNative.ts +44 -44
  415. package/src/schemas/metadata/MetadataObject.ts +48 -48
  416. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  417. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  418. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  419. package/src/schemas/metadata/MetadataSet.ts +45 -45
  420. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  421. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  422. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  423. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  424. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  425. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  426. package/src/tags/Constant.ts +15 -15
  427. package/src/tags/ContentMediaType.ts +10 -10
  428. package/src/tags/Default.ts +22 -22
  429. package/src/tags/Example.ts +24 -24
  430. package/src/tags/Examples.ts +16 -16
  431. package/src/tags/ExclusiveMaximum.ts +25 -25
  432. package/src/tags/ExclusiveMinimum.ts +25 -25
  433. package/src/tags/Format.ts +50 -50
  434. package/src/tags/JsonSchemaPlugin.ts +8 -8
  435. package/src/tags/MaxItems.ts +12 -12
  436. package/src/tags/MaxLength.ts +12 -12
  437. package/src/tags/Maximum.ts +19 -19
  438. package/src/tags/MinItems.ts +12 -12
  439. package/src/tags/MinLength.ts +12 -12
  440. package/src/tags/Minimum.ts +19 -19
  441. package/src/tags/MultipleOf.ts +21 -21
  442. package/src/tags/Pattern.ts +31 -31
  443. package/src/tags/Sequence.ts +10 -10
  444. package/src/tags/TagBase.ts +82 -82
  445. package/src/tags/Type.ts +32 -32
  446. package/src/tags/UniqueItems.ts +14 -14
  447. package/src/tags/index.ts +21 -21
  448. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  449. package/src/transform.ts +35 -35
  450. package/src/transformers/CallExpressionTransformer.ts +547 -547
  451. package/src/transformers/FileTransformer.ts +136 -136
  452. package/src/transformers/IProgrammerProps.ts +11 -11
  453. package/src/transformers/ITransformOptions.ts +62 -62
  454. package/src/transformers/ITransformProps.ts +9 -9
  455. package/src/transformers/ITypiaContext.ts +18 -18
  456. package/src/transformers/ImportTransformer.ts +81 -81
  457. package/src/transformers/NodeTransformer.ts +17 -17
  458. package/src/transformers/TransformerError.ts +60 -60
  459. package/src/transformers/features/AssertTransformer.ts +24 -24
  460. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  461. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  462. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  463. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  464. package/src/transformers/features/IsTransformer.ts +18 -18
  465. package/src/transformers/features/RandomTransformer.ts +41 -41
  466. package/src/transformers/features/ValidateTransformer.ts +18 -18
  467. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  468. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  469. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  470. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  471. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  472. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  473. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  474. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  475. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  476. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  477. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  478. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  479. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  480. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  481. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  482. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  483. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  484. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  485. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  486. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  487. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  488. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  489. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  490. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  491. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  492. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  493. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  494. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  495. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  496. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  497. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  498. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  499. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  500. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  501. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  502. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  503. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  504. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  505. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  506. package/src/transformers/features/json/JsonSchemasTransformer.ts +143 -143
  507. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  508. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  509. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  510. package/src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts +121 -121
  511. package/src/transformers/features/llm/LlmApplicationTransformer.ts +118 -118
  512. package/src/transformers/features/llm/LlmParametersTransformer.ts +94 -94
  513. package/src/transformers/features/llm/LlmSchemaTransformer.ts +135 -135
  514. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  515. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  516. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  517. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  518. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  519. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  520. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  521. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  522. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  523. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  524. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  525. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  526. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  527. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  528. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  529. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  530. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  531. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  532. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  533. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  534. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  535. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  536. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  537. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  538. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  539. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  540. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  541. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  542. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  543. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  544. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  545. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  546. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  547. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  548. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  549. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  550. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  551. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  552. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  553. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  554. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  555. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  556. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  557. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  558. package/src/transformers/internal/GenericTransformer.ts +101 -101
  559. package/src/typings/Atomic.ts +13 -13
  560. package/src/typings/ClassProperties.ts +5 -5
  561. package/src/typings/Customizable.ts +5 -5
  562. package/src/typings/Equal.ts +18 -18
  563. package/src/typings/IsTuple.ts +9 -9
  564. package/src/typings/NativeClass.ts +23 -23
  565. package/src/typings/OmitNever.ts +3 -3
  566. package/src/typings/ProtobufAtomic.ts +19 -19
  567. package/src/typings/SpecialFields.ts +3 -3
  568. package/src/typings/ValidationPipe.ts +9 -9
  569. package/src/typings/ValueOf.ts +20 -20
  570. package/src/typings/Writable.ts +11 -11
  571. package/src/utils/ArrayUtil.ts +41 -41
  572. package/src/utils/Escaper.ts +50 -50
  573. package/src/utils/MapUtil.ts +14 -14
  574. package/src/utils/NamingConvention.ts +94 -94
  575. package/src/utils/PatternUtil.ts +29 -29
  576. package/src/utils/ProtobufNameEncoder.ts +32 -32
  577. package/src/utils/Singleton.ts +16 -16
  578. package/src/utils/StringUtil.ts +16 -16
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 Jeongho Nam
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Jeongho Nam
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,149 +1,150 @@
1
- # Typia
2
- ![Typia Logo](https://typia.io/logo.png)
3
-
4
- [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/typia/blob/master/LICENSE)
5
- [![NPM Version](https://img.shields.io/npm/v/typia.svg)](https://www.npmjs.com/package/typia)
6
- [![NPM Downloads](https://img.shields.io/npm/dm/typia.svg)](https://www.npmjs.com/package/typia)
7
- [![Build Status](https://github.com/samchon/typia/workflows/build/badge.svg)](https://github.com/samchon/typia/actions?query=workflow%3Abuild)
8
- [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://typia.io/docs/)
9
- [![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20Typia%20Guru-006BFF)](https://gurubase.io/g/typia)
10
- [![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)
11
-
12
- ```typescript
13
- // RUNTIME VALIDATORS
14
- export function is<T>(input: unknown): input is T; // returns boolean
15
- export function assert<T>(input: unknown): T; // throws TypeGuardError
16
- export function assertGuard<T>(input: unknown): asserts input is T;
17
- export function validate<T>(input: unknown): IValidation<T>; // detailed
18
-
19
- // JSON FUNCTIONS
20
- export namespace json {
21
- export function application<T>(): IJsonApplication; // JSON schema
22
- export function assertParse<T>(input: string): T; // type safe parser
23
- export function assertStringify<T>(input: T): string; // safe and faster
24
- }
25
-
26
- // LLM FUNCTION CALLING SCHEMA
27
- export namespace llm {
28
- // application schema from a class or interface type
29
- export function application<App, Model>(): ILlmApplication<Model>;
30
- // structured output
31
- export function parameters<P, Moodel>(): ILlmSchema.IParameters<Model>;
32
- export function schema<T, Model>(): ILlmSchema<Model>; // type schema
33
- }
34
-
35
- // PROTOCOL BUFFER
36
- export namespace protobuf {
37
- export function message<T>(): string; // Protocol Buffer message
38
- export function assertDecode<T>(buffer: Uint8Array): T; // safe decoder
39
- export function assertEncode<T>(input: T): Uint8Array; // safe encoder
40
- }
41
-
42
- // RANDOM GENERATOR
43
- export function random<T>(g?: Partial<IRandomGenerator>): T;
44
- ```
45
-
46
- `typia` is a transformer library supporting below features:
47
-
48
- - Super-fast Runtime Validators
49
- - Enhanced JSON schema and serde functions
50
- - LLM function calling schema and structured output
51
- - Protocol Buffer encoder and decoder
52
- - Random data generator
53
-
54
- > [!NOTE]
55
- >
56
- > - **Only one line** required, with pure TypeScript type
57
- > - Runtime validator is **20,000x faster** than `class-validator`
58
- > - JSON serialization is **200x faster** than `class-transformer`
59
-
60
-
61
-
62
-
63
- ## Transformation
64
- If you call `typia` function, it would be compiled like below.
65
-
66
- This is the key concept of `typia`, transforming TypeScript type to a runtime function. The `typia.is<T>()` function is transformed to a dedicated type checker by analyzing the target type `T` in the compilation level.
67
-
68
- This feature enables developers to ensure type safety in their applications, leveraging TypeScript's static typing while also providing runtime validation. Instead of defining additional schemas, you can simply utilize the pure TypeScript type itself.
69
-
70
- ```typescript
71
- //----
72
- // examples/checkString.ts
73
- //----
74
- import typia, { tags } from "typia";
75
- export const checkString = typia.createIs<string>();
76
-
77
- //----
78
- // examples/checkUUID.js
79
- //----
80
- import typia from "typia";
81
- export const checkString = (() => {
82
- return (input) => "string" === typeof input;
83
- })();
84
- ```
85
-
86
-
87
-
88
- ## Sponsors
89
- Thanks for your support.
90
-
91
- Your donation encourages `typia` development.
92
-
93
- Also, `typia` is re-distributing half of donations to core contributors of `typia`.
94
-
95
- - [`nonara/ts-patch`](https://github.com/nonara/ts-patch)
96
- - [`ryoppippi/unplugin-typia`](https://github.com/ryoppippi/unplugin-typia)
97
-
98
- [![Sponsers](https://opencollective.com/typia/badge.svg?avatarHeight=75&width=600)](https://opencollective.com/typia)
99
-
100
-
101
-
102
-
103
- ## Playground
104
- You can experience how typia works by [playground website](https://typia.io/playground):
105
-
106
- - 💻 https://typia.io/playground
107
-
108
-
109
-
110
-
111
- ## Guide Documents
112
- Check out the document in the [website](https://typia.io/docs/):
113
-
114
- ### 🏠 Home
115
- - [Introduction](https://typia.io/docs/)
116
- - [Setup](https://typia.io/docs/setup/)
117
- - [Pure TypeScript](https://typia.io/docs/pure/)
118
-
119
- ### 📖 Features
120
- - Runtime Validators
121
- - [`assert()` function](https://typia.io/docs/validators/assert/)
122
- - [`is()` function](https://typia.io/docs/validators/is/)
123
- - [`validate()` function](https://typia.io/docs/validators/validate/)
124
- - [Functional Module](https://typia.io/docs/validators/functional)
125
- - [Special Tags](https://typia.io/docs/validators/tags/)
126
- - Enhanced JSON
127
- - [JSON Schema](https://typia.io/docs/json/schema/)
128
- - [`stringify()` functions](https://typia.io/docs/json/stringify/)
129
- - [`parse()` functions](https://typia.io/docs/json/parse/)
130
- - LLM Function Calling
131
- - [`application()` function](https://typia.io/docs/llm/application/)
132
- - [`parameters()` function](https://typia.io/docs/llm/parameters/)
133
- - [`schema()` function](https://typia.io/docs/llm/schema/)
134
- - [Documentation Strategy](https://typia.io/docs/llm/strategy/)
135
- - Protocol Buffer
136
- - [Message Schema](https://typia.io/docs/protobuf/message)
137
- - [`decode()` functions](https://typia.io/docs/protobuf/decode/)
138
- - [`encode()` functions](https://typia.io/docs/protobuf/encode/)
139
- - [Random Generator](https://typia.io/docs/random/)
140
- - [Miscellaneous](https://typia.io/docs/misc/)
141
-
142
- ### 🔗 Appendix
143
- - [API Documents](https://typia.io/api)
144
- - Utillization Cases
145
- - [NestJS](https://typia.io/docs/utilization/nestjs/)
146
- - [Prisma](https://typia.io/docs/utilization/prisma/)
147
- - [tRPC](https://typia.io/docs/utilization/trpc/)
148
- - [⇲ Benchmark Result](https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
149
- - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22474)
1
+ # Typia
2
+ ![Typia Logo](https://typia.io/logo.png)
3
+
4
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/typia/blob/master/LICENSE)
5
+ [![NPM Version](https://img.shields.io/npm/v/typia.svg)](https://www.npmjs.com/package/typia)
6
+ [![NPM Downloads](https://img.shields.io/npm/dm/typia.svg)](https://www.npmjs.com/package/typia)
7
+ [![Build Status](https://github.com/samchon/typia/workflows/build/badge.svg)](https://github.com/samchon/typia/actions?query=workflow%3Abuild)
8
+ [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://typia.io/docs/)
9
+ [![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20Typia%20Guru-006BFF)](https://gurubase.io/g/typia)
10
+ [![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)
11
+
12
+ ```typescript
13
+ // RUNTIME VALIDATORS
14
+ export function is<T>(input: unknown): input is T; // returns boolean
15
+ export function assert<T>(input: unknown): T; // throws TypeGuardError
16
+ export function assertGuard<T>(input: unknown): asserts input is T;
17
+ export function validate<T>(input: unknown): IValidation<T>; // detailed
18
+
19
+ // JSON FUNCTIONS
20
+ export namespace json {
21
+ export function application<T>(): IJsonApplication; // JSON schema
22
+ export function assertParse<T>(input: string): T; // type safe parser
23
+ export function assertStringify<T>(input: T): string; // safe and faster
24
+ }
25
+
26
+ // LLM FUNCTION CALLING SCHEMA
27
+ export namespace llm {
28
+ // application schema from a class or interface type
29
+ export function application<App, Model>(): ILlmApplication<Model>;
30
+ // structured output
31
+ export function parameters<P, Moodel>(): ILlmSchema.IParameters<Model>;
32
+ export function schema<T, Model>(): ILlmSchema<Model>; // type schema
33
+ }
34
+
35
+ // PROTOCOL BUFFER
36
+ export namespace protobuf {
37
+ export function message<T>(): string; // Protocol Buffer message
38
+ export function assertDecode<T>(buffer: Uint8Array): T; // safe decoder
39
+ export function assertEncode<T>(input: T): Uint8Array; // safe encoder
40
+ }
41
+
42
+ // RANDOM GENERATOR
43
+ export function random<T>(g?: Partial<IRandomGenerator>): T;
44
+ ```
45
+
46
+ `typia` is a transformer library supporting below features:
47
+
48
+ - Super-fast Runtime Validators
49
+ - Enhanced JSON schema and serde functions
50
+ - LLM function calling schema and structured output
51
+ - Protocol Buffer encoder and decoder
52
+ - Random data generator
53
+
54
+ > [!NOTE]
55
+ >
56
+ > - **Only one line** required, with pure TypeScript type
57
+ > - Runtime validator is **20,000x faster** than `class-validator`
58
+ > - JSON serialization is **200x faster** than `class-transformer`
59
+
60
+
61
+
62
+
63
+ ## Transformation
64
+ If you call `typia` function, it would be compiled like below.
65
+
66
+ This is the key concept of `typia`, transforming TypeScript type to a runtime function. The `typia.is<T>()` function is transformed to a dedicated type checker by analyzing the target type `T` in the compilation level.
67
+
68
+ This feature enables developers to ensure type safety in their applications, leveraging TypeScript's static typing while also providing runtime validation. Instead of defining additional schemas, you can simply utilize the pure TypeScript type itself.
69
+
70
+ ```typescript
71
+ //----
72
+ // examples/checkString.ts
73
+ //----
74
+ import typia, { tags } from "typia";
75
+ export const checkString = typia.createIs<string>();
76
+
77
+ //----
78
+ // examples/checkUUID.js
79
+ //----
80
+ import typia from "typia";
81
+ export const checkString = (() => {
82
+ return (input) => "string" === typeof input;
83
+ })();
84
+ ```
85
+
86
+
87
+
88
+ ## Sponsors
89
+ Thanks for your support.
90
+
91
+ Your donation encourages `typia` development.
92
+
93
+ Also, `typia` is re-distributing half of donations to core contributors of `typia`.
94
+
95
+ - [`nonara/ts-patch`](https://github.com/nonara/ts-patch)
96
+ - [`ryoppippi/unplugin-typia`](https://github.com/ryoppippi/unplugin-typia)
97
+
98
+ [![Sponsors](https://opencollective.com/typia/badge.svg?avatarHeight=75&width=600)](https://opencollective.com/typia)
99
+
100
+
101
+
102
+
103
+ ## Playground
104
+ You can experience how typia works by [playground website](https://typia.io/playground):
105
+
106
+ - 💻 https://typia.io/playground
107
+
108
+
109
+
110
+
111
+ ## Guide Documents
112
+ Check out the document in the [website](https://typia.io/docs/):
113
+
114
+ ### 🏠 Home
115
+ - [Introduction](https://typia.io/docs/)
116
+ - [Setup](https://typia.io/docs/setup/)
117
+ - [Pure TypeScript](https://typia.io/docs/pure/)
118
+
119
+ ### 📖 Features
120
+ - Runtime Validators
121
+ - [`assert()` function](https://typia.io/docs/validators/assert/)
122
+ - [`is()` function](https://typia.io/docs/validators/is/)
123
+ - [`validate()` function](https://typia.io/docs/validators/validate/)
124
+ - [Functional Module](https://typia.io/docs/validators/functional)
125
+ - [Special Tags](https://typia.io/docs/validators/tags/)
126
+ - Enhanced JSON
127
+ - [JSON Schema](https://typia.io/docs/json/schema/)
128
+ - [`stringify()` functions](https://typia.io/docs/json/stringify/)
129
+ - [`parse()` functions](https://typia.io/docs/json/parse/)
130
+ - LLM Function Calling
131
+ - [`application()` function](https://typia.io/docs/llm/application/)
132
+ - [`parameters()` function](https://typia.io/docs/llm/parameters/)
133
+ - [`schema()` function](https://typia.io/docs/llm/schema/)
134
+ - [A.I. Chatbot](https://typia.io/docs/llm/chat/)
135
+ - [Documentation Strategy](https://typia.io/docs/llm/strategy/)
136
+ - Protocol Buffer
137
+ - [Message Schema](https://typia.io/docs/protobuf/message)
138
+ - [`decode()` functions](https://typia.io/docs/protobuf/decode/)
139
+ - [`encode()` functions](https://typia.io/docs/protobuf/encode/)
140
+ - [Random Generator](https://typia.io/docs/random/)
141
+ - [Miscellaneous](https://typia.io/docs/misc/)
142
+
143
+ ### 🔗 Appendix
144
+ - [API Documents](https://typia.io/api)
145
+ - Utillization Cases
146
+ - [NestJS](https://typia.io/docs/utilization/nestjs/)
147
+ - [Prisma](https://typia.io/docs/utilization/prisma/)
148
+ - [tRPC](https://typia.io/docs/utilization/trpc/)
149
+ - [⇲ Benchmark Result](https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
150
+ - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22474)
@@ -2,7 +2,7 @@
2
2
  * Interface for a readable URLSearchParams object.
3
3
  *
4
4
  * This interface is a subset of the {@link URLSearchParams} interface,
5
- * designed especially for the [Hono.JS](https://hono.dev/) libray.
5
+ * designed especially for the [Hono.JS](https://hono.dev/) library.
6
6
  *
7
7
  * @author https://github.com/miyaji255
8
8
  */
@@ -0,0 +1,26 @@
1
+ class TypeGuardError extends Error {
2
+ method;
3
+ path;
4
+ expected;
5
+ value;
6
+ fake_expected_typed_value_;
7
+ constructor(props) {
8
+ // MESSAGE CONSTRUCTION
9
+ super(props.message ||
10
+ `Error on ${props.method}(): invalid type${props.path ? ` on ${props.path}` : ""}, expect to be ${props.expected}`);
11
+ // INHERITANCE POLYFILL
12
+ const proto = new.target.prototype;
13
+ if (Object.setPrototypeOf)
14
+ Object.setPrototypeOf(this, proto);
15
+ else
16
+ this.__proto__ = proto;
17
+ // ASSIGN MEMBERS
18
+ this.method = props.method;
19
+ this.path = props.path;
20
+ this.expected = props.expected;
21
+ this.value = props.value;
22
+ }
23
+ }
24
+
25
+ export { TypeGuardError };
26
+ //# sourceMappingURL=TypeGuardError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeGuardError.mjs","sources":["../src/TypeGuardError.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,MAAO,cAAwB,SAAQ,KAAK,CAAA;AAChC,IAAA,MAAM;AACN,IAAA,IAAI;AACJ,IAAA,QAAQ;AACR,IAAA,KAAK;AACF,IAAA,0BAA0B;AAE7C,IAAA,WAAA,CAAmB,KAA4B,EAAA;;QAE7C,KAAK,CACH,KAAK,CAAC,OAAO;YACX,CAAY,SAAA,EAAA,KAAK,CAAC,MAAM,CACtB,gBAAA,EAAA,KAAK,CAAC,IAAI,GAAG,CAAO,IAAA,EAAA,KAAK,CAAC,IAAI,CAAA,CAAE,GAAG,EACrC,CAAkB,eAAA,EAAA,KAAK,CAAC,QAAQ,CAAE,CAAA,CACrC;;AAGD,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS;QAClC,IAAI,MAAM,CAAC,cAAc;AAAE,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;;AACvD,YAAA,IAAY,CAAC,SAAS,GAAG,KAAK;;AAGpC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AAC1B,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;;AAE3B;;;;"}
@@ -47,9 +47,9 @@ var PluginConfigurator;
47
47
  if (strict === undefined && strictNullChecks === undefined)
48
48
  compilerOptions.strict = true;
49
49
  if (oldbie === undefined)
50
- plugins.push(comment_json_1.default.parse(`
51
- {
52
- "transform": "typia/lib/transform"
50
+ plugins.push(comment_json_1.default.parse(`
51
+ {
52
+ "transform": "typia/lib/transform"
53
53
  }`));
54
54
  yield fs_1.default.promises.writeFile(args.project, comment_json_1.default.stringify(config, null, 2));
55
55
  });
@@ -42,21 +42,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
42
42
  step((generator = generator.apply(thisArg, _arguments || [])).next());
43
43
  });
44
44
  };
45
- const USAGE = `Wrong command has been detected. Use like below:
46
-
47
- npx typia setup \\
48
- --manager (npm|pnpm|yarn) \\
49
- --project {tsconfig.json file path}
50
-
51
- - npx typia setup
52
- - npx typia setup --manager pnpm
53
- - npx typia setup --project tsconfig.test.json
54
-
55
- npx typia generate
56
- --input {directory} \\
57
- --output {directory}
58
-
59
- --npx typia generate --input src/templates --output src/functinoal
45
+ const USAGE = `Wrong command has been detected. Use like below:
46
+
47
+ npx typia setup \\
48
+ --manager (npm|pnpm|yarn) \\
49
+ --project {tsconfig.json file path}
50
+
51
+ - npx typia setup
52
+ - npx typia setup --manager pnpm
53
+ - npx typia setup --project tsconfig.test.json
54
+
55
+ npx typia generate
56
+ --input {directory} \\
57
+ --output {directory}
58
+
59
+ --npx typia generate --input src/templates --output src/functinoal
60
60
  `;
61
61
  const halt = (desc) => {
62
62
  console.error(desc);
@@ -121,7 +121,7 @@ var MetadataTypeTagFactory;
121
121
  if (tag.target !== props.type) {
122
122
  success && (success = props.report({
123
123
  property: null,
124
- message: `target must constains ${props.type} type`,
124
+ message: `target must contain ${props.type} type`,
125
125
  }));
126
126
  }
127
127
  props.tags.forEach((tag, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataTypeTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataTypeTagFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataTypeTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataTypeTagFactory.ts"],"names":[],"mappings":"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"}
@@ -331,12 +331,12 @@ var ProtobufFactory;
331
331
  insert(`tags.Type<"${type}"> cannot be used in both number and bigint types. Recommend to remove from number type`);
332
332
  }
333
333
  //----
334
- // ARRRAY CASES
334
+ // ARRAY CASES
335
335
  //----
336
- // DO NOT ALLOW MULTI-DIMENTIONAL ARRAY
336
+ // DO NOT ALLOW MULTI-DIMENSIONAL ARRAY
337
337
  if (meta.arrays.length &&
338
338
  meta.arrays.some((array) => !!array.type.value.arrays.length))
339
- noSupport("over two dimenstional array type");
339
+ noSupport("over two dimensional array type");
340
340
  // CHILD OF ARRAY TYPE MUST BE REQUIRED
341
341
  if (meta.arrays.length &&
342
342
  meta.arrays.some((array) => array.type.value.isRequired() === false ||
@@ -382,7 +382,7 @@ var ProtobufFactory;
382
382
  isDynamicObject(meta.objects[0].type) &&
383
383
  meta.objects[0].type.properties.some((p) => !!p.value.arrays.length))
384
384
  noSupport("dynamic object with array value type");
385
- // UNION WITH DYNAMIC OBJECTa
385
+ // UNION WITH DYNAMIC OBJECTTa
386
386
  if (meta.size() > 1 &&
387
387
  meta.objects.length &&
388
388
  isDynamicObject(meta.objects[0].type))