typia 7.6.2-dev.20250205 → 7.6.2

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 (508) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +150 -150
  3. package/lib/executable/setup/PluginConfigurator.js +3 -3
  4. package/lib/executable/typia.js +15 -15
  5. package/package.json +1 -1
  6. package/src/AssertionGuard.ts +1 -1
  7. package/src/CamelCase.ts +75 -75
  8. package/src/IRandomGenerator.ts +49 -49
  9. package/src/IReadableURLSearchParams.ts +9 -9
  10. package/src/IValidation.ts +21 -21
  11. package/src/PascalCase.ts +71 -71
  12. package/src/Primitive.ts +92 -92
  13. package/src/Resolved.ts +74 -74
  14. package/src/SnakeCase.ts +126 -126
  15. package/src/TypeGuardError.ts +37 -37
  16. package/src/executable/TypiaGenerateWizard.ts +83 -83
  17. package/src/executable/TypiaPatchWizard.ts +45 -45
  18. package/src/executable/TypiaSetupWizard.ts +179 -179
  19. package/src/executable/setup/ArgumentParser.ts +42 -42
  20. package/src/executable/setup/CommandExecutor.ts +8 -8
  21. package/src/executable/setup/FileRetriever.ts +19 -19
  22. package/src/executable/setup/PackageManager.ts +87 -87
  23. package/src/executable/setup/PluginConfigurator.ts +69 -69
  24. package/src/executable/typia.ts +55 -55
  25. package/src/factories/CommentFactory.ts +79 -79
  26. package/src/factories/ExpressionFactory.ts +216 -216
  27. package/src/factories/IdentifierFactory.ts +89 -89
  28. package/src/factories/JsonMetadataFactory.ts +83 -83
  29. package/src/factories/LiteralFactory.ts +52 -52
  30. package/src/factories/MetadataCollection.ts +278 -278
  31. package/src/factories/MetadataCommentTagFactory.ts +650 -650
  32. package/src/factories/MetadataFactory.ts +404 -404
  33. package/src/factories/MetadataTypeTagFactory.ts +411 -411
  34. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  35. package/src/factories/NumericRangeFactory.ts +72 -72
  36. package/src/factories/ProtobufFactory.ts +875 -875
  37. package/src/factories/StatementFactory.ts +90 -90
  38. package/src/factories/TemplateFactory.ts +64 -64
  39. package/src/factories/TypeFactory.ts +140 -140
  40. package/src/factories/ValueFactory.ts +12 -12
  41. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  42. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  43. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  44. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  45. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  46. package/src/factories/internal/metadata/emplace_metadata_object.ts +208 -208
  47. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  48. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  49. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  50. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  51. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  52. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  53. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  54. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  55. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  56. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  57. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  58. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  59. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +213 -213
  60. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  61. package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
  62. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  63. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  64. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  65. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  66. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  67. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  68. package/src/functional.ts +750 -750
  69. package/src/http.ts +1047 -1047
  70. package/src/index.ts +4 -4
  71. package/src/internal/_IProtobufWriter.ts +18 -18
  72. package/src/internal/_ProtobufReader.ts +194 -194
  73. package/src/internal/_ProtobufSizer.ts +145 -145
  74. package/src/internal/_ProtobufWriter.ts +145 -145
  75. package/src/internal/_accessExpressionAsString.ts +46 -46
  76. package/src/internal/_assertGuard.ts +13 -13
  77. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  78. package/src/internal/_httpFormDataReadArray.ts +4 -4
  79. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  80. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  81. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  82. package/src/internal/_httpFormDataReadFile.ts +10 -10
  83. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  84. package/src/internal/_httpFormDataReadString.ts +10 -10
  85. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  86. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  87. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  88. package/src/internal/_httpParameterReadBigint.ts +10 -10
  89. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  90. package/src/internal/_httpParameterReadNumber.ts +7 -7
  91. package/src/internal/_httpParameterReadString.ts +2 -2
  92. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  93. package/src/internal/_httpQueryReadArray.ts +4 -4
  94. package/src/internal/_httpQueryReadBigint.ts +12 -12
  95. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  96. package/src/internal/_httpQueryReadNumber.ts +9 -9
  97. package/src/internal/_httpQueryReadString.ts +4 -4
  98. package/src/internal/_isBetween.ts +2 -2
  99. package/src/internal/_isBigintString.ts +8 -8
  100. package/src/internal/_isFormatByte.ts +7 -7
  101. package/src/internal/_isFormatDate.ts +3 -3
  102. package/src/internal/_isFormatDateTime.ts +4 -4
  103. package/src/internal/_isFormatDuration.ts +4 -4
  104. package/src/internal/_isFormatEmail.ts +4 -4
  105. package/src/internal/_isFormatHostname.ts +4 -4
  106. package/src/internal/_isFormatIdnEmail.ts +4 -4
  107. package/src/internal/_isFormatIdnHostname.ts +4 -4
  108. package/src/internal/_isFormatIpv4.ts +4 -4
  109. package/src/internal/_isFormatIpv6.ts +4 -4
  110. package/src/internal/_isFormatIri.ts +3 -3
  111. package/src/internal/_isFormatIriReference.ts +4 -4
  112. package/src/internal/_isFormatJsonPointer.ts +3 -3
  113. package/src/internal/_isFormatPassword.ts +1 -1
  114. package/src/internal/_isFormatRegex.ts +8 -8
  115. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  116. package/src/internal/_isFormatTime.ts +4 -4
  117. package/src/internal/_isFormatUri.ts +6 -6
  118. package/src/internal/_isFormatUriReference.ts +5 -5
  119. package/src/internal/_isFormatUriTemplate.ts +4 -4
  120. package/src/internal/_isFormatUrl.ts +4 -4
  121. package/src/internal/_isFormatUuid.ts +3 -3
  122. package/src/internal/_isTypeFloat.ts +5 -5
  123. package/src/internal/_isTypeInt32.ts +5 -5
  124. package/src/internal/_isTypeInt64.ts +5 -5
  125. package/src/internal/_isTypeUint32.ts +5 -5
  126. package/src/internal/_isTypeUint64.ts +5 -5
  127. package/src/internal/_isUniqueItems.ts +159 -159
  128. package/src/internal/_jsonStringifyNumber.ts +12 -12
  129. package/src/internal/_jsonStringifyRest.ts +3 -3
  130. package/src/internal/_jsonStringifyString.ts +42 -42
  131. package/src/internal/_jsonStringifyTail.ts +2 -2
  132. package/src/internal/_llmApplicationFinalize.ts +20 -20
  133. package/src/internal/_miscCloneAny.ts +46 -46
  134. package/src/internal/_notationAny.ts +37 -37
  135. package/src/internal/_notationCamel.ts +13 -13
  136. package/src/internal/_notationPascal.ts +8 -8
  137. package/src/internal/_notationSnake.ts +43 -43
  138. package/src/internal/_randomArray.ts +21 -21
  139. package/src/internal/_randomBigint.ts +6 -6
  140. package/src/internal/_randomBoolean.ts +1 -1
  141. package/src/internal/_randomFormatByte.ts +3 -3
  142. package/src/internal/_randomFormatDate.ts +18 -18
  143. package/src/internal/_randomFormatDatetime.ts +16 -16
  144. package/src/internal/_randomFormatDuration.ts +27 -27
  145. package/src/internal/_randomFormatEmail.ts +11 -11
  146. package/src/internal/_randomFormatHostname.ts +6 -6
  147. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  148. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  149. package/src/internal/_randomFormatIpv4.ts +11 -11
  150. package/src/internal/_randomFormatIpv6.ts +11 -11
  151. package/src/internal/_randomFormatIri.ts +3 -3
  152. package/src/internal/_randomFormatIriReference.ts +3 -3
  153. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  154. package/src/internal/_randomFormatPassword.ts +8 -8
  155. package/src/internal/_randomFormatRegex.ts +4 -4
  156. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  157. package/src/internal/_randomFormatTime.ts +14 -14
  158. package/src/internal/_randomFormatUri.ts +3 -3
  159. package/src/internal/_randomFormatUriReference.ts +3 -3
  160. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  161. package/src/internal/_randomFormatUrl.ts +11 -11
  162. package/src/internal/_randomFormatUuid.ts +6 -6
  163. package/src/internal/_randomInteger.ts +47 -47
  164. package/src/internal/_randomNumber.ts +74 -74
  165. package/src/internal/_randomPattern.ts +10 -10
  166. package/src/internal/_randomPick.ts +9 -9
  167. package/src/internal/_randomString.ts +24 -24
  168. package/src/internal/_throwTypeGuardError.ts +5 -5
  169. package/src/internal/_validateReport.ts +13 -13
  170. package/src/internal/private/__notationCapitalize.ts +2 -2
  171. package/src/internal/private/__notationUnsnake.ts +24 -24
  172. package/src/json.ts +752 -752
  173. package/src/llm.ts +481 -481
  174. package/src/misc.ts +658 -658
  175. package/src/module.ts +937 -937
  176. package/src/notations.ts +827 -827
  177. package/src/programmers/AssertProgrammer.ts +454 -454
  178. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  179. package/src/programmers/FeatureProgrammer.ts +622 -622
  180. package/src/programmers/ImportProgrammer.ts +185 -185
  181. package/src/programmers/IsProgrammer.ts +273 -273
  182. package/src/programmers/RandomProgrammer.ts +1190 -1190
  183. package/src/programmers/TypiaProgrammer.ts +174 -174
  184. package/src/programmers/ValidateProgrammer.ts +439 -439
  185. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  186. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  187. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  188. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  189. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  190. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  191. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  192. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  193. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  194. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  195. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  196. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  197. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  198. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  199. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  200. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  201. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  202. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  203. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  204. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  205. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  206. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  207. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  208. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  209. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  210. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  211. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  212. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  213. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  214. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  215. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  216. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  217. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  218. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  219. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  220. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  221. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  222. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  223. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  224. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  225. package/src/programmers/internal/check_array_length.ts +47 -47
  226. package/src/programmers/internal/check_bigint.ts +50 -50
  227. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  228. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  229. package/src/programmers/internal/check_everything.ts +23 -23
  230. package/src/programmers/internal/check_native.ts +27 -27
  231. package/src/programmers/internal/check_number.ts +112 -112
  232. package/src/programmers/internal/check_object.ts +75 -75
  233. package/src/programmers/internal/check_string.ts +50 -50
  234. package/src/programmers/internal/check_template.ts +48 -48
  235. package/src/programmers/internal/check_union_array_like.ts +335 -335
  236. package/src/programmers/internal/decode_union_object.ts +116 -116
  237. package/src/programmers/internal/feature_object_entries.ts +61 -61
  238. package/src/programmers/internal/json_schema_alias.ts +47 -47
  239. package/src/programmers/internal/json_schema_array.ts +45 -45
  240. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  241. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  242. package/src/programmers/internal/json_schema_constant.ts +26 -26
  243. package/src/programmers/internal/json_schema_description.ts +12 -12
  244. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  245. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  246. package/src/programmers/internal/json_schema_native.ts +33 -33
  247. package/src/programmers/internal/json_schema_number.ts +15 -15
  248. package/src/programmers/internal/json_schema_object.ts +158 -158
  249. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  250. package/src/programmers/internal/json_schema_station.ts +182 -182
  251. package/src/programmers/internal/json_schema_string.ts +15 -15
  252. package/src/programmers/internal/json_schema_template.ts +55 -55
  253. package/src/programmers/internal/json_schema_title.ts +20 -20
  254. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  255. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  256. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  257. package/src/programmers/internal/prune_object_properties.ts +71 -71
  258. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  259. package/src/programmers/internal/stringify_native.ts +7 -7
  260. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  261. package/src/programmers/internal/template_to_pattern.ts +23 -23
  262. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  263. package/src/programmers/json/JsonApplicationProgrammer.ts +279 -279
  264. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  265. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  266. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  267. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  268. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  269. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  270. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  271. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  272. package/src/programmers/llm/LlmApplicationOfValidateProgrammer.ts +104 -104
  273. package/src/programmers/llm/LlmApplicationProgrammer.ts +327 -327
  274. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  275. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  276. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  277. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  278. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  279. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  280. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  281. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  282. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  283. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  284. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  285. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  286. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  287. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  288. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  289. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  290. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  291. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  292. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  293. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  294. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  295. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  296. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  297. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  298. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  299. package/src/protobuf.ts +868 -868
  300. package/src/reflect.ts +57 -57
  301. package/src/schemas/json/IJsonApplication.ts +73 -73
  302. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  303. package/src/schemas/json/__IJsonApplication.ts +63 -63
  304. package/src/schemas/llm/ILlmApplicationOfValidate.ts +55 -55
  305. package/src/schemas/llm/ILlmFunctionOfValidate.ts +39 -39
  306. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  307. package/src/schemas/metadata/IMetadata.ts +35 -35
  308. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  309. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  310. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  311. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  312. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  313. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  314. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  315. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  316. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  317. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  318. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  319. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  320. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  321. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  322. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  323. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  324. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  325. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  326. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  327. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  328. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  329. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  330. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  331. package/src/schemas/metadata/Metadata.ts +669 -669
  332. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  333. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  334. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  335. package/src/schemas/metadata/MetadataArray.ts +49 -49
  336. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  337. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  338. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  339. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  340. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  341. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  342. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  343. package/src/schemas/metadata/MetadataMap.ts +48 -48
  344. package/src/schemas/metadata/MetadataNative.ts +44 -44
  345. package/src/schemas/metadata/MetadataObject.ts +48 -48
  346. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  347. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  348. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  349. package/src/schemas/metadata/MetadataSet.ts +45 -45
  350. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  351. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  352. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  353. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  354. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  355. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  356. package/src/tags/Constant.ts +15 -15
  357. package/src/tags/ContentMediaType.ts +10 -10
  358. package/src/tags/Default.ts +22 -22
  359. package/src/tags/Example.ts +24 -24
  360. package/src/tags/Examples.ts +16 -16
  361. package/src/tags/ExclusiveMaximum.ts +25 -25
  362. package/src/tags/ExclusiveMinimum.ts +25 -25
  363. package/src/tags/Format.ts +50 -50
  364. package/src/tags/JsonSchemaPlugin.ts +8 -8
  365. package/src/tags/MaxItems.ts +12 -12
  366. package/src/tags/MaxLength.ts +12 -12
  367. package/src/tags/Maximum.ts +19 -19
  368. package/src/tags/MinItems.ts +12 -12
  369. package/src/tags/MinLength.ts +12 -12
  370. package/src/tags/Minimum.ts +19 -19
  371. package/src/tags/MultipleOf.ts +21 -21
  372. package/src/tags/Pattern.ts +31 -31
  373. package/src/tags/Sequence.ts +10 -10
  374. package/src/tags/TagBase.ts +82 -82
  375. package/src/tags/Type.ts +32 -32
  376. package/src/tags/UniqueItems.ts +14 -14
  377. package/src/tags/index.ts +21 -21
  378. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  379. package/src/transform.ts +35 -35
  380. package/src/transformers/CallExpressionTransformer.ts +547 -547
  381. package/src/transformers/FileTransformer.ts +136 -136
  382. package/src/transformers/IProgrammerProps.ts +11 -11
  383. package/src/transformers/ITransformOptions.ts +62 -62
  384. package/src/transformers/ITransformProps.ts +9 -9
  385. package/src/transformers/ITypiaContext.ts +18 -18
  386. package/src/transformers/ImportTransformer.ts +81 -81
  387. package/src/transformers/NodeTransformer.ts +17 -17
  388. package/src/transformers/TransformerError.ts +60 -60
  389. package/src/transformers/features/AssertTransformer.ts +24 -24
  390. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  391. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  392. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  393. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  394. package/src/transformers/features/IsTransformer.ts +18 -18
  395. package/src/transformers/features/RandomTransformer.ts +41 -41
  396. package/src/transformers/features/ValidateTransformer.ts +18 -18
  397. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  398. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  399. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  400. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  401. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  402. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  403. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  404. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  405. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  406. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  407. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  408. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  409. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  410. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  411. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  412. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  413. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  414. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  415. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  416. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  417. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  418. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  419. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  420. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  421. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  422. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  423. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  424. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  425. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  426. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  427. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  428. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  429. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  430. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  431. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  432. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  433. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  434. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  435. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  436. package/src/transformers/features/json/JsonSchemasTransformer.ts +145 -145
  437. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  438. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  439. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  440. package/src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts +129 -129
  441. package/src/transformers/features/llm/LlmApplicationTransformer.ts +125 -125
  442. package/src/transformers/features/llm/LlmParametersTransformer.ts +102 -102
  443. package/src/transformers/features/llm/LlmSchemaTransformer.ts +143 -143
  444. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  445. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  446. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  447. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  448. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  449. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  450. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  451. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  452. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  453. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  454. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  455. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  456. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  457. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  458. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  459. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  460. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  461. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  462. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  463. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  464. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  465. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  466. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  467. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  468. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  469. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  470. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  471. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  472. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  473. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  474. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  475. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  476. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  477. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  478. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  479. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  480. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  481. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  482. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  483. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  484. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  485. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  486. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  487. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  488. package/src/transformers/internal/GenericTransformer.ts +101 -101
  489. package/src/typings/Atomic.ts +13 -13
  490. package/src/typings/ClassProperties.ts +5 -5
  491. package/src/typings/Customizable.ts +5 -5
  492. package/src/typings/Equal.ts +18 -18
  493. package/src/typings/IsTuple.ts +9 -9
  494. package/src/typings/NativeClass.ts +23 -23
  495. package/src/typings/OmitNever.ts +3 -3
  496. package/src/typings/ProtobufAtomic.ts +19 -19
  497. package/src/typings/SpecialFields.ts +3 -3
  498. package/src/typings/ValidationPipe.ts +9 -9
  499. package/src/typings/ValueOf.ts +20 -20
  500. package/src/typings/Writable.ts +11 -11
  501. package/src/utils/ArrayUtil.ts +41 -41
  502. package/src/utils/Escaper.ts +50 -50
  503. package/src/utils/MapUtil.ts +14 -14
  504. package/src/utils/NamingConvention.ts +94 -94
  505. package/src/utils/PatternUtil.ts +29 -29
  506. package/src/utils/ProtobufNameEncoder.ts +32 -32
  507. package/src/utils/Singleton.ts +16 -16
  508. package/src/utils/StringUtil.ts +16 -16
package/src/reflect.ts CHANGED
@@ -1,57 +1,57 @@
1
- import { IMetadataApplication } from "./schemas/metadata/IMetadataApplication";
2
-
3
- /**
4
- * > You must configure the generic argument `Types`.
5
- *
6
- * Metadata Application.
7
- *
8
- * Creates a Metadata application which contains the metadata and components.
9
- *
10
- * Note that, all of the collection types like Array, Tuple and Objects are
11
- * stored in the {@link IMetadataApplication.components} property. Also, alias
12
- * types are stored in the {@link IMetadataApplication.aliases} property, too.
13
- *
14
- * @template Types Tuple of target types
15
- * @returns Metadata application
16
- *
17
- * @author Jeongho Nam - https://github.com/samchon
18
- */
19
- export function metadata(): never;
20
-
21
- /**
22
- * Metadata Application.
23
- *
24
- * Creates a Metadata application which contains the metadata and components.
25
- *
26
- * Note that, all of the collection types like Array, Tuple and Objects are
27
- * stored in the {@link IMetadataApplication.components} property. Also, alias
28
- * types are stored in the {@link IMetadataApplication.aliases} property, too.
29
- *
30
- * @template Types Tuple of target types
31
- * @returns Metadata application
32
- *
33
- * @author Jeongho Nam - https://github.com/samchon
34
- */
35
- export function metadata<Types extends unknown[]>(): IMetadataApplication;
36
-
37
- /**
38
- * @internal
39
- */
40
- export function metadata(): never {
41
- halt("metadata");
42
- }
43
-
44
- export function name<T, Regular extends boolean = false>(): string;
45
- export function name(): never;
46
- export function name(): never {
47
- halt("name");
48
- }
49
-
50
- /**
51
- * @internal
52
- */
53
- function halt(name: string): never {
54
- throw new Error(
55
- `Error on typia.reflect.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`,
56
- );
57
- }
1
+ import { IMetadataApplication } from "./schemas/metadata/IMetadataApplication";
2
+
3
+ /**
4
+ * > You must configure the generic argument `Types`.
5
+ *
6
+ * Metadata Application.
7
+ *
8
+ * Creates a Metadata application which contains the metadata and components.
9
+ *
10
+ * Note that, all of the collection types like Array, Tuple and Objects are
11
+ * stored in the {@link IMetadataApplication.components} property. Also, alias
12
+ * types are stored in the {@link IMetadataApplication.aliases} property, too.
13
+ *
14
+ * @template Types Tuple of target types
15
+ * @returns Metadata application
16
+ *
17
+ * @author Jeongho Nam - https://github.com/samchon
18
+ */
19
+ export function metadata(): never;
20
+
21
+ /**
22
+ * Metadata Application.
23
+ *
24
+ * Creates a Metadata application which contains the metadata and components.
25
+ *
26
+ * Note that, all of the collection types like Array, Tuple and Objects are
27
+ * stored in the {@link IMetadataApplication.components} property. Also, alias
28
+ * types are stored in the {@link IMetadataApplication.aliases} property, too.
29
+ *
30
+ * @template Types Tuple of target types
31
+ * @returns Metadata application
32
+ *
33
+ * @author Jeongho Nam - https://github.com/samchon
34
+ */
35
+ export function metadata<Types extends unknown[]>(): IMetadataApplication;
36
+
37
+ /**
38
+ * @internal
39
+ */
40
+ export function metadata(): never {
41
+ halt("metadata");
42
+ }
43
+
44
+ export function name<T, Regular extends boolean = false>(): string;
45
+ export function name(): never;
46
+ export function name(): never {
47
+ halt("name");
48
+ }
49
+
50
+ /**
51
+ * @internal
52
+ */
53
+ function halt(name: string): never {
54
+ throw new Error(
55
+ `Error on typia.reflect.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`,
56
+ );
57
+ }
@@ -1,73 +1,73 @@
1
- import { IJsonSchemaCollection } from "./IJsonSchemaCollection";
2
-
3
- /**
4
- * Collection of JSON schemas.
5
- *
6
- * @deprecated Use {@link IJsonSchemaCollection} instead please.
7
- * This interface type would be changed to {@link ILlmApplication} like
8
- * structure in the future version (maybe next v8 major update).
9
- * @template Version Version of the OpenAPI specification.
10
- * @template Types Original TypeScript types used in the JSON schemas.
11
- * @author Jeongho Nam - https://github.com/samchon
12
- */
13
- export import IJsonApplication = IJsonSchemaCollection;
14
-
15
- // export interface IJsonApplication<
16
- // Version extends "3.0" | "3.1" = "3.1",
17
- // App extends any = object,
18
- // > {
19
- // version: Version;
20
- // components: IJsonApplication.IComponents<IJsonApplication.Schema<Version>>;
21
- // functions: IJsonApplication.IFunction<IJsonApplication.Schema<Version>>[];
22
- // __application?: App | undefined;
23
- // }
24
- // export namespace IJsonApplication {
25
- // export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
26
- // ? OpenApi.IJsonSchema
27
- // : OpenApiV3.IJsonSchema;
28
-
29
- // export interface IComponents<
30
- // Schema extends
31
- // | OpenApi.IJsonSchema
32
- // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
33
- // > {
34
- // schemas?: Record<string, Schema>;
35
- // }
36
-
37
- // export interface IFunction<
38
- // Schema extends
39
- // | OpenApi.IJsonSchema
40
- // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
41
- // > {
42
- // async: boolean;
43
- // name: string;
44
- // parameters: IParameter<Schema>[];
45
- // output: IOutput<Schema> | undefined;
46
- // summary?: string | undefined;
47
- // description?: string | undefined;
48
- // deprecated?: boolean;
49
- // tags?: string[];
50
- // }
51
-
52
- // export interface IParameter<
53
- // Schema extends
54
- // | OpenApi.IJsonSchema
55
- // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
56
- // > {
57
- // name: string;
58
- // required: boolean;
59
- // schema: Schema;
60
- // title?: string | undefined;
61
- // description?: string | undefined;
62
- // }
63
-
64
- // export interface IOutput<
65
- // Schema extends
66
- // | OpenApi.IJsonSchema
67
- // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
68
- // > {
69
- // schema: Schema;
70
- // required: boolean;
71
- // description?: string | undefined;
72
- // }
73
- // }
1
+ import { IJsonSchemaCollection } from "./IJsonSchemaCollection";
2
+
3
+ /**
4
+ * Collection of JSON schemas.
5
+ *
6
+ * @deprecated Use {@link IJsonSchemaCollection} instead please.
7
+ * This interface type would be changed to {@link ILlmApplication} like
8
+ * structure in the future version (maybe next v8 major update).
9
+ * @template Version Version of the OpenAPI specification.
10
+ * @template Types Original TypeScript types used in the JSON schemas.
11
+ * @author Jeongho Nam - https://github.com/samchon
12
+ */
13
+ export import IJsonApplication = IJsonSchemaCollection;
14
+
15
+ // export interface IJsonApplication<
16
+ // Version extends "3.0" | "3.1" = "3.1",
17
+ // App extends any = object,
18
+ // > {
19
+ // version: Version;
20
+ // components: IJsonApplication.IComponents<IJsonApplication.Schema<Version>>;
21
+ // functions: IJsonApplication.IFunction<IJsonApplication.Schema<Version>>[];
22
+ // __application?: App | undefined;
23
+ // }
24
+ // export namespace IJsonApplication {
25
+ // export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
26
+ // ? OpenApi.IJsonSchema
27
+ // : OpenApiV3.IJsonSchema;
28
+
29
+ // export interface IComponents<
30
+ // Schema extends
31
+ // | OpenApi.IJsonSchema
32
+ // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
33
+ // > {
34
+ // schemas?: Record<string, Schema>;
35
+ // }
36
+
37
+ // export interface IFunction<
38
+ // Schema extends
39
+ // | OpenApi.IJsonSchema
40
+ // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
41
+ // > {
42
+ // async: boolean;
43
+ // name: string;
44
+ // parameters: IParameter<Schema>[];
45
+ // output: IOutput<Schema> | undefined;
46
+ // summary?: string | undefined;
47
+ // description?: string | undefined;
48
+ // deprecated?: boolean;
49
+ // tags?: string[];
50
+ // }
51
+
52
+ // export interface IParameter<
53
+ // Schema extends
54
+ // | OpenApi.IJsonSchema
55
+ // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
56
+ // > {
57
+ // name: string;
58
+ // required: boolean;
59
+ // schema: Schema;
60
+ // title?: string | undefined;
61
+ // description?: string | undefined;
62
+ // }
63
+
64
+ // export interface IOutput<
65
+ // Schema extends
66
+ // | OpenApi.IJsonSchema
67
+ // | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
68
+ // > {
69
+ // schema: Schema;
70
+ // required: boolean;
71
+ // description?: string | undefined;
72
+ // }
73
+ // }
@@ -1,29 +1,29 @@
1
- import type { OpenApi, OpenApiV3 } from "@samchon/openapi";
2
-
3
- /**
4
- * Collection of JSON schemas.
5
- *
6
- * @template Version Version of the OpenAPI specification.
7
- * @template Types Original TypeScript types used in the JSON schemas.
8
- * @author Jeongho Nam - https://github.com/samchon
9
- */
10
- export type IJsonSchemaCollection<
11
- Version extends "3.0" | "3.1" = "3.1",
12
- Types = unknown[],
13
- > = Version extends "3.0"
14
- ? IJsonSchemaCollection.IV3_0<Types>
15
- : IJsonSchemaCollection.IV3_1<Types>;
16
- export namespace IJsonSchemaCollection {
17
- export interface IV3_0<Types = unknown[]> {
18
- version: "3.0";
19
- schemas: OpenApiV3.IJsonSchema[];
20
- components: OpenApiV3.IComponents;
21
- __types?: Types | undefined;
22
- }
23
- export interface IV3_1<Types = unknown[]> {
24
- version: "3.1";
25
- components: OpenApi.IComponents;
26
- schemas: OpenApi.IJsonSchema[];
27
- __types?: Types | undefined;
28
- }
29
- }
1
+ import type { OpenApi, OpenApiV3 } from "@samchon/openapi";
2
+
3
+ /**
4
+ * Collection of JSON schemas.
5
+ *
6
+ * @template Version Version of the OpenAPI specification.
7
+ * @template Types Original TypeScript types used in the JSON schemas.
8
+ * @author Jeongho Nam - https://github.com/samchon
9
+ */
10
+ export type IJsonSchemaCollection<
11
+ Version extends "3.0" | "3.1" = "3.1",
12
+ Types = unknown[],
13
+ > = Version extends "3.0"
14
+ ? IJsonSchemaCollection.IV3_0<Types>
15
+ : IJsonSchemaCollection.IV3_1<Types>;
16
+ export namespace IJsonSchemaCollection {
17
+ export interface IV3_0<Types = unknown[]> {
18
+ version: "3.0";
19
+ schemas: OpenApiV3.IJsonSchema[];
20
+ components: OpenApiV3.IComponents;
21
+ __types?: Types | undefined;
22
+ }
23
+ export interface IV3_1<Types = unknown[]> {
24
+ version: "3.1";
25
+ components: OpenApi.IComponents;
26
+ schemas: OpenApi.IJsonSchema[];
27
+ __types?: Types | undefined;
28
+ }
29
+ }
@@ -1,63 +1,63 @@
1
- import { OpenApi, OpenApiV3 } from "@samchon/openapi";
2
-
3
- export interface __IJsonApplication<
4
- Version extends "3.0" | "3.1" = "3.1",
5
- App extends any = object,
6
- > {
7
- version: Version;
8
- components: __IJsonApplication.IComponents<
9
- __IJsonApplication.Schema<Version>
10
- >;
11
- functions: __IJsonApplication.IFunction<__IJsonApplication.Schema<Version>>[];
12
- __application?: App | undefined;
13
- }
14
- export namespace __IJsonApplication {
15
- export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
16
- ? OpenApi.IJsonSchema
17
- : OpenApiV3.IJsonSchema;
18
-
19
- export interface IComponents<
20
- Schema extends
21
- | OpenApi.IJsonSchema
22
- | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
23
- > {
24
- schemas?: Record<string, Schema>;
25
- }
26
-
27
- export interface IFunction<
28
- Schema extends
29
- | OpenApi.IJsonSchema
30
- | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
31
- > {
32
- async: boolean;
33
- name: string;
34
- parameters: IParameter<Schema>[];
35
- output: IOutput<Schema> | undefined;
36
- summary?: string | undefined;
37
- description?: string | undefined;
38
- deprecated?: boolean;
39
- tags?: string[];
40
- }
41
-
42
- export interface IParameter<
43
- Schema extends
44
- | OpenApi.IJsonSchema
45
- | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
46
- > {
47
- name: string;
48
- required: boolean;
49
- schema: Schema;
50
- title?: string | undefined;
51
- description?: string | undefined;
52
- }
53
-
54
- export interface IOutput<
55
- Schema extends
56
- | OpenApi.IJsonSchema
57
- | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
58
- > {
59
- schema: Schema;
60
- required: boolean;
61
- description?: string | undefined;
62
- }
63
- }
1
+ import { OpenApi, OpenApiV3 } from "@samchon/openapi";
2
+
3
+ export interface __IJsonApplication<
4
+ Version extends "3.0" | "3.1" = "3.1",
5
+ App extends any = object,
6
+ > {
7
+ version: Version;
8
+ components: __IJsonApplication.IComponents<
9
+ __IJsonApplication.Schema<Version>
10
+ >;
11
+ functions: __IJsonApplication.IFunction<__IJsonApplication.Schema<Version>>[];
12
+ __application?: App | undefined;
13
+ }
14
+ export namespace __IJsonApplication {
15
+ export type Schema<Version extends "3.0" | "3.1"> = Version extends "3.1"
16
+ ? OpenApi.IJsonSchema
17
+ : OpenApiV3.IJsonSchema;
18
+
19
+ export interface IComponents<
20
+ Schema extends
21
+ | OpenApi.IJsonSchema
22
+ | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
23
+ > {
24
+ schemas?: Record<string, Schema>;
25
+ }
26
+
27
+ export interface IFunction<
28
+ Schema extends
29
+ | OpenApi.IJsonSchema
30
+ | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
31
+ > {
32
+ async: boolean;
33
+ name: string;
34
+ parameters: IParameter<Schema>[];
35
+ output: IOutput<Schema> | undefined;
36
+ summary?: string | undefined;
37
+ description?: string | undefined;
38
+ deprecated?: boolean;
39
+ tags?: string[];
40
+ }
41
+
42
+ export interface IParameter<
43
+ Schema extends
44
+ | OpenApi.IJsonSchema
45
+ | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
46
+ > {
47
+ name: string;
48
+ required: boolean;
49
+ schema: Schema;
50
+ title?: string | undefined;
51
+ description?: string | undefined;
52
+ }
53
+
54
+ export interface IOutput<
55
+ Schema extends
56
+ | OpenApi.IJsonSchema
57
+ | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema,
58
+ > {
59
+ schema: Schema;
60
+ required: boolean;
61
+ description?: string | undefined;
62
+ }
63
+ }
@@ -1,55 +1,55 @@
1
- import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
2
-
3
- import { ILlmFunctionOfValidate } from "./ILlmFunctionOfValidate";
4
-
5
- /**
6
- * Application of LLM function calling with validators.
7
- *
8
- * `ILlmApplication` is a data structure representing a collection of
9
- * {@link ILlmFunctionOfValidate LLM function calling schemas}, composed from a native
10
- * TypeScript class (or interface) type by the `typia.llm.applicationOfValidate<App, Model>()`
11
- * function.
12
- *
13
- * If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
14
- * LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
15
- * select the proper function and fill its arguments from the conversation
16
- * (maybe chatting text) with user (human). This is the concept of the LLM function calling.
17
- *
18
- * Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
19
- * {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
20
- * {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
21
- * parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
22
- * is a validator function reporting the detailed information about the wrong typed parameters.
23
- *
24
- * By the way, there can be some parameters (or their nested properties) which must be
25
- * composed by Human, not by LLM. File uploading feature or some sensitive information
26
- * like secret keys (password) are the examples. In that case, you can separate the
27
- * function parameters to both LLM and human sides by configuring the
28
- * {@link ILlmApplication.IOptions.separate} property. The separated parameters are
29
- * assigned to the {@link ILlmFunction.separated} property.
30
- *
31
- * For reference, when both LLM and Human filled parameter values to call, you can
32
- * merge them by calling the {@link HttpLlm.mergeParameters} function. In other words,
33
- * if you've configured the {@link ILlmApplication.IOptions.separate} property, you
34
- * have to merge the separated parameters before the function call execution.
35
- *
36
- * @reference https://platform.openai.com/docs/guides/function-calling
37
- * @author Jeongho Nam - https://github.com/samchon
38
- */
39
- export interface ILlmApplicationOfValidate<Model extends ILlmSchema.Model>
40
- extends ILlmApplication<Model> {
41
- /**
42
- * List of function metadata.
43
- *
44
- * List of function metadata that can be used for the LLM function call.
45
- *
46
- * Also, every functions have their own parameters validator
47
- * {@link ILlmFunctionOfValidate.validate}. If the LLM function calling composes wrong
48
- * typed parameters, then deliver return value of it, then LLM will correct parameters
49
- * at the next conversation.
50
- */
51
- functions: ILlmFunctionOfValidate<Model>[];
52
- }
53
- export namespace ILlmApplicationOfValidate {
54
- export import IOptions = ILlmApplication.IOptions;
55
- }
1
+ import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
2
+
3
+ import { ILlmFunctionOfValidate } from "./ILlmFunctionOfValidate";
4
+
5
+ /**
6
+ * Application of LLM function calling with validators.
7
+ *
8
+ * `ILlmApplication` is a data structure representing a collection of
9
+ * {@link ILlmFunctionOfValidate LLM function calling schemas}, composed from a native
10
+ * TypeScript class (or interface) type by the `typia.llm.applicationOfValidate<App, Model>()`
11
+ * function.
12
+ *
13
+ * If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
14
+ * LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
15
+ * select the proper function and fill its arguments from the conversation
16
+ * (maybe chatting text) with user (human). This is the concept of the LLM function calling.
17
+ *
18
+ * Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
19
+ * {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
20
+ * {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
21
+ * parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
22
+ * is a validator function reporting the detailed information about the wrong typed parameters.
23
+ *
24
+ * By the way, there can be some parameters (or their nested properties) which must be
25
+ * composed by Human, not by LLM. File uploading feature or some sensitive information
26
+ * like secret keys (password) are the examples. In that case, you can separate the
27
+ * function parameters to both LLM and human sides by configuring the
28
+ * {@link ILlmApplication.IOptions.separate} property. The separated parameters are
29
+ * assigned to the {@link ILlmFunction.separated} property.
30
+ *
31
+ * For reference, when both LLM and Human filled parameter values to call, you can
32
+ * merge them by calling the {@link HttpLlm.mergeParameters} function. In other words,
33
+ * if you've configured the {@link ILlmApplication.IOptions.separate} property, you
34
+ * have to merge the separated parameters before the function call execution.
35
+ *
36
+ * @reference https://platform.openai.com/docs/guides/function-calling
37
+ * @author Jeongho Nam - https://github.com/samchon
38
+ */
39
+ export interface ILlmApplicationOfValidate<Model extends ILlmSchema.Model>
40
+ extends ILlmApplication<Model> {
41
+ /**
42
+ * List of function metadata.
43
+ *
44
+ * List of function metadata that can be used for the LLM function call.
45
+ *
46
+ * Also, every functions have their own parameters validator
47
+ * {@link ILlmFunctionOfValidate.validate}. If the LLM function calling composes wrong
48
+ * typed parameters, then deliver return value of it, then LLM will correct parameters
49
+ * at the next conversation.
50
+ */
51
+ functions: ILlmFunctionOfValidate<Model>[];
52
+ }
53
+ export namespace ILlmApplicationOfValidate {
54
+ export import IOptions = ILlmApplication.IOptions;
55
+ }
@@ -1,39 +1,39 @@
1
- import { ILlmFunction, ILlmSchema } from "@samchon/openapi";
2
-
3
- import { IValidation } from "../../IValidation";
4
-
5
- /**
6
- * LLM function metadata with validator.
7
- *
8
- * `ILlmFunctionOfValidate` is an interface representing a function metadata,
9
- * which has been used for the LLM (Language Large Model) function
10
- * calling. Also, it's a function structure containing the function
11
- * {@link name}, {@link parameters} and {@link output return type}.
12
- *
13
- * If you provide this `ILlmFunctionOfValidate` data to the LLM provider like "OpenAI",
14
- * the "OpenAI" will compose a function arguments by analyzing conversations
15
- * with the user. With the LLM composed arguments, you can execute the function
16
- * and get the result.
17
- *
18
- * If the LLM function calling take s a mistake that composing wrong typed
19
- * {@link parameters}, you can correct the parameters by delivering the return
20
- * value of the {@link validate} function. The {@link validate} function is a
21
- * validator function reporting the detailed information about the wrong typed
22
- * {@link parameters}.
23
- *
24
- * By the way, do not ensure that LLM will always provide the correct arguments.
25
- * The LLM of present age is not perfect, and sometimes takes a mistake that composing
26
- * wrong typed {@link parameters}. In that case, you can correc the parameters by
27
- * delivering the return value of the {@link validate} function. The {@link validate}
28
- * function reports the detailed information about the wrong typed {@link parameters},
29
- *
30
- * @reference https://platform.openai.com/docs/guides/function-calling
31
- * @author Jeongho Nam - https://github.com/samchon
32
- */
33
- export interface ILlmFunctionOfValidate<Model extends ILlmSchema.Model>
34
- extends ILlmFunction<Model> {
35
- validate(props: object): IValidation<unknown>;
36
- }
37
- export namespace ILlmFunctionOfValidate {
38
- export import ISeparated = ILlmFunction.ISeparated;
39
- }
1
+ import { ILlmFunction, ILlmSchema } from "@samchon/openapi";
2
+
3
+ import { IValidation } from "../../IValidation";
4
+
5
+ /**
6
+ * LLM function metadata with validator.
7
+ *
8
+ * `ILlmFunctionOfValidate` is an interface representing a function metadata,
9
+ * which has been used for the LLM (Language Large Model) function
10
+ * calling. Also, it's a function structure containing the function
11
+ * {@link name}, {@link parameters} and {@link output return type}.
12
+ *
13
+ * If you provide this `ILlmFunctionOfValidate` data to the LLM provider like "OpenAI",
14
+ * the "OpenAI" will compose a function arguments by analyzing conversations
15
+ * with the user. With the LLM composed arguments, you can execute the function
16
+ * and get the result.
17
+ *
18
+ * If the LLM function calling take s a mistake that composing wrong typed
19
+ * {@link parameters}, you can correct the parameters by delivering the return
20
+ * value of the {@link validate} function. The {@link validate} function is a
21
+ * validator function reporting the detailed information about the wrong typed
22
+ * {@link parameters}.
23
+ *
24
+ * By the way, do not ensure that LLM will always provide the correct arguments.
25
+ * The LLM of present age is not perfect, and sometimes takes a mistake that composing
26
+ * wrong typed {@link parameters}. In that case, you can correc the parameters by
27
+ * delivering the return value of the {@link validate} function. The {@link validate}
28
+ * function reports the detailed information about the wrong typed {@link parameters},
29
+ *
30
+ * @reference https://platform.openai.com/docs/guides/function-calling
31
+ * @author Jeongho Nam - https://github.com/samchon
32
+ */
33
+ export interface ILlmFunctionOfValidate<Model extends ILlmSchema.Model>
34
+ extends ILlmFunction<Model> {
35
+ validate(props: object): IValidation<unknown>;
36
+ }
37
+ export namespace ILlmFunctionOfValidate {
38
+ export import ISeparated = ILlmFunction.ISeparated;
39
+ }
@@ -1,10 +1,10 @@
1
- export interface IJsDocTagInfo {
2
- name: string;
3
- text?: IJsDocTagInfo.IText[];
4
- }
5
- export namespace IJsDocTagInfo {
6
- export interface IText {
7
- text: string;
8
- kind: string;
9
- }
10
- }
1
+ export interface IJsDocTagInfo {
2
+ name: string;
3
+ text?: IJsDocTagInfo.IText[];
4
+ }
5
+ export namespace IJsDocTagInfo {
6
+ export interface IText {
7
+ text: string;
8
+ kind: string;
9
+ }
10
+ }