typia 7.0.1 → 7.0.2-dev.20241204

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