typia 9.0.0 → 9.1.0-dev.20250408

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 (577) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +149 -150
  3. package/lib/executable/setup/PluginConfigurator.js +3 -3
  4. package/lib/executable/setup/PluginConfigurator.mjs +3 -3
  5. package/lib/executable/typia.js +15 -15
  6. package/lib/executable/typia.mjs +15 -15
  7. package/lib/factories/MetadataCommentTagFactory.js +8 -10
  8. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  9. package/lib/factories/MetadataCommentTagFactory.mjs +8 -10
  10. package/lib/functional.js +19 -27
  11. package/lib/functional.js.map +1 -1
  12. package/lib/functional.mjs +20 -27
  13. package/lib/http.js +27 -32
  14. package/lib/http.js.map +1 -1
  15. package/lib/http.mjs +28 -32
  16. package/lib/json.d.mts +66 -4
  17. package/lib/json.d.ts +66 -4
  18. package/lib/json.js +23 -21
  19. package/lib/json.js.map +1 -1
  20. package/lib/json.mjs +24 -22
  21. package/lib/llm.js +4 -9
  22. package/lib/llm.js.map +1 -1
  23. package/lib/llm.mjs +5 -9
  24. package/lib/misc.js +27 -23
  25. package/lib/misc.js.map +1 -1
  26. package/lib/misc.mjs +28 -23
  27. package/lib/module.d.mts +1 -0
  28. package/lib/module.d.ts +1 -0
  29. package/lib/module.js +20 -24
  30. package/lib/module.js.map +1 -1
  31. package/lib/module.mjs +19 -24
  32. package/lib/notations.js +25 -30
  33. package/lib/notations.js.map +1 -1
  34. package/lib/notations.mjs +26 -30
  35. package/lib/programmers/json/JsonSchemaProgrammer.d.mts +9 -0
  36. package/lib/programmers/json/JsonSchemaProgrammer.d.ts +9 -0
  37. package/lib/programmers/json/JsonSchemaProgrammer.js +20 -0
  38. package/lib/programmers/json/JsonSchemaProgrammer.js.map +1 -0
  39. package/lib/programmers/json/JsonSchemaProgrammer.mjs +20 -0
  40. package/lib/programmers/json/JsonSchemaProgrammer.mjs.map +1 -0
  41. package/lib/programmers/json/JsonSchemasProgrammer.js +1 -1
  42. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
  43. package/lib/programmers/json/JsonSchemasProgrammer.mjs +1 -1
  44. package/lib/protobuf.js +18 -23
  45. package/lib/protobuf.js.map +1 -1
  46. package/lib/protobuf.mjs +19 -23
  47. package/lib/reflect.js +3 -8
  48. package/lib/reflect.js.map +1 -1
  49. package/lib/reflect.mjs +4 -8
  50. package/lib/schemas/json/IJsonSchemaUnit.d.mts +26 -0
  51. package/lib/schemas/json/IJsonSchemaUnit.d.ts +26 -0
  52. package/lib/schemas/json/IJsonSchemaUnit.js +3 -0
  53. package/lib/schemas/json/IJsonSchemaUnit.js.map +1 -0
  54. package/lib/schemas/json/IJsonSchemaUnit.mjs +2 -0
  55. package/lib/schemas/json/IJsonSchemaUnit.mjs.map +1 -0
  56. package/lib/transformers/CallExpressionTransformer.js +2 -2
  57. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  58. package/lib/transformers/CallExpressionTransformer.mjs +2 -2
  59. package/lib/transformers/NoTransformConfigurationError.d.mts +1 -0
  60. package/lib/transformers/NoTransformConfigurationError.d.ts +1 -0
  61. package/lib/transformers/NoTransformConfigurationError.js +20 -0
  62. package/lib/transformers/NoTransformConfigurationError.js.map +1 -0
  63. package/lib/transformers/NoTransformConfigurationError.mjs +19 -0
  64. package/lib/transformers/NoTransformConfigurationError.mjs.map +1 -0
  65. package/lib/transformers/features/json/JsonSchemaTransformer.d.mts +5 -0
  66. package/lib/transformers/features/json/JsonSchemaTransformer.d.ts +5 -0
  67. package/lib/transformers/features/json/JsonSchemaTransformer.js +108 -0
  68. package/lib/transformers/features/json/JsonSchemaTransformer.js.map +1 -0
  69. package/lib/transformers/features/json/JsonSchemaTransformer.mjs +104 -0
  70. package/lib/transformers/features/json/JsonSchemaTransformer.mjs.map +1 -0
  71. package/lib/transformers/features/json/JsonSchemasTransformer.js +9 -9
  72. package/lib/transformers/features/json/JsonSchemasTransformer.js.map +1 -1
  73. package/lib/transformers/features/json/JsonSchemasTransformer.mjs +9 -9
  74. package/package.json +1 -4
  75. package/src/AssertionGuard.ts +1 -1
  76. package/src/CamelCase.ts +75 -75
  77. package/src/IRandomGenerator.ts +49 -49
  78. package/src/IReadableURLSearchParams.ts +9 -9
  79. package/src/IValidation.ts +1 -1
  80. package/src/PascalCase.ts +71 -71
  81. package/src/Primitive.ts +92 -92
  82. package/src/Resolved.ts +74 -74
  83. package/src/SnakeCase.ts +126 -126
  84. package/src/TypeGuardError.ts +37 -37
  85. package/src/executable/TypiaGenerateWizard.ts +83 -83
  86. package/src/executable/TypiaPatchWizard.ts +45 -45
  87. package/src/executable/TypiaSetupWizard.ts +171 -171
  88. package/src/executable/setup/ArgumentParser.ts +42 -42
  89. package/src/executable/setup/CommandExecutor.ts +8 -8
  90. package/src/executable/setup/FileRetriever.ts +19 -19
  91. package/src/executable/setup/PackageManager.ts +87 -87
  92. package/src/executable/setup/PluginConfigurator.ts +69 -69
  93. package/src/executable/typia.ts +55 -55
  94. package/src/factories/CommentFactory.ts +79 -79
  95. package/src/factories/ExpressionFactory.ts +216 -216
  96. package/src/factories/IdentifierFactory.ts +89 -89
  97. package/src/factories/JsonMetadataFactory.ts +83 -83
  98. package/src/factories/LiteralFactory.ts +52 -52
  99. package/src/factories/MetadataCollection.ts +278 -278
  100. package/src/factories/MetadataCommentTagFactory.ts +648 -650
  101. package/src/factories/MetadataFactory.ts +404 -404
  102. package/src/factories/MetadataTypeTagFactory.ts +413 -413
  103. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  104. package/src/factories/NumericRangeFactory.ts +72 -72
  105. package/src/factories/ProtobufFactory.ts +875 -875
  106. package/src/factories/StatementFactory.ts +90 -90
  107. package/src/factories/TemplateFactory.ts +64 -64
  108. package/src/factories/TypeFactory.ts +140 -140
  109. package/src/factories/ValueFactory.ts +12 -12
  110. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  111. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  112. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  113. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  114. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  115. package/src/factories/internal/metadata/emplace_metadata_object.ts +212 -212
  116. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  117. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  118. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  119. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  120. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  121. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  122. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  123. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  124. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  125. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  126. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  127. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  128. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +212 -212
  129. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  130. package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
  131. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  132. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  133. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  134. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  135. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  136. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  137. package/src/functional.ts +740 -750
  138. package/src/http.ts +1040 -1047
  139. package/src/index.ts +4 -4
  140. package/src/internal/_IProtobufWriter.ts +18 -18
  141. package/src/internal/_ProtobufReader.ts +194 -194
  142. package/src/internal/_ProtobufSizer.ts +145 -145
  143. package/src/internal/_ProtobufWriter.ts +145 -145
  144. package/src/internal/_accessExpressionAsString.ts +46 -46
  145. package/src/internal/_assertGuard.ts +13 -13
  146. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  147. package/src/internal/_httpFormDataReadArray.ts +4 -4
  148. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  149. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  150. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  151. package/src/internal/_httpFormDataReadFile.ts +10 -10
  152. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  153. package/src/internal/_httpFormDataReadString.ts +10 -10
  154. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  155. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  156. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  157. package/src/internal/_httpParameterReadBigint.ts +10 -10
  158. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  159. package/src/internal/_httpParameterReadNumber.ts +7 -7
  160. package/src/internal/_httpParameterReadString.ts +2 -2
  161. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  162. package/src/internal/_httpQueryReadArray.ts +4 -4
  163. package/src/internal/_httpQueryReadBigint.ts +12 -12
  164. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  165. package/src/internal/_httpQueryReadNumber.ts +9 -9
  166. package/src/internal/_httpQueryReadString.ts +4 -4
  167. package/src/internal/_isBetween.ts +2 -2
  168. package/src/internal/_isBigintString.ts +8 -8
  169. package/src/internal/_isFormatByte.ts +7 -7
  170. package/src/internal/_isFormatDate.ts +3 -3
  171. package/src/internal/_isFormatDateTime.ts +4 -4
  172. package/src/internal/_isFormatDuration.ts +4 -4
  173. package/src/internal/_isFormatEmail.ts +4 -4
  174. package/src/internal/_isFormatHostname.ts +4 -4
  175. package/src/internal/_isFormatIdnEmail.ts +4 -4
  176. package/src/internal/_isFormatIdnHostname.ts +4 -4
  177. package/src/internal/_isFormatIpv4.ts +4 -4
  178. package/src/internal/_isFormatIpv6.ts +4 -4
  179. package/src/internal/_isFormatIri.ts +3 -3
  180. package/src/internal/_isFormatIriReference.ts +4 -4
  181. package/src/internal/_isFormatJsonPointer.ts +3 -3
  182. package/src/internal/_isFormatPassword.ts +1 -1
  183. package/src/internal/_isFormatRegex.ts +8 -8
  184. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  185. package/src/internal/_isFormatTime.ts +4 -4
  186. package/src/internal/_isFormatUri.ts +6 -6
  187. package/src/internal/_isFormatUriReference.ts +5 -5
  188. package/src/internal/_isFormatUriTemplate.ts +4 -4
  189. package/src/internal/_isFormatUrl.ts +4 -4
  190. package/src/internal/_isFormatUuid.ts +3 -3
  191. package/src/internal/_isTypeFloat.ts +5 -5
  192. package/src/internal/_isTypeInt32.ts +5 -5
  193. package/src/internal/_isTypeInt64.ts +5 -5
  194. package/src/internal/_isTypeUint32.ts +5 -5
  195. package/src/internal/_isTypeUint64.ts +5 -5
  196. package/src/internal/_isUniqueItems.ts +159 -159
  197. package/src/internal/_jsonStringifyNumber.ts +12 -12
  198. package/src/internal/_jsonStringifyRest.ts +3 -3
  199. package/src/internal/_jsonStringifyString.ts +42 -42
  200. package/src/internal/_jsonStringifyTail.ts +2 -2
  201. package/src/internal/_llmApplicationFinalize.ts +20 -20
  202. package/src/internal/_miscCloneAny.ts +46 -46
  203. package/src/internal/_notationAny.ts +37 -37
  204. package/src/internal/_notationCamel.ts +13 -13
  205. package/src/internal/_notationPascal.ts +8 -8
  206. package/src/internal/_notationSnake.ts +43 -43
  207. package/src/internal/_randomArray.ts +21 -21
  208. package/src/internal/_randomBigint.ts +6 -6
  209. package/src/internal/_randomBoolean.ts +1 -1
  210. package/src/internal/_randomFormatByte.ts +3 -3
  211. package/src/internal/_randomFormatDate.ts +18 -18
  212. package/src/internal/_randomFormatDatetime.ts +16 -16
  213. package/src/internal/_randomFormatDuration.ts +27 -27
  214. package/src/internal/_randomFormatEmail.ts +11 -11
  215. package/src/internal/_randomFormatHostname.ts +6 -6
  216. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  217. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  218. package/src/internal/_randomFormatIpv4.ts +11 -11
  219. package/src/internal/_randomFormatIpv6.ts +11 -11
  220. package/src/internal/_randomFormatIri.ts +3 -3
  221. package/src/internal/_randomFormatIriReference.ts +3 -3
  222. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  223. package/src/internal/_randomFormatPassword.ts +8 -8
  224. package/src/internal/_randomFormatRegex.ts +4 -4
  225. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  226. package/src/internal/_randomFormatTime.ts +14 -14
  227. package/src/internal/_randomFormatUri.ts +3 -3
  228. package/src/internal/_randomFormatUriReference.ts +3 -3
  229. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  230. package/src/internal/_randomFormatUrl.ts +11 -11
  231. package/src/internal/_randomFormatUuid.ts +6 -6
  232. package/src/internal/_randomInteger.ts +53 -53
  233. package/src/internal/_randomNumber.ts +80 -80
  234. package/src/internal/_randomPattern.ts +10 -10
  235. package/src/internal/_randomPick.ts +9 -9
  236. package/src/internal/_randomString.ts +24 -24
  237. package/src/internal/_throwTypeGuardError.ts +5 -5
  238. package/src/internal/_validateReport.ts +13 -13
  239. package/src/internal/private/__notationCapitalize.ts +2 -2
  240. package/src/internal/private/__notationUnsnake.ts +24 -24
  241. package/src/json.ts +696 -696
  242. package/src/llm.ts +335 -342
  243. package/src/misc.ts +651 -658
  244. package/src/module.ts +929 -935
  245. package/src/notations.ts +820 -827
  246. package/src/programmers/AssertProgrammer.ts +454 -454
  247. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  248. package/src/programmers/FeatureProgrammer.ts +622 -622
  249. package/src/programmers/ImportProgrammer.ts +185 -185
  250. package/src/programmers/IsProgrammer.ts +273 -273
  251. package/src/programmers/RandomProgrammer.ts +1190 -1190
  252. package/src/programmers/TypiaProgrammer.ts +175 -175
  253. package/src/programmers/ValidateProgrammer.ts +439 -439
  254. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  255. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  256. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  257. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  258. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  259. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  260. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  261. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  262. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  263. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  264. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  265. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  266. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  267. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  268. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  269. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  270. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  271. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  272. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  273. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  274. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  275. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  276. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  277. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  278. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  279. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  280. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  281. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  282. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  283. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  284. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  285. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  286. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  287. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  288. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  289. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  290. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  291. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  292. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  293. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  294. package/src/programmers/internal/check_array_length.ts +47 -47
  295. package/src/programmers/internal/check_bigint.ts +50 -50
  296. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  297. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  298. package/src/programmers/internal/check_everything.ts +23 -23
  299. package/src/programmers/internal/check_native.ts +27 -27
  300. package/src/programmers/internal/check_number.ts +112 -112
  301. package/src/programmers/internal/check_object.ts +75 -75
  302. package/src/programmers/internal/check_string.ts +50 -50
  303. package/src/programmers/internal/check_template.ts +48 -48
  304. package/src/programmers/internal/check_union_array_like.ts +335 -335
  305. package/src/programmers/internal/decode_union_object.ts +116 -116
  306. package/src/programmers/internal/feature_object_entries.ts +61 -61
  307. package/src/programmers/internal/json_schema_alias.ts +47 -47
  308. package/src/programmers/internal/json_schema_array.ts +45 -45
  309. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  310. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  311. package/src/programmers/internal/json_schema_constant.ts +26 -26
  312. package/src/programmers/internal/json_schema_description.ts +12 -12
  313. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  314. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  315. package/src/programmers/internal/json_schema_native.ts +33 -33
  316. package/src/programmers/internal/json_schema_number.ts +15 -15
  317. package/src/programmers/internal/json_schema_object.ts +158 -158
  318. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  319. package/src/programmers/internal/json_schema_station.ts +185 -185
  320. package/src/programmers/internal/json_schema_string.ts +15 -15
  321. package/src/programmers/internal/json_schema_template.ts +55 -55
  322. package/src/programmers/internal/json_schema_title.ts +20 -20
  323. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  324. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  325. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  326. package/src/programmers/internal/prune_object_properties.ts +71 -71
  327. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  328. package/src/programmers/internal/stringify_native.ts +7 -7
  329. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  330. package/src/programmers/internal/template_to_pattern.ts +23 -23
  331. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  332. package/src/programmers/json/JsonApplicationProgrammer.ts +266 -266
  333. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  334. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  335. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  336. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  337. package/src/programmers/json/JsonSchemaProgrammer.ts +26 -0
  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/LlmApplicationProgrammer.ts +401 -401
  343. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  344. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  345. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  346. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  347. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  348. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  349. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  350. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  351. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  352. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  353. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  354. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  355. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  356. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  357. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  358. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  359. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  360. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  361. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  362. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  363. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  364. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  365. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  366. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  367. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  368. package/src/protobuf.ts +861 -868
  369. package/src/reflect.ts +50 -57
  370. package/src/schemas/json/IJsonApplication.ts +73 -73
  371. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  372. package/src/schemas/json/IJsonSchemaUnit.ts +32 -0
  373. package/src/schemas/json/__IJsonApplication.ts +63 -63
  374. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  375. package/src/schemas/metadata/IMetadata.ts +35 -35
  376. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  377. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  378. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  379. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  380. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  381. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  382. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  383. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  384. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  385. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  386. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  387. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  388. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  389. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  390. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  391. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  392. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  393. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  394. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  395. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  396. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  397. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  398. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  399. package/src/schemas/metadata/Metadata.ts +687 -687
  400. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  401. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  402. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  403. package/src/schemas/metadata/MetadataArray.ts +49 -49
  404. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  405. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  406. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  407. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  408. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  409. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  410. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  411. package/src/schemas/metadata/MetadataMap.ts +48 -48
  412. package/src/schemas/metadata/MetadataNative.ts +44 -44
  413. package/src/schemas/metadata/MetadataObject.ts +48 -48
  414. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  415. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  416. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  417. package/src/schemas/metadata/MetadataSet.ts +45 -45
  418. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  419. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  420. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  421. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  422. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  423. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  424. package/src/tags/Constant.ts +15 -15
  425. package/src/tags/ContentMediaType.ts +10 -10
  426. package/src/tags/Default.ts +22 -22
  427. package/src/tags/Example.ts +24 -24
  428. package/src/tags/Examples.ts +16 -16
  429. package/src/tags/ExclusiveMaximum.ts +23 -23
  430. package/src/tags/ExclusiveMinimum.ts +23 -23
  431. package/src/tags/Format.ts +50 -50
  432. package/src/tags/JsonSchemaPlugin.ts +8 -8
  433. package/src/tags/MaxItems.ts +12 -12
  434. package/src/tags/MaxLength.ts +12 -12
  435. package/src/tags/Maximum.ts +19 -19
  436. package/src/tags/MinItems.ts +12 -12
  437. package/src/tags/MinLength.ts +12 -12
  438. package/src/tags/Minimum.ts +19 -19
  439. package/src/tags/MultipleOf.ts +21 -21
  440. package/src/tags/Pattern.ts +31 -31
  441. package/src/tags/Sequence.ts +10 -10
  442. package/src/tags/TagBase.ts +82 -82
  443. package/src/tags/Type.ts +37 -37
  444. package/src/tags/UniqueItems.ts +14 -14
  445. package/src/tags/index.ts +21 -21
  446. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  447. package/src/transform.ts +35 -35
  448. package/src/transformers/CallExpressionTransformer.ts +546 -546
  449. package/src/transformers/FileTransformer.ts +136 -136
  450. package/src/transformers/IProgrammerProps.ts +11 -11
  451. package/src/transformers/ITransformOptions.ts +62 -62
  452. package/src/transformers/ITransformProps.ts +9 -9
  453. package/src/transformers/ITypiaContext.ts +18 -18
  454. package/src/transformers/ImportTransformer.ts +81 -81
  455. package/src/transformers/NoTransformConfigurationError.ts +18 -0
  456. package/src/transformers/NodeTransformer.ts +17 -17
  457. package/src/transformers/TransformerError.ts +60 -60
  458. package/src/transformers/features/AssertTransformer.ts +24 -24
  459. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  460. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  461. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  462. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  463. package/src/transformers/features/IsTransformer.ts +18 -18
  464. package/src/transformers/features/RandomTransformer.ts +41 -41
  465. package/src/transformers/features/ValidateTransformer.ts +18 -18
  466. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  467. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  468. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  469. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  470. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  471. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  472. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  473. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  474. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  475. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  476. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  477. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  478. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  479. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  480. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  481. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  482. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  483. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  484. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  485. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  486. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  487. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  488. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  489. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  490. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  491. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  492. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  493. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  494. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  495. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  496. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  497. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  498. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  499. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  500. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  501. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  502. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  503. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  504. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  505. package/src/transformers/features/json/JsonSchemaTransformer.ts +135 -0
  506. package/src/transformers/features/json/JsonSchemasTransformer.ts +145 -145
  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/LlmApplicationTransformer.ts +128 -128
  511. package/src/transformers/features/llm/LlmParametersTransformer.ts +102 -102
  512. package/src/transformers/features/llm/LlmSchemaTransformer.ts +170 -170
  513. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  514. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  515. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  516. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  517. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  518. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  519. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  520. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  521. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  522. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  523. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  524. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  525. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  526. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  527. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  528. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  529. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  530. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  531. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  532. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  533. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  534. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  535. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  536. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  537. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  538. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  539. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  540. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  541. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  542. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  543. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  544. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  545. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  546. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  547. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  548. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  549. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  550. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  551. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  552. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  553. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  554. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  555. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  556. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  557. package/src/transformers/internal/GenericTransformer.ts +101 -101
  558. package/src/typings/Atomic.ts +13 -13
  559. package/src/typings/ClassProperties.ts +5 -5
  560. package/src/typings/Customizable.ts +5 -5
  561. package/src/typings/Equal.ts +18 -18
  562. package/src/typings/IsTuple.ts +9 -9
  563. package/src/typings/NativeClass.ts +23 -23
  564. package/src/typings/OmitNever.ts +3 -3
  565. package/src/typings/ProtobufAtomic.ts +19 -19
  566. package/src/typings/SpecialFields.ts +3 -3
  567. package/src/typings/ValidationPipe.ts +9 -9
  568. package/src/typings/ValueOf.ts +20 -20
  569. package/src/typings/Writable.ts +11 -11
  570. package/src/utils/ArrayUtil.ts +41 -41
  571. package/src/utils/Escaper.ts +50 -50
  572. package/src/utils/MapUtil.ts +14 -14
  573. package/src/utils/NamingConvention.ts +94 -94
  574. package/src/utils/PatternUtil.ts +29 -29
  575. package/src/utils/ProtobufNameEncoder.ts +32 -32
  576. package/src/utils/Singleton.ts +16 -16
  577. 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,150 +1,149 @@
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-Document%20Chatbot-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, Model>(): 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
- - [AI Chatbot Development](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)
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-Document%20Chatbot-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, Model>(): 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
+ - [AI Chatbot Development](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
+ - [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)
@@ -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
  });
@@ -32,9 +32,9 @@ var PluginConfigurator;
32
32
  if (strict === undefined && strictNullChecks === undefined)
33
33
  compilerOptions.strict = true;
34
34
  if (oldbie === undefined)
35
- plugins.push(comments.parse(`
36
- {
37
- "transform": "typia/lib/transform"
35
+ plugins.push(comments.parse(`
36
+ {
37
+ "transform": "typia/lib/transform"
38
38
  }`));
39
39
  await fs.promises.writeFile(args.project, comments.stringify(config, null, 2));
40
40
  }
@@ -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);
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
- const USAGE = `Wrong command has been detected. Use like below:
3
-
4
- npx typia setup \\
5
- --manager (npm|pnpm|yarn) \\
6
- --project {tsconfig.json file path}
7
-
8
- - npx typia setup
9
- - npx typia setup --manager pnpm
10
- - npx typia setup --project tsconfig.test.json
11
-
12
- npx typia generate
13
- --input {directory} \\
14
- --output {directory}
15
-
16
- --npx typia generate --input src/templates --output src/functinoal
2
+ const USAGE = `Wrong command has been detected. Use like below:
3
+
4
+ npx typia setup \\
5
+ --manager (npm|pnpm|yarn) \\
6
+ --project {tsconfig.json file path}
7
+
8
+ - npx typia setup
9
+ - npx typia setup --manager pnpm
10
+ - npx typia setup --project tsconfig.test.json
11
+
12
+ npx typia generate
13
+ --input {directory} \\
14
+ --output {directory}
15
+
16
+ --npx typia generate --input src/templates --output src/functinoal
17
17
  `;
18
18
  const halt = (desc) => {
19
19
  console.error(desc);
@@ -256,9 +256,11 @@ const PARSER = {
256
256
  ? `-1.175494351e38 <= $input && $input <= 3.4028235e38`
257
257
  : `true`,
258
258
  exclusive: true,
259
- schema: ["int32", "uint32", "int64", "uint64"].includes(value)
259
+ schema: ["int32", "int64"].includes(value)
260
260
  ? { type: "integer" }
261
- : undefined,
261
+ : ["uint32", "uint64"].includes(value)
262
+ ? { type: "integer", minimum: 0 }
263
+ : undefined,
262
264
  },
263
265
  ],
264
266
  bigint: value === "int64" || "uint64"
@@ -356,8 +358,7 @@ const PARSER = {
356
358
  validate: `${props.value} < $input`,
357
359
  exclusive: ["minimum", "exclusiveMinimum"],
358
360
  schema: {
359
- exclusiveMinimum: true,
360
- minimum: parse_number(props),
361
+ exclusiveMinimum: parse_number(props),
361
362
  },
362
363
  },
363
364
  ],
@@ -377,8 +378,7 @@ const PARSER = {
377
378
  validate: `${props.value} < $input`,
378
379
  exclusive: ["minimum", "exclusiveMinimum"],
379
380
  schema: {
380
- exclusiveMinimum: true,
381
- minimum: parse_number(props),
381
+ exclusiveMinimum: parse_number(props),
382
382
  },
383
383
  },
384
384
  ],
@@ -393,8 +393,7 @@ const PARSER = {
393
393
  validate: `$input < ${props.value}`,
394
394
  exclusive: ["maximum", "exclusiveMaximum"],
395
395
  schema: {
396
- exclusiveMaximum: true,
397
- maximum: parse_number(props),
396
+ exclusiveMaximum: parse_number(props),
398
397
  },
399
398
  },
400
399
  ],
@@ -414,8 +413,7 @@ const PARSER = {
414
413
  validate: `$input < ${props.value}`,
415
414
  exclusive: ["maximum", "exclusiveMaximum"],
416
415
  schema: {
417
- exclusiveMaximum: true,
418
- maximum: parse_number(props),
416
+ exclusiveMaximum: parse_number(props),
419
417
  },
420
418
  },
421
419
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataCommentTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataCommentTagFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataCommentTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataCommentTagFactory.ts"],"names":[],"mappings":"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"}
@@ -251,9 +251,11 @@ const PARSER = {
251
251
  ? `-1.175494351e38 <= $input && $input <= 3.4028235e38`
252
252
  : `true`,
253
253
  exclusive: true,
254
- schema: ["int32", "uint32", "int64", "uint64"].includes(value)
254
+ schema: ["int32", "int64"].includes(value)
255
255
  ? { type: "integer" }
256
- : undefined,
256
+ : ["uint32", "uint64"].includes(value)
257
+ ? { type: "integer", minimum: 0 }
258
+ : undefined,
257
259
  },
258
260
  ],
259
261
  bigint: [
@@ -350,8 +352,7 @@ const PARSER = {
350
352
  validate: `${props.value} < $input`,
351
353
  exclusive: ["minimum", "exclusiveMinimum"],
352
354
  schema: {
353
- exclusiveMinimum: true,
354
- minimum: parse_number(props),
355
+ exclusiveMinimum: parse_number(props),
355
356
  },
356
357
  },
357
358
  ],
@@ -371,8 +372,7 @@ const PARSER = {
371
372
  validate: `${props.value} < $input`,
372
373
  exclusive: ["minimum", "exclusiveMinimum"],
373
374
  schema: {
374
- exclusiveMinimum: true,
375
- minimum: parse_number(props),
375
+ exclusiveMinimum: parse_number(props),
376
376
  },
377
377
  },
378
378
  ],
@@ -387,8 +387,7 @@ const PARSER = {
387
387
  validate: `$input < ${props.value}`,
388
388
  exclusive: ["maximum", "exclusiveMaximum"],
389
389
  schema: {
390
- exclusiveMaximum: true,
391
- maximum: parse_number(props),
390
+ exclusiveMaximum: parse_number(props),
392
391
  },
393
392
  },
394
393
  ],
@@ -408,8 +407,7 @@ const PARSER = {
408
407
  validate: `$input < ${props.value}`,
409
408
  exclusive: ["maximum", "exclusiveMaximum"],
410
409
  schema: {
411
- exclusiveMaximum: true,
412
- maximum: parse_number(props),
410
+ exclusiveMaximum: parse_number(props),
413
411
  },
414
412
  },
415
413
  ],