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