@skmtc/core 0.29.0 → 0.30.1

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 (369) 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 +2 -2
  5. package/esm/context/generateTypes.js +3 -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/oas/discriminator/Discriminator.d.ts +3 -0
  11. package/esm/oas/discriminator/Discriminator.js +7 -0
  12. package/esm/oas/document/Document.d.ts +7 -0
  13. package/esm/oas/document/Document.js +8 -0
  14. package/esm/oas/example/Example.d.ts +10 -1
  15. package/esm/oas/example/Example.js +16 -0
  16. package/esm/oas/mediaType/MediaType.d.ts +12 -0
  17. package/esm/oas/mediaType/MediaType.js +24 -0
  18. package/esm/oas/parameter/Parameter.d.ts +2 -1
  19. package/esm/oas/parameter/Parameter.js +5 -2
  20. package/esm/oas/parameter/parameter-types.d.ts +10 -2
  21. package/esm/oas/parameter/parameter-types.js +3 -1
  22. package/esm/oas/response/Response.d.ts +6 -1
  23. package/esm/oas/response/Response.js +8 -0
  24. package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  25. package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
  26. package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  27. package/esm/oas/server/Server.d.ts +8 -2
  28. package/esm/oas/server/Server.js +10 -1
  29. package/esm/oas/tag/Tag.d.ts +9 -0
  30. package/esm/oas/tag/Tag.js +9 -0
  31. package/esm/parse/toOasDialect.d.ts +8 -7
  32. package/esm/parse/toOasDialect.js +4 -2
  33. package/esm/parse/v3-0/methods.d.ts +11 -0
  34. package/esm/parse/v3-0/methods.js +16 -0
  35. package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
  36. package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  37. package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
  38. package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
  39. package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  40. package/esm/parse/v3-1/methods.d.ts +11 -0
  41. package/esm/parse/v3-1/methods.js +16 -0
  42. package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
  43. package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  44. package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
  45. package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
  46. package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  47. package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  48. package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
  49. package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  50. package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
  51. package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  52. package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
  53. package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  54. package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
  55. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  56. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
  57. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  58. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
  59. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  60. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
  61. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  62. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
  63. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  64. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
  65. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  66. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
  67. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  68. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
  69. package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  70. package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
  71. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  72. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
  73. package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  74. package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
  75. package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  76. package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
  77. package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  78. package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
  79. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  80. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
  81. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  82. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
  83. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  84. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
  85. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  86. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
  87. package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  88. package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
  89. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  90. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
  91. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  92. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
  93. package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  94. package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
  95. package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  96. package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
  97. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  98. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
  99. package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  100. package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
  101. package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  102. package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
  103. package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  104. package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
  105. package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  106. package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
  107. package/esm/parse/v3-2/array/toArray.d.ts +80 -0
  108. package/esm/parse/v3-2/array/toArray.js +165 -0
  109. package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  110. package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
  111. package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  112. package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
  113. package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
  114. package/esm/parse/v3-2/contact/toContactV3.js +18 -0
  115. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  116. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
  117. package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  118. package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
  119. package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  120. package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
  121. package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  122. package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
  123. package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  124. package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
  125. package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
  126. package/esm/parse/v3-2/info/toInfoV3.js +23 -0
  127. package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
  128. package/esm/parse/v3-2/integer/toInteger.js +115 -0
  129. package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  130. package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
  131. package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
  132. package/esm/parse/v3-2/link/toLinksV3.js +40 -0
  133. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  134. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
  135. package/esm/parse/v3-2/methods.d.ts +17 -0
  136. package/esm/parse/v3-2/methods.js +21 -0
  137. package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
  138. package/esm/parse/v3-2/number/toNumber.js +115 -0
  139. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  140. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
  141. package/esm/parse/v3-2/object/toObject.d.ts +10 -0
  142. package/esm/parse/v3-2/object/toObject.js +90 -0
  143. package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  144. package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
  145. package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  146. package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
  147. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  148. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
  149. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  150. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
  151. package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  152. package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
  153. package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
  154. package/esm/parse/v3-2/ref/toRefV31.js +10 -0
  155. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  156. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +44 -0
  157. package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
  158. package/esm/parse/v3-2/response/toResponseV3.js +56 -0
  159. package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  160. package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
  161. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  162. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
  163. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  164. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
  165. package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
  166. package/esm/parse/v3-2/server/toServerV3.js +31 -0
  167. package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  168. package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
  169. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  170. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
  171. package/esm/parse/v3-2/string/toString.d.ts +146 -0
  172. package/esm/parse/v3-2/string/toString.js +211 -0
  173. package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  174. package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
  175. package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
  176. package/esm/parse/v3-2/union/toUnion.js +68 -0
  177. package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  178. package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
  179. package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  180. package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
  181. package/esm/types/Method.d.ts +7 -4
  182. package/esm/types/Method.js +17 -4
  183. package/esm/types/Preview.d.ts +2 -1
  184. package/esm/types/SkmtcDocument.d.ts +6 -6
  185. package/package.json +1 -1
  186. package/script/_dnt.polyfills.d.ts +11 -0
  187. package/script/_dnt.polyfills.js +14 -0
  188. package/script/context/ParseContext.js +9 -1
  189. package/script/context/generateTypes.d.ts +2 -2
  190. package/script/context/generateTypes.js +3 -1
  191. package/script/dsl/GeneratorKeys.d.ts +2 -2
  192. package/script/dsl/GeneratorKeys.js +6 -3
  193. package/script/helpers/naming.d.ts +2 -1
  194. package/script/helpers/naming.js +4 -2
  195. package/script/oas/discriminator/Discriminator.d.ts +3 -0
  196. package/script/oas/discriminator/Discriminator.js +7 -0
  197. package/script/oas/document/Document.d.ts +7 -0
  198. package/script/oas/document/Document.js +8 -0
  199. package/script/oas/example/Example.d.ts +10 -1
  200. package/script/oas/example/Example.js +16 -0
  201. package/script/oas/mediaType/MediaType.d.ts +12 -0
  202. package/script/oas/mediaType/MediaType.js +24 -0
  203. package/script/oas/parameter/Parameter.d.ts +2 -1
  204. package/script/oas/parameter/Parameter.js +5 -2
  205. package/script/oas/parameter/parameter-types.d.ts +10 -2
  206. package/script/oas/parameter/parameter-types.js +3 -1
  207. package/script/oas/response/Response.d.ts +6 -1
  208. package/script/oas/response/Response.js +8 -0
  209. package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  210. package/script/oas/securitySchemes/SecurityScheme.js +46 -1
  211. package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  212. package/script/oas/server/Server.d.ts +8 -2
  213. package/script/oas/server/Server.js +10 -1
  214. package/script/oas/tag/Tag.d.ts +9 -0
  215. package/script/oas/tag/Tag.js +9 -0
  216. package/script/parse/toOasDialect.d.ts +8 -7
  217. package/script/parse/toOasDialect.js +4 -2
  218. package/script/parse/v3-0/methods.d.ts +11 -0
  219. package/script/parse/v3-0/methods.js +20 -0
  220. package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
  221. package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  222. package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
  223. package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
  224. package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  225. package/script/parse/v3-1/methods.d.ts +11 -0
  226. package/script/parse/v3-1/methods.js +20 -0
  227. package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
  228. package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  229. package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
  230. package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
  231. package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  232. package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  233. package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
  234. package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  235. package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
  236. package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  237. package/script/parse/v3-2/_helpers/parseExample.js +41 -0
  238. package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  239. package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
  240. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  241. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
  242. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  243. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
  244. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  245. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
  246. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  247. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
  248. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  249. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
  250. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  251. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
  252. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  253. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
  254. package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  255. package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
  256. package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  257. package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
  258. package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  259. package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
  260. package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  261. package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
  262. package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  263. package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
  264. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  265. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
  266. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  267. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
  268. package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  269. package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
  270. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  271. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
  272. package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  273. package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
  274. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  275. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
  276. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  277. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
  278. package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  279. package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
  280. package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  281. package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
  282. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  283. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
  284. package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  285. package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
  286. package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  287. package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
  288. package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  289. package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
  290. package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  291. package/script/parse/v3-2/_merge-all-of/types.js +38 -0
  292. package/script/parse/v3-2/array/toArray.d.ts +80 -0
  293. package/script/parse/v3-2/array/toArray.js +203 -0
  294. package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  295. package/script/parse/v3-2/boolean/toBoolean.js +177 -0
  296. package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  297. package/script/parse/v3-2/components/toComponentsV3.js +47 -0
  298. package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
  299. package/script/parse/v3-2/contact/toContactV3.js +22 -0
  300. package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  301. package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
  302. package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  303. package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
  304. package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  305. package/script/parse/v3-2/example/toExamplesV3.js +149 -0
  306. package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  307. package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
  308. package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  309. package/script/parse/v3-2/header/toHeadersV3.js +51 -0
  310. package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
  311. package/script/parse/v3-2/info/toInfoV3.js +27 -0
  312. package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
  313. package/script/parse/v3-2/integer/toInteger.js +153 -0
  314. package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  315. package/script/parse/v3-2/license/toLicenseV3.js +21 -0
  316. package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
  317. package/script/parse/v3-2/link/toLinksV3.js +44 -0
  318. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  319. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
  320. package/script/parse/v3-2/methods.d.ts +17 -0
  321. package/script/parse/v3-2/methods.js +25 -0
  322. package/script/parse/v3-2/number/toNumber.d.ts +10 -0
  323. package/script/parse/v3-2/number/toNumber.js +152 -0
  324. package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  325. package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
  326. package/script/parse/v3-2/object/toObject.d.ts +10 -0
  327. package/script/parse/v3-2/object/toObject.js +94 -0
  328. package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  329. package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
  330. package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  331. package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
  332. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  333. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
  334. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  335. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
  336. package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  337. package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
  338. package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
  339. package/script/parse/v3-2/ref/toRefV31.js +14 -0
  340. package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  341. package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +49 -0
  342. package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
  343. package/script/parse/v3-2/response/toResponseV3.js +62 -0
  344. package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  345. package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
  346. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  347. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
  348. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  349. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
  350. package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
  351. package/script/parse/v3-2/server/toServerV3.js +37 -0
  352. package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  353. package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
  354. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  355. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
  356. package/script/parse/v3-2/string/toString.d.ts +146 -0
  357. package/script/parse/v3-2/string/toString.js +249 -0
  358. package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  359. package/script/parse/v3-2/tag/toTagsV3.js +83 -0
  360. package/script/parse/v3-2/union/toUnion.d.ts +12 -0
  361. package/script/parse/v3-2/union/toUnion.js +72 -0
  362. package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  363. package/script/parse/v3-2/unknown/toUnknown.js +23 -0
  364. package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  365. package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
  366. package/script/types/Method.d.ts +7 -4
  367. package/script/types/Method.js +17 -4
  368. package/script/types/Preview.d.ts +2 -1
  369. package/script/types/SkmtcDocument.d.ts +6 -6
@@ -4,6 +4,17 @@ declare global {
4
4
  }
5
5
  }
6
6
  export {};
7
+ declare global {
8
+ interface Object {
9
+ /**
10
+ * Determines whether an object has a property with the specified name.
11
+ * @param o An object.
12
+ * @param v A property name.
13
+ */
14
+ hasOwn(o: object, v: PropertyKey): boolean;
15
+ }
16
+ }
17
+ export {};
7
18
  /**
8
19
  * Based on [import-meta-ponyfill](https://github.com/gaubee/import-meta-ponyfill),
9
20
  * but instead of using npm to install additional dependencies,
@@ -1,3 +1,17 @@
1
+ // https://github.com/tc39/proposal-accessible-object-hasownproperty/blob/main/polyfill.js
2
+ if (!Object.hasOwn) {
3
+ Object.defineProperty(Object, "hasOwn", {
4
+ value: function (object, property) {
5
+ if (object == null) {
6
+ throw new TypeError("Cannot convert undefined or null to object");
7
+ }
8
+ return Object.prototype.hasOwnProperty.call(Object(object), property);
9
+ },
10
+ configurable: true,
11
+ enumerable: false,
12
+ writable: true,
13
+ });
14
+ }
1
15
  /**
2
16
  * Based on [import-meta-ponyfill](https://github.com/gaubee/import-meta-ponyfill),
3
17
  * but instead of using npm to install additional dependencies,
@@ -29,6 +29,7 @@ import "../_dnt.polyfills.js";
29
29
  import { buildSchema } from 'graphql';
30
30
  import { toDocumentFieldsV3 } from '../parse/v3-0/document/toDocumentFieldsV3.js';
31
31
  import { toDocumentFieldsV3 as toDocumentFieldsV31 } from '../parse/v3-1/document/toDocumentFieldsV3.js';
32
+ import { toDocumentFieldsV3 as toDocumentFieldsV32 } from '../parse/v3-2/document/toDocumentFieldsV3.js';
32
33
  import { toOasDialect } from '../parse/toOasDialect.js';
33
34
  import { OasDocument } from '../oas/document/Document.js';
34
35
  import { GqlRegistry } from '../gql/registry/GqlRegistry.js';
@@ -184,7 +185,7 @@ export class ParseContext {
184
185
  const oasState = this.protocol;
185
186
  // The ONE place the OpenAPI version is examined: pick the dialect's
186
187
  // parser tree. Everything downstream is version-specific code living
187
- // in its own tree (v3-0 / v3-1) and never re-checks the version.
188
+ // in its own tree (v3-0 / v3-1 / v3-2) and never re-checks the version.
188
189
  const dialect = toOasDialect(oasState.documentObject.openapi);
189
190
  switch (dialect) {
190
191
  case '3.0':
@@ -201,6 +202,13 @@ export class ParseContext {
201
202
  context: this
202
203
  });
203
204
  break;
205
+ case '3.2':
206
+ oasState.oasDocument.fields = toDocumentFieldsV32({
207
+ documentObject: oasState.documentObject,
208
+ stackTrail,
209
+ context: this
210
+ });
211
+ break;
204
212
  default: {
205
213
  const _exhaustive = dialect;
206
214
  throw new Error(`Unhandled OAS dialect: ${JSON.stringify(_exhaustive)}`);
@@ -155,7 +155,7 @@ export type AnyOasDocument = OpenAPIV2.Document | OpenAPIV3.Document | OpenAPIV3
155
155
  * `v.GenericSchema<OasIssueType>` annotation — adding a variant in one
156
156
  * place without the other fails to type-check.
157
157
  */
158
- export type OasIssueType = 'UNEXPECTED_PROPERTY' | 'MISSING_OBJECT_TYPE' | 'MISSING_STRING_TYPE' | 'MISSING_ARRAY_TYPE' | 'MISSING_BOOLEAN_TYPE' | 'INVALID_EXAMPLE' | 'INVALID_ENUM' | 'INVALID_DEFAULT' | 'INVALID_NULLABLE' | 'UNEXPECTED_FORMAT' | 'INVALID_RESPONSE' | 'INVALID_FORMAT' | 'INVALID_OPERATION' | 'INVALID_SCHEMA' | 'INVALID_PARAMETER' | 'INVALID_SECURITY_SCHEME' | 'INVALID_DEPENDENCY_REF' | 'EXAMPLE_AND_EXAMPLES_DEFINED';
158
+ export type OasIssueType = 'UNEXPECTED_PROPERTY' | 'MISSING_OBJECT_TYPE' | 'MISSING_STRING_TYPE' | 'MISSING_ARRAY_TYPE' | 'MISSING_BOOLEAN_TYPE' | 'INVALID_EXAMPLE' | 'INVALID_ENUM' | 'INVALID_DEFAULT' | 'INVALID_NULLABLE' | 'UNEXPECTED_FORMAT' | 'INVALID_RESPONSE' | 'INVALID_FORMAT' | 'INVALID_OPERATION' | 'INVALID_SCHEMA' | 'INVALID_PARAMETER' | 'INVALID_SECURITY_SCHEME' | 'INVALID_DEPENDENCY_REF' | 'EXAMPLE_AND_EXAMPLES_DEFINED' | 'INVALID_TAG_PARENT' | 'UNSUPPORTED_OPERATION_METHOD';
159
159
  /**
160
160
  * Valibot schema for {@link OasIssueType}. Annotation deliberately omitted
161
161
  * so the precise literal-union output type flows through to consumers
@@ -163,7 +163,7 @@ export type OasIssueType = 'UNEXPECTED_PROPERTY' | 'MISSING_OBJECT_TYPE' | 'MISS
163
163
  * this list and {@link OasIssueType} is caught by `assertSchemaMatchesType`
164
164
  * below.
165
165
  */
166
- export declare const oasIssueType: v.UnionSchema<[v.LiteralSchema<"UNEXPECTED_PROPERTY", undefined>, v.LiteralSchema<"MISSING_OBJECT_TYPE", undefined>, v.LiteralSchema<"MISSING_STRING_TYPE", undefined>, v.LiteralSchema<"MISSING_ARRAY_TYPE", undefined>, v.LiteralSchema<"MISSING_BOOLEAN_TYPE", undefined>, v.LiteralSchema<"INVALID_EXAMPLE", undefined>, v.LiteralSchema<"INVALID_ENUM", undefined>, v.LiteralSchema<"INVALID_DEFAULT", undefined>, v.LiteralSchema<"INVALID_NULLABLE", undefined>, v.LiteralSchema<"UNEXPECTED_FORMAT", undefined>, v.LiteralSchema<"INVALID_RESPONSE", undefined>, v.LiteralSchema<"INVALID_FORMAT", undefined>, v.LiteralSchema<"INVALID_OPERATION", undefined>, v.LiteralSchema<"INVALID_SCHEMA", undefined>, v.LiteralSchema<"INVALID_PARAMETER", undefined>, v.LiteralSchema<"INVALID_SECURITY_SCHEME", undefined>, v.LiteralSchema<"INVALID_DEPENDENCY_REF", undefined>, v.LiteralSchema<"EXAMPLE_AND_EXAMPLES_DEFINED", undefined>], undefined>;
166
+ export declare const oasIssueType: v.UnionSchema<[v.LiteralSchema<"UNEXPECTED_PROPERTY", undefined>, v.LiteralSchema<"MISSING_OBJECT_TYPE", undefined>, v.LiteralSchema<"MISSING_STRING_TYPE", undefined>, v.LiteralSchema<"MISSING_ARRAY_TYPE", undefined>, v.LiteralSchema<"MISSING_BOOLEAN_TYPE", undefined>, v.LiteralSchema<"INVALID_EXAMPLE", undefined>, v.LiteralSchema<"INVALID_ENUM", undefined>, v.LiteralSchema<"INVALID_DEFAULT", undefined>, v.LiteralSchema<"INVALID_NULLABLE", undefined>, v.LiteralSchema<"UNEXPECTED_FORMAT", undefined>, v.LiteralSchema<"INVALID_RESPONSE", undefined>, v.LiteralSchema<"INVALID_FORMAT", undefined>, v.LiteralSchema<"INVALID_OPERATION", undefined>, v.LiteralSchema<"INVALID_SCHEMA", undefined>, v.LiteralSchema<"INVALID_PARAMETER", undefined>, v.LiteralSchema<"INVALID_SECURITY_SCHEME", undefined>, v.LiteralSchema<"INVALID_DEPENDENCY_REF", undefined>, v.LiteralSchema<"EXAMPLE_AND_EXAMPLES_DEFINED", undefined>, v.LiteralSchema<"INVALID_TAG_PARENT", undefined>, v.LiteralSchema<"UNSUPPORTED_OPERATION_METHOD", undefined>], undefined>;
167
167
  export type GenerateResult = {
168
168
  files: Map<string, FileBase>;
169
169
  previews: Record<string, Preview>;
@@ -24,7 +24,9 @@ export const oasIssueType = v.union([
24
24
  v.literal('INVALID_PARAMETER'),
25
25
  v.literal('INVALID_SECURITY_SCHEME'),
26
26
  v.literal('INVALID_DEPENDENCY_REF'),
27
- v.literal('EXAMPLE_AND_EXAMPLES_DEFINED')
27
+ v.literal('EXAMPLE_AND_EXAMPLES_DEFINED'),
28
+ v.literal('INVALID_TAG_PARENT'),
29
+ v.literal('UNSUPPORTED_OPERATION_METHOD')
28
30
  ]);
29
31
  // Compile-time drift detector: this binding fails to type-check if
30
32
  // `OasIssueType` and the literal list above disagree in either
@@ -466,8 +466,8 @@ export declare const isGeneratorKey: (arg: unknown) => arg is GeneratorKey;
466
466
  * Type guard to check if a value is a valid OasOperationGeneratorKey.
467
467
  *
468
468
  * Validates that the argument is a string with the correct format:
469
- * `generatorId|path|method` where each part is non-empty and method
470
- * is a valid HTTP method.
469
+ * `generatorId|path|method|variant` where each part is non-empty, path
470
+ * starts with `/` and method is a valid HTTP method.
471
471
  *
472
472
  * @param arg - Value to check
473
473
  * @returns True if the value is a valid OasOperationGeneratorKey
@@ -253,8 +253,8 @@ export const isGeneratorKey = (arg) => {
253
253
  * Type guard to check if a value is a valid OasOperationGeneratorKey.
254
254
  *
255
255
  * Validates that the argument is a string with the correct format:
256
- * `generatorId|path|method` where each part is non-empty and method
257
- * is a valid HTTP method.
256
+ * `generatorId|path|method|variant` where each part is non-empty, path
257
+ * starts with `/` and method is a valid HTTP method.
258
258
  *
259
259
  * @param arg - Value to check
260
260
  * @returns True if the value is a valid OasOperationGeneratorKey
@@ -285,7 +285,10 @@ export const isOasOperationGeneratorKey = (arg) => {
285
285
  if (typeof generatorId !== 'string' || !generatorId.length) {
286
286
  return false;
287
287
  }
288
- if (typeof path !== 'string' || !path.length) {
288
+ // An OpenAPI path starts with `/`. Checking it keeps a GraphQL key whose
289
+ // field name is also an HTTP method (`gen|mutation|query|main`) from
290
+ // parsing as an operation.
291
+ if (typeof path !== 'string' || !path.startsWith('/')) {
289
292
  return false;
290
293
  }
291
294
  if (!isMethod(method)) {
@@ -4,7 +4,7 @@ import type { Method } from '../types/Method.js';
4
4
  * Determines the endpoint type based on HTTP method.
5
5
  *
6
6
  * @param operation - The OpenAPI operation to analyze
7
- * @returns 'query' for GET operations, 'mutation' for all others
7
+ * @returns 'query' for GET and QUERY operations, 'mutation' for all others
8
8
  *
9
9
  * @example
10
10
  * ```typescript
@@ -67,6 +67,7 @@ export declare const toArgsName: (operation: OasOperation) => string;
67
67
  * console.log(toMethodVerb('put')); // 'Update'
68
68
  * console.log(toMethodVerb('get')); // 'get'
69
69
  * console.log(toMethodVerb('delete')); // 'delete'
70
+ * console.log(toMethodVerb('query')); // 'Query'
70
71
  * ```
71
72
  */
72
73
  export declare const toMethodVerb: (method: Method) => string;
@@ -3,7 +3,7 @@ import { camelCase, capitalize } from './strings.js';
3
3
  * Determines the endpoint type based on HTTP method.
4
4
  *
5
5
  * @param operation - The OpenAPI operation to analyze
6
- * @returns 'query' for GET operations, 'mutation' for all others
6
+ * @returns 'query' for GET and QUERY operations, 'mutation' for all others
7
7
  *
8
8
  * @example
9
9
  * ```typescript
@@ -15,7 +15,8 @@ import { camelCase, capitalize } from './strings.js';
15
15
  * ```
16
16
  */
17
17
  export const toEndpointType = (operation) => {
18
- return operation.method === 'get' ? 'query' : 'mutation';
18
+ // QUERY is safe and idempotent, like GET.
19
+ return operation.method === 'get' || operation.method === 'query' ? 'query' : 'mutation';
19
20
  };
20
21
  /**
21
22
  * Generates endpoint name in the `camelCase{method}Api{path}` format.
@@ -78,6 +79,7 @@ export const toArgsName = (operation) => {
78
79
  * console.log(toMethodVerb('put')); // 'Update'
79
80
  * console.log(toMethodVerb('get')); // 'get'
80
81
  * console.log(toMethodVerb('delete')); // 'delete'
82
+ * console.log(toMethodVerb('query')); // 'Query'
81
83
  * ```
82
84
  */
83
85
  export const toMethodVerb = (method) => {
@@ -2,10 +2,13 @@ import "../../_dnt.polyfills.js";
2
2
  export type DiscriminatorFields = {
3
3
  propertyName: string;
4
4
  mapping?: Record<string, string>;
5
+ /** Schema to use when the discriminating value has no mapping entry (OpenAPI 3.2) */
6
+ defaultMapping?: string;
5
7
  };
6
8
  export declare class OasDiscriminator {
7
9
  oasType: 'discriminator';
8
10
  propertyName: string;
9
11
  mapping?: Record<string, string>;
12
+ defaultMapping?: string;
10
13
  constructor(fields: DiscriminatorFields);
11
14
  }
@@ -19,7 +19,14 @@ export class OasDiscriminator {
19
19
  writable: true,
20
20
  value: void 0
21
21
  });
22
+ Object.defineProperty(this, "defaultMapping", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
22
28
  this.propertyName = fields.propertyName;
23
29
  this.mapping = fields.mapping;
30
+ this.defaultMapping = fields.defaultMapping;
24
31
  }
25
32
  }
@@ -20,6 +20,11 @@ import type { OasExternalDocs } from '../externalDocs/ExternalDocs.js';
20
20
  export type DocumentFields = {
21
21
  /** OpenAPI specification version (e.g., '3.0.0', '3.1.0') */
22
22
  openapi: string;
23
+ /**
24
+ * The document's own URI (OpenAPI 3.2 `$self`). Stored only: reference
25
+ * resolution does not use it.
26
+ */
27
+ $self?: string | undefined;
23
28
  /** API metadata including title, version, description */
24
29
  info: OasInfo;
25
30
  /** Array of server objects providing connectivity information */
@@ -215,6 +220,8 @@ export declare class OasDocument {
215
220
  set fields(fields: DocumentFields);
216
221
  /** OpenAPI specification version */
217
222
  get openapi(): string;
223
+ /** The document's own URI (OpenAPI 3.2 `$self`) */
224
+ get $self(): string | undefined;
218
225
  /** API metadata */
219
226
  get info(): OasInfo;
220
227
  get servers(): OasServer[] | undefined;
@@ -225,6 +225,13 @@ export class OasDocument {
225
225
  }
226
226
  return __classPrivateFieldGet(this, _OasDocument_fields, "f").openapi;
227
227
  }
228
+ /** The document's own URI (OpenAPI 3.2 `$self`) */
229
+ get $self() {
230
+ if (!__classPrivateFieldGet(this, _OasDocument_fields, "f")) {
231
+ throw new Error(`Accessing '$self' before fields are set`);
232
+ }
233
+ return __classPrivateFieldGet(this, _OasDocument_fields, "f").$self;
234
+ }
228
235
  /** API metadata */
229
236
  get info() {
230
237
  if (!__classPrivateFieldGet(this, _OasDocument_fields, "f")) {
@@ -311,6 +318,7 @@ export class OasDocument {
311
318
  toJSON() {
312
319
  return {
313
320
  openapi: this.openapi,
321
+ ...(this.$self !== undefined ? { $self: this.$self } : {}),
314
322
  info: this.info,
315
323
  servers: this.servers,
316
324
  operations: this.operations,
@@ -11,6 +11,10 @@ export type ExampleFields = {
11
11
  description?: string;
12
12
  /** The example value — absent when the example is given as an `externalValue` */
13
13
  value?: unknown;
14
+ /** The example as data that is valid against its schema (OpenAPI 3.2) */
15
+ dataValue?: unknown;
16
+ /** The example in its serialized form (OpenAPI 3.2) */
17
+ serializedValue?: string;
14
18
  /** The external value of the example */
15
19
  externalValue?: string;
16
20
  /** Custom extension fields (x-* properties) */
@@ -23,6 +27,8 @@ export declare class OasExample {
23
27
  summary?: string;
24
28
  description?: string;
25
29
  value?: unknown;
30
+ dataValue?: unknown;
31
+ serializedValue?: string;
26
32
  externalValue?: string;
27
33
  extensionFields?: Record<string, unknown>;
28
34
  constructor(fields: ExampleFields);
@@ -31,5 +37,8 @@ export declare class OasExample {
31
37
  /** Returns itself */
32
38
  resolve(): OasExample;
33
39
  resolveOnce(): OasExample;
34
- toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ExampleObject;
40
+ toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ExampleObject & {
41
+ dataValue?: unknown;
42
+ serializedValue?: string;
43
+ };
35
44
  }
@@ -26,6 +26,18 @@ export class OasExample {
26
26
  writable: true,
27
27
  value: void 0
28
28
  });
29
+ Object.defineProperty(this, "dataValue", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, "serializedValue", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: void 0
40
+ });
29
41
  Object.defineProperty(this, "externalValue", {
30
42
  enumerable: true,
31
43
  configurable: true,
@@ -41,6 +53,8 @@ export class OasExample {
41
53
  this.summary = fields.summary;
42
54
  this.description = fields.description;
43
55
  this.value = fields.value;
56
+ this.dataValue = fields.dataValue;
57
+ this.serializedValue = fields.serializedValue;
44
58
  this.externalValue = fields.externalValue;
45
59
  this.extensionFields = fields.extensionFields;
46
60
  }
@@ -60,6 +74,8 @@ export class OasExample {
60
74
  summary: this.summary,
61
75
  description: this.description,
62
76
  value: this.value,
77
+ ...(this.dataValue !== undefined ? { dataValue: this.dataValue } : {}),
78
+ ...(this.serializedValue !== undefined ? { serializedValue: this.serializedValue } : {}),
63
79
  // Without this an `externalValue`-only example round-trips to an Example
64
80
  // Object holding neither an inline value nor a pointer to one.
65
81
  externalValue: this.externalValue
@@ -13,12 +13,18 @@ export type MediaTypeFields = {
13
13
  mediaType: string;
14
14
  /** The schema defining the structure of the content */
15
15
  schema?: OasSchema | OasRef<'schema'> | undefined;
16
+ /** The schema of each item in a sequential media type (OpenAPI 3.2) */
17
+ itemSchema?: OasSchema | OasRef<'schema'> | undefined;
16
18
  /** Example values for the media type */
17
19
  examples?: Record<string, OasExample | OasRef<'example'>> | undefined;
18
20
  /** Custom extension fields (x-* properties) */
19
21
  extensionFields?: Record<string, unknown>;
20
22
  /** Encoding information for multipart or form data */
21
23
  encoding?: Record<string, unknown> | undefined;
24
+ /** Positional Encoding Objects for a multipart array (OpenAPI 3.2) */
25
+ prefixEncoding?: Record<string, unknown>[] | undefined;
26
+ /** Encoding Object for each array item (OpenAPI 3.2) */
27
+ itemEncoding?: Record<string, unknown> | undefined;
22
28
  };
23
29
  /**
24
30
  * Represents a Media Type Object in the OpenAPI Specification.
@@ -104,12 +110,18 @@ export declare class OasMediaType extends OasBase {
104
110
  mediaType: string;
105
111
  /** The schema defining the structure and validation rules for the content */
106
112
  schema: OasSchema | OasRef<'schema'> | undefined;
113
+ /** The schema of each item in a sequential media type (OpenAPI 3.2) */
114
+ itemSchema: OasSchema | OasRef<'schema'> | undefined;
107
115
  /** Example values demonstrating the media type content */
108
116
  examples: Record<string, OasExample | OasRef<'example'>> | undefined;
109
117
  /** Custom extension fields (x-* properties) defined for this media type */
110
118
  extensionFields: Record<string, unknown> | undefined;
111
119
  /** Encoding information for multipart and form data serialization */
112
120
  encoding?: Record<string, unknown> | undefined;
121
+ /** Positional Encoding Objects for a multipart array (OpenAPI 3.2), stored as-is */
122
+ prefixEncoding?: Record<string, unknown>[] | undefined;
123
+ /** Encoding Object for each array item (OpenAPI 3.2), stored as-is */
124
+ itemEncoding?: Record<string, unknown> | undefined;
113
125
  /**
114
126
  * Creates a new OasMediaType instance.
115
127
  *
@@ -105,6 +105,13 @@ export class OasMediaType extends OasBase {
105
105
  writable: true,
106
106
  value: void 0
107
107
  });
108
+ /** The schema of each item in a sequential media type (OpenAPI 3.2) */
109
+ Object.defineProperty(this, "itemSchema", {
110
+ enumerable: true,
111
+ configurable: true,
112
+ writable: true,
113
+ value: void 0
114
+ });
108
115
  /** Example values demonstrating the media type content */
109
116
  Object.defineProperty(this, "examples", {
110
117
  enumerable: true,
@@ -126,10 +133,27 @@ export class OasMediaType extends OasBase {
126
133
  writable: true,
127
134
  value: void 0
128
135
  });
136
+ /** Positional Encoding Objects for a multipart array (OpenAPI 3.2), stored as-is */
137
+ Object.defineProperty(this, "prefixEncoding", {
138
+ enumerable: true,
139
+ configurable: true,
140
+ writable: true,
141
+ value: void 0
142
+ });
143
+ /** Encoding Object for each array item (OpenAPI 3.2), stored as-is */
144
+ Object.defineProperty(this, "itemEncoding", {
145
+ enumerable: true,
146
+ configurable: true,
147
+ writable: true,
148
+ value: void 0
149
+ });
129
150
  this.mediaType = fields.mediaType;
130
151
  this.schema = fields.schema;
152
+ this.itemSchema = fields.itemSchema;
131
153
  this.examples = fields.examples;
132
154
  this.encoding = fields.encoding;
155
+ this.prefixEncoding = fields.prefixEncoding;
156
+ this.itemEncoding = fields.itemEncoding;
133
157
  this.extensionFields = fields.extensionFields;
134
158
  }
135
159
  /**
@@ -240,7 +240,8 @@ 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
246
  * @param mediaType - Media type to extract schema from when using content definitions
246
247
  * @returns The parameter's schema object
@@ -292,7 +292,8 @@ export class OasParameter extends OasBase {
292
292
  * Extracts the schema for this parameter.
293
293
  *
294
294
  * Returns the direct schema if available, or extracts schema from content
295
- * for the specified media type.
295
+ * for the specified media type. When `content` has exactly one entry, its
296
+ * schema is used whatever the media type.
296
297
  *
297
298
  * @param mediaType - Media type to extract schema from when using content definitions
298
299
  * @returns The parameter's schema object
@@ -302,7 +303,9 @@ export class OasParameter extends OasBase {
302
303
  if (this.schema) {
303
304
  return this.schema;
304
305
  }
305
- const schema = this.content?.[mediaType]?.schema;
306
+ const contentEntries = Object.values(this.content ?? {});
307
+ const onlyEntry = contentEntries.length === 1 ? contentEntries[0] : undefined;
308
+ const schema = this.content?.[mediaType]?.schema ?? onlyEntry?.schema;
306
309
  if (!schema) {
307
310
  throw new Error(`Schema not found for media type ${mediaType}`);
308
311
  }
@@ -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
  });
@@ -12,6 +12,8 @@ import type { ParseContextType } from '../../context/parseTypes.js';
12
12
  * Constructor fields for {@link OasResponse}.
13
13
  */
14
14
  export type ResponseFields = {
15
+ /** A short summary of the response (OpenAPI 3.2) */
16
+ summary?: string | undefined;
15
17
  /** A description of the response */
16
18
  description?: string | undefined;
17
19
  /** Response headers that can be sent */
@@ -208,6 +210,7 @@ export type ResponseFields = {
208
210
  */
209
211
  export declare class OasResponse extends OasBase {
210
212
  oasType: 'response';
213
+ summary: string | undefined;
211
214
  description: string | undefined;
212
215
  headers: Record<string, OasHeader | OasRef<'header'>> | undefined;
213
216
  links: Record<string, OasLink | OasRef<'link'>> | undefined;
@@ -218,5 +221,7 @@ export declare class OasResponse extends OasBase {
218
221
  resolve(): OasResponse;
219
222
  resolveOnce(): OasResponse;
220
223
  toSchema(mediaType?: string): OasSchema | OasRef<'schema'> | undefined;
221
- toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.ResponseObject;
224
+ toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.ResponseObject & {
225
+ summary?: string;
226
+ };
222
227
  }
@@ -192,6 +192,12 @@ export class OasResponse extends OasBase {
192
192
  writable: true,
193
193
  value: 'response'
194
194
  });
195
+ Object.defineProperty(this, "summary", {
196
+ enumerable: true,
197
+ configurable: true,
198
+ writable: true,
199
+ value: void 0
200
+ });
195
201
  Object.defineProperty(this, "description", {
196
202
  enumerable: true,
197
203
  configurable: true,
@@ -222,6 +228,7 @@ export class OasResponse extends OasBase {
222
228
  writable: true,
223
229
  value: void 0
224
230
  });
231
+ this.summary = fields.summary;
225
232
  this.description = fields.description;
226
233
  this.headers = fields.headers;
227
234
  this.links = fields.links;
@@ -242,6 +249,7 @@ export class OasResponse extends OasBase {
242
249
  }
243
250
  toJsonSchema(options) {
244
251
  return {
252
+ ...(this.summary !== undefined ? { summary: this.summary } : {}),
245
253
  description: this.description ?? '',
246
254
  headers: this.headers
247
255
  ? 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;