typia 8.0.2 → 8.0.3-dev.20250316

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