@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
@@ -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<{
@@ -10,6 +10,8 @@ import type { OasServerVariable } from '../serverVariable/ServerVariable.js';
10
10
  */
11
11
  export type ServerFields = {
12
12
  description?: string | undefined;
13
+ /** Name that identifies the server (OpenAPI 3.2) */
14
+ name?: string | undefined;
13
15
  url: string;
14
16
  variables?: Record<string, OasServerVariable> | undefined;
15
17
  extensionFields?: Record<string, unknown>;
@@ -54,6 +56,8 @@ export declare class OasServer {
54
56
  oasType: 'server';
55
57
  /** Human-readable description of the server */
56
58
  description: string | undefined;
59
+ /** Name that identifies the server (OpenAPI 3.2) */
60
+ name: string | undefined;
57
61
  /** Server URL with optional variable templating */
58
62
  url: string;
59
63
  /** Variable definitions for URL templating */
@@ -88,7 +92,9 @@ export declare class OasServer {
88
92
  * Converts this OAS server to an OpenAPI v3 JSON schema representation.
89
93
  *
90
94
  * @param _options - Conversion options (currently unused for server objects)
91
- * @returns OpenAPI v3 server object with URL, description, and variables
95
+ * @returns OpenAPI v3 server object with URL, description, variables and, when set, name
92
96
  */
93
- toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ServerObject;
97
+ toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ServerObject & {
98
+ name?: string;
99
+ };
94
100
  }
@@ -58,6 +58,13 @@ class OasServer {
58
58
  writable: true,
59
59
  value: void 0
60
60
  });
61
+ /** Name that identifies the server (OpenAPI 3.2) */
62
+ Object.defineProperty(this, "name", {
63
+ enumerable: true,
64
+ configurable: true,
65
+ writable: true,
66
+ value: void 0
67
+ });
61
68
  /** Server URL with optional variable templating */
62
69
  Object.defineProperty(this, "url", {
63
70
  enumerable: true,
@@ -80,6 +87,7 @@ class OasServer {
80
87
  value: void 0
81
88
  });
82
89
  this.description = fields.description;
90
+ this.name = fields.name;
83
91
  this.url = fields.url;
84
92
  this.variables = fields.variables;
85
93
  this.extensionFields = fields.extensionFields;
@@ -112,11 +120,12 @@ class OasServer {
112
120
  * Converts this OAS server to an OpenAPI v3 JSON schema representation.
113
121
  *
114
122
  * @param _options - Conversion options (currently unused for server objects)
115
- * @returns OpenAPI v3 server object with URL, description, and variables
123
+ * @returns OpenAPI v3 server object with URL, description, variables and, when set, name
116
124
  */
117
125
  toJsonSchema(_options) {
118
126
  return {
119
127
  description: this.description,
128
+ ...(this.name !== undefined ? { name: this.name } : {}),
120
129
  url: this.url,
121
130
  variables: this.variables
122
131
  };
@@ -3,6 +3,12 @@ import type { OasExternalDocs } from '../externalDocs/ExternalDocs.js';
3
3
  export type TagFields = {
4
4
  name: string;
5
5
  description: string | undefined;
6
+ /** Short summary of the tag (OpenAPI 3.2) */
7
+ summary?: string;
8
+ /** Name of the tag this tag nests under (OpenAPI 3.2) */
9
+ parent?: string;
10
+ /** Kind of tag, e.g. `nav`, `badge` or `audience` (OpenAPI 3.2, open registry) */
11
+ kind?: string;
6
12
  externalDocs?: OasExternalDocs;
7
13
  extensionFields?: Record<string, unknown>;
8
14
  };
@@ -12,6 +18,9 @@ export declare class OasTag {
12
18
  constructor(fields: TagFields);
13
19
  get name(): string;
14
20
  get description(): string | undefined;
21
+ get summary(): string | undefined;
22
+ get parent(): string | undefined;
23
+ get kind(): string | undefined;
15
24
  get externalDocs(): OasExternalDocs | undefined;
16
25
  /** Specification Extension fields */
17
26
  get extensionFields(): Record<string, unknown> | undefined;
@@ -31,6 +31,15 @@ class OasTag {
31
31
  get description() {
32
32
  return __classPrivateFieldGet(this, _OasTag_fields, "f").description;
33
33
  }
34
+ get summary() {
35
+ return __classPrivateFieldGet(this, _OasTag_fields, "f").summary;
36
+ }
37
+ get parent() {
38
+ return __classPrivateFieldGet(this, _OasTag_fields, "f").parent;
39
+ }
40
+ get kind() {
41
+ return __classPrivateFieldGet(this, _OasTag_fields, "f").kind;
42
+ }
34
43
  get externalDocs() {
35
44
  return __classPrivateFieldGet(this, _OasTag_fields, "f").externalDocs;
36
45
  }
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * The OpenAPI dialects SKMTC parses natively. Each has its own complete
3
- * parser tree (`core/parse/v3-0`, `core/parse/v3-1`); this module is the
4
- * ONLY place a document's version is examined. Once a dialect is chosen
5
- * the matching parser runs top-to-bottom and never re-checks the version,
6
- * so a 3.0 document can never reach a line of 3.1 logic (or vice versa) —
7
- * there is no downstream version branch to get wrong.
3
+ * parser tree (`core/parse/v3-0`, `core/parse/v3-1`, `core/parse/v3-2`);
4
+ * this module is the ONLY place a document's version is examined. Once a
5
+ * dialect is chosen the matching parser runs top-to-bottom and never
6
+ * re-checks the version, so a 3.0 document can never reach a line of 3.1
7
+ * logic (or vice versa) — there is no downstream version branch to get
8
+ * wrong.
8
9
  */
9
- export type OasDialect = '3.0' | '3.1';
10
+ export type OasDialect = '3.0' | '3.1' | '3.2';
10
11
  /**
11
12
  * Map an OpenAPI document's `openapi` version string to its parser
12
13
  * dialect.
@@ -15,7 +16,7 @@ export type OasDialect = '3.0' | '3.1';
15
16
  * precondition failure — there is no sensible parser to pick — so it throws
16
17
  * rather than silently defaulting to one dialect and masking the error. A
17
18
  * loose `openapi.startsWith('3.1') ? '3.1' : '3.0'` would route every
18
- * non-3.1 value (a typo, `3.2`, `4.0`, a missing field) into 3.0 unnoticed;
19
+ * non-3.1 value (a typo, `4.0`, a missing field) into 3.0 unnoticed;
19
20
  * that is the footgun this avoids. Mirrors `@skmtc/convert`'s
20
21
  * `toV3Document`, which likewise throws on an unrecognized version.
21
22
  *
@@ -9,7 +9,7 @@ exports.toOasDialect = void 0;
9
9
  * precondition failure — there is no sensible parser to pick — so it throws
10
10
  * rather than silently defaulting to one dialect and masking the error. A
11
11
  * loose `openapi.startsWith('3.1') ? '3.1' : '3.0'` would route every
12
- * non-3.1 value (a typo, `3.2`, `4.0`, a missing field) into 3.0 unnoticed;
12
+ * non-3.1 value (a typo, `4.0`, a missing field) into 3.0 unnoticed;
13
13
  * that is the footgun this avoids. Mirrors `@skmtc/convert`'s
14
14
  * `toV3Document`, which likewise throws on an unrecognized version.
15
15
  *
@@ -21,6 +21,8 @@ const toOasDialect = (openapi) => {
21
21
  return '3.0';
22
22
  if (openapi?.startsWith('3.1'))
23
23
  return '3.1';
24
- throw new Error(`Unsupported OpenAPI version: ${openapi ?? '(missing)'} — expected 3.0.x or 3.1.x`);
24
+ if (openapi?.startsWith('3.2'))
25
+ return '3.2';
26
+ throw new Error(`Unsupported OpenAPI version: ${openapi ?? '(missing)'} — expected 3.0.x, 3.1.x or 3.2.x`);
25
27
  };
26
28
  exports.toOasDialect = toOasDialect;
@@ -0,0 +1,11 @@
1
+ import type { Method } from '../../types/Method.js';
2
+ /**
3
+ * A path item field that holds an Operation Object in OpenAPI 3.0. A
4
+ * `query` key is not one of them: it stays a skipped field.
5
+ */
6
+ export type PathItemMethod = Exclude<Method, 'query'>;
7
+ export declare const pathItemMethods: readonly PathItemMethod[];
8
+ /**
9
+ * Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
10
+ */
11
+ export declare const toPathItemMethod: (key: string) => PathItemMethod | undefined;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPathItemMethod = exports.pathItemMethods = void 0;
4
+ exports.pathItemMethods = [
5
+ 'get',
6
+ 'put',
7
+ 'post',
8
+ 'delete',
9
+ 'options',
10
+ 'head',
11
+ 'patch',
12
+ 'trace'
13
+ ];
14
+ /**
15
+ * Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
16
+ */
17
+ const toPathItemMethod = (key) => {
18
+ return exports.pathItemMethods.find(method => method === key);
19
+ };
20
+ exports.toPathItemMethod = toPathItemMethod;
@@ -6,7 +6,7 @@ const toResponseV3_js_1 = require("../response/toResponseV3.js");
6
6
  const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
7
7
  const Operation_js_1 = require("../../../oas/operation/Operation.js");
8
8
  const toPathItemV3_js_1 = require("../pathItem/toPathItemV3.js");
9
- const Method_js_1 = require("../../../types/Method.js");
9
+ const methods_js_1 = require("../methods.js");
10
10
  const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
11
11
  const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
12
12
  const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
@@ -58,14 +58,14 @@ const toOperationsV3 = ({ paths, stackTrail, context }) => {
58
58
  return [];
59
59
  }
60
60
  const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
61
- const isMethod = Method_js_1.methodValues.includes(key);
62
- if (isMethod) {
63
- const { [key]: _deleted, ...remaining } = rest;
61
+ const method = (0, methods_js_1.toPathItemMethod)(key);
62
+ if (method) {
63
+ const { [method]: _deleted, ...remaining } = rest;
64
64
  return {
65
65
  rest: remaining,
66
66
  methodObject: {
67
67
  ...methodObject,
68
- [key]: operation
68
+ [method]: operation
69
69
  }
70
70
  };
71
71
  }
@@ -1,9 +1,10 @@
1
1
  import type { ParseContextType } from '../../../context/parseTypes.js';
2
- import { type OasParameterLocation } from '../../../oas/parameter/parameter-types.js';
2
+ import type { OasParameterLocation } from '../../../oas/parameter/parameter-types.js';
3
3
  import type { OpenAPIV3 } from 'openapi-types';
4
4
  import { OasParameter } from '../../../oas/parameter/Parameter.js';
5
5
  import type { OasRef } from '../../../oas/ref/Ref.js';
6
6
  import type { StackTrail } from '../../../context/StackTrail.js';
7
+ type ParameterLocation = Exclude<OasParameterLocation, 'querystring'>;
7
8
  export type ToParameterListV3Args = {
8
9
  parameters: (OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject)[] | undefined;
9
10
  stackTrail: StackTrail;
@@ -29,7 +30,7 @@ export type ToParameterV3Args = {
29
30
  };
30
31
  export type ToStyleArgs = {
31
32
  style: string | undefined;
32
- location: OasParameterLocation;
33
+ location: ParameterLocation;
33
34
  stackTrail: StackTrail;
34
35
  };
35
36
  export type ToExplodeArgs = {
@@ -37,3 +38,4 @@ export type ToExplodeArgs = {
37
38
  style: string | undefined;
38
39
  stackTrail: StackTrail;
39
40
  };
41
+ export {};
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.toOptionalParametersV3 = exports.toParametersV3 = exports.toParameterListV3 = void 0;
37
37
  const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
38
38
  const refFns_js_1 = require("../../../helpers/refFns.js");
39
- const parameter_types_js_1 = require("../../../oas/parameter/parameter-types.js");
40
39
  const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
41
40
  const toRefV31_js_1 = require("../ref/toRefV31.js");
42
41
  const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
@@ -44,6 +43,21 @@ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
44
43
  const Parameter_js_1 = require("../../../oas/parameter/Parameter.js");
45
44
  const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
46
45
  const v = __importStar(require("valibot"));
46
+ const parameterLocation = v.enum({
47
+ query: 'query',
48
+ header: 'header',
49
+ path: 'path',
50
+ cookie: 'cookie'
51
+ });
52
+ const parameterStyle = v.enum({
53
+ matrix: 'matrix',
54
+ label: 'label',
55
+ form: 'form',
56
+ simple: 'simple',
57
+ spaceDelimited: 'spaceDelimited',
58
+ pipeDelimited: 'pipeDelimited',
59
+ deepObject: 'deepObject'
60
+ });
47
61
  const toParameterListV3 = ({ parameters, stackTrail, context }) => {
48
62
  if (!parameters) {
49
63
  return undefined;
@@ -91,7 +105,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
91
105
  stackTrail,
92
106
  parentType: 'parameter'
93
107
  });
94
- const parsedLocation = v.parse(parameter_types_js_1.oasParameterLocation, location);
108
+ const parsedLocation = v.parse(parameterLocation, location);
95
109
  if (parsedLocation === 'path' && !required) {
96
110
  console.warn(`Path parameters must be required`);
97
111
  }
@@ -121,7 +135,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
121
135
  return context.withStackTrail(stackTrail, () => new Parameter_js_1.OasParameter(fields, context));
122
136
  };
123
137
  const toStyle = ({ style, location, stackTrail }) => {
124
- const parsed = v.parse(v.optional(parameter_types_js_1.oasParameterStyle), style);
138
+ const parsed = v.parse(v.optional(parameterStyle), style);
125
139
  if (parsed !== undefined) {
126
140
  return parsed;
127
141
  }
@@ -39,8 +39,8 @@ const v = __importStar(require("valibot"));
39
39
  const security_scheme_types_js_1 = require("../../../oas/securitySchemes/security-scheme-types.js");
40
40
  const toRefV31_js_1 = require("../ref/toRefV31.js");
41
41
  const refFns_js_1 = require("../../../helpers/refFns.js");
42
- const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
43
42
  const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
43
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
44
44
  const toSecuritySchemesV3 = ({ securitySchemes, stackTrail, context }) => {
45
45
  if (!securitySchemes) {
46
46
  return undefined;
@@ -64,21 +64,29 @@ const toSecuritySchemesV3 = ({ securitySchemes, stackTrail, context }) => {
64
64
  return output;
65
65
  };
66
66
  exports.toSecuritySchemesV3 = toSecuritySchemesV3;
67
+ /**
68
+ * Log the keys of `value` that `known` does not name as skipped fields.
69
+ * `v.parse` on a `v.object` schema strips unknown keys, so they are read
70
+ * off the raw object. `x-` extensions are not logged.
71
+ */
72
+ const logSkippedKeys = ({ value, known, parentType, stackTrail, context }) => {
73
+ const skipped = Object.fromEntries(Object.entries(value).filter(([key]) => !Object.hasOwn(known, key)));
74
+ (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({ skipped, parent: value, parentType, stackTrail, context });
75
+ };
67
76
  const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
68
77
  if ((0, refFns_js_1.isRef)(securityScheme)) {
69
78
  return (0, toRefV31_js_1.toRefV31)({ ref: securityScheme, refType: 'securityScheme', stackTrail, context });
70
79
  }
71
80
  switch (securityScheme.type) {
72
81
  case 'http': {
73
- const { type: _type, description, scheme, bearerFormat, ...skipped } = v.parse(security_scheme_types_js_1.oasHttpSecuritySchemeData, securityScheme);
74
- if (!(0, isEmpty_js_1.isEmpty)(skipped)) {
75
- context.logSkippedFields({
76
- skipped,
77
- parent: securityScheme,
78
- stackTrail,
79
- parentType: 'securityScheme:http'
80
- });
81
- }
82
+ const { description, scheme, bearerFormat } = v.parse(security_scheme_types_js_1.oasHttpSecuritySchemeData, securityScheme);
83
+ logSkippedKeys({
84
+ value: securityScheme,
85
+ known: security_scheme_types_js_1.oasHttpSecuritySchemeData.entries,
86
+ parentType: 'securityScheme:http',
87
+ stackTrail,
88
+ context
89
+ });
82
90
  return new SecurityScheme_js_1.OasHttpSecurityScheme({
83
91
  description,
84
92
  scheme,
@@ -86,15 +94,14 @@ const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
86
94
  });
87
95
  }
88
96
  case 'apiKey': {
89
- const { type: _type, in: location, description, name, ...skipped } = v.parse(security_scheme_types_js_1.oasApiKeySecuritySchemeData, securityScheme);
90
- if (!(0, isEmpty_js_1.isEmpty)(skipped)) {
91
- context.logSkippedFields({
92
- skipped,
93
- parent: securityScheme,
94
- stackTrail,
95
- parentType: 'securityScheme:apiKey'
96
- });
97
- }
97
+ const { in: location, description, name } = v.parse(security_scheme_types_js_1.oasApiKeySecuritySchemeData, securityScheme);
98
+ logSkippedKeys({
99
+ value: securityScheme,
100
+ known: security_scheme_types_js_1.oasApiKeySecuritySchemeData.entries,
101
+ parentType: 'securityScheme:apiKey',
102
+ stackTrail,
103
+ context
104
+ });
98
105
  return new SecurityScheme_js_1.OasApiKeySecurityScheme({
99
106
  description,
100
107
  name,
@@ -102,30 +109,35 @@ const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
102
109
  });
103
110
  }
104
111
  case 'oauth2': {
105
- const { type: _type, flows, description, ...skipped } = v.parse(security_scheme_types_js_1.oasOAuth2SecuritySchemeData, securityScheme);
106
- if (!(0, isEmpty_js_1.isEmpty)(skipped)) {
107
- context.logSkippedFields({
108
- skipped,
109
- parent: securityScheme,
110
- stackTrail,
111
- parentType: 'securityScheme:oauth2'
112
- });
113
- }
112
+ const { flows, description } = v.parse(security_scheme_types_js_1.oasOAuth2SecuritySchemeData, securityScheme);
113
+ logSkippedKeys({
114
+ value: securityScheme,
115
+ known: security_scheme_types_js_1.oasOAuth2SecuritySchemeData.entries,
116
+ parentType: 'securityScheme:oauth2',
117
+ stackTrail,
118
+ context
119
+ });
120
+ stackTrail.trace('flows', st => logSkippedKeys({
121
+ value: securityScheme.flows,
122
+ known: security_scheme_types_js_1.oasOAuth2FlowsData.entries,
123
+ parentType: 'oauthFlows',
124
+ stackTrail: st,
125
+ context
126
+ }));
114
127
  return new SecurityScheme_js_1.OasOAuth2SecurityScheme({
115
128
  description,
116
129
  flows
117
130
  });
118
131
  }
119
132
  case 'openIdConnect': {
120
- const { type: _type, description, openIdConnectUrl, ...skipped } = v.parse(security_scheme_types_js_1.oasOpenIdSecuritySchemeData, securityScheme);
121
- if (!(0, isEmpty_js_1.isEmpty)(skipped)) {
122
- context.logSkippedFields({
123
- skipped,
124
- parent: securityScheme,
125
- stackTrail,
126
- parentType: 'securityScheme:openIdConnect'
127
- });
128
- }
133
+ const { description, openIdConnectUrl } = v.parse(security_scheme_types_js_1.oasOpenIdSecuritySchemeData, securityScheme);
134
+ logSkippedKeys({
135
+ value: securityScheme,
136
+ known: security_scheme_types_js_1.oasOpenIdSecuritySchemeData.entries,
137
+ parentType: 'securityScheme:openIdConnect',
138
+ stackTrail,
139
+ context
140
+ });
129
141
  return new SecurityScheme_js_1.OasOpenIdSecurityScheme({
130
142
  description,
131
143
  openIdConnectUrl
@@ -6,7 +6,7 @@ const toResponseV3_js_1 = require("../response/toResponseV3.js");
6
6
  const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
7
7
  const Webhook_js_1 = require("../../../oas/webhook/Webhook.js");
8
8
  const toPathItemV3_js_1 = require("../pathItem/toPathItemV3.js");
9
- const Method_js_1 = require("../../../types/Method.js");
9
+ const methods_js_1 = require("../methods.js");
10
10
  const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
11
11
  const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
12
12
  const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
@@ -73,14 +73,14 @@ const toWebhooksV3 = ({ webhooks, stackTrail, context }) => {
73
73
  return [];
74
74
  }
75
75
  const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
76
- const isMethod = Method_js_1.methodValues.includes(key);
77
- if (isMethod) {
78
- const { [key]: _deleted, ...remaining } = rest;
76
+ const method = (0, methods_js_1.toPathItemMethod)(key);
77
+ if (method) {
78
+ const { [method]: _deleted, ...remaining } = rest;
79
79
  return {
80
80
  rest: remaining,
81
81
  methodObject: {
82
82
  ...methodObject,
83
- [key]: operation
83
+ [method]: operation
84
84
  }
85
85
  };
86
86
  }
@@ -0,0 +1,11 @@
1
+ import type { Method } from '../../types/Method.js';
2
+ /**
3
+ * A path item field that holds an Operation Object in OpenAPI 3.1. A
4
+ * `query` key is not one of them: it stays a skipped field.
5
+ */
6
+ export type PathItemMethod = Exclude<Method, 'query'>;
7
+ export declare const pathItemMethods: readonly PathItemMethod[];
8
+ /**
9
+ * Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
10
+ */
11
+ export declare const toPathItemMethod: (key: string) => PathItemMethod | undefined;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPathItemMethod = exports.pathItemMethods = void 0;
4
+ exports.pathItemMethods = [
5
+ 'get',
6
+ 'put',
7
+ 'post',
8
+ 'delete',
9
+ 'options',
10
+ 'head',
11
+ 'patch',
12
+ 'trace'
13
+ ];
14
+ /**
15
+ * Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
16
+ */
17
+ const toPathItemMethod = (key) => {
18
+ return exports.pathItemMethods.find(method => method === key);
19
+ };
20
+ exports.toPathItemMethod = toPathItemMethod;
@@ -6,7 +6,7 @@ const toResponseV3_js_1 = require("../response/toResponseV3.js");
6
6
  const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
7
7
  const Operation_js_1 = require("../../../oas/operation/Operation.js");
8
8
  const toPathItemV3_js_1 = require("../pathItem/toPathItemV3.js");
9
- const Method_js_1 = require("../../../types/Method.js");
9
+ const methods_js_1 = require("../methods.js");
10
10
  const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
11
11
  const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
12
12
  const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
@@ -61,14 +61,14 @@ const toOperationsV3 = ({ paths, stackTrail, context }) => {
61
61
  return [];
62
62
  }
63
63
  const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
64
- const isMethod = Method_js_1.methodValues.includes(key);
65
- if (isMethod) {
66
- const { [key]: _deleted, ...remaining } = rest;
64
+ const method = (0, methods_js_1.toPathItemMethod)(key);
65
+ if (method) {
66
+ const { [method]: _deleted, ...remaining } = rest;
67
67
  return {
68
68
  rest: remaining,
69
69
  methodObject: {
70
70
  ...methodObject,
71
- [key]: operation
71
+ [method]: operation
72
72
  }
73
73
  };
74
74
  }
@@ -1,9 +1,10 @@
1
1
  import type { ParseContextType } from '../../../context/parseTypes.js';
2
- import { type OasParameterLocation } from '../../../oas/parameter/parameter-types.js';
2
+ import type { OasParameterLocation } from '../../../oas/parameter/parameter-types.js';
3
3
  import type { OpenAPIV3 } from 'openapi-types';
4
4
  import { OasParameter } from '../../../oas/parameter/Parameter.js';
5
5
  import type { OasRef } from '../../../oas/ref/Ref.js';
6
6
  import type { StackTrail } from '../../../context/StackTrail.js';
7
+ type ParameterLocation = Exclude<OasParameterLocation, 'querystring'>;
7
8
  export type ToParameterListV3Args = {
8
9
  parameters: (OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject)[] | undefined;
9
10
  stackTrail: StackTrail;
@@ -29,7 +30,7 @@ export type ToParameterV3Args = {
29
30
  };
30
31
  export type ToStyleArgs = {
31
32
  style: string | undefined;
32
- location: OasParameterLocation;
33
+ location: ParameterLocation;
33
34
  stackTrail: StackTrail;
34
35
  };
35
36
  export type ToExplodeArgs = {
@@ -37,3 +38,4 @@ export type ToExplodeArgs = {
37
38
  style: string | undefined;
38
39
  stackTrail: StackTrail;
39
40
  };
41
+ export {};
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.toOptionalParametersV3 = exports.toParametersV3 = exports.toParameterListV3 = void 0;
37
37
  const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
38
38
  const refFns_js_1 = require("../../../helpers/refFns.js");
39
- const parameter_types_js_1 = require("../../../oas/parameter/parameter-types.js");
40
39
  const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
41
40
  const toRefV31_js_1 = require("../ref/toRefV31.js");
42
41
  const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
@@ -44,6 +43,21 @@ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
44
43
  const Parameter_js_1 = require("../../../oas/parameter/Parameter.js");
45
44
  const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
46
45
  const v = __importStar(require("valibot"));
46
+ const parameterLocation = v.enum({
47
+ query: 'query',
48
+ header: 'header',
49
+ path: 'path',
50
+ cookie: 'cookie'
51
+ });
52
+ const parameterStyle = v.enum({
53
+ matrix: 'matrix',
54
+ label: 'label',
55
+ form: 'form',
56
+ simple: 'simple',
57
+ spaceDelimited: 'spaceDelimited',
58
+ pipeDelimited: 'pipeDelimited',
59
+ deepObject: 'deepObject'
60
+ });
47
61
  const toParameterListV3 = ({ parameters, stackTrail, context }) => {
48
62
  if (!parameters) {
49
63
  return undefined;
@@ -91,7 +105,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
91
105
  stackTrail,
92
106
  parentType: 'parameter'
93
107
  });
94
- const parsedLocation = v.parse(parameter_types_js_1.oasParameterLocation, location);
108
+ const parsedLocation = v.parse(parameterLocation, location);
95
109
  if (parsedLocation === 'path' && !required) {
96
110
  console.warn(`Path parameters must be required`);
97
111
  }
@@ -121,7 +135,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
121
135
  return context.withStackTrail(stackTrail, () => new Parameter_js_1.OasParameter(fields, context));
122
136
  };
123
137
  const toStyle = ({ style, location, stackTrail }) => {
124
- const parsed = v.parse(v.optional(parameter_types_js_1.oasParameterStyle), style);
138
+ const parsed = v.parse(v.optional(parameterStyle), style);
125
139
  if (parsed !== undefined) {
126
140
  return parsed;
127
141
  }