@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,381 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toOptionalMediaTypeItemsV3 = exports.toMediaTypeItemsV3 = exports.toMediaTypeItemV3 = void 0;
4
+ const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
5
+ const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
6
+ const MediaType_js_1 = require("../../../oas/mediaType/MediaType.js");
7
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
8
+ const refFns_js_1 = require("../../../helpers/refFns.js");
9
+ const JsonPointer_js_1 = require("../../../types/JsonPointer.js");
10
+ /**
11
+ * Transforms an OpenAPI v3 media type object into an internal OAS media type representation.
12
+ *
13
+ * This function processes OpenAPI v3 MediaType objects, extracting schema definitions,
14
+ * examples, encoding information, and specification extensions. It creates a structured
15
+ * internal representation that can be used by the SKMTC pipeline for code generation
16
+ * and validation.
17
+ *
18
+ * The transformation handles all standard OpenAPI v3 MediaType properties including
19
+ * schema references, inline schemas, examples, encoding specifications, and custom
20
+ * extension fields that begin with 'x-'.
21
+ *
22
+ * @param args - Transformation arguments
23
+ * @param args.mediaTypeItem - The OpenAPI v3 media type object to process
24
+ * @param args.mediaType - The media type identifier (MIME type)
25
+ * @param args.context - Parsing context for tracing and error handling
26
+ * @returns Structured OAS media type object for internal processing
27
+ *
28
+ * @example Transforming JSON media type
29
+ * ```typescript
30
+ * import { toMediaTypeItemV3 } from '@skmtc/core/oas/mediaType';
31
+ *
32
+ * const jsonMediaType = {
33
+ * schema: {
34
+ * type: 'object',
35
+ * properties: {
36
+ * name: { type: 'string' },
37
+ * email: { type: 'string', format: 'email' }
38
+ * }
39
+ * },
40
+ * example: {
41
+ * name: 'John Doe',
42
+ * email: 'john@example.com'
43
+ * }
44
+ * };
45
+ *
46
+ * const result = toMediaTypeItemV3({
47
+ * mediaTypeItem: jsonMediaType,
48
+ * mediaType: 'application/json',
49
+ * context: parseContext
50
+ * });
51
+ *
52
+ * console.log(result.mediaType); // 'application/json'
53
+ * console.log(result.schema); // Processed schema object
54
+ * ```
55
+ *
56
+ * @example Processing form data with encoding
57
+ * ```typescript
58
+ * const formMediaType = {
59
+ * schema: {
60
+ * type: 'object',
61
+ * properties: {
62
+ * file: { type: 'string', format: 'binary' },
63
+ * metadata: { type: 'string' }
64
+ * }
65
+ * },
66
+ * encoding: {
67
+ * file: {
68
+ * contentType: 'image/png',
69
+ * headers: {
70
+ * 'X-Rate-Limit': {
71
+ * schema: { type: 'integer' }
72
+ * }
73
+ * }
74
+ * }
75
+ * }
76
+ * };
77
+ *
78
+ * const result = toMediaTypeItemV3({
79
+ * mediaTypeItem: formMediaType,
80
+ * mediaType: 'multipart/form-data',
81
+ * context: parseContext
82
+ * });
83
+ *
84
+ * console.log(result.encoding); // Processed encoding configuration
85
+ * ```
86
+ *
87
+ * @example Handling multiple examples
88
+ * ```typescript
89
+ * const mediaTypeWithExamples = {
90
+ * schema: { type: 'string' },
91
+ * examples: {
92
+ * success: {
93
+ * summary: 'Successful response',
94
+ * value: 'Operation completed'
95
+ * },
96
+ * error: {
97
+ * summary: 'Error response',
98
+ * value: 'Operation failed'
99
+ * }
100
+ * }
101
+ * };
102
+ *
103
+ * const result = toMediaTypeItemV3({
104
+ * mediaTypeItem: mediaTypeWithExamples,
105
+ * mediaType: 'text/plain',
106
+ * context: parseContext
107
+ * });
108
+ *
109
+ * console.log(Object.keys(result.examples)); // ['success', 'error']
110
+ * ```
111
+ */
112
+ const toMediaTypeItemV3 = ({ mediaTypeItem, mediaType, stackTrail, context }) => {
113
+ const { schema, itemSchema, example, examples, encoding, prefixEncoding, itemEncoding, ...skipped } = mediaTypeItem;
114
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
115
+ skipped,
116
+ parent: mediaTypeItem,
117
+ context,
118
+ stackTrail,
119
+ parentType: 'mediaType'
120
+ });
121
+ if (encoding !== undefined && (prefixEncoding !== undefined || itemEncoding !== undefined)) {
122
+ context.logIssue({
123
+ key: 'encoding',
124
+ level: 'warning',
125
+ message: `'encoding' must not be present together with 'prefixEncoding' or 'itemEncoding' in ${mediaType}`,
126
+ parent: mediaTypeItem,
127
+ stackTrail,
128
+ type: 'UNEXPECTED_PROPERTY'
129
+ });
130
+ }
131
+ const fields = {
132
+ mediaType,
133
+ encoding,
134
+ prefixEncoding,
135
+ itemEncoding,
136
+ schema: stackTrail.trace('schema', st => (0, toSchemasV3_js_1.toOptionalSchemaV3)({ schema, stackTrail: st, context })),
137
+ itemSchema: stackTrail.trace('itemSchema', st => (0, toSchemasV3_js_1.toOptionalSchemaV3)({ schema: itemSchema, stackTrail: st, context })),
138
+ examples: stackTrail.trace('examples', st => (0, toExamplesV3_js_1.toExamplesV3)({
139
+ example,
140
+ examples,
141
+ exampleKey: mediaType,
142
+ stackTrail: st,
143
+ context
144
+ })),
145
+ extensionFields
146
+ };
147
+ return context.withStackTrail(stackTrail, () => new MediaType_js_1.OasMediaType(fields, context));
148
+ };
149
+ exports.toMediaTypeItemV3 = toMediaTypeItemV3;
150
+ /**
151
+ * Transforms multiple OpenAPI v3 media type objects into internal OAS representations.
152
+ *
153
+ * This function processes a complete content map from OpenAPI v3, transforming each
154
+ * media type entry into its internal OAS representation. It's commonly used to process
155
+ * the `content` property of request bodies, responses, and parameters that support
156
+ * multiple media types.
157
+ *
158
+ * The function maintains the original media type keys while transforming the values
159
+ * into structured OAS media type objects. Each transformation is traced for debugging
160
+ * and error tracking purposes.
161
+ *
162
+ * @param args - Transformation arguments
163
+ * @param args.content - Map of media types to OpenAPI MediaType objects
164
+ * @param args.context - Parsing context for tracing and error handling
165
+ * @returns Map of media type strings to processed OAS media type objects
166
+ *
167
+ * @example Processing multiple content types
168
+ * ```typescript
169
+ * import { toMediaTypeItemsV3 } from '@skmtc/core/oas/mediaType';
170
+ *
171
+ * const content = {
172
+ * 'application/json': {
173
+ * schema: {
174
+ * type: 'object',
175
+ * properties: { message: { type: 'string' } }
176
+ * }
177
+ * },
178
+ * 'application/xml': {
179
+ * schema: {
180
+ * type: 'string'
181
+ * }
182
+ * },
183
+ * 'text/plain': {
184
+ * schema: {
185
+ * type: 'string'
186
+ * },
187
+ * example: 'Plain text response'
188
+ * }
189
+ * };
190
+ *
191
+ * const result = toMediaTypeItemsV3({
192
+ * content,
193
+ * context: parseContext
194
+ * });
195
+ *
196
+ * console.log(Object.keys(result)); // ['application/json', 'application/xml', 'text/plain']
197
+ * console.log(result['application/json'].mediaType); // 'application/json'
198
+ * ```
199
+ *
200
+ * @example Processing request body content types
201
+ * ```typescript
202
+ * const requestBodyContent = {
203
+ * 'application/json': {
204
+ * schema: { $ref: '#/components/schemas/CreateUserRequest' }
205
+ * },
206
+ * 'application/x-www-form-urlencoded': {
207
+ * schema: {
208
+ * type: 'object',
209
+ * properties: {
210
+ * name: { type: 'string' },
211
+ * email: { type: 'string' }
212
+ * }
213
+ * },
214
+ * encoding: {
215
+ * email: {
216
+ * style: 'form',
217
+ * explode: false
218
+ * }
219
+ * }
220
+ * }
221
+ * };
222
+ *
223
+ * const processed = toMediaTypeItemsV3({
224
+ * content: requestBodyContent,
225
+ * context: parseContext
226
+ * });
227
+ *
228
+ * // Each media type is processed with its specific configuration
229
+ * console.log(processed['application/json'].schema); // Reference object
230
+ * console.log(processed['application/x-www-form-urlencoded'].encoding); // Form encoding config
231
+ * ```
232
+ */
233
+ const toMediaTypeItemsV3 = ({ content, stackTrail, context }) => {
234
+ const output = {};
235
+ const entries = Object.entries(content);
236
+ for (const [mediaType, value] of entries) {
237
+ // A `$ref` is replaced by the Media Type Object it names, so a
238
+ // referenced media type parses exactly like an inline one.
239
+ const mediaTypeItem = (0, refFns_js_1.isRef)(value) ? toComponentMediaType({ $ref: value.$ref, context }) : value;
240
+ if (mediaTypeItem === undefined) {
241
+ context.logIssue({
242
+ key: mediaType,
243
+ level: 'error',
244
+ message: `Reference ${JSON.stringify(value)} does not resolve to an entry in components.mediaTypes; dropping '${mediaType}'`,
245
+ parent: value,
246
+ stackTrail,
247
+ type: 'INVALID_DEPENDENCY_REF'
248
+ });
249
+ continue;
250
+ }
251
+ output[mediaType] = stackTrail.trace(mediaType, st => (0, exports.toMediaTypeItemV3)({ mediaTypeItem, mediaType, stackTrail: st, context }));
252
+ }
253
+ return output;
254
+ };
255
+ exports.toMediaTypeItemsV3 = toMediaTypeItemsV3;
256
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
257
+ const isMediaTypeObject = (value) => isRecord(value) && !(0, refFns_js_1.isRef)(value);
258
+ /**
259
+ * The Media Type Object a `$ref` names in `components.mediaTypes`, read off
260
+ * the raw document. An entry that is itself a `$ref` is followed. `undefined`
261
+ * when a `$ref` on the chain points elsewhere or names a missing entry, or
262
+ * when the chain is a cycle.
263
+ */
264
+ const toComponentMediaType = ({ $ref, context, visited = new Set() }) => {
265
+ const segments = $ref.startsWith('#') ? (0, JsonPointer_js_1.fromJsonPointer)($ref) : undefined;
266
+ if (segments?.length !== 3 || segments[0] !== 'components' || segments[1] !== 'mediaTypes') {
267
+ return undefined;
268
+ }
269
+ const [, , name] = segments;
270
+ if (visited.has(name)) {
271
+ return undefined;
272
+ }
273
+ const { components } = context.documentObject;
274
+ const mediaTypes = isRecord(components) ? components.mediaTypes : undefined;
275
+ if (!isRecord(mediaTypes) || !Object.hasOwn(mediaTypes, name)) {
276
+ return undefined;
277
+ }
278
+ const mediaTypeItem = mediaTypes[name];
279
+ if ((0, refFns_js_1.isRef)(mediaTypeItem)) {
280
+ return toComponentMediaType({
281
+ $ref: mediaTypeItem.$ref,
282
+ context,
283
+ visited: new Set([...visited, name])
284
+ });
285
+ }
286
+ return isMediaTypeObject(mediaTypeItem) ? mediaTypeItem : undefined;
287
+ };
288
+ /**
289
+ * Optionally transforms OpenAPI v3 media type objects when content is provided.
290
+ *
291
+ * This function provides a safe way to process media type content that may or may not
292
+ * be present in the OpenAPI specification. It handles the common pattern where content
293
+ * properties are optional in OpenAPI objects (like responses without bodies or
294
+ * operations without request bodies).
295
+ *
296
+ * When content is undefined, the function returns undefined without processing.
297
+ * When content is provided, it delegates to `toMediaTypeItemsV3` for full processing.
298
+ *
299
+ * @param args - Transformation arguments
300
+ * @param args.content - Optional map of media types to OpenAPI MediaType objects
301
+ * @param args.context - Parsing context for tracing and error handling
302
+ * @returns Map of processed media types if content exists, undefined otherwise
303
+ *
304
+ * @example Handling optional response content
305
+ * ```typescript
306
+ * import { toOptionalMediaTypeItemsV3 } from '@skmtc/core/oas/mediaType';
307
+ *
308
+ * // Response with content
309
+ * const responseWithContent = {
310
+ * description: 'Successful response',
311
+ * content: {
312
+ * 'application/json': {
313
+ * schema: { type: 'object' }
314
+ * }
315
+ * }
316
+ * };
317
+ *
318
+ * const withContent = toOptionalMediaTypeItemsV3({
319
+ * content: responseWithContent.content,
320
+ * context: parseContext
321
+ * });
322
+ * console.log(withContent); // { 'application/json': OasMediaType }
323
+ *
324
+ * // Response without content (like 204 No Content)
325
+ * const responseNoContent = {
326
+ * description: 'No content response'
327
+ * };
328
+ *
329
+ * const noContent = toOptionalMediaTypeItemsV3({
330
+ * content: responseNoContent.content, // undefined
331
+ * context: parseContext
332
+ * });
333
+ * console.log(noContent); // undefined
334
+ * ```
335
+ *
336
+ * @example Processing operations with optional request bodies
337
+ * ```typescript
338
+ * function processOperation(operation: OpenAPIV3.OperationObject) {
339
+ * const requestBodyContent = toOptionalMediaTypeItemsV3({
340
+ * content: operation.requestBody?.content,
341
+ * context: parseContext
342
+ * });
343
+ *
344
+ * if (requestBodyContent) {
345
+ * console.log('Operation has request body with media types:');
346
+ * console.log(Object.keys(requestBodyContent));
347
+ * } else {
348
+ * console.log('Operation has no request body');
349
+ * }
350
+ * }
351
+ * ```
352
+ *
353
+ * @example Safe processing in response handlers
354
+ * ```typescript
355
+ * class ResponseProcessor {
356
+ * processResponse(response: OpenAPIV3.ResponseObject) {
357
+ * const mediaTypes = toOptionalMediaTypeItemsV3({
358
+ * content: response.content,
359
+ * context: this.context
360
+ * });
361
+ *
362
+ * // Safe to check without worrying about undefined content
363
+ * const hasJsonResponse = mediaTypes && 'application/json' in mediaTypes;
364
+ *
365
+ * if (hasJsonResponse) {
366
+ * const jsonMediaType = mediaTypes['application/json'];
367
+ * return this.generateJsonResponseHandler(jsonMediaType);
368
+ * }
369
+ *
370
+ * return this.generateEmptyResponseHandler();
371
+ * }
372
+ * }
373
+ * ```
374
+ */
375
+ const toOptionalMediaTypeItemsV3 = ({ content, stackTrail, context }) => {
376
+ if (!content) {
377
+ return;
378
+ }
379
+ return (0, exports.toMediaTypeItemsV3)({ content, stackTrail, context });
380
+ };
381
+ exports.toOptionalMediaTypeItemsV3 = toOptionalMediaTypeItemsV3;
@@ -0,0 +1,17 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { Method } from '../../types/Method.js';
3
+ /**
4
+ * The path item fields that hold an Operation Object in OpenAPI 3.2.
5
+ * `query` is new in 3.2.
6
+ */
7
+ export declare const pathItemMethods: readonly Method[];
8
+ /**
9
+ * A 3.2 path item: the `openapi-types` path item plus the `query` operation.
10
+ */
11
+ export type PathItemObjectV3 = OpenAPIV3.PathItemObject & {
12
+ query?: OpenAPIV3.OperationObject;
13
+ };
14
+ /**
15
+ * Returns `key` as a {@link Method} when it is one of {@link pathItemMethods}.
16
+ */
17
+ export declare const toPathItemMethod: (key: string) => Method | undefined;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPathItemMethod = exports.pathItemMethods = void 0;
4
+ /**
5
+ * The path item fields that hold an Operation Object in OpenAPI 3.2.
6
+ * `query` is new in 3.2.
7
+ */
8
+ exports.pathItemMethods = [
9
+ 'get',
10
+ 'put',
11
+ 'post',
12
+ 'delete',
13
+ 'options',
14
+ 'head',
15
+ 'patch',
16
+ 'trace',
17
+ 'query'
18
+ ];
19
+ /**
20
+ * Returns `key` as a {@link Method} when it is one of {@link pathItemMethods}.
21
+ */
22
+ const toPathItemMethod = (key) => {
23
+ return exports.pathItemMethods.find(method => method === key);
24
+ };
25
+ exports.toPathItemMethod = toPathItemMethod;
@@ -0,0 +1,10 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasNumber } from '../../../oas/number/Number.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ export type ToNumberArgs = {
6
+ value: OpenAPIV3.SchemaObject;
7
+ stackTrail: StackTrail;
8
+ context: ParseContextType;
9
+ };
10
+ export declare const toNumber: ({ context, value, stackTrail }: ToNumberArgs) => OasNumber;
@@ -0,0 +1,152 @@
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.toNumber = void 0;
37
+ const Number_js_1 = require("../../../oas/number/Number.js");
38
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
39
+ const number_types_js_1 = require("../../../oas/number/number-types.js");
40
+ const parseNullable_js_1 = require("../_helpers/parseNullable.js");
41
+ const parseEnum_js_1 = require("../_helpers/parseEnum.js");
42
+ const parseExample_js_1 = require("../_helpers/parseExample.js");
43
+ const parseDefault_js_1 = require("../_helpers/parseDefault.js");
44
+ const v = __importStar(require("valibot"));
45
+ const toNumber = ({ context, value, stackTrail }) => {
46
+ const { nullable, value: valueWithoutNullable } = (0, parseNullable_js_1.parseNullable)({
47
+ value,
48
+ context,
49
+ stackTrail
50
+ });
51
+ const { example: unparsedExample, ...valueWithoutExample } = valueWithoutNullable;
52
+ const example = (0, parseExample_js_1.parseExample)({
53
+ value: unparsedExample,
54
+ context,
55
+ parent: valueWithoutNullable,
56
+ nullable,
57
+ check: isNumber,
58
+ toMessage: item => `Removed invalid example. Expected "number", got: ${item}`,
59
+ stackTrail
60
+ });
61
+ const { enum: unparsedEnums, ...valueWithoutEnums } = valueWithoutExample;
62
+ const enums = (0, parseEnum_js_1.parseEnum)({
63
+ value: unparsedEnums,
64
+ nullable,
65
+ stackTrail,
66
+ parent: valueWithoutExample,
67
+ context,
68
+ check: isNumber,
69
+ toMessage: item => `Removed invalid enum. Expected "number", got: ${item}`
70
+ });
71
+ const { default: unparsedDefaultValue, ...valueWithoutDefault } = valueWithoutEnums;
72
+ const defaultValue = (0, parseDefault_js_1.parseDefault)({
73
+ value: unparsedDefaultValue,
74
+ context,
75
+ parent: valueWithoutEnums,
76
+ nullable,
77
+ check: isNumber,
78
+ toMessage: item => `Removed invalid default. Expected "number", got: ${item}`,
79
+ stackTrail
80
+ });
81
+ return toParsedNumber({
82
+ context,
83
+ nullable,
84
+ example,
85
+ enums,
86
+ defaultValue,
87
+ value: valueWithoutDefault,
88
+ stackTrail
89
+ });
90
+ };
91
+ exports.toNumber = toNumber;
92
+ const toParsedNumber = ({ context, nullable, example, enums, defaultValue, value: valueWithoutEnums, stackTrail }) => {
93
+ const { format: unparsedFormat, ...valueWithoutFormat } = valueWithoutEnums;
94
+ const format = parseNumberFormat({
95
+ format: unparsedFormat,
96
+ context,
97
+ stackTrail,
98
+ parent: valueWithoutEnums
99
+ });
100
+ if (!v.is(number_types_js_1.oasNumberData, valueWithoutFormat)) {
101
+ v.parse(number_types_js_1.oasNumberData, valueWithoutFormat);
102
+ }
103
+ const { type: _type, title, description, multipleOf, maximum, exclusiveMaximum, minimum, exclusiveMinimum, readOnly, writeOnly, deprecated, ...skipped } = valueWithoutFormat;
104
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
105
+ skipped,
106
+ parent: valueWithoutFormat,
107
+ context,
108
+ stackTrail,
109
+ parentType: 'schema:number'
110
+ });
111
+ return context.withStackTrail(stackTrail, () => new Number_js_1.OasNumber({
112
+ title,
113
+ description,
114
+ nullable,
115
+ default: defaultValue,
116
+ extensionFields,
117
+ example,
118
+ enums,
119
+ format,
120
+ multipleOf,
121
+ maximum,
122
+ exclusiveMaximum,
123
+ minimum,
124
+ readOnly,
125
+ writeOnly,
126
+ exclusiveMinimum,
127
+ deprecated
128
+ }, context));
129
+ };
130
+ const parseNumberFormat = ({ format, context, parent, stackTrail }) => {
131
+ if (format === undefined) {
132
+ return undefined;
133
+ }
134
+ if (!v.is(number_types_js_1.numberFormat, format)) {
135
+ // `format` is an open vocabulary; a value the IR's numberFormat can't
136
+ // hold (e.g. `decimal`) is dropped. Recorded at `debug` — the dropped
137
+ // hint is informational, not a correctness issue.
138
+ context.logIssue({
139
+ key: 'format',
140
+ level: 'debug',
141
+ message: `Invalid format: ${format}`,
142
+ parent,
143
+ stackTrail,
144
+ type: 'INVALID_FORMAT'
145
+ });
146
+ return undefined;
147
+ }
148
+ return format;
149
+ };
150
+ const isNumber = (value) => {
151
+ return typeof value === 'number';
152
+ };
@@ -0,0 +1,11 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
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 ToAdditionalPropertiesV3Args = {
7
+ additionalProperties: boolean | OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject | undefined;
8
+ stackTrail: StackTrail;
9
+ context: ParseContextType;
10
+ };
11
+ export declare const toAdditionalPropertiesV3: ({ additionalProperties, stackTrail, context }: ToAdditionalPropertiesV3Args) => OasSchema | OasRef<"schema"> | boolean | undefined;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toAdditionalPropertiesV3 = void 0;
4
+ const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
5
+ const toAdditionalPropertiesV3 = ({ additionalProperties, stackTrail, context }) => {
6
+ if (typeof additionalProperties === 'boolean') {
7
+ return additionalProperties;
8
+ }
9
+ if (additionalProperties === undefined) {
10
+ return undefined;
11
+ }
12
+ return (0, toSchemasV3_js_1.toSchemaV3)({ schema: additionalProperties, stackTrail, context });
13
+ };
14
+ exports.toAdditionalPropertiesV3 = toAdditionalPropertiesV3;
@@ -0,0 +1,10 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasObject } from '../../../oas/object/Object.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ export type ToObjectArgs = {
6
+ value: OpenAPIV3.SchemaObject;
7
+ context: ParseContextType;
8
+ stackTrail: StackTrail;
9
+ };
10
+ export declare const toObject: ({ value, context, stackTrail }: ToObjectArgs) => OasObject;