@skmtc/core 0.28.7 → 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 (427) hide show
  1. package/esm/_dnt.polyfills.d.ts +11 -0
  2. package/esm/_dnt.polyfills.js +14 -0
  3. package/esm/context/GenerateContext.js +16 -16
  4. package/esm/context/ParseContext.js +9 -1
  5. package/esm/context/RenderContext.d.ts +7 -7
  6. package/esm/context/RenderContext.js +17 -12
  7. package/esm/context/generateTypes.d.ts +2 -2
  8. package/esm/context/generateTypes.js +3 -1
  9. package/esm/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.d.ts +16 -0
  10. package/esm/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.js +23 -0
  11. package/esm/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.d.ts +16 -0
  12. package/esm/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.js +38 -0
  13. package/esm/dsl/GeneratorKeys.d.ts +2 -2
  14. package/esm/dsl/GeneratorKeys.js +6 -3
  15. package/esm/dsl/model/ModelDriver.js +4 -3
  16. package/esm/dsl/operation/gql/GqlOperationDriver.js +4 -3
  17. package/esm/dsl/operation/oas/OasOperationDriver.js +4 -3
  18. package/esm/dsl/webhook/WebhookDriver.js +4 -3
  19. package/esm/helpers/applyGeneratedSuffix.js +1 -1
  20. package/esm/helpers/isImported.d.ts +10 -74
  21. package/esm/helpers/isImported.js +12 -76
  22. package/esm/helpers/naming.d.ts +2 -1
  23. package/esm/helpers/naming.js +4 -2
  24. package/esm/helpers/normalizeWorkspacePath.d.ts +64 -0
  25. package/esm/helpers/normalizeWorkspacePath.js +98 -0
  26. package/esm/helpers/toResolvedArtifactPath.d.ts +8 -5
  27. package/esm/helpers/toResolvedArtifactPath.js +11 -7
  28. package/esm/helpers/toWorkspacePath.d.ts +3 -3
  29. package/esm/helpers/toWorkspacePath.js +5 -5
  30. package/esm/mod.d.ts +1 -0
  31. package/esm/mod.js +1 -0
  32. package/esm/oas/discriminator/Discriminator.d.ts +3 -0
  33. package/esm/oas/discriminator/Discriminator.js +7 -0
  34. package/esm/oas/document/Document.d.ts +7 -0
  35. package/esm/oas/document/Document.js +8 -0
  36. package/esm/oas/example/Example.d.ts +10 -1
  37. package/esm/oas/example/Example.js +16 -0
  38. package/esm/oas/mediaType/MediaType.d.ts +12 -0
  39. package/esm/oas/mediaType/MediaType.js +24 -0
  40. package/esm/oas/parameter/Parameter.d.ts +2 -1
  41. package/esm/oas/parameter/Parameter.js +5 -2
  42. package/esm/oas/parameter/parameter-types.d.ts +10 -2
  43. package/esm/oas/parameter/parameter-types.js +3 -1
  44. package/esm/oas/response/Response.d.ts +6 -1
  45. package/esm/oas/response/Response.js +8 -0
  46. package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  47. package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
  48. package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  49. package/esm/oas/server/Server.d.ts +8 -2
  50. package/esm/oas/server/Server.js +10 -1
  51. package/esm/oas/tag/Tag.d.ts +9 -0
  52. package/esm/oas/tag/Tag.js +9 -0
  53. package/esm/parse/toOasDialect.d.ts +8 -7
  54. package/esm/parse/toOasDialect.js +4 -2
  55. package/esm/parse/v3-0/methods.d.ts +11 -0
  56. package/esm/parse/v3-0/methods.js +16 -0
  57. package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
  58. package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  59. package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
  60. package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
  61. package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  62. package/esm/parse/v3-1/methods.d.ts +11 -0
  63. package/esm/parse/v3-1/methods.js +16 -0
  64. package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
  65. package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  66. package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
  67. package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
  68. package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  69. package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  70. package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
  71. package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  72. package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
  73. package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  74. package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
  75. package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  76. package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
  77. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  78. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
  79. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  80. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
  81. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  82. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
  83. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  84. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
  85. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  86. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
  87. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  88. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
  89. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  90. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
  91. package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  92. package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
  93. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  94. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
  95. package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  96. package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
  97. package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  98. package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
  99. package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  100. package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
  101. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  102. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
  103. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  104. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
  105. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  106. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
  107. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  108. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
  109. package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  110. package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
  111. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  112. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
  113. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  114. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
  115. package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  116. package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
  117. package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  118. package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
  119. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  120. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
  121. package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  122. package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
  123. package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  124. package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
  125. package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  126. package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
  127. package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  128. package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
  129. package/esm/parse/v3-2/array/toArray.d.ts +80 -0
  130. package/esm/parse/v3-2/array/toArray.js +165 -0
  131. package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  132. package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
  133. package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  134. package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
  135. package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
  136. package/esm/parse/v3-2/contact/toContactV3.js +18 -0
  137. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  138. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
  139. package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  140. package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
  141. package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  142. package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
  143. package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  144. package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
  145. package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  146. package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
  147. package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
  148. package/esm/parse/v3-2/info/toInfoV3.js +23 -0
  149. package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
  150. package/esm/parse/v3-2/integer/toInteger.js +115 -0
  151. package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  152. package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
  153. package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
  154. package/esm/parse/v3-2/link/toLinksV3.js +40 -0
  155. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  156. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
  157. package/esm/parse/v3-2/methods.d.ts +17 -0
  158. package/esm/parse/v3-2/methods.js +21 -0
  159. package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
  160. package/esm/parse/v3-2/number/toNumber.js +115 -0
  161. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  162. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
  163. package/esm/parse/v3-2/object/toObject.d.ts +10 -0
  164. package/esm/parse/v3-2/object/toObject.js +90 -0
  165. package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  166. package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
  167. package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  168. package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
  169. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  170. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
  171. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  172. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
  173. package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  174. package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
  175. package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
  176. package/esm/parse/v3-2/ref/toRefV31.js +10 -0
  177. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  178. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +44 -0
  179. package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
  180. package/esm/parse/v3-2/response/toResponseV3.js +56 -0
  181. package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  182. package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
  183. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  184. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
  185. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  186. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
  187. package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
  188. package/esm/parse/v3-2/server/toServerV3.js +31 -0
  189. package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  190. package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
  191. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  192. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
  193. package/esm/parse/v3-2/string/toString.d.ts +146 -0
  194. package/esm/parse/v3-2/string/toString.js +211 -0
  195. package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  196. package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
  197. package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
  198. package/esm/parse/v3-2/union/toUnion.js +68 -0
  199. package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  200. package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
  201. package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  202. package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
  203. package/esm/types/Method.d.ts +7 -4
  204. package/esm/types/Method.js +17 -4
  205. package/esm/types/Preview.d.ts +2 -1
  206. package/esm/types/Settings.js +6 -8
  207. package/esm/types/SkmtcDocument.d.ts +6 -6
  208. package/package.json +1 -1
  209. package/script/_dnt.polyfills.d.ts +11 -0
  210. package/script/_dnt.polyfills.js +14 -0
  211. package/script/context/GenerateContext.js +16 -16
  212. package/script/context/ParseContext.js +9 -1
  213. package/script/context/RenderContext.d.ts +7 -7
  214. package/script/context/RenderContext.js +17 -12
  215. package/script/context/generateTypes.d.ts +2 -2
  216. package/script/context/generateTypes.js +3 -1
  217. package/script/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.d.ts +16 -0
  218. package/script/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.js +26 -0
  219. package/script/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.d.ts +16 -0
  220. package/script/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.js +41 -0
  221. package/script/dsl/GeneratorKeys.d.ts +2 -2
  222. package/script/dsl/GeneratorKeys.js +6 -3
  223. package/script/dsl/model/ModelDriver.js +4 -3
  224. package/script/dsl/operation/gql/GqlOperationDriver.js +4 -3
  225. package/script/dsl/operation/oas/OasOperationDriver.js +4 -3
  226. package/script/dsl/webhook/WebhookDriver.js +4 -3
  227. package/script/helpers/applyGeneratedSuffix.js +1 -1
  228. package/script/helpers/isImported.d.ts +10 -74
  229. package/script/helpers/isImported.js +12 -76
  230. package/script/helpers/naming.d.ts +2 -1
  231. package/script/helpers/naming.js +4 -2
  232. package/script/helpers/normalizeWorkspacePath.d.ts +64 -0
  233. package/script/helpers/normalizeWorkspacePath.js +107 -0
  234. package/script/helpers/toResolvedArtifactPath.d.ts +8 -5
  235. package/script/helpers/toResolvedArtifactPath.js +11 -7
  236. package/script/helpers/toWorkspacePath.d.ts +3 -3
  237. package/script/helpers/toWorkspacePath.js +5 -5
  238. package/script/mod.d.ts +1 -0
  239. package/script/mod.js +1 -0
  240. package/script/oas/discriminator/Discriminator.d.ts +3 -0
  241. package/script/oas/discriminator/Discriminator.js +7 -0
  242. package/script/oas/document/Document.d.ts +7 -0
  243. package/script/oas/document/Document.js +8 -0
  244. package/script/oas/example/Example.d.ts +10 -1
  245. package/script/oas/example/Example.js +16 -0
  246. package/script/oas/mediaType/MediaType.d.ts +12 -0
  247. package/script/oas/mediaType/MediaType.js +24 -0
  248. package/script/oas/parameter/Parameter.d.ts +2 -1
  249. package/script/oas/parameter/Parameter.js +5 -2
  250. package/script/oas/parameter/parameter-types.d.ts +10 -2
  251. package/script/oas/parameter/parameter-types.js +3 -1
  252. package/script/oas/response/Response.d.ts +6 -1
  253. package/script/oas/response/Response.js +8 -0
  254. package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  255. package/script/oas/securitySchemes/SecurityScheme.js +46 -1
  256. package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  257. package/script/oas/server/Server.d.ts +8 -2
  258. package/script/oas/server/Server.js +10 -1
  259. package/script/oas/tag/Tag.d.ts +9 -0
  260. package/script/oas/tag/Tag.js +9 -0
  261. package/script/parse/toOasDialect.d.ts +8 -7
  262. package/script/parse/toOasDialect.js +4 -2
  263. package/script/parse/v3-0/methods.d.ts +11 -0
  264. package/script/parse/v3-0/methods.js +20 -0
  265. package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
  266. package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  267. package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
  268. package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
  269. package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  270. package/script/parse/v3-1/methods.d.ts +11 -0
  271. package/script/parse/v3-1/methods.js +20 -0
  272. package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
  273. package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  274. package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
  275. package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
  276. package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  277. package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  278. package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
  279. package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  280. package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
  281. package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  282. package/script/parse/v3-2/_helpers/parseExample.js +41 -0
  283. package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  284. package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
  285. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  286. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
  287. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  288. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
  289. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  290. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
  291. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  292. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
  293. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  294. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
  295. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  296. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
  297. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  298. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
  299. package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  300. package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
  301. package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  302. package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
  303. package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  304. package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
  305. package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  306. package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
  307. package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  308. package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
  309. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  310. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
  311. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  312. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
  313. package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  314. package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
  315. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  316. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
  317. package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  318. package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
  319. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  320. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
  321. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  322. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
  323. package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  324. package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
  325. package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  326. package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
  327. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  328. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
  329. package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  330. package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
  331. package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  332. package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
  333. package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  334. package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
  335. package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  336. package/script/parse/v3-2/_merge-all-of/types.js +38 -0
  337. package/script/parse/v3-2/array/toArray.d.ts +80 -0
  338. package/script/parse/v3-2/array/toArray.js +203 -0
  339. package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  340. package/script/parse/v3-2/boolean/toBoolean.js +177 -0
  341. package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  342. package/script/parse/v3-2/components/toComponentsV3.js +47 -0
  343. package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
  344. package/script/parse/v3-2/contact/toContactV3.js +22 -0
  345. package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  346. package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
  347. package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  348. package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
  349. package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  350. package/script/parse/v3-2/example/toExamplesV3.js +149 -0
  351. package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  352. package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
  353. package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  354. package/script/parse/v3-2/header/toHeadersV3.js +51 -0
  355. package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
  356. package/script/parse/v3-2/info/toInfoV3.js +27 -0
  357. package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
  358. package/script/parse/v3-2/integer/toInteger.js +153 -0
  359. package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  360. package/script/parse/v3-2/license/toLicenseV3.js +21 -0
  361. package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
  362. package/script/parse/v3-2/link/toLinksV3.js +44 -0
  363. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  364. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
  365. package/script/parse/v3-2/methods.d.ts +17 -0
  366. package/script/parse/v3-2/methods.js +25 -0
  367. package/script/parse/v3-2/number/toNumber.d.ts +10 -0
  368. package/script/parse/v3-2/number/toNumber.js +152 -0
  369. package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  370. package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
  371. package/script/parse/v3-2/object/toObject.d.ts +10 -0
  372. package/script/parse/v3-2/object/toObject.js +94 -0
  373. package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  374. package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
  375. package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  376. package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
  377. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  378. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
  379. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  380. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
  381. package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  382. package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
  383. package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
  384. package/script/parse/v3-2/ref/toRefV31.js +14 -0
  385. package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  386. package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +49 -0
  387. package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
  388. package/script/parse/v3-2/response/toResponseV3.js +62 -0
  389. package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  390. package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
  391. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  392. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
  393. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  394. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
  395. package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
  396. package/script/parse/v3-2/server/toServerV3.js +37 -0
  397. package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  398. package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
  399. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  400. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
  401. package/script/parse/v3-2/string/toString.d.ts +146 -0
  402. package/script/parse/v3-2/string/toString.js +249 -0
  403. package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  404. package/script/parse/v3-2/tag/toTagsV3.js +83 -0
  405. package/script/parse/v3-2/union/toUnion.d.ts +12 -0
  406. package/script/parse/v3-2/union/toUnion.js +72 -0
  407. package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  408. package/script/parse/v3-2/unknown/toUnknown.js +23 -0
  409. package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  410. package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
  411. package/script/types/Method.d.ts +7 -4
  412. package/script/types/Method.js +17 -4
  413. package/script/types/Preview.d.ts +2 -1
  414. package/script/types/Settings.js +7 -9
  415. package/script/types/SkmtcDocument.d.ts +6 -6
  416. package/esm/deps/jsr.io/@std/path/1.1.6/extname.d.ts +0 -24
  417. package/esm/deps/jsr.io/@std/path/1.1.6/extname.js +0 -31
  418. package/esm/deps/jsr.io/@std/path/1.1.6/normalize.d.ts +0 -25
  419. package/esm/deps/jsr.io/@std/path/1.1.6/normalize.js +0 -32
  420. package/esm/deps/jsr.io/@std/path/1.1.6/windows/extname.d.ts +0 -17
  421. package/esm/deps/jsr.io/@std/path/1.1.6/windows/extname.js +0 -83
  422. package/script/deps/jsr.io/@std/path/1.1.6/extname.d.ts +0 -24
  423. package/script/deps/jsr.io/@std/path/1.1.6/extname.js +0 -34
  424. package/script/deps/jsr.io/@std/path/1.1.6/normalize.d.ts +0 -25
  425. package/script/deps/jsr.io/@std/path/1.1.6/normalize.js +0 -35
  426. package/script/deps/jsr.io/@std/path/1.1.6/windows/extname.d.ts +0 -17
  427. package/script/deps/jsr.io/@std/path/1.1.6/windows/extname.js +0 -86
@@ -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;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPathItemResultV3 = exports.toPathItemV3 = void 0;
4
+ const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
5
+ const PathItem_js_1 = require("../../../oas/pathItem/PathItem.js");
6
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
7
+ const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
8
+ const toPathItemV3 = ({ pathItem, stackTrail, context }) => {
9
+ const { summary, description, parameters, ...skipped } = pathItem;
10
+ return new PathItem_js_1.OasPathItem({
11
+ summary,
12
+ description,
13
+ parameters: stackTrail.trace('parameters', st => (0, toParameterV3_js_1.toParameterListV3)({ parameters, stackTrail: st, context })),
14
+ extensionFields: (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
15
+ skipped,
16
+ parent: pathItem,
17
+ context,
18
+ stackTrail,
19
+ parentType: 'pathItem'
20
+ })
21
+ });
22
+ };
23
+ exports.toPathItemV3 = toPathItemV3;
24
+ /**
25
+ * Parses a path item's shared fields without letting a throw escape. A
26
+ * path-level parameter that fails validation (for example `in: body`) logs
27
+ * one `INVALID_OPERATION` at the path and returns `{ valid: false }`, so
28
+ * the caller skips that path and keeps the rest.
29
+ */
30
+ const toPathItemResultV3 = ({ pathItem, stackTrail, context }) => {
31
+ if ((0, isEmpty_js_1.isEmpty)(pathItem)) {
32
+ return { valid: true, pathItem: undefined };
33
+ }
34
+ try {
35
+ return { valid: true, pathItem: (0, exports.toPathItemV3)({ pathItem, stackTrail, context }) };
36
+ }
37
+ catch (error) {
38
+ const normalized = error instanceof Error ? error : new Error(String(error));
39
+ context.logIssueNoKey({
40
+ parent: pathItem,
41
+ level: 'error',
42
+ message: normalized.message,
43
+ cause: normalized,
44
+ stackTrail,
45
+ type: 'INVALID_OPERATION'
46
+ });
47
+ return { valid: false };
48
+ }
49
+ };
50
+ exports.toPathItemResultV3 = toPathItemResultV3;
@@ -0,0 +1,19 @@
1
+ import type { OpenAPIV3_1 } from 'openapi-types';
2
+ import type { OasRefData } from '../../../oas/ref/ref-types.js';
3
+ import type { ParseContextType } from '../../../context/parseTypes.js';
4
+ import { OasRef } from '../../../oas/ref/Ref.js';
5
+ import type { StackTrail } from '../../../context/StackTrail.js';
6
+ type ToRefV31Args<T extends OasRefData['refType']> = {
7
+ ref: OpenAPIV3_1.ReferenceObject;
8
+ refType: T;
9
+ stackTrail: StackTrail;
10
+ context: ParseContextType;
11
+ /**
12
+ * Use-site nullability to stamp on the OasRef node. Passed explicitly
13
+ * by the single-member `oneOf`/`anyOf` collapse for a nullable
14
+ * reference; omitted everywhere else (a plain `$ref` is non-nullable).
15
+ */
16
+ nullable?: boolean;
17
+ };
18
+ export declare const toRefV31: <T extends OasRefData["refType"]>({ ref, refType, stackTrail, context, nullable }: ToRefV31Args<T>) => OasRef<T>;
19
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toRefV31 = void 0;
4
+ const Ref_js_1 = require("../../../oas/ref/Ref.js");
5
+ const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
6
+ const toRefV31 = ({ ref, refType, stackTrail, context, nullable }) => {
7
+ const { $ref, ...skipped } = ref;
8
+ if (!(0, isEmpty_js_1.isEmpty)(skipped)) {
9
+ context.logSkippedFields({ skipped, parent: ref, parentType: 'ref', stackTrail });
10
+ }
11
+ context.registerRef(stackTrail.clone(), $ref);
12
+ return context.withStackTrail(stackTrail, () => new Ref_js_1.OasRef({ refType, $ref, nullable }, context));
13
+ };
14
+ exports.toRefV31 = toRefV31;
@@ -0,0 +1,18 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasRequestBody } from '../../../oas/requestBody/RequestBody.js';
4
+ import type { OasRef } from '../../../oas/ref/Ref.js';
5
+ import type { StackTrail } from '../../../context/StackTrail.js';
6
+ export type ToRequestBodyV3Args = {
7
+ requestBody: OpenAPIV3.ReferenceObject | OpenAPIV3.RequestBodyObject | undefined;
8
+ forceRef?: boolean;
9
+ stackTrail: StackTrail;
10
+ context: ParseContextType;
11
+ };
12
+ export declare const toRequestBodyV3: ({ requestBody, stackTrail, context }: ToRequestBodyV3Args) => OasRequestBody | OasRef<"requestBody"> | undefined;
13
+ export type ToRequestBodiesV3Args = {
14
+ requestBodies: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.RequestBodyObject> | undefined;
15
+ stackTrail: StackTrail;
16
+ context: ParseContextType;
17
+ };
18
+ export declare const toRequestBodiesV3: ({ requestBodies, stackTrail, context }: ToRequestBodiesV3Args) => Record<string, OasRequestBody | OasRef<"requestBody">> | undefined;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toRequestBodiesV3 = exports.toRequestBodyV3 = void 0;
4
+ const refFns_js_1 = require("../../../helpers/refFns.js");
5
+ const toRefV31_js_1 = require("../ref/toRefV31.js");
6
+ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
7
+ const RequestBody_js_1 = require("../../../oas/requestBody/RequestBody.js");
8
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
9
+ const toRequestBodyV3 = ({ requestBody, stackTrail, context }) => {
10
+ if (!requestBody) {
11
+ return undefined;
12
+ }
13
+ if ((0, refFns_js_1.isRef)(requestBody)) {
14
+ return (0, toRefV31_js_1.toRefV31)({ ref: requestBody, refType: 'requestBody', stackTrail, context });
15
+ }
16
+ const { description, content, required, ...skipped } = requestBody;
17
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
18
+ skipped,
19
+ parent: requestBody,
20
+ context,
21
+ stackTrail,
22
+ parentType: 'requestBody'
23
+ });
24
+ const fields = {
25
+ description,
26
+ content: stackTrail.trace('content', st => {
27
+ return (0, toMediaTypeItemV3_js_1.toMediaTypeItemsV3)({ content, stackTrail: st, context });
28
+ }),
29
+ required,
30
+ extensionFields
31
+ };
32
+ return context.withStackTrail(stackTrail, () => new RequestBody_js_1.OasRequestBody(fields, context));
33
+ };
34
+ exports.toRequestBodyV3 = toRequestBodyV3;
35
+ const toRequestBodiesV3 = ({ requestBodies, stackTrail, context }) => {
36
+ if (!requestBodies) {
37
+ return undefined;
38
+ }
39
+ const entries = Object.entries(requestBodies)
40
+ .map(([key, value]) => {
41
+ return [
42
+ key,
43
+ stackTrail.trace(key, st => (0, exports.toRequestBodyV3)({ requestBody: value, stackTrail: st, context }))
44
+ ];
45
+ })
46
+ .filter(([, value]) => Boolean(value));
47
+ return Object.fromEntries(entries);
48
+ };
49
+ exports.toRequestBodiesV3 = toRequestBodiesV3;
@@ -0,0 +1,29 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ import { OasResponse } from '../../../oas/response/Response.js';
4
+ import type { OasRef } from '../../../oas/ref/Ref.js';
5
+ import type { StackTrail } from '../../../context/StackTrail.js';
6
+ /** A 3.2 Response Object: the 3.0 shape plus `summary`. */
7
+ export type ResponseObjectV32 = OpenAPIV3.ResponseObject & {
8
+ summary?: string;
9
+ };
10
+ /** A 3.2 Responses Object: status code to a 3.2 Response Object or a reference. */
11
+ export type ResponsesObjectV32 = Record<string, OpenAPIV3.ReferenceObject | ResponseObjectV32>;
12
+ export type ToResponsesV3Args = {
13
+ responses: ResponsesObjectV32;
14
+ stackTrail: StackTrail;
15
+ context: ParseContextType;
16
+ };
17
+ export declare const toResponsesV3: ({ responses, stackTrail, context }: ToResponsesV3Args) => Record<string, OasResponse | OasRef<"response">>;
18
+ export type ToOptionalResponsesV3Args = {
19
+ responses: ResponsesObjectV32 | undefined;
20
+ stackTrail: StackTrail;
21
+ context: ParseContextType;
22
+ };
23
+ export declare const toOptionalResponsesV3: ({ responses, stackTrail, context }: ToOptionalResponsesV3Args) => Record<string, OasResponse | OasRef<"response">> | undefined;
24
+ export type ToResponseV3Args = {
25
+ response: OpenAPIV3.ReferenceObject | ResponseObjectV32;
26
+ stackTrail: StackTrail;
27
+ context: ParseContextType;
28
+ };
29
+ export declare const toResponseV3: ({ response, stackTrail, context }: ToResponseV3Args) => OasResponse | OasRef<"response">;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toResponseV3 = exports.toOptionalResponsesV3 = exports.toResponsesV3 = void 0;
4
+ const toRefV31_js_1 = require("../ref/toRefV31.js");
5
+ const toHeadersV3_js_1 = require("../header/toHeadersV3.js");
6
+ const toLinksV3_js_1 = require("../link/toLinksV3.js");
7
+ const refFns_js_1 = require("../../../helpers/refFns.js");
8
+ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
9
+ const Response_js_1 = require("../../../oas/response/Response.js");
10
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
11
+ const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
12
+ const toResponsesV3 = ({ responses, stackTrail, context }) => {
13
+ const output = {};
14
+ const entries = Object.entries(responses);
15
+ for (const [key, value] of entries) {
16
+ const parsed = (0, tryParseAt_js_1.tryParseAt)({
17
+ stackTrail,
18
+ key,
19
+ context,
20
+ type: 'INVALID_RESPONSE',
21
+ parent: value,
22
+ fn: st => (0, exports.toResponseV3)({ response: value, stackTrail: st, context })
23
+ });
24
+ if (parsed !== undefined) {
25
+ output[key] = parsed;
26
+ }
27
+ }
28
+ return output;
29
+ };
30
+ exports.toResponsesV3 = toResponsesV3;
31
+ const toOptionalResponsesV3 = ({ responses, stackTrail, context }) => {
32
+ if (!responses) {
33
+ return undefined;
34
+ }
35
+ return (0, exports.toResponsesV3)({ responses, stackTrail, context });
36
+ };
37
+ exports.toOptionalResponsesV3 = toOptionalResponsesV3;
38
+ const toResponseV3 = ({ response, stackTrail, context }) => {
39
+ if ((0, refFns_js_1.isRef)(response)) {
40
+ return (0, toRefV31_js_1.toRefV31)({ ref: response, refType: 'response', stackTrail, context });
41
+ }
42
+ const { summary, description, headers, links, content, ...skipped } = response;
43
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
44
+ skipped,
45
+ parent: response,
46
+ context,
47
+ stackTrail,
48
+ parentType: 'response'
49
+ });
50
+ const parsedHeaders = stackTrail.trace('headers', st => (0, toHeadersV3_js_1.toHeadersV3)({ headers, stackTrail: st, context }));
51
+ const parsedLinks = stackTrail.trace('links', st => (0, toLinksV3_js_1.toLinksV3)({ links, stackTrail: st, context }));
52
+ const parsedContent = stackTrail.trace('content', st => (0, toMediaTypeItemV3_js_1.toOptionalMediaTypeItemsV3)({ content, stackTrail: st, context }));
53
+ return context.withStackTrail(stackTrail, () => new Response_js_1.OasResponse({
54
+ summary,
55
+ description,
56
+ headers: parsedHeaders,
57
+ links: parsedLinks,
58
+ content: parsedContent,
59
+ extensionFields
60
+ }, context));
61
+ };
62
+ exports.toResponseV3 = toResponseV3;
@@ -0,0 +1,29 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ import type { OasSchema } from '../../../oas/schema/Schema.js';
4
+ import type { OasRef } from '../../../oas/ref/Ref.js';
5
+ import type { StackTrail } from '../../../context/StackTrail.js';
6
+ export type ToSchemasV3Args = {
7
+ schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
8
+ stackTrail: StackTrail;
9
+ context: ParseContextType;
10
+ };
11
+ export declare const toSchemasV3: ({ schemas, stackTrail, context }: ToSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">>;
12
+ export type ToOptionalSchemasV3Args = {
13
+ schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject> | undefined;
14
+ stackTrail: StackTrail;
15
+ context: ParseContextType;
16
+ };
17
+ export declare const toOptionalSchemasV3: ({ schemas, stackTrail, context }: ToOptionalSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">> | undefined;
18
+ export type ToSchemaV3Args = {
19
+ schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject;
20
+ stackTrail: StackTrail;
21
+ context: ParseContextType;
22
+ };
23
+ export declare const toSchemaV3: ({ schema, stackTrail, context }: ToSchemaV3Args) => OasSchema | OasRef<"schema">;
24
+ export type ToOptionalSchemaV3Args = {
25
+ schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject | undefined;
26
+ stackTrail: StackTrail;
27
+ context: ParseContextType;
28
+ };
29
+ export declare const toOptionalSchemaV3: ({ schema, stackTrail, context }: ToOptionalSchemaV3Args) => OasSchema | OasRef<"schema"> | undefined;