@skmtc/core 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/esm/_dnt.polyfills.d.ts +11 -0
  2. package/esm/_dnt.polyfills.js +14 -0
  3. package/esm/context/ParseContext.js +9 -1
  4. package/esm/context/generateTypes.d.ts +14 -2
  5. package/esm/context/generateTypes.js +5 -1
  6. package/esm/dsl/GeneratorKeys.d.ts +2 -2
  7. package/esm/dsl/GeneratorKeys.js +6 -3
  8. package/esm/helpers/naming.d.ts +2 -1
  9. package/esm/helpers/naming.js +4 -2
  10. package/esm/mod.d.ts +1 -0
  11. package/esm/mod.js +1 -0
  12. package/esm/oas/discriminator/Discriminator.d.ts +3 -0
  13. package/esm/oas/discriminator/Discriminator.js +7 -0
  14. package/esm/oas/document/Document.d.ts +7 -0
  15. package/esm/oas/document/Document.js +8 -0
  16. package/esm/oas/example/Example.d.ts +10 -1
  17. package/esm/oas/example/Example.js +16 -0
  18. package/esm/oas/header/Header.d.ts +4 -2
  19. package/esm/oas/header/Header.js +12 -5
  20. package/esm/oas/mediaType/MediaType.d.ts +12 -0
  21. package/esm/oas/mediaType/MediaType.js +24 -0
  22. package/esm/oas/mediaType/jsonMediaType.d.ts +50 -0
  23. package/esm/oas/mediaType/jsonMediaType.js +64 -0
  24. package/esm/oas/mediaType/toContentSchema.d.ts +8 -0
  25. package/esm/oas/mediaType/toContentSchema.js +6 -0
  26. package/esm/oas/operation/Operation.d.ts +10 -2
  27. package/esm/oas/operation/Operation.js +20 -7
  28. package/esm/oas/parameter/Parameter.d.ts +3 -2
  29. package/esm/oas/parameter/Parameter.js +11 -5
  30. package/esm/oas/parameter/parameter-types.d.ts +10 -2
  31. package/esm/oas/parameter/parameter-types.js +3 -1
  32. package/esm/oas/requestBody/RequestBody.d.ts +11 -0
  33. package/esm/oas/requestBody/RequestBody.js +16 -2
  34. package/esm/oas/response/Response.d.ts +17 -1
  35. package/esm/oas/response/Response.js +24 -2
  36. package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  37. package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
  38. package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  39. package/esm/oas/server/Server.d.ts +8 -2
  40. package/esm/oas/server/Server.js +10 -1
  41. package/esm/oas/tag/Tag.d.ts +9 -0
  42. package/esm/oas/tag/Tag.js +9 -0
  43. package/esm/oas/webhook/Webhook.d.ts +4 -4
  44. package/esm/oas/webhook/Webhook.js +6 -6
  45. package/esm/parse/logBodyMediaTypes.d.ts +27 -0
  46. package/esm/parse/logBodyMediaTypes.js +50 -0
  47. package/esm/parse/toOasDialect.d.ts +8 -7
  48. package/esm/parse/toOasDialect.js +4 -2
  49. package/esm/parse/v3-0/methods.d.ts +11 -0
  50. package/esm/parse/v3-0/methods.js +16 -0
  51. package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
  52. package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  53. package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
  54. package/esm/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
  55. package/esm/parse/v3-0/response/toResponseV3.js +4 -1
  56. package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
  57. package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  58. package/esm/parse/v3-1/methods.d.ts +11 -0
  59. package/esm/parse/v3-1/methods.js +16 -0
  60. package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
  61. package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  62. package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
  63. package/esm/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
  64. package/esm/parse/v3-1/response/toResponseV3.js +4 -1
  65. package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
  66. package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  67. package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  68. package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
  69. package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  70. package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
  71. package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  72. package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
  73. package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  74. package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
  75. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  76. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
  77. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  78. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
  79. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  80. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
  81. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  82. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
  83. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  84. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
  85. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  86. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
  87. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  88. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
  89. package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  90. package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
  91. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  92. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
  93. package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  94. package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
  95. package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  96. package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
  97. package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  98. package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
  99. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  100. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
  101. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  102. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
  103. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  104. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
  105. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  106. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
  107. package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  108. package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
  109. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  110. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
  111. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  112. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
  113. package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  114. package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
  115. package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  116. package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
  117. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  118. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
  119. package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  120. package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
  121. package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  122. package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
  123. package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  124. package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
  125. package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  126. package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
  127. package/esm/parse/v3-2/array/toArray.d.ts +80 -0
  128. package/esm/parse/v3-2/array/toArray.js +165 -0
  129. package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  130. package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
  131. package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  132. package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
  133. package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
  134. package/esm/parse/v3-2/contact/toContactV3.js +18 -0
  135. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  136. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
  137. package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  138. package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
  139. package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  140. package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
  141. package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  142. package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
  143. package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  144. package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
  145. package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
  146. package/esm/parse/v3-2/info/toInfoV3.js +23 -0
  147. package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
  148. package/esm/parse/v3-2/integer/toInteger.js +115 -0
  149. package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  150. package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
  151. package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
  152. package/esm/parse/v3-2/link/toLinksV3.js +40 -0
  153. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  154. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
  155. package/esm/parse/v3-2/methods.d.ts +17 -0
  156. package/esm/parse/v3-2/methods.js +21 -0
  157. package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
  158. package/esm/parse/v3-2/number/toNumber.js +115 -0
  159. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  160. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
  161. package/esm/parse/v3-2/object/toObject.d.ts +10 -0
  162. package/esm/parse/v3-2/object/toObject.js +90 -0
  163. package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  164. package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
  165. package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  166. package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
  167. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  168. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
  169. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  170. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
  171. package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  172. package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
  173. package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
  174. package/esm/parse/v3-2/ref/toRefV31.js +10 -0
  175. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  176. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +47 -0
  177. package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
  178. package/esm/parse/v3-2/response/toResponseV3.js +59 -0
  179. package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  180. package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
  181. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  182. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
  183. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  184. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
  185. package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
  186. package/esm/parse/v3-2/server/toServerV3.js +31 -0
  187. package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  188. package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
  189. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  190. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
  191. package/esm/parse/v3-2/string/toString.d.ts +146 -0
  192. package/esm/parse/v3-2/string/toString.js +211 -0
  193. package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  194. package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
  195. package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
  196. package/esm/parse/v3-2/union/toUnion.js +68 -0
  197. package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  198. package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
  199. package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  200. package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
  201. package/esm/types/Method.d.ts +7 -4
  202. package/esm/types/Method.js +17 -4
  203. package/esm/types/Preview.d.ts +2 -1
  204. package/esm/types/SkmtcDocument.d.ts +6 -6
  205. package/package.json +1 -1
  206. package/script/_dnt.polyfills.d.ts +11 -0
  207. package/script/_dnt.polyfills.js +14 -0
  208. package/script/context/ParseContext.js +9 -1
  209. package/script/context/generateTypes.d.ts +14 -2
  210. package/script/context/generateTypes.js +5 -1
  211. package/script/dsl/GeneratorKeys.d.ts +2 -2
  212. package/script/dsl/GeneratorKeys.js +6 -3
  213. package/script/helpers/naming.d.ts +2 -1
  214. package/script/helpers/naming.js +4 -2
  215. package/script/mod.d.ts +1 -0
  216. package/script/mod.js +1 -0
  217. package/script/oas/discriminator/Discriminator.d.ts +3 -0
  218. package/script/oas/discriminator/Discriminator.js +7 -0
  219. package/script/oas/document/Document.d.ts +7 -0
  220. package/script/oas/document/Document.js +8 -0
  221. package/script/oas/example/Example.d.ts +10 -1
  222. package/script/oas/example/Example.js +16 -0
  223. package/script/oas/header/Header.d.ts +4 -2
  224. package/script/oas/header/Header.js +12 -5
  225. package/script/oas/mediaType/MediaType.d.ts +12 -0
  226. package/script/oas/mediaType/MediaType.js +24 -0
  227. package/script/oas/mediaType/jsonMediaType.d.ts +50 -0
  228. package/script/oas/mediaType/jsonMediaType.js +71 -0
  229. package/script/oas/mediaType/toContentSchema.d.ts +8 -0
  230. package/script/oas/mediaType/toContentSchema.js +10 -0
  231. package/script/oas/operation/Operation.d.ts +10 -2
  232. package/script/oas/operation/Operation.js +20 -7
  233. package/script/oas/parameter/Parameter.d.ts +3 -2
  234. package/script/oas/parameter/Parameter.js +11 -5
  235. package/script/oas/parameter/parameter-types.d.ts +10 -2
  236. package/script/oas/parameter/parameter-types.js +3 -1
  237. package/script/oas/requestBody/RequestBody.d.ts +11 -0
  238. package/script/oas/requestBody/RequestBody.js +16 -2
  239. package/script/oas/response/Response.d.ts +17 -1
  240. package/script/oas/response/Response.js +24 -2
  241. package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  242. package/script/oas/securitySchemes/SecurityScheme.js +46 -1
  243. package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  244. package/script/oas/server/Server.d.ts +8 -2
  245. package/script/oas/server/Server.js +10 -1
  246. package/script/oas/tag/Tag.d.ts +9 -0
  247. package/script/oas/tag/Tag.js +9 -0
  248. package/script/oas/webhook/Webhook.d.ts +4 -4
  249. package/script/oas/webhook/Webhook.js +6 -6
  250. package/script/parse/logBodyMediaTypes.d.ts +27 -0
  251. package/script/parse/logBodyMediaTypes.js +54 -0
  252. package/script/parse/toOasDialect.d.ts +8 -7
  253. package/script/parse/toOasDialect.js +4 -2
  254. package/script/parse/v3-0/methods.d.ts +11 -0
  255. package/script/parse/v3-0/methods.js +20 -0
  256. package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
  257. package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  258. package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
  259. package/script/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
  260. package/script/parse/v3-0/response/toResponseV3.js +4 -1
  261. package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
  262. package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  263. package/script/parse/v3-1/methods.d.ts +11 -0
  264. package/script/parse/v3-1/methods.js +20 -0
  265. package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
  266. package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  267. package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
  268. package/script/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
  269. package/script/parse/v3-1/response/toResponseV3.js +4 -1
  270. package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
  271. package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  272. package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  273. package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
  274. package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  275. package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
  276. package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  277. package/script/parse/v3-2/_helpers/parseExample.js +41 -0
  278. package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  279. package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
  280. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  281. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
  282. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  283. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
  284. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  285. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
  286. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  287. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
  288. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  289. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
  290. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  291. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
  292. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  293. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
  294. package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  295. package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
  296. package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  297. package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
  298. package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  299. package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
  300. package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  301. package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
  302. package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  303. package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
  304. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  305. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
  306. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  307. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
  308. package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  309. package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
  310. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  311. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
  312. package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  313. package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
  314. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  315. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
  316. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  317. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
  318. package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  319. package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
  320. package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  321. package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
  322. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  323. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
  324. package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  325. package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
  326. package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  327. package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
  328. package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  329. package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
  330. package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  331. package/script/parse/v3-2/_merge-all-of/types.js +38 -0
  332. package/script/parse/v3-2/array/toArray.d.ts +80 -0
  333. package/script/parse/v3-2/array/toArray.js +203 -0
  334. package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  335. package/script/parse/v3-2/boolean/toBoolean.js +177 -0
  336. package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  337. package/script/parse/v3-2/components/toComponentsV3.js +47 -0
  338. package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
  339. package/script/parse/v3-2/contact/toContactV3.js +22 -0
  340. package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  341. package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
  342. package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  343. package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
  344. package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  345. package/script/parse/v3-2/example/toExamplesV3.js +149 -0
  346. package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  347. package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
  348. package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  349. package/script/parse/v3-2/header/toHeadersV3.js +51 -0
  350. package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
  351. package/script/parse/v3-2/info/toInfoV3.js +27 -0
  352. package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
  353. package/script/parse/v3-2/integer/toInteger.js +153 -0
  354. package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  355. package/script/parse/v3-2/license/toLicenseV3.js +21 -0
  356. package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
  357. package/script/parse/v3-2/link/toLinksV3.js +44 -0
  358. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  359. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
  360. package/script/parse/v3-2/methods.d.ts +17 -0
  361. package/script/parse/v3-2/methods.js +25 -0
  362. package/script/parse/v3-2/number/toNumber.d.ts +10 -0
  363. package/script/parse/v3-2/number/toNumber.js +152 -0
  364. package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  365. package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
  366. package/script/parse/v3-2/object/toObject.d.ts +10 -0
  367. package/script/parse/v3-2/object/toObject.js +94 -0
  368. package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  369. package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
  370. package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  371. package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
  372. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  373. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
  374. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  375. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
  376. package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  377. package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
  378. package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
  379. package/script/parse/v3-2/ref/toRefV31.js +14 -0
  380. package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  381. package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +52 -0
  382. package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
  383. package/script/parse/v3-2/response/toResponseV3.js +65 -0
  384. package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  385. package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
  386. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  387. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
  388. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  389. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
  390. package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
  391. package/script/parse/v3-2/server/toServerV3.js +37 -0
  392. package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  393. package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
  394. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  395. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
  396. package/script/parse/v3-2/string/toString.d.ts +146 -0
  397. package/script/parse/v3-2/string/toString.js +249 -0
  398. package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  399. package/script/parse/v3-2/tag/toTagsV3.js +83 -0
  400. package/script/parse/v3-2/union/toUnion.d.ts +12 -0
  401. package/script/parse/v3-2/union/toUnion.js +72 -0
  402. package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  403. package/script/parse/v3-2/unknown/toUnknown.js +23 -0
  404. package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  405. package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
  406. package/script/types/Method.d.ts +7 -4
  407. package/script/types/Method.js +17 -4
  408. package/script/types/Preview.d.ts +2 -1
  409. package/script/types/SkmtcDocument.d.ts +6 -6
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toObject = void 0;
4
+ const Object_js_1 = require("../../../oas/object/Object.js");
5
+ const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
6
+ const toAdditionalPropertiesV3_js_1 = require("./toAdditionalPropertiesV3.js");
7
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
8
+ const parseNullable_js_1 = require("../_helpers/parseNullable.js");
9
+ const parseEnum_js_1 = require("../_helpers/parseEnum.js");
10
+ const parseExample_js_1 = require("../_helpers/parseExample.js");
11
+ const parseDefault_js_1 = require("../_helpers/parseDefault.js");
12
+ const toExternalDocs_js_1 = require("../externalDocs/toExternalDocs.js");
13
+ const toObject = ({ value, context, stackTrail }) => {
14
+ const { nullable, value: valueWithoutNullable } = (0, parseNullable_js_1.parseNullable)({
15
+ value,
16
+ context,
17
+ stackTrail
18
+ });
19
+ const { example: unparsedExample, ...valueWithoutExample } = valueWithoutNullable;
20
+ const example = (0, parseExample_js_1.parseExample)({
21
+ value: unparsedExample,
22
+ context,
23
+ parent: valueWithoutNullable,
24
+ nullable,
25
+ check: isObject,
26
+ toMessage: item => `Removed invalid example. Expected "object", got: ${item}`,
27
+ stackTrail
28
+ });
29
+ const { enum: unparsedEnums, ...valueWithoutEnums } = valueWithoutExample;
30
+ const enums = (0, parseEnum_js_1.parseEnum)({
31
+ value: unparsedEnums,
32
+ nullable,
33
+ parent: valueWithoutExample,
34
+ context,
35
+ stackTrail,
36
+ check: isObject,
37
+ toMessage: item => `Removed invalid enum. Expected "object", got: ${item}`
38
+ });
39
+ const { default: unparsedDefaultValue, ...valueWithoutDefault } = valueWithoutEnums;
40
+ const defaultValue = (0, parseDefault_js_1.parseDefault)({
41
+ value: unparsedDefaultValue,
42
+ context,
43
+ parent: valueWithoutEnums,
44
+ nullable,
45
+ check: isObject,
46
+ toMessage: item => `Removed invalid default. Expected "object", got: ${item}`,
47
+ stackTrail
48
+ });
49
+ return toParsedObject({
50
+ context,
51
+ nullable,
52
+ example,
53
+ enums,
54
+ defaultValue,
55
+ value: valueWithoutDefault,
56
+ stackTrail
57
+ });
58
+ };
59
+ exports.toObject = toObject;
60
+ const toParsedObject = ({ context, stackTrail, nullable, example, enums, defaultValue, value }) => {
61
+ const { type: _type, title, description, externalDocs, deprecated, properties, required, maxProperties, minProperties, additionalProperties, readOnly, writeOnly, ...skipped } = value;
62
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
63
+ skipped,
64
+ parent: value,
65
+ context,
66
+ stackTrail,
67
+ parentType: 'schema:object'
68
+ });
69
+ return context.withStackTrail(stackTrail, () => new Object_js_1.OasObject({
70
+ title,
71
+ description,
72
+ externalDocs: stackTrail.trace('externalDocs', st => (0, toExternalDocs_js_1.toExternalDocs)({ externalDocs, stackTrail: st, context })),
73
+ nullable,
74
+ example,
75
+ enums,
76
+ properties: stackTrail.trace('properties', st => (0, toSchemasV3_js_1.toOptionalSchemasV3)({
77
+ schemas: properties,
78
+ stackTrail: st,
79
+ context
80
+ })),
81
+ required,
82
+ maxProperties,
83
+ minProperties,
84
+ additionalProperties: stackTrail.trace('additionalProperties', st => (0, toAdditionalPropertiesV3_js_1.toAdditionalPropertiesV3)({ additionalProperties, stackTrail: st, context })),
85
+ extensionFields,
86
+ default: defaultValue,
87
+ deprecated,
88
+ readOnly,
89
+ writeOnly
90
+ }, context));
91
+ };
92
+ const isObject = (value) => {
93
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
94
+ };
@@ -0,0 +1,25 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { Method } from '../../../types/Method.js';
3
+ import type { ParseContextType } from '../../../context/parseTypes.js';
4
+ import { OasOperation } from '../../../oas/operation/Operation.js';
5
+ import type { OasPathItem } from '../../../oas/pathItem/PathItem.js';
6
+ import type { StackTrail } from '../../../context/StackTrail.js';
7
+ type OperationInfo = {
8
+ method: Method;
9
+ path: string;
10
+ pathItem: OasPathItem | undefined;
11
+ };
12
+ export type ToOperationV3Args = {
13
+ operation: OpenAPIV3.OperationObject;
14
+ operationInfo: OperationInfo;
15
+ stackTrail: StackTrail;
16
+ context: ParseContextType;
17
+ };
18
+ export declare const toOperationV3: ({ operation, operationInfo, stackTrail, context }: ToOperationV3Args) => OasOperation;
19
+ export type ToOperationsV3Args = {
20
+ paths: OpenAPIV3.PathsObject | undefined;
21
+ stackTrail: StackTrail;
22
+ context: ParseContextType;
23
+ };
24
+ export declare const toOperationsV3: ({ paths, stackTrail, context }: ToOperationsV3Args) => OasOperation[];
25
+ export {};
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toOperationsV3 = exports.toOperationV3 = void 0;
4
+ const toRequestBodiesV3_js_1 = require("../requestBody/toRequestBodiesV3.js");
5
+ const toResponseV3_js_1 = require("../response/toResponseV3.js");
6
+ const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
7
+ const Operation_js_1 = require("../../../oas/operation/Operation.js");
8
+ const toPathItemV3_js_1 = require("../pathItem/toPathItemV3.js");
9
+ const methods_js_1 = require("../methods.js");
10
+ const dropAdditionalOperationsV3_js_1 = require("../pathItem/dropAdditionalOperationsV3.js");
11
+ const warnQuerystringConflictsV3_js_1 = require("../parameter/warnQuerystringConflictsV3.js");
12
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
13
+ const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
14
+ const toExternalDocs_js_1 = require("../externalDocs/toExternalDocs.js");
15
+ const toServerV3_js_1 = require("../server/toServerV3.js");
16
+ const toOperationV3 = ({ operation, operationInfo, stackTrail, context }) => {
17
+ const { method, path, pathItem } = operationInfo;
18
+ const { operationId, tags, summary, description, parameters, requestBody, responses, deprecated, security, externalDocs, servers,
19
+ // Callbacks are a deliberate non-goal (no out-of-band callback codegen).
20
+ // Pull it out so it is dropped silently instead of warned as an
21
+ // unexpected property on every operation that declares one.
22
+ callbacks: _callbacks, ...skipped } = operation;
23
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
24
+ skipped,
25
+ parent: operation,
26
+ context,
27
+ stackTrail,
28
+ parentType: 'operation'
29
+ });
30
+ const parsedParameters = stackTrail.trace('parameters', st => (0, toParameterV3_js_1.toParameterListV3)({ parameters, stackTrail: st, context }));
31
+ (0, warnQuerystringConflictsV3_js_1.warnQuerystringConflictsV3)({ parameters: parsedParameters, pathItem, stackTrail, context });
32
+ const parsedRequestBody = stackTrail.trace('requestBody', st => (0, toRequestBodiesV3_js_1.toRequestBodyV3)({ requestBody, stackTrail: st, context }));
33
+ const parsedResponses = stackTrail.trace('responses', st => (0, toResponseV3_js_1.toResponsesV3)({ responses, stackTrail: st, context }));
34
+ const parsedSecurity = stackTrail.trace('security', st => (0, toSecurityRequirement_js_1.toSecurityRequirementsV3)({ security, stackTrail: st, context }));
35
+ const parsedExternalDocs = stackTrail.trace('externalDocs', st => (0, toExternalDocs_js_1.toExternalDocs)({ externalDocs, stackTrail: st, context }));
36
+ const parsedServers = stackTrail.trace('servers', st => (0, toServerV3_js_1.toOptionalServersV3)({ servers, stackTrail: st, context }));
37
+ return context.withStackTrail(stackTrail, () => new Operation_js_1.OasOperation({
38
+ pathItem,
39
+ path,
40
+ method,
41
+ operationId,
42
+ summary,
43
+ tags,
44
+ description,
45
+ parameters: parsedParameters,
46
+ requestBody: parsedRequestBody,
47
+ responses: parsedResponses,
48
+ deprecated,
49
+ security: parsedSecurity,
50
+ externalDocs: parsedExternalDocs,
51
+ servers: parsedServers,
52
+ extensionFields
53
+ }, context));
54
+ };
55
+ exports.toOperationV3 = toOperationV3;
56
+ const toOperationsV3 = ({ paths, stackTrail, context }) => {
57
+ if (!paths) {
58
+ return [];
59
+ }
60
+ return Object.entries(paths).flatMap(([path, pathItem]) => {
61
+ return stackTrail.trace(path, pathStack => {
62
+ if (!pathItem) {
63
+ return [];
64
+ }
65
+ const fixedFields = (0, dropAdditionalOperationsV3_js_1.dropAdditionalOperationsV3)({ pathItem, stackTrail: pathStack, context });
66
+ const cleaned = Object.entries(fixedFields).reduce(({ rest, methodObject }, [key, operation]) => {
67
+ const method = (0, methods_js_1.toPathItemMethod)(key);
68
+ if (method) {
69
+ const { [method]: _deleted, ...remaining } = rest;
70
+ return {
71
+ rest: remaining,
72
+ methodObject: {
73
+ ...methodObject,
74
+ [method]: operation
75
+ }
76
+ };
77
+ }
78
+ return { rest, methodObject };
79
+ }, {
80
+ rest: fixedFields,
81
+ methodObject: {}
82
+ });
83
+ const pathItemResult = (0, toPathItemV3_js_1.toPathItemResultV3)({
84
+ pathItem: cleaned.rest,
85
+ stackTrail: pathStack,
86
+ context
87
+ });
88
+ if (!pathItemResult.valid) {
89
+ return [];
90
+ }
91
+ const pathItemObject = pathItemResult.pathItem;
92
+ return Object.entries(cleaned.methodObject)
93
+ .map(([method, operation]) => {
94
+ // Use `pathStack` (the trail with `path` already pushed),
95
+ // not the outer `stackTrail` — otherwise downstream traces
96
+ // record paths:<method>:... and lose the actual path
97
+ // segment, which breaks `OasDocument.removeItem` and the
98
+ // dependency-ref invalidation it backs.
99
+ return pathStack.trace(method, st => {
100
+ if (!operation) {
101
+ return;
102
+ }
103
+ try {
104
+ return (0, exports.toOperationV3)({
105
+ operation,
106
+ operationInfo: {
107
+ method: method,
108
+ path,
109
+ pathItem: pathItemObject
110
+ },
111
+ stackTrail: st,
112
+ context
113
+ });
114
+ }
115
+ catch (error) {
116
+ const normalized = error instanceof Error ? error : new Error(String(error));
117
+ context.logIssue({
118
+ key: method,
119
+ parent: operation,
120
+ level: 'error',
121
+ message: normalized.message,
122
+ cause: normalized,
123
+ stackTrail: st,
124
+ type: 'INVALID_OPERATION'
125
+ });
126
+ return undefined;
127
+ }
128
+ });
129
+ })
130
+ .filter((item) => Boolean(item));
131
+ });
132
+ });
133
+ };
134
+ exports.toOperationsV3 = toOperationsV3;
@@ -0,0 +1,39 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import { type OasParameterLocation } from '../../../oas/parameter/parameter-types.js';
3
+ import type { OpenAPIV3 } from 'openapi-types';
4
+ import { OasParameter } from '../../../oas/parameter/Parameter.js';
5
+ import type { OasRef } from '../../../oas/ref/Ref.js';
6
+ import type { StackTrail } from '../../../context/StackTrail.js';
7
+ export type ToParameterListV3Args = {
8
+ parameters: (OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject)[] | undefined;
9
+ stackTrail: StackTrail;
10
+ context: ParseContextType;
11
+ };
12
+ export declare const toParameterListV3: ({ parameters, stackTrail, context }: ToParameterListV3Args) => (OasParameter | OasRef<"parameter">)[] | undefined;
13
+ export type ToParametersV3Args = {
14
+ parameters: Record<string, OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject>;
15
+ stackTrail: StackTrail;
16
+ context: ParseContextType;
17
+ };
18
+ export declare const toParametersV3: ({ parameters, stackTrail, context }: ToParametersV3Args) => Record<string, OasParameter | OasRef<"parameter">>;
19
+ export type ToOptionalParametersV3Args = {
20
+ parameters: Record<string, OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject> | undefined;
21
+ stackTrail: StackTrail;
22
+ context: ParseContextType;
23
+ };
24
+ export declare const toOptionalParametersV3: ({ parameters, stackTrail, context }: ToOptionalParametersV3Args) => Record<string, OasParameter | OasRef<"parameter">> | undefined;
25
+ export type ToParameterV3Args = {
26
+ parameter: OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject;
27
+ stackTrail: StackTrail;
28
+ context: ParseContextType;
29
+ };
30
+ export type ToStyleArgs = {
31
+ style: string | undefined;
32
+ location: OasParameterLocation;
33
+ stackTrail: StackTrail;
34
+ };
35
+ export type ToExplodeArgs = {
36
+ explode: boolean | undefined;
37
+ style: string | undefined;
38
+ stackTrail: StackTrail;
39
+ };
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.toOptionalParametersV3 = exports.toParametersV3 = exports.toParameterListV3 = void 0;
37
+ const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
38
+ const refFns_js_1 = require("../../../helpers/refFns.js");
39
+ const parameter_types_js_1 = require("../../../oas/parameter/parameter-types.js");
40
+ const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
41
+ const toRefV31_js_1 = require("../ref/toRefV31.js");
42
+ const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
43
+ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
44
+ const Parameter_js_1 = require("../../../oas/parameter/Parameter.js");
45
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
46
+ const v = __importStar(require("valibot"));
47
+ const toParameterListV3 = ({ parameters, stackTrail, context }) => {
48
+ if (!parameters) {
49
+ return undefined;
50
+ }
51
+ return parameters.flatMap((parameter, index) => {
52
+ const querystringIssue = toQuerystringIssue(parameter);
53
+ if (querystringIssue) {
54
+ context.logIssue({
55
+ key: `${index}`,
56
+ parent: parameter,
57
+ level: 'error',
58
+ message: querystringIssue,
59
+ stackTrail,
60
+ type: 'INVALID_PARAMETER'
61
+ });
62
+ return [];
63
+ }
64
+ return [
65
+ stackTrail.trace(`${index}`, st => toParameterV3({ parameter, stackTrail: st, context }))
66
+ ];
67
+ });
68
+ };
69
+ exports.toParameterListV3 = toParameterListV3;
70
+ /**
71
+ * A `querystring` parameter describes the whole query string, so it must
72
+ * carry `content` with exactly one media type, and no `schema`. Returns
73
+ * the problem, or `undefined` when the parameter is valid or is not a
74
+ * `querystring` parameter.
75
+ */
76
+ const toQuerystringIssue = (parameter) => {
77
+ if ((0, refFns_js_1.isRef)(parameter) || parameter.in !== 'querystring') {
78
+ return undefined;
79
+ }
80
+ if (parameter.schema || Object.keys(parameter.content ?? {}).length !== 1) {
81
+ return `Parameter '${parameter.name}' in querystring must define content with exactly one media type, and no schema`;
82
+ }
83
+ return undefined;
84
+ };
85
+ const toParametersV3 = ({ parameters, stackTrail, context }) => {
86
+ const output = {};
87
+ const entries = Object.entries(parameters);
88
+ for (const [key, parameter] of entries) {
89
+ const parsed = (0, tryParseAt_js_1.tryParseAt)({
90
+ stackTrail,
91
+ key,
92
+ context,
93
+ type: 'INVALID_PARAMETER',
94
+ parent: parameter,
95
+ fn: st => toParameterV3({ parameter, stackTrail: st, context })
96
+ });
97
+ if (parsed !== undefined) {
98
+ output[key] = parsed;
99
+ }
100
+ }
101
+ return output;
102
+ };
103
+ exports.toParametersV3 = toParametersV3;
104
+ const toOptionalParametersV3 = ({ parameters, stackTrail, context }) => {
105
+ if (!parameters) {
106
+ return undefined;
107
+ }
108
+ return (0, exports.toParametersV3)({ parameters, stackTrail, context });
109
+ };
110
+ exports.toOptionalParametersV3 = toOptionalParametersV3;
111
+ const toParameterV3 = ({ parameter, stackTrail, context }) => {
112
+ if ((0, refFns_js_1.isRef)(parameter)) {
113
+ return (0, toRefV31_js_1.toRefV31)({ ref: parameter, refType: 'parameter', stackTrail, context });
114
+ }
115
+ const querystringIssue = toQuerystringIssue(parameter);
116
+ if (querystringIssue) {
117
+ throw new Error(querystringIssue);
118
+ }
119
+ const { name, in: location, description, required, deprecated, allowEmptyValue, allowReserved, schema, example, examples, content, style, explode, ...skipped } = parameter;
120
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
121
+ skipped,
122
+ parent: parameter,
123
+ context,
124
+ stackTrail,
125
+ parentType: 'parameter'
126
+ });
127
+ const parsedLocation = v.parse(parameter_types_js_1.oasParameterLocation, location);
128
+ if (parsedLocation === 'path' && !required) {
129
+ console.warn(`Path parameters must be required`);
130
+ }
131
+ // Set missing 'required' to true for path parameters and false for others
132
+ const defaultRequired = typeof required === 'undefined' ? (parsedLocation === 'path' ? true : false) : required;
133
+ const fields = {
134
+ name,
135
+ location: parsedLocation,
136
+ description,
137
+ required: defaultRequired,
138
+ deprecated,
139
+ style: stackTrail.trace('style', st => toStyle({ style, location: parsedLocation, stackTrail: st })),
140
+ explode: stackTrail.trace('explode', st => toExplode({ explode, style, stackTrail: st })),
141
+ allowEmptyValue,
142
+ allowReserved,
143
+ schema: stackTrail.trace('schema', st => (0, toSchemasV3_js_1.toOptionalSchemaV3)({ schema, stackTrail: st, context })),
144
+ examples: stackTrail.trace('examples', st => (0, toExamplesV3_js_1.toExamplesV3)({
145
+ examples,
146
+ example,
147
+ exampleKey: `${name}-${parsedLocation}`,
148
+ stackTrail: st,
149
+ context
150
+ })),
151
+ content: stackTrail.trace('content', st => (0, toMediaTypeItemV3_js_1.toOptionalMediaTypeItemsV3)({ content, stackTrail: st, context })),
152
+ extensionFields
153
+ };
154
+ return context.withStackTrail(stackTrail, () => new Parameter_js_1.OasParameter(fields, context));
155
+ };
156
+ const toStyle = ({ style, location, stackTrail }) => {
157
+ const parsed = v.parse(v.optional(parameter_types_js_1.oasParameterStyle), style);
158
+ if (parsed === 'cookie' && location !== 'cookie') {
159
+ throw new Error(`Style 'cookie' is only allowed for cookie parameters, not ${location}`);
160
+ }
161
+ if (parsed !== undefined) {
162
+ return parsed;
163
+ }
164
+ switch (location) {
165
+ case 'path':
166
+ case 'header':
167
+ return 'simple';
168
+ case 'query':
169
+ case 'cookie':
170
+ return 'form';
171
+ case 'querystring':
172
+ // A querystring parameter is serialized by its `content` media type.
173
+ return undefined;
174
+ default: {
175
+ const _exhaustive = location;
176
+ throw new Error(`Unhandled location: ${_exhaustive}`);
177
+ }
178
+ }
179
+ };
180
+ const toExplode = ({ explode, style, stackTrail }) => {
181
+ if (explode !== undefined) {
182
+ return explode;
183
+ }
184
+ switch (style) {
185
+ case 'form':
186
+ case 'cookie':
187
+ return true;
188
+ default:
189
+ return false;
190
+ }
191
+ };
@@ -0,0 +1,22 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import type { StackTrail } from '../../../context/StackTrail.js';
3
+ import type { OasParameter } from '../../../oas/parameter/Parameter.js';
4
+ import type { OasPathItem } from '../../../oas/pathItem/PathItem.js';
5
+ import type { OasRef } from '../../../oas/ref/Ref.js';
6
+ export type WarnQuerystringConflictsV3Args = {
7
+ parameters: (OasParameter | OasRef<'parameter'>)[] | undefined;
8
+ pathItem: OasPathItem | undefined;
9
+ stackTrail: StackTrail;
10
+ context: ParseContextType;
11
+ };
12
+ /**
13
+ * Logs an `INVALID_PARAMETER` warning on the operation's `parameters` when
14
+ * the operation and its path item together declare more than one
15
+ * `querystring` parameter, or a `querystring` parameter alongside an
16
+ * `in: query` parameter. An operation parameter replaces a path item
17
+ * parameter with the same name and location. The parameters are kept.
18
+ *
19
+ * Only inline parameters are checked: a `$ref` parameter cannot be
20
+ * resolved while the document is still being parsed.
21
+ */
22
+ export declare const warnQuerystringConflictsV3: ({ parameters, pathItem, stackTrail, context }: WarnQuerystringConflictsV3Args) => void;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.warnQuerystringConflictsV3 = void 0;
4
+ /**
5
+ * Logs an `INVALID_PARAMETER` warning on the operation's `parameters` when
6
+ * the operation and its path item together declare more than one
7
+ * `querystring` parameter, or a `querystring` parameter alongside an
8
+ * `in: query` parameter. An operation parameter replaces a path item
9
+ * parameter with the same name and location. The parameters are kept.
10
+ *
11
+ * Only inline parameters are checked: a `$ref` parameter cannot be
12
+ * resolved while the document is still being parsed.
13
+ */
14
+ const warnQuerystringConflictsV3 = ({ parameters, pathItem, stackTrail, context }) => {
15
+ const inlineParameters = [...(pathItem?.parameters ?? []), ...(parameters ?? [])].filter((parameter) => !parameter.isRef());
16
+ const merged = [
17
+ ...new Map(inlineParameters.map(parameter => [`${parameter.location}:${parameter.name}`, parameter])).values()
18
+ ];
19
+ const querystringCount = merged.filter(({ location }) => location === 'querystring').length;
20
+ if (querystringCount === 0) {
21
+ return;
22
+ }
23
+ const queryNames = merged.filter(({ location }) => location === 'query').map(({ name }) => name);
24
+ const messages = [
25
+ querystringCount > 1
26
+ ? `Operation has ${querystringCount} querystring parameters. At most one is allowed.`
27
+ : undefined,
28
+ queryNames.length
29
+ ? `A querystring parameter must not appear with query parameters (${queryNames.join(', ')}).`
30
+ : undefined
31
+ ].filter((message) => Boolean(message));
32
+ messages.forEach(message => {
33
+ context.logIssue({
34
+ key: 'parameters',
35
+ parent: parameters,
36
+ level: 'warning',
37
+ message,
38
+ stackTrail,
39
+ type: 'INVALID_PARAMETER'
40
+ });
41
+ });
42
+ };
43
+ exports.warnQuerystringConflictsV3 = warnQuerystringConflictsV3;
@@ -0,0 +1,17 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import type { StackTrail } from '../../../context/StackTrail.js';
4
+ export type DropAdditionalOperationsV3Args = {
5
+ pathItem: OpenAPIV3.PathItemObject;
6
+ stackTrail: StackTrail;
7
+ context: ParseContextType;
8
+ };
9
+ /**
10
+ * Removes the 3.2 `additionalOperations` map from a path item and logs one
11
+ * `UNSUPPORTED_OPERATION_METHOD` warning per entry, naming the method. The
12
+ * operations are dropped: no generator renders an arbitrary method yet.
13
+ *
14
+ * A value that is not a map (a primitive or an array) stays on the path
15
+ * item, so the path item parser reports it as a skipped field.
16
+ */
17
+ export declare const dropAdditionalOperationsV3: ({ pathItem, stackTrail, context }: DropAdditionalOperationsV3Args) => OpenAPIV3.PathItemObject;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dropAdditionalOperationsV3 = void 0;
4
+ /**
5
+ * Removes the 3.2 `additionalOperations` map from a path item and logs one
6
+ * `UNSUPPORTED_OPERATION_METHOD` warning per entry, naming the method. The
7
+ * operations are dropped: no generator renders an arbitrary method yet.
8
+ *
9
+ * A value that is not a map (a primitive or an array) stays on the path
10
+ * item, so the path item parser reports it as a skipped field.
11
+ */
12
+ const dropAdditionalOperationsV3 = ({ pathItem, stackTrail, context }) => {
13
+ // `Object.hasOwn` is false for a primitive path item value, which the
14
+ // path item parser then reports as a skipped field.
15
+ if (!Object.hasOwn(pathItem, 'additionalOperations') || !('additionalOperations' in pathItem)) {
16
+ return pathItem;
17
+ }
18
+ const { additionalOperations, ...rest } = pathItem;
19
+ if (typeof additionalOperations !== 'object' ||
20
+ additionalOperations === null ||
21
+ Array.isArray(additionalOperations)) {
22
+ return pathItem;
23
+ }
24
+ stackTrail.trace('additionalOperations', st => {
25
+ Object.entries(additionalOperations).forEach(([method, operation]) => {
26
+ context.logIssue({
27
+ key: method,
28
+ parent: operation,
29
+ level: 'warning',
30
+ message: `Operation method '${method}' in additionalOperations is not supported. The operation is dropped.`,
31
+ stackTrail: st,
32
+ type: 'UNSUPPORTED_OPERATION_METHOD'
33
+ });
34
+ });
35
+ });
36
+ return rest;
37
+ };
38
+ exports.dropAdditionalOperationsV3 = dropAdditionalOperationsV3;
@@ -0,0 +1,23 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasPathItem } from '../../../oas/pathItem/PathItem.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ export type ToPathItemV3Args = {
6
+ pathItem: OpenAPIV3.PathItemObject;
7
+ stackTrail: StackTrail;
8
+ context: ParseContextType;
9
+ };
10
+ export declare const toPathItemV3: ({ pathItem, stackTrail, context }: ToPathItemV3Args) => OasPathItem;
11
+ export type PathItemResult = {
12
+ valid: true;
13
+ pathItem: OasPathItem | undefined;
14
+ } | {
15
+ valid: false;
16
+ };
17
+ /**
18
+ * Parses a path item's shared fields without letting a throw escape. A
19
+ * path-level parameter that fails validation (for example `in: body`) logs
20
+ * one `INVALID_OPERATION` at the path and returns `{ valid: false }`, so
21
+ * the caller skips that path and keeps the rest.
22
+ */
23
+ export declare const toPathItemResultV3: ({ pathItem, stackTrail, context }: ToPathItemV3Args) => PathItemResult;