@skmtc/core 0.29.0 → 0.31.0

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 (409) hide show
  1. package/esm/_dnt.polyfills.d.ts +11 -0
  2. package/esm/_dnt.polyfills.js +14 -0
  3. package/esm/context/ParseContext.js +9 -1
  4. package/esm/context/generateTypes.d.ts +14 -2
  5. package/esm/context/generateTypes.js +5 -1
  6. package/esm/dsl/GeneratorKeys.d.ts +2 -2
  7. package/esm/dsl/GeneratorKeys.js +6 -3
  8. package/esm/helpers/naming.d.ts +2 -1
  9. package/esm/helpers/naming.js +4 -2
  10. package/esm/mod.d.ts +1 -0
  11. package/esm/mod.js +1 -0
  12. package/esm/oas/discriminator/Discriminator.d.ts +3 -0
  13. package/esm/oas/discriminator/Discriminator.js +7 -0
  14. package/esm/oas/document/Document.d.ts +7 -0
  15. package/esm/oas/document/Document.js +8 -0
  16. package/esm/oas/example/Example.d.ts +10 -1
  17. package/esm/oas/example/Example.js +16 -0
  18. package/esm/oas/header/Header.d.ts +4 -2
  19. package/esm/oas/header/Header.js +12 -5
  20. package/esm/oas/mediaType/MediaType.d.ts +12 -0
  21. package/esm/oas/mediaType/MediaType.js +24 -0
  22. package/esm/oas/mediaType/jsonMediaType.d.ts +50 -0
  23. package/esm/oas/mediaType/jsonMediaType.js +64 -0
  24. package/esm/oas/mediaType/toContentSchema.d.ts +8 -0
  25. package/esm/oas/mediaType/toContentSchema.js +6 -0
  26. package/esm/oas/operation/Operation.d.ts +10 -2
  27. package/esm/oas/operation/Operation.js +20 -7
  28. package/esm/oas/parameter/Parameter.d.ts +3 -2
  29. package/esm/oas/parameter/Parameter.js +11 -5
  30. package/esm/oas/parameter/parameter-types.d.ts +10 -2
  31. package/esm/oas/parameter/parameter-types.js +3 -1
  32. package/esm/oas/requestBody/RequestBody.d.ts +11 -0
  33. package/esm/oas/requestBody/RequestBody.js +16 -2
  34. package/esm/oas/response/Response.d.ts +17 -1
  35. package/esm/oas/response/Response.js +24 -2
  36. package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  37. package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
  38. package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  39. package/esm/oas/server/Server.d.ts +8 -2
  40. package/esm/oas/server/Server.js +10 -1
  41. package/esm/oas/tag/Tag.d.ts +9 -0
  42. package/esm/oas/tag/Tag.js +9 -0
  43. package/esm/oas/webhook/Webhook.d.ts +4 -4
  44. package/esm/oas/webhook/Webhook.js +6 -6
  45. package/esm/parse/logBodyMediaTypes.d.ts +27 -0
  46. package/esm/parse/logBodyMediaTypes.js +50 -0
  47. package/esm/parse/toOasDialect.d.ts +8 -7
  48. package/esm/parse/toOasDialect.js +4 -2
  49. package/esm/parse/v3-0/methods.d.ts +11 -0
  50. package/esm/parse/v3-0/methods.js +16 -0
  51. package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
  52. package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  53. package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
  54. package/esm/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
  55. package/esm/parse/v3-0/response/toResponseV3.js +4 -1
  56. package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
  57. package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  58. package/esm/parse/v3-1/methods.d.ts +11 -0
  59. package/esm/parse/v3-1/methods.js +16 -0
  60. package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
  61. package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  62. package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
  63. package/esm/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
  64. package/esm/parse/v3-1/response/toResponseV3.js +4 -1
  65. package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
  66. package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  67. package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  68. package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
  69. package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  70. package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
  71. package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  72. package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
  73. package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  74. package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
  75. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  76. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
  77. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  78. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
  79. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  80. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
  81. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  82. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
  83. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  84. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
  85. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  86. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
  87. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  88. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
  89. package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  90. package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
  91. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  92. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
  93. package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  94. package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
  95. package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  96. package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
  97. package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  98. package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
  99. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  100. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
  101. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  102. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
  103. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  104. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
  105. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  106. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
  107. package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  108. package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
  109. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  110. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
  111. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  112. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
  113. package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  114. package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
  115. package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  116. package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
  117. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  118. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
  119. package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  120. package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
  121. package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  122. package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
  123. package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  124. package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
  125. package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  126. package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
  127. package/esm/parse/v3-2/array/toArray.d.ts +80 -0
  128. package/esm/parse/v3-2/array/toArray.js +165 -0
  129. package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  130. package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
  131. package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  132. package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
  133. package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
  134. package/esm/parse/v3-2/contact/toContactV3.js +18 -0
  135. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  136. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
  137. package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  138. package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
  139. package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  140. package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
  141. package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  142. package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
  143. package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  144. package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
  145. package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
  146. package/esm/parse/v3-2/info/toInfoV3.js +23 -0
  147. package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
  148. package/esm/parse/v3-2/integer/toInteger.js +115 -0
  149. package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  150. package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
  151. package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
  152. package/esm/parse/v3-2/link/toLinksV3.js +40 -0
  153. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  154. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
  155. package/esm/parse/v3-2/methods.d.ts +17 -0
  156. package/esm/parse/v3-2/methods.js +21 -0
  157. package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
  158. package/esm/parse/v3-2/number/toNumber.js +115 -0
  159. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  160. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
  161. package/esm/parse/v3-2/object/toObject.d.ts +10 -0
  162. package/esm/parse/v3-2/object/toObject.js +90 -0
  163. package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  164. package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
  165. package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  166. package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
  167. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  168. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
  169. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  170. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
  171. package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  172. package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
  173. package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
  174. package/esm/parse/v3-2/ref/toRefV31.js +10 -0
  175. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  176. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +47 -0
  177. package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
  178. package/esm/parse/v3-2/response/toResponseV3.js +59 -0
  179. package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  180. package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
  181. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  182. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
  183. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  184. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
  185. package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
  186. package/esm/parse/v3-2/server/toServerV3.js +31 -0
  187. package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  188. package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
  189. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  190. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
  191. package/esm/parse/v3-2/string/toString.d.ts +146 -0
  192. package/esm/parse/v3-2/string/toString.js +211 -0
  193. package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  194. package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
  195. package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
  196. package/esm/parse/v3-2/union/toUnion.js +68 -0
  197. package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  198. package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
  199. package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  200. package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
  201. package/esm/types/Method.d.ts +7 -4
  202. package/esm/types/Method.js +17 -4
  203. package/esm/types/Preview.d.ts +2 -1
  204. package/esm/types/SkmtcDocument.d.ts +6 -6
  205. package/package.json +1 -1
  206. package/script/_dnt.polyfills.d.ts +11 -0
  207. package/script/_dnt.polyfills.js +14 -0
  208. package/script/context/ParseContext.js +9 -1
  209. package/script/context/generateTypes.d.ts +14 -2
  210. package/script/context/generateTypes.js +5 -1
  211. package/script/dsl/GeneratorKeys.d.ts +2 -2
  212. package/script/dsl/GeneratorKeys.js +6 -3
  213. package/script/helpers/naming.d.ts +2 -1
  214. package/script/helpers/naming.js +4 -2
  215. package/script/mod.d.ts +1 -0
  216. package/script/mod.js +1 -0
  217. package/script/oas/discriminator/Discriminator.d.ts +3 -0
  218. package/script/oas/discriminator/Discriminator.js +7 -0
  219. package/script/oas/document/Document.d.ts +7 -0
  220. package/script/oas/document/Document.js +8 -0
  221. package/script/oas/example/Example.d.ts +10 -1
  222. package/script/oas/example/Example.js +16 -0
  223. package/script/oas/header/Header.d.ts +4 -2
  224. package/script/oas/header/Header.js +12 -5
  225. package/script/oas/mediaType/MediaType.d.ts +12 -0
  226. package/script/oas/mediaType/MediaType.js +24 -0
  227. package/script/oas/mediaType/jsonMediaType.d.ts +50 -0
  228. package/script/oas/mediaType/jsonMediaType.js +71 -0
  229. package/script/oas/mediaType/toContentSchema.d.ts +8 -0
  230. package/script/oas/mediaType/toContentSchema.js +10 -0
  231. package/script/oas/operation/Operation.d.ts +10 -2
  232. package/script/oas/operation/Operation.js +20 -7
  233. package/script/oas/parameter/Parameter.d.ts +3 -2
  234. package/script/oas/parameter/Parameter.js +11 -5
  235. package/script/oas/parameter/parameter-types.d.ts +10 -2
  236. package/script/oas/parameter/parameter-types.js +3 -1
  237. package/script/oas/requestBody/RequestBody.d.ts +11 -0
  238. package/script/oas/requestBody/RequestBody.js +16 -2
  239. package/script/oas/response/Response.d.ts +17 -1
  240. package/script/oas/response/Response.js +24 -2
  241. package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  242. package/script/oas/securitySchemes/SecurityScheme.js +46 -1
  243. package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  244. package/script/oas/server/Server.d.ts +8 -2
  245. package/script/oas/server/Server.js +10 -1
  246. package/script/oas/tag/Tag.d.ts +9 -0
  247. package/script/oas/tag/Tag.js +9 -0
  248. package/script/oas/webhook/Webhook.d.ts +4 -4
  249. package/script/oas/webhook/Webhook.js +6 -6
  250. package/script/parse/logBodyMediaTypes.d.ts +27 -0
  251. package/script/parse/logBodyMediaTypes.js +54 -0
  252. package/script/parse/toOasDialect.d.ts +8 -7
  253. package/script/parse/toOasDialect.js +4 -2
  254. package/script/parse/v3-0/methods.d.ts +11 -0
  255. package/script/parse/v3-0/methods.js +20 -0
  256. package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
  257. package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  258. package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
  259. package/script/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
  260. package/script/parse/v3-0/response/toResponseV3.js +4 -1
  261. package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
  262. package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  263. package/script/parse/v3-1/methods.d.ts +11 -0
  264. package/script/parse/v3-1/methods.js +20 -0
  265. package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
  266. package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  267. package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
  268. package/script/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
  269. package/script/parse/v3-1/response/toResponseV3.js +4 -1
  270. package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
  271. package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  272. package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  273. package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
  274. package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  275. package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
  276. package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  277. package/script/parse/v3-2/_helpers/parseExample.js +41 -0
  278. package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  279. package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
  280. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  281. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
  282. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  283. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
  284. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  285. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
  286. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  287. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
  288. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  289. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
  290. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  291. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
  292. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  293. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
  294. package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  295. package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
  296. package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  297. package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
  298. package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  299. package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
  300. package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  301. package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
  302. package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  303. package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
  304. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  305. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
  306. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  307. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
  308. package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  309. package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
  310. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  311. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
  312. package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  313. package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
  314. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  315. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
  316. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  317. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
  318. package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  319. package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
  320. package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  321. package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
  322. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  323. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
  324. package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  325. package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
  326. package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  327. package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
  328. package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  329. package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
  330. package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  331. package/script/parse/v3-2/_merge-all-of/types.js +38 -0
  332. package/script/parse/v3-2/array/toArray.d.ts +80 -0
  333. package/script/parse/v3-2/array/toArray.js +203 -0
  334. package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  335. package/script/parse/v3-2/boolean/toBoolean.js +177 -0
  336. package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  337. package/script/parse/v3-2/components/toComponentsV3.js +47 -0
  338. package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
  339. package/script/parse/v3-2/contact/toContactV3.js +22 -0
  340. package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  341. package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
  342. package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  343. package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
  344. package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  345. package/script/parse/v3-2/example/toExamplesV3.js +149 -0
  346. package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  347. package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
  348. package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  349. package/script/parse/v3-2/header/toHeadersV3.js +51 -0
  350. package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
  351. package/script/parse/v3-2/info/toInfoV3.js +27 -0
  352. package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
  353. package/script/parse/v3-2/integer/toInteger.js +153 -0
  354. package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  355. package/script/parse/v3-2/license/toLicenseV3.js +21 -0
  356. package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
  357. package/script/parse/v3-2/link/toLinksV3.js +44 -0
  358. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  359. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
  360. package/script/parse/v3-2/methods.d.ts +17 -0
  361. package/script/parse/v3-2/methods.js +25 -0
  362. package/script/parse/v3-2/number/toNumber.d.ts +10 -0
  363. package/script/parse/v3-2/number/toNumber.js +152 -0
  364. package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  365. package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
  366. package/script/parse/v3-2/object/toObject.d.ts +10 -0
  367. package/script/parse/v3-2/object/toObject.js +94 -0
  368. package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  369. package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
  370. package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  371. package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
  372. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  373. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
  374. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  375. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
  376. package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  377. package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
  378. package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
  379. package/script/parse/v3-2/ref/toRefV31.js +14 -0
  380. package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  381. package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +52 -0
  382. package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
  383. package/script/parse/v3-2/response/toResponseV3.js +65 -0
  384. package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  385. package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
  386. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  387. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
  388. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  389. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
  390. package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
  391. package/script/parse/v3-2/server/toServerV3.js +37 -0
  392. package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  393. package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
  394. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  395. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
  396. package/script/parse/v3-2/string/toString.d.ts +146 -0
  397. package/script/parse/v3-2/string/toString.js +249 -0
  398. package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  399. package/script/parse/v3-2/tag/toTagsV3.js +83 -0
  400. package/script/parse/v3-2/union/toUnion.d.ts +12 -0
  401. package/script/parse/v3-2/union/toUnion.js +72 -0
  402. package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  403. package/script/parse/v3-2/unknown/toUnknown.js +23 -0
  404. package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  405. package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
  406. package/script/types/Method.d.ts +7 -4
  407. package/script/types/Method.js +17 -4
  408. package/script/types/Preview.d.ts +2 -1
  409. package/script/types/SkmtcDocument.d.ts +6 -6
@@ -60,6 +60,14 @@ export type OperationFields = {
60
60
  export type ToRequestBodyMapArgs = {
61
61
  schema: OasSchema | OasRef<'schema'>;
62
62
  requestBody: OasRequestBody;
63
+ /** The `content` key the schema was read from. */
64
+ mediaType: string;
65
+ /**
66
+ * The media type to send the body as: the explicit media type when one was
67
+ * passed, else `contentType` of `OasRequestBody.toJsonContent` (the
68
+ * JSON-like key, or `application/json` for a body read from `*\/*`).
69
+ */
70
+ contentType: string;
63
71
  };
64
72
  export declare class OasOperation extends OasBase {
65
73
  /** Type identifier for OAS operation objects */
@@ -120,7 +128,7 @@ export declare class OasOperation extends OasBase {
120
128
  * Maps the request body schema to a custom value using the provided mapping function.
121
129
  *
122
130
  * @param map - Function to transform the request body schema and metadata
123
- * @param mediaType - Media type to extract schema from (default: 'application/json')
131
+ * @param mediaType - Media type to extract schema from, an exact lookup. Omitted: the media type `OasRequestBody.toJsonContent` picks.
124
132
  * @returns Mapped value or undefined if no request body schema found
125
133
  */
126
134
  toRequestBody<V>(map: ({ schema, requestBody }: ToRequestBodyMapArgs) => V, mediaType?: string): V | undefined;
@@ -133,7 +141,7 @@ export declare class OasOperation extends OasBase {
133
141
  * {@link traverseSchema}.
134
142
  *
135
143
  * @param path - Schema path; `path[0]` must be `'SuccessResponse'` or `'RequestBody'`.
136
- * @param mediaType - Media type the body schema is read from (default `application/json`).
144
+ * @param mediaType - Media type the body schema is read from, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
137
145
  * @returns The schema at the path (may be an unresolved `$ref`).
138
146
  * @throws Error on an unknown root, a missing response/request body, or a non-navigable segment.
139
147
  */
@@ -164,13 +164,25 @@ export class OasOperation extends OasBase {
164
164
  * Maps the request body schema to a custom value using the provided mapping function.
165
165
  *
166
166
  * @param map - Function to transform the request body schema and metadata
167
- * @param mediaType - Media type to extract schema from (default: 'application/json')
167
+ * @param mediaType - Media type to extract schema from, an exact lookup. Omitted: the media type `OasRequestBody.toJsonContent` picks.
168
168
  * @returns Mapped value or undefined if no request body schema found
169
169
  */
170
- toRequestBody(map, mediaType = 'application/json') {
170
+ toRequestBody(map, mediaType) {
171
171
  const requestBody = this.requestBody?.resolve();
172
- const schema = requestBody?.content[mediaType]?.schema;
173
- return schema ? map({ schema, requestBody }) : undefined;
172
+ if (!requestBody) {
173
+ return undefined;
174
+ }
175
+ const chosen = mediaType === undefined
176
+ ? requestBody.toJsonContent()
177
+ : { mediaType, contentType: mediaType, schema: requestBody.toSchema(mediaType) };
178
+ return chosen?.schema
179
+ ? map({
180
+ schema: chosen.schema,
181
+ requestBody,
182
+ mediaType: chosen.mediaType,
183
+ contentType: chosen.contentType
184
+ })
185
+ : undefined;
174
186
  }
175
187
  /**
176
188
  * Navigate into this operation's response or request body schema along an
@@ -181,11 +193,11 @@ export class OasOperation extends OasBase {
181
193
  * {@link traverseSchema}.
182
194
  *
183
195
  * @param path - Schema path; `path[0]` must be `'SuccessResponse'` or `'RequestBody'`.
184
- * @param mediaType - Media type the body schema is read from (default `application/json`).
196
+ * @param mediaType - Media type the body schema is read from, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
185
197
  * @returns The schema at the path (may be an unresolved `$ref`).
186
198
  * @throws Error on an unknown root, a missing response/request body, or a non-navigable segment.
187
199
  */
188
- traverse(path, mediaType = 'application/json') {
200
+ traverse(path, mediaType) {
189
201
  const [root, ...rest] = path;
190
202
  let rootSchema;
191
203
  switch (root) {
@@ -200,7 +212,8 @@ export class OasOperation extends OasBase {
200
212
  }
201
213
  if (!rootSchema) {
202
214
  const label = root === 'SuccessResponse' ? 'success response' : 'request body';
203
- throw new Error(`Operation "${this.method} ${this.path}" has no ${label} schema for media type "${mediaType}"`);
215
+ const mediaTypeLabel = mediaType === undefined ? 'a JSON media type' : `media type "${mediaType}"`;
216
+ throw new Error(`Operation "${this.method} ${this.path}" has no ${label} schema for ${mediaTypeLabel}`);
204
217
  }
205
218
  return traverseSchema(rootSchema, rest);
206
219
  }
@@ -240,9 +240,10 @@ export declare class OasParameter extends OasBase {
240
240
  * Extracts the schema for this parameter.
241
241
  *
242
242
  * Returns the direct schema if available, or extracts schema from content
243
- * for the specified media type.
243
+ * for the specified media type. When `content` has exactly one entry, its
244
+ * schema is used whatever the media type.
244
245
  *
245
- * @param mediaType - Media type to extract schema from when using content definitions
246
+ * @param mediaType - Media type to extract schema from when using content definitions, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
246
247
  * @returns The parameter's schema object
247
248
  * @throws Error if no schema is found for the specified media type
248
249
  */
@@ -1,5 +1,6 @@
1
1
  import "../../_dnt.polyfills.js";
2
2
  import { OasBase } from '../../types/OasBase.js';
3
+ import { toContentSchema } from '../mediaType/toContentSchema.js';
3
4
  /**
4
5
  * Represents a Parameter Object in the OpenAPI Specification.
5
6
  *
@@ -292,19 +293,24 @@ export class OasParameter extends OasBase {
292
293
  * Extracts the schema for this parameter.
293
294
  *
294
295
  * Returns the direct schema if available, or extracts schema from content
295
- * for the specified media type.
296
+ * for the specified media type. When `content` has exactly one entry, its
297
+ * schema is used whatever the media type.
296
298
  *
297
- * @param mediaType - Media type to extract schema from when using content definitions
299
+ * @param mediaType - Media type to extract schema from when using content definitions, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
298
300
  * @returns The parameter's schema object
299
301
  * @throws Error if no schema is found for the specified media type
300
302
  */
301
- toSchema(mediaType = 'application/json') {
303
+ toSchema(mediaType) {
302
304
  if (this.schema) {
303
305
  return this.schema;
304
306
  }
305
- const schema = this.content?.[mediaType]?.schema;
307
+ const contentEntries = Object.values(this.content ?? {});
308
+ const onlyEntry = contentEntries.length === 1 ? contentEntries[0] : undefined;
309
+ const schema = toContentSchema(this.content, mediaType) ?? onlyEntry?.schema;
306
310
  if (!schema) {
307
- throw new Error(`Schema not found for media type ${mediaType}`);
311
+ throw new Error(mediaType === undefined
312
+ ? 'Schema not found for a JSON media type'
313
+ : `Schema not found for media type "${mediaType}"`);
308
314
  }
309
315
  return schema;
310
316
  }
@@ -1,5 +1,13 @@
1
1
  import * as v from 'valibot';
2
- export type OasParameterLocation = 'query' | 'header' | 'path' | 'cookie';
2
+ /**
3
+ * Parameter locations across OpenAPI 3.0 to 3.2. `querystring` is new in
4
+ * 3.2; each parser tree accepts its own subset.
5
+ */
6
+ export type OasParameterLocation = 'query' | 'querystring' | 'header' | 'path' | 'cookie';
3
7
  export declare const oasParameterLocation: v.GenericSchema<OasParameterLocation>;
4
- export type OasParameterStyle = 'matrix' | 'label' | 'form' | 'simple' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject';
8
+ /**
9
+ * Parameter styles across OpenAPI 3.0 to 3.2. `cookie` is new in 3.2; each
10
+ * parser tree accepts its own subset.
11
+ */
12
+ export type OasParameterStyle = 'matrix' | 'label' | 'form' | 'simple' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject' | 'cookie';
5
13
  export declare const oasParameterStyle: v.GenericSchema<OasParameterStyle>;
@@ -1,6 +1,7 @@
1
1
  import * as v from 'valibot';
2
2
  export const oasParameterLocation = v.enum({
3
3
  query: 'query',
4
+ querystring: 'querystring',
4
5
  header: 'header',
5
6
  path: 'path',
6
7
  cookie: 'cookie'
@@ -12,5 +13,6 @@ export const oasParameterStyle = v.enum({
12
13
  simple: 'simple',
13
14
  spaceDelimited: 'spaceDelimited',
14
15
  pipeDelimited: 'pipeDelimited',
15
- deepObject: 'deepObject'
16
+ deepObject: 'deepObject',
17
+ cookie: 'cookie'
16
18
  });
@@ -6,6 +6,7 @@ import type { ToJsonSchemaOptions } from '../schema/Schema.js';
6
6
  import type { OpenAPIV3 } from 'openapi-types';
7
7
  import { OasBase } from '../../types/OasBase.js';
8
8
  import type { ParseContextType } from '../../context/parseTypes.js';
9
+ import type { JsonContent } from '../mediaType/jsonMediaType.js';
9
10
  /**
10
11
  * Constructor fields for {@link OasRequestBody}.
11
12
  */
@@ -286,6 +287,16 @@ export declare class OasRequestBody extends OasBase {
286
287
  isRef(): this is OasRef<'requestBody'>;
287
288
  resolve(): OasRequestBody;
288
289
  resolveOnce(): OasRequestBody;
290
+ /**
291
+ * The body schema for `mediaType`, an exact key lookup. Without
292
+ * `mediaType`, the schema of the JSON media type that {@link toJsonContent}
293
+ * picks: `application/json`, else the first JSON-like type such as
294
+ * `application/json;v=1.0` or `application/vnd.api+json`, else `*\/*`
295
+ * when its schema is an object, array, union or `$ref`.
296
+ * `undefined` when there is no such media type or it has no schema.
297
+ */
289
298
  toSchema(mediaType?: string): OasSchema | OasRef<'schema'> | undefined;
299
+ /** The media type this body is read from (JSON-like, or `*\/*`), and its schema. See {@link toJsonContent}. */
300
+ toJsonContent(): JsonContent | undefined;
290
301
  toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.RequestBodyObject;
291
302
  }
@@ -1,5 +1,7 @@
1
1
  import "../../_dnt.polyfills.js";
2
2
  import { OasBase } from '../../types/OasBase.js';
3
+ import { toJsonContent } from '../mediaType/jsonMediaType.js';
4
+ import { toContentSchema } from '../mediaType/toContentSchema.js';
3
5
  /**
4
6
  * Represents a Request Body Object in the OpenAPI Specification.
5
7
  *
@@ -304,8 +306,20 @@ export class OasRequestBody extends OasBase {
304
306
  resolveOnce() {
305
307
  return this;
306
308
  }
307
- toSchema(mediaType = 'application/json') {
308
- return this.content?.[mediaType]?.schema;
309
+ /**
310
+ * The body schema for `mediaType`, an exact key lookup. Without
311
+ * `mediaType`, the schema of the JSON media type that {@link toJsonContent}
312
+ * picks: `application/json`, else the first JSON-like type such as
313
+ * `application/json;v=1.0` or `application/vnd.api+json`, else `*\/*`
314
+ * when its schema is an object, array, union or `$ref`.
315
+ * `undefined` when there is no such media type or it has no schema.
316
+ */
317
+ toSchema(mediaType) {
318
+ return toContentSchema(this.content, mediaType);
319
+ }
320
+ /** The media type this body is read from (JSON-like, or `*\/*`), and its schema. See {@link toJsonContent}. */
321
+ toJsonContent() {
322
+ return toJsonContent(this.content);
309
323
  }
310
324
  toJsonSchema(options) {
311
325
  return {
@@ -8,10 +8,13 @@ import type { ToJsonSchemaOptions } from '../schema/Schema.js';
8
8
  import type { OpenAPIV3 } from 'openapi-types';
9
9
  import { OasBase } from '../../types/OasBase.js';
10
10
  import type { ParseContextType } from '../../context/parseTypes.js';
11
+ import type { JsonContent } from '../mediaType/jsonMediaType.js';
11
12
  /**
12
13
  * Constructor fields for {@link OasResponse}.
13
14
  */
14
15
  export type ResponseFields = {
16
+ /** A short summary of the response (OpenAPI 3.2) */
17
+ summary?: string | undefined;
15
18
  /** A description of the response */
16
19
  description?: string | undefined;
17
20
  /** Response headers that can be sent */
@@ -208,6 +211,7 @@ export type ResponseFields = {
208
211
  */
209
212
  export declare class OasResponse extends OasBase {
210
213
  oasType: 'response';
214
+ summary: string | undefined;
211
215
  description: string | undefined;
212
216
  headers: Record<string, OasHeader | OasRef<'header'>> | undefined;
213
217
  links: Record<string, OasLink | OasRef<'link'>> | undefined;
@@ -217,6 +221,18 @@ export declare class OasResponse extends OasBase {
217
221
  isRef(): this is OasRef<'response'>;
218
222
  resolve(): OasResponse;
219
223
  resolveOnce(): OasResponse;
224
+ /**
225
+ * The body schema for `mediaType`, an exact key lookup. Without
226
+ * `mediaType`, the schema of the JSON media type that {@link toJsonContent}
227
+ * picks: `application/json`, else the first JSON-like type such as
228
+ * `application/json;v=1.0` or `application/vnd.api+json`, else `*\/*`
229
+ * when its schema is an object, array, union or `$ref`.
230
+ * `undefined` when there is no such media type or it has no schema.
231
+ */
220
232
  toSchema(mediaType?: string): OasSchema | OasRef<'schema'> | undefined;
221
- toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.ResponseObject;
233
+ /** The media type this response is read from (JSON-like, or `*\/*`), and its schema. See {@link toJsonContent}. */
234
+ toJsonContent(): JsonContent | undefined;
235
+ toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.ResponseObject & {
236
+ summary?: string;
237
+ };
222
238
  }
@@ -1,5 +1,7 @@
1
1
  import "../../_dnt.polyfills.js";
2
2
  import { OasBase } from '../../types/OasBase.js';
3
+ import { toJsonContent } from '../mediaType/jsonMediaType.js';
4
+ import { toContentSchema } from '../mediaType/toContentSchema.js';
3
5
  /**
4
6
  * Represents a Response Object in the OpenAPI Specification.
5
7
  *
@@ -192,6 +194,12 @@ export class OasResponse extends OasBase {
192
194
  writable: true,
193
195
  value: 'response'
194
196
  });
197
+ Object.defineProperty(this, "summary", {
198
+ enumerable: true,
199
+ configurable: true,
200
+ writable: true,
201
+ value: void 0
202
+ });
195
203
  Object.defineProperty(this, "description", {
196
204
  enumerable: true,
197
205
  configurable: true,
@@ -222,6 +230,7 @@ export class OasResponse extends OasBase {
222
230
  writable: true,
223
231
  value: void 0
224
232
  });
233
+ this.summary = fields.summary;
225
234
  this.description = fields.description;
226
235
  this.headers = fields.headers;
227
236
  this.links = fields.links;
@@ -237,11 +246,24 @@ export class OasResponse extends OasBase {
237
246
  resolveOnce() {
238
247
  return this;
239
248
  }
240
- toSchema(mediaType = 'application/json') {
241
- return this.content?.[mediaType]?.schema;
249
+ /**
250
+ * The body schema for `mediaType`, an exact key lookup. Without
251
+ * `mediaType`, the schema of the JSON media type that {@link toJsonContent}
252
+ * picks: `application/json`, else the first JSON-like type such as
253
+ * `application/json;v=1.0` or `application/vnd.api+json`, else `*\/*`
254
+ * when its schema is an object, array, union or `$ref`.
255
+ * `undefined` when there is no such media type or it has no schema.
256
+ */
257
+ toSchema(mediaType) {
258
+ return toContentSchema(this.content, mediaType);
259
+ }
260
+ /** The media type this response is read from (JSON-like, or `*\/*`), and its schema. See {@link toJsonContent}. */
261
+ toJsonContent() {
262
+ return toJsonContent(this.content);
242
263
  }
243
264
  toJsonSchema(options) {
244
265
  return {
266
+ ...(this.summary !== undefined ? { summary: this.summary } : {}),
245
267
  description: this.description ?? '',
246
268
  headers: this.headers
247
269
  ? Object.fromEntries(Object.entries(this.headers).map(([header, headerObject]) => [
@@ -3,16 +3,20 @@ import type { OpenAPIV3 } from 'openapi-types';
3
3
  export type SecuritySchemeFields = HttpSecuritySchemeFields | ApiKeySecuritySchemeFields | OAuth2SecuritySchemeFields | OpenIdSecuritySchemeFields;
4
4
  export type HttpSecuritySchemeFields = {
5
5
  description?: string;
6
+ deprecated?: boolean;
6
7
  scheme: string;
7
8
  bearerFormat?: string;
8
9
  };
9
10
  export type ApiKeySecuritySchemeFields = {
10
11
  description?: string;
12
+ deprecated?: boolean;
11
13
  name: string;
12
14
  in: 'header' | 'query' | 'cookie';
13
15
  };
14
16
  export type OAuth2SecuritySchemeFields = {
15
17
  description?: string;
18
+ deprecated?: boolean;
19
+ oauth2MetadataUrl?: string;
16
20
  flows: {
17
21
  authorizationCode?: {
18
22
  authorizationUrl: string;
@@ -35,40 +39,72 @@ export type OAuth2SecuritySchemeFields = {
35
39
  refreshUrl?: string | undefined;
36
40
  scopes: Record<string, string>;
37
41
  };
42
+ deviceAuthorization?: {
43
+ deviceAuthorizationUrl: string;
44
+ tokenUrl: string;
45
+ refreshUrl?: string | undefined;
46
+ scopes?: Record<string, string> | undefined;
47
+ };
38
48
  };
39
49
  };
40
50
  export type OpenIdSecuritySchemeFields = {
41
51
  description?: string;
52
+ deprecated?: boolean;
42
53
  openIdConnectUrl: string;
43
54
  };
55
+ /** `OpenAPIV3.HttpSecurityScheme` with the OpenAPI 3.2 `deprecated` field. */
56
+ export type HttpSecuritySchemeJson = OpenAPIV3.HttpSecurityScheme & {
57
+ deprecated?: boolean;
58
+ };
59
+ /** `OpenAPIV3.ApiKeySecurityScheme` with the OpenAPI 3.2 `deprecated` field. */
60
+ export type ApiKeySecuritySchemeJson = OpenAPIV3.ApiKeySecurityScheme & {
61
+ deprecated?: boolean;
62
+ };
63
+ /** `OpenAPIV3.OpenIdSecurityScheme` with the OpenAPI 3.2 `deprecated` field. */
64
+ export type OpenIdSecuritySchemeJson = OpenAPIV3.OpenIdSecurityScheme & {
65
+ deprecated?: boolean;
66
+ };
44
67
  export declare class OasHttpSecurityScheme {
45
68
  oasType: 'securityScheme';
46
69
  type: 'http';
47
70
  description: string | undefined;
71
+ deprecated: boolean | undefined;
48
72
  scheme: string;
49
73
  bearerFormat: string | undefined;
50
74
  constructor(fields: HttpSecuritySchemeFields);
51
75
  isRef(): this is OasRef<'securityScheme'>;
52
76
  resolve(): OasHttpSecurityScheme;
53
77
  resolveOnce(): OasHttpSecurityScheme;
54
- toJsonSchema(): OpenAPIV3.HttpSecurityScheme;
78
+ toJsonSchema(): HttpSecuritySchemeJson;
55
79
  }
56
80
  export declare class OasApiKeySecurityScheme {
57
81
  oasType: 'securityScheme';
58
82
  type: 'apiKey';
59
83
  description: string | undefined;
84
+ deprecated: boolean | undefined;
60
85
  name: string;
61
86
  location: 'query' | 'header' | 'cookie';
62
87
  constructor(fields: ApiKeySecuritySchemeFields);
63
88
  isRef(): this is OasRef<'securityScheme'>;
64
89
  resolve(): OasApiKeySecurityScheme;
65
90
  resolveOnce(): OasApiKeySecurityScheme;
66
- toJsonSchema(): OpenAPIV3.ApiKeySecurityScheme;
91
+ toJsonSchema(): ApiKeySecuritySchemeJson;
67
92
  }
93
+ /**
94
+ * `OpenAPIV3.OAuth2SecurityScheme` with the OpenAPI 3.2 fields:
95
+ * `deprecated`, `oauth2MetadataUrl` and the `deviceAuthorization` flow.
96
+ */
97
+ export type OAuth2SecuritySchemeJson = OpenAPIV3.OAuth2SecurityScheme & {
98
+ deprecated?: boolean;
99
+ oauth2MetadataUrl?: string;
100
+ flows: OAuth2SecuritySchemeFields['flows'];
101
+ };
68
102
  export declare class OasOAuth2SecurityScheme {
69
103
  oasType: 'securityScheme';
70
104
  type: 'oauth2';
71
105
  description: string | undefined;
106
+ deprecated: boolean | undefined;
107
+ oauth2MetadataUrl: string | undefined;
72
108
  flows: {
73
109
  authorizationCode?: {
74
110
  authorizationUrl: string;
@@ -91,22 +127,29 @@ export declare class OasOAuth2SecurityScheme {
91
127
  refreshUrl?: string | undefined;
92
128
  scopes: Record<string, string>;
93
129
  };
130
+ deviceAuthorization?: {
131
+ deviceAuthorizationUrl: string;
132
+ tokenUrl: string;
133
+ refreshUrl?: string | undefined;
134
+ scopes?: Record<string, string> | undefined;
135
+ };
94
136
  };
95
137
  constructor(fields: OAuth2SecuritySchemeFields);
96
138
  isRef(): this is OasRef<'securityScheme'>;
97
139
  resolve(): OasOAuth2SecurityScheme;
98
140
  resolveOnce(): OasOAuth2SecurityScheme;
99
- toJsonSchema(): OpenAPIV3.OAuth2SecurityScheme;
141
+ toJsonSchema(): OAuth2SecuritySchemeJson;
100
142
  }
101
143
  export declare class OasOpenIdSecurityScheme {
102
144
  oasType: 'securityScheme';
103
145
  type: 'openIdConnect';
104
146
  description: string | undefined;
147
+ deprecated: boolean | undefined;
105
148
  openIdConnectUrl: string;
106
149
  constructor(fields: OpenIdSecuritySchemeFields);
107
150
  isRef(): this is OasRef<'securityScheme'>;
108
151
  resolve(): OasOpenIdSecurityScheme;
109
152
  resolveOnce(): OasOpenIdSecurityScheme;
110
- toJsonSchema(): OpenAPIV3.OpenIdSecurityScheme;
153
+ toJsonSchema(): OpenIdSecuritySchemeJson;
111
154
  }
112
155
  export type OasSecurityScheme = OasHttpSecurityScheme | OasApiKeySecurityScheme | OasOAuth2SecurityScheme | OasOpenIdSecurityScheme;
@@ -18,6 +18,12 @@ export class OasHttpSecurityScheme {
18
18
  writable: true,
19
19
  value: void 0
20
20
  });
21
+ Object.defineProperty(this, "deprecated", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
21
27
  Object.defineProperty(this, "scheme", {
22
28
  enumerable: true,
23
29
  configurable: true,
@@ -31,6 +37,7 @@ export class OasHttpSecurityScheme {
31
37
  value: void 0
32
38
  });
33
39
  this.description = fields.description;
40
+ this.deprecated = fields.deprecated;
34
41
  this.scheme = fields.scheme;
35
42
  this.bearerFormat = fields.bearerFormat;
36
43
  }
@@ -47,6 +54,7 @@ export class OasHttpSecurityScheme {
47
54
  return {
48
55
  type: 'http',
49
56
  description: this.description,
57
+ ...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
50
58
  scheme: this.scheme,
51
59
  bearerFormat: this.bearerFormat
52
60
  };
@@ -72,6 +80,12 @@ export class OasApiKeySecurityScheme {
72
80
  writable: true,
73
81
  value: void 0
74
82
  });
83
+ Object.defineProperty(this, "deprecated", {
84
+ enumerable: true,
85
+ configurable: true,
86
+ writable: true,
87
+ value: void 0
88
+ });
75
89
  Object.defineProperty(this, "name", {
76
90
  enumerable: true,
77
91
  configurable: true,
@@ -85,6 +99,7 @@ export class OasApiKeySecurityScheme {
85
99
  value: void 0
86
100
  });
87
101
  this.description = fields.description;
102
+ this.deprecated = fields.deprecated;
88
103
  this.name = fields.name;
89
104
  this.location = fields.in;
90
105
  }
@@ -100,6 +115,7 @@ export class OasApiKeySecurityScheme {
100
115
  toJsonSchema() {
101
116
  return {
102
117
  type: 'apiKey',
118
+ ...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
103
119
  name: this.name,
104
120
  in: this.location
105
121
  };
@@ -125,6 +141,18 @@ export class OasOAuth2SecurityScheme {
125
141
  writable: true,
126
142
  value: void 0
127
143
  });
144
+ Object.defineProperty(this, "deprecated", {
145
+ enumerable: true,
146
+ configurable: true,
147
+ writable: true,
148
+ value: void 0
149
+ });
150
+ Object.defineProperty(this, "oauth2MetadataUrl", {
151
+ enumerable: true,
152
+ configurable: true,
153
+ writable: true,
154
+ value: void 0
155
+ });
128
156
  Object.defineProperty(this, "flows", {
129
157
  enumerable: true,
130
158
  configurable: true,
@@ -132,6 +160,8 @@ export class OasOAuth2SecurityScheme {
132
160
  value: void 0
133
161
  });
134
162
  this.description = fields.description;
163
+ this.deprecated = fields.deprecated;
164
+ this.oauth2MetadataUrl = fields.oauth2MetadataUrl;
135
165
  this.flows = fields.flows;
136
166
  }
137
167
  isRef() {
@@ -147,11 +177,18 @@ export class OasOAuth2SecurityScheme {
147
177
  return {
148
178
  type: 'oauth2',
149
179
  description: this.description,
180
+ ...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
181
+ ...(this.oauth2MetadataUrl === undefined
182
+ ? {}
183
+ : { oauth2MetadataUrl: this.oauth2MetadataUrl }),
150
184
  flows: {
151
185
  authorizationCode: this.flows.authorizationCode,
152
186
  clientCredentials: this.flows.clientCredentials,
153
187
  implicit: this.flows.implicit,
154
- password: this.flows.password
188
+ password: this.flows.password,
189
+ ...(this.flows.deviceAuthorization === undefined
190
+ ? {}
191
+ : { deviceAuthorization: this.flows.deviceAuthorization })
155
192
  }
156
193
  };
157
194
  }
@@ -176,6 +213,12 @@ export class OasOpenIdSecurityScheme {
176
213
  writable: true,
177
214
  value: void 0
178
215
  });
216
+ Object.defineProperty(this, "deprecated", {
217
+ enumerable: true,
218
+ configurable: true,
219
+ writable: true,
220
+ value: void 0
221
+ });
179
222
  Object.defineProperty(this, "openIdConnectUrl", {
180
223
  enumerable: true,
181
224
  configurable: true,
@@ -183,6 +226,7 @@ export class OasOpenIdSecurityScheme {
183
226
  value: void 0
184
227
  });
185
228
  this.description = fields.description;
229
+ this.deprecated = fields.deprecated;
186
230
  this.openIdConnectUrl = fields.openIdConnectUrl;
187
231
  }
188
232
  isRef() {
@@ -198,6 +242,7 @@ export class OasOpenIdSecurityScheme {
198
242
  return {
199
243
  type: 'openIdConnect',
200
244
  description: this.description,
245
+ ...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
201
246
  openIdConnectUrl: this.openIdConnectUrl
202
247
  };
203
248
  }
@@ -10,6 +10,8 @@ export type OasHttpSecuritySchemeData = {
10
10
  type: 'http';
11
11
  /** Human-readable description of the security scheme */
12
12
  description?: string;
13
+ /** Whether the scheme is deprecated (OpenAPI 3.2) */
14
+ deprecated?: boolean;
13
15
  /** HTTP authorization scheme (e.g., 'basic', 'bearer') */
14
16
  scheme: string;
15
17
  /** Format hint for bearer tokens (e.g., 'JWT') */
@@ -35,6 +37,8 @@ export type OasApiKeySecuritySchemeData = {
35
37
  type: 'apiKey';
36
38
  /** Human-readable description of the security scheme */
37
39
  description?: string;
40
+ /** Whether the scheme is deprecated (OpenAPI 3.2) */
41
+ deprecated?: boolean;
38
42
  /** Name of the header, query parameter, or cookie */
39
43
  name: string;
40
44
  /** Location where the API key should be sent */
@@ -128,11 +132,25 @@ export declare const oasPasswordOAuth2FlowData: v.ObjectSchema<{
128
132
  readonly refreshUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
129
133
  readonly scopes: v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>;
130
134
  }, undefined>;
135
+ /**
136
+ * Data type for the OAuth2 device authorization flow (OpenAPI 3.2).
137
+ */
138
+ export type OasDeviceAuthorizationOAuth2FlowData = {
139
+ /** URL for the OAuth2 device authorization endpoint */
140
+ deviceAuthorizationUrl: string;
141
+ /** URL for the OAuth2 token endpoint */
142
+ tokenUrl: string;
143
+ /** Optional URL for token refresh */
144
+ refreshUrl?: string | undefined;
145
+ /** Available scopes mapped to their descriptions */
146
+ scopes?: Record<string, string> | undefined;
147
+ };
131
148
  export type OasOAuth2FlowsData = {
132
149
  authorizationCode?: OasAuthorizationCodeOAuth2FlowData;
133
150
  clientCredentials?: OasClientCredentialsOAuth2FlowData;
134
151
  implicit?: OasImplicitOAuth2FlowData;
135
152
  password?: OasPasswordOAuth2FlowData;
153
+ deviceAuthorization?: OasDeviceAuthorizationOAuth2FlowData;
136
154
  };
137
155
  export declare const oasOAuth2FlowsData: v.ObjectSchema<{
138
156
  readonly authorizationCode: v.OptionalSchema<v.ObjectSchema<{
@@ -160,6 +178,8 @@ export declare const oasOAuth2FlowsData: v.ObjectSchema<{
160
178
  export type OasOAuth2SecuritySchemeData = {
161
179
  type: 'oauth2';
162
180
  description?: string;
181
+ deprecated?: boolean;
182
+ oauth2MetadataUrl?: string;
163
183
  flows: OasOAuth2FlowsData;
164
184
  };
165
185
  export declare const oasOAuth2SecuritySchemeData: v.ObjectSchema<{
@@ -192,6 +212,7 @@ export declare const oasOAuth2SecuritySchemeData: v.ObjectSchema<{
192
212
  export type OasOpenIdSecuritySchemeData = {
193
213
  type: 'openIdConnect';
194
214
  description?: string;
215
+ deprecated?: boolean;
195
216
  openIdConnectUrl: string;
196
217
  };
197
218
  export declare const oasOpenIdSecuritySchemeData: v.ObjectSchema<{