@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,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeProperties = void 0;
4
+ const merge_js_1 = require("./merge.js");
5
+ const mergeProperties = (first, second, getRef) => {
6
+ if (containsProperties(first, second)) {
7
+ const properties = { ...first.properties };
8
+ if (!properties) {
9
+ return {
10
+ properties: second.properties
11
+ };
12
+ }
13
+ for (const key in second.properties) {
14
+ if (key in properties) {
15
+ properties[key] = (0, merge_js_1.mergeSchemasOrRefs)(properties[key], second.properties[key], getRef);
16
+ }
17
+ else {
18
+ properties[key] = second.properties[key];
19
+ }
20
+ }
21
+ return {
22
+ properties
23
+ };
24
+ }
25
+ };
26
+ exports.mergeProperties = mergeProperties;
27
+ const containsProperties = (first, second) => {
28
+ return Boolean(first.properties || second.properties);
29
+ };
@@ -0,0 +1,3 @@
1
+ import type { SchemaObject } from './types.js';
2
+ export declare const containsRequired: (first: SchemaObject, second: SchemaObject) => boolean;
3
+ export declare const mergeRequired: (first: SchemaObject, second: SchemaObject) => SchemaObject | undefined;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeRequired = exports.containsRequired = void 0;
4
+ const containsRequired = (first, second) => {
5
+ return Boolean(first.required || second.required);
6
+ };
7
+ exports.containsRequired = containsRequired;
8
+ const mergeRequired = (first, second) => {
9
+ if ((0, exports.containsRequired)(first, second)) {
10
+ return {
11
+ required: [...(first.required ?? []), ...(second.required ?? [])]
12
+ };
13
+ }
14
+ };
15
+ exports.mergeRequired = mergeRequired;
@@ -0,0 +1,3 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { GetRefFn } from './types.js';
3
+ export declare function mergeStringConstraints(first: OpenAPIV3.SchemaObject, second: OpenAPIV3.SchemaObject, getRef: GetRefFn): OpenAPIV3.SchemaObject;
@@ -0,0 +1,91 @@
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.mergeStringConstraints = mergeStringConstraints;
37
+ const generic_merge_js_1 = require("./generic-merge.js");
38
+ const v = __importStar(require("valibot"));
39
+ const check_type_conflicts_js_1 = require("./check-type-conflicts.js");
40
+ const check_at_least_one_type_match_js_1 = require("./check-at-least-one-type-match.js");
41
+ function mergeStringConstraints(first, second, getRef) {
42
+ (0, check_type_conflicts_js_1.checkTypeConflicts)(first, second);
43
+ if (!(0, check_at_least_one_type_match_js_1.checkAtLeastOneTypeMatch)(first, second, 'string')) {
44
+ return (0, generic_merge_js_1.genericMerge)(first, second, getRef);
45
+ }
46
+ // First merge enum values if present
47
+ const result = (0, generic_merge_js_1.genericMerge)(first, second, getRef, v.string());
48
+ // Then merge other constraints
49
+ result.type = 'string';
50
+ // Merge minLength
51
+ if (first.minLength !== undefined || second.minLength !== undefined) {
52
+ const minA = first.minLength ?? 0;
53
+ const minB = second.minLength ?? 0;
54
+ result.minLength = Math.max(minA, minB);
55
+ }
56
+ // Merge maxLength
57
+ if (first.maxLength !== undefined || second.maxLength !== undefined) {
58
+ const maxA = first.maxLength ?? Infinity;
59
+ const maxB = second.maxLength ?? Infinity;
60
+ result.maxLength = Math.min(maxA, maxB);
61
+ }
62
+ // Merge pattern
63
+ if (first.pattern !== undefined && second.pattern !== undefined) {
64
+ // If both have patterns, they must match
65
+ if (first.pattern !== second.pattern) {
66
+ throw new Error(`Cannot merge schemas: conflicting patterns '${first.pattern}' and '${second.pattern}'`);
67
+ }
68
+ result.pattern = first.pattern;
69
+ }
70
+ else if (first.pattern !== undefined) {
71
+ result.pattern = first.pattern;
72
+ }
73
+ else if (second.pattern !== undefined) {
74
+ result.pattern = second.pattern;
75
+ }
76
+ // Merge format
77
+ if (first.format !== undefined && second.format !== undefined) {
78
+ // If both have formats, they must match
79
+ if (first.format !== second.format) {
80
+ throw new Error('Incompatible string formats');
81
+ }
82
+ result.format = first.format;
83
+ }
84
+ else if (first.format !== undefined) {
85
+ result.format = first.format;
86
+ }
87
+ else if (second.format !== undefined) {
88
+ result.format = second.format;
89
+ }
90
+ return result;
91
+ }
@@ -0,0 +1,15 @@
1
+ import type { GetRefFn, SchemaOrReference, SchemaObject } from './types.js';
2
+ type MergeUnionArgs = {
3
+ schema: SchemaObject;
4
+ getRef: GetRefFn;
5
+ groupType: 'oneOf' | 'anyOf';
6
+ };
7
+ export declare const mergeUnion: ({ schema, getRef, groupType }: MergeUnionArgs) => SchemaOrReference;
8
+ type MergeCrossProductArgs = {
9
+ first: SchemaObject;
10
+ second: SchemaObject;
11
+ getRef: GetRefFn;
12
+ groupType: 'oneOf' | 'anyOf';
13
+ };
14
+ export declare const mergeCrossProduct: ({ first, second, getRef, groupType }: MergeCrossProductArgs) => SchemaObject;
15
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeCrossProduct = exports.mergeUnion = void 0;
4
+ const decompose_union_js_1 = require("./decompose-union.js");
5
+ const merge_js_1 = require("./merge.js");
6
+ const cross_product_js_1 = require("./cross-product.js");
7
+ const refFns_js_1 = require("../../../helpers/refFns.js");
8
+ const mergeUnion = ({ schema, getRef, groupType }) => {
9
+ const { beforeExcluded, decomposed, afterExcluded } = (0, decompose_union_js_1.decomposeUnion)({ schema, groupType });
10
+ // if (decomposed.length === 1) {
11
+ // console.log('DECOMPOSED', JSON.stringify(decomposed[0], null, 2))
12
+ // const result = {
13
+ // ...beforeExcluded,
14
+ // ...decomposed[0],
15
+ // ...afterExcluded
16
+ // }
17
+ // console.log('MERGED UNION - SHORT', JSON.stringify(result, null, 2))
18
+ // return result
19
+ // }
20
+ const dereffed = decomposed.map(decomposed => {
21
+ return '$ref' in decomposed ? getRef(decomposed) : decomposed;
22
+ });
23
+ const result = dereffed.reduce((acc, decomposed) => {
24
+ const merged = (0, exports.mergeCrossProduct)({ first: acc, second: decomposed, getRef, groupType });
25
+ return merged;
26
+ }, {});
27
+ const output = {
28
+ ...beforeExcluded,
29
+ ...result,
30
+ ...afterExcluded
31
+ };
32
+ return output;
33
+ };
34
+ exports.mergeUnion = mergeUnion;
35
+ const mergeCrossProduct = ({ first, second, getRef, groupType }) => {
36
+ const firstGroup = Array.isArray(first[groupType]) ? first[groupType] : [first];
37
+ const secondGroup = Array.isArray(second[groupType]) ? second[groupType] : [second];
38
+ const mergedGroup = (0, cross_product_js_1.crossProduct)(firstGroup, secondGroup)
39
+ .map(([firstItem, secondItem]) => {
40
+ try {
41
+ const result = (0, merge_js_1.mergeSchemasOrRefs)(firstItem, secondItem, getRef);
42
+ return result;
43
+ }
44
+ catch (_error) {
45
+ return undefined;
46
+ }
47
+ })
48
+ .filter(item => item !== undefined);
49
+ return {
50
+ [groupType]: mergedGroup.flatMap(item => {
51
+ if (!(0, refFns_js_1.isRef)(item) && Array.isArray(item[groupType])) {
52
+ return item[groupType];
53
+ }
54
+ return [item];
55
+ })
56
+ };
57
+ };
58
+ exports.mergeCrossProduct = mergeCrossProduct;
@@ -0,0 +1,2 @@
1
+ import type { SchemaOrReference, GetRefFn } from './types.js';
2
+ export declare const mergeSchemasOrRefs: (first: SchemaOrReference, second: SchemaOrReference, getRef: GetRefFn) => SchemaOrReference;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeSchemasOrRefs = void 0;
4
+ const refFns_js_1 = require("../../../helpers/refFns.js");
5
+ const check_type_conflicts_js_1 = require("./check-type-conflicts.js");
6
+ const check_read_only_write_only_conflicts_js_1 = require("./check-read-only-write-only-conflicts.js");
7
+ const check_format_conflicts_js_1 = require("./check-format-conflicts.js");
8
+ const check_enum_conflicts_js_1 = require("./check-enum-conflicts.js");
9
+ const check_number_constraints_conflicts_js_1 = require("./check-number-constraints-conflicts.js");
10
+ const check_array_item_type_conflicts_js_1 = require("./check-array-item-type-conflicts.js");
11
+ const merge_object_constraints_js_1 = require("./merge-object-constraints.js");
12
+ const merge_array_constraints_js_1 = require("./merge-array-constraints.js");
13
+ const merge_string_constraints_js_1 = require("./merge-string-constraints.js");
14
+ const merge_number_constraints_js_1 = require("./merge-number-constraints.js");
15
+ const merge_integer_constraints_js_1 = require("./merge-integer-constraints.js");
16
+ const merge_boolean_constraints_js_1 = require("./merge-boolean-constraints.js");
17
+ const generic_merge_js_1 = require("./generic-merge.js");
18
+ const check_at_least_one_type_match_js_1 = require("./check-at-least-one-type-match.js");
19
+ const merge_intersection_js_1 = require("./merge-intersection.js");
20
+ const merge_union_js_1 = require("./merge-union.js");
21
+ const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
22
+ const nullable_merge_js_1 = require("./nullable-merge.js");
23
+ const mergeSchemasOrRefs = (first, second, getRef) => {
24
+ if (containsRef(first, second)) {
25
+ return mergeWithRef(first, second, getRef);
26
+ }
27
+ if ((0, refFns_js_1.isRef)(first)) {
28
+ throw new Error('Ref in first');
29
+ }
30
+ if ((0, refFns_js_1.isRef)(second)) {
31
+ throw new Error('Ref in second');
32
+ }
33
+ if (containsAllOf(first) || containsAllOf(second)) {
34
+ const mergedFirst = containsAllOf(first) ? (0, merge_intersection_js_1.mergeIntersection)({ schema: first, getRef }) : first;
35
+ const mergedSecond = containsAllOf(second)
36
+ ? (0, merge_intersection_js_1.mergeIntersection)({ schema: second, getRef })
37
+ : second;
38
+ return (0, exports.mergeSchemasOrRefs)(mergedFirst, mergedSecond, getRef);
39
+ }
40
+ if (containsOneOf(first, second)) {
41
+ return (0, merge_union_js_1.mergeCrossProduct)({ first, second, getRef, groupType: 'oneOf' });
42
+ }
43
+ if (containsAnyOf(first, second)) {
44
+ return (0, merge_union_js_1.mergeCrossProduct)({ first, second, getRef, groupType: 'anyOf' });
45
+ }
46
+ if ((0, nullable_merge_js_1.isNullOnly)(first)) {
47
+ return (0, nullable_merge_js_1.mergeNullOnly)(second);
48
+ }
49
+ if ((0, nullable_merge_js_1.isNullOnly)(second)) {
50
+ return (0, nullable_merge_js_1.mergeNullOnly)(first);
51
+ }
52
+ return mergeSchemas(first, second, getRef);
53
+ };
54
+ exports.mergeSchemasOrRefs = mergeSchemasOrRefs;
55
+ const containsAllOf = (schema) => {
56
+ if (schema.allOf) {
57
+ if (schema.allOf?.length) {
58
+ return true;
59
+ }
60
+ throw new Error('Empty allOf');
61
+ }
62
+ return false;
63
+ };
64
+ const containsAnyOf = (first, second) => {
65
+ if (first.anyOf) {
66
+ if (first.anyOf?.length) {
67
+ return true;
68
+ }
69
+ throw new Error('Empty anyOf');
70
+ }
71
+ if (second.anyOf) {
72
+ if (second.anyOf?.length) {
73
+ return true;
74
+ }
75
+ throw new Error('Empty anyOf');
76
+ }
77
+ return false;
78
+ };
79
+ const containsOneOf = (first, second) => {
80
+ if (first.oneOf) {
81
+ if (first.oneOf?.length) {
82
+ return true;
83
+ }
84
+ throw new Error('Empty oneOf');
85
+ }
86
+ if (second.oneOf) {
87
+ if (second.oneOf?.length) {
88
+ return true;
89
+ }
90
+ throw new Error('Empty oneOf');
91
+ }
92
+ return false;
93
+ };
94
+ const containsRef = (first, second) => {
95
+ return (0, refFns_js_1.isRef)(first) || (0, refFns_js_1.isRef)(second);
96
+ };
97
+ const mergeSchemas = (first, second, getRef) => {
98
+ try {
99
+ (0, check_type_conflicts_js_1.checkTypeConflicts)(first, second);
100
+ }
101
+ catch (e) {
102
+ throw e;
103
+ }
104
+ (0, check_read_only_write_only_conflicts_js_1.checkReadOnlyWriteOnlyConflicts)(first, second);
105
+ (0, check_format_conflicts_js_1.checkFormatConflicts)(first, second);
106
+ (0, check_enum_conflicts_js_1.checkEnumConflicts)(first, second);
107
+ (0, check_number_constraints_conflicts_js_1.checkNumberConstraintsConflicts)(first, second);
108
+ (0, check_array_item_type_conflicts_js_1.checkArrayItemTypeConflicts)(first, second);
109
+ if (first.not || second.not) {
110
+ throw new Error('Merging schemas with "not" keyword is not supported');
111
+ }
112
+ return typedMerge(first, second, getRef);
113
+ };
114
+ const typedMerge = (first, second, getRef) => {
115
+ if (!first.type && !second.type) {
116
+ return (0, generic_merge_js_1.genericMerge)(first, second, getRef);
117
+ }
118
+ if ((0, check_at_least_one_type_match_js_1.checkAtLeastOneTypeMatch)(first, second, 'object')) {
119
+ return (0, merge_object_constraints_js_1.mergeObjectConstraints)(first, second, getRef);
120
+ }
121
+ if ((0, check_at_least_one_type_match_js_1.checkAtLeastOneTypeMatch)(first, second, 'array')) {
122
+ return (0, merge_array_constraints_js_1.mergeArrayConstraints)(first, second, getRef);
123
+ }
124
+ if ((0, check_at_least_one_type_match_js_1.checkAtLeastOneTypeMatch)(first, second, 'string')) {
125
+ return (0, merge_string_constraints_js_1.mergeStringConstraints)(first, second, getRef);
126
+ }
127
+ if ((0, check_at_least_one_type_match_js_1.checkAtLeastOneTypeMatch)(first, second, 'number')) {
128
+ return (0, merge_number_constraints_js_1.mergeNumberConstraints)(first, second, getRef);
129
+ }
130
+ if ((0, check_at_least_one_type_match_js_1.checkAtLeastOneTypeMatch)(first, second, 'integer')) {
131
+ return (0, merge_integer_constraints_js_1.mergeIntegerConstraints)(first, second, getRef);
132
+ }
133
+ if ((0, check_at_least_one_type_match_js_1.checkAtLeastOneTypeMatch)(first, second, 'boolean')) {
134
+ return (0, merge_boolean_constraints_js_1.mergeBooleanConstraints)(first, second, getRef);
135
+ }
136
+ throw new Error(`Cannot merge schemas with type "${first.type}" with type "${second.type}"`);
137
+ };
138
+ const mergeWithRef = (first, second, getRef) => {
139
+ if ((0, refFns_js_1.isRef)(first) && (0, refFns_js_1.isRef)(second)) {
140
+ if (first.$ref === second.$ref) {
141
+ return {
142
+ ...first,
143
+ ...second
144
+ };
145
+ }
146
+ else {
147
+ return mergeSchemas(getRef(first), getRef(second), getRef);
148
+ }
149
+ }
150
+ if ((0, refFns_js_1.isRef)(first) && !(0, refFns_js_1.isRef)(second)) {
151
+ const merged = (0, isEmpty_js_1.isEmpty)(second) ? first : mergeSchemas(getRef(first), second, getRef);
152
+ return merged;
153
+ }
154
+ if (!(0, refFns_js_1.isRef)(first) && (0, refFns_js_1.isRef)(second)) {
155
+ const merged = (0, isEmpty_js_1.isEmpty)(first) ? second : mergeSchemas(first, getRef(second), getRef);
156
+ return merged;
157
+ }
158
+ throw new Error('Invalid input');
159
+ };
@@ -0,0 +1,3 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ export declare const mergeNullOnly: (schema: OpenAPIV3.SchemaObject) => OpenAPIV3.SchemaObject;
3
+ export declare const isNullOnly: (schema: OpenAPIV3.SchemaObject) => boolean;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNullOnly = exports.mergeNullOnly = void 0;
4
+ const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
5
+ const mergeNullOnly = (schema) => {
6
+ if (schema.enum && !schema.enum.includes(null)) {
7
+ schema.enum.push(null);
8
+ }
9
+ schema.nullable = true;
10
+ return schema;
11
+ };
12
+ exports.mergeNullOnly = mergeNullOnly;
13
+ const isNullOnly = (schema) => {
14
+ const { type: _type, nullable, enum: enumValues, ...rest } = schema;
15
+ return (Boolean(nullable) && enumValues?.length === 1 && enumValues[0] === null && (0, isEmpty_js_1.isEmpty)(rest ?? {}));
16
+ };
17
+ exports.isNullOnly = isNullOnly;
@@ -0,0 +1,14 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import * as v from 'valibot';
3
+ export type GetRefFn = (ref: OpenAPIV3.ReferenceObject) => OpenAPIV3.SchemaObject;
4
+ export type OneOfObject = {
5
+ oneOf?: (OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject)[];
6
+ } & OpenAPIV3.SchemaObject;
7
+ export type AnyOfObject = {
8
+ anyOf?: (OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject)[];
9
+ } & OpenAPIV3.SchemaObject;
10
+ export type SchemaObject = OpenAPIV3.SchemaObject;
11
+ export type ReferenceObject = OpenAPIV3.ReferenceObject;
12
+ export type SchemaOrReference = SchemaObject | ReferenceObject;
13
+ export type ArraySchemaObject = OpenAPIV3.ArraySchemaObject;
14
+ export declare const IntegerSchema: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, "The number must be an integer.">]>;
@@ -0,0 +1,38 @@
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.IntegerSchema = void 0;
37
+ const v = __importStar(require("valibot"));
38
+ exports.IntegerSchema = v.pipe(v.number(), v.integer('The number must be an integer.'));
@@ -0,0 +1,80 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import { OasArray } from '../../../oas/array/Array.js';
3
+ import type { ParseContextType } from '../../../context/parseTypes.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ export type ToArrayArgs = {
6
+ value: OpenAPIV3.ArraySchemaObject;
7
+ stackTrail: StackTrail;
8
+ context: ParseContextType;
9
+ };
10
+ /**
11
+ * Transforms an OpenAPI v3 array schema object into an internal OAS array representation.
12
+ *
13
+ * This function processes OpenAPI array schemas by extracting and parsing nullable values,
14
+ * examples, enumerations, and default values. It handles the complete transformation from
15
+ * raw OpenAPI JSON to the SKMTC internal array representation with proper type safety.
16
+ *
17
+ * The transformation follows a pipeline approach:
18
+ * 1. Parse nullable flag and extract base value
19
+ * 2. Parse example values with nullable support
20
+ * 3. Parse enumeration constraints
21
+ * 4. Parse default values
22
+ * 5. Create final OasArray instance
23
+ *
24
+ * @param args - Transformation arguments
25
+ * @param args.value - The OpenAPI v3 array schema object to transform
26
+ * @param args.context - Parse context providing utilities and tracing
27
+ * @returns Transformed OAS array object with parsed properties
28
+ *
29
+ * @example Basic array transformation
30
+ * ```typescript
31
+ * import { toArray } from '@skmtc/core';
32
+ *
33
+ * const openApiArray = {
34
+ * type: 'array',
35
+ * items: { type: 'string' },
36
+ * maxItems: 10,
37
+ * uniqueItems: true
38
+ * };
39
+ *
40
+ * const oasArray = toArray({
41
+ * value: openApiArray,
42
+ * context: parseContext
43
+ * });
44
+ *
45
+ * console.log(oasArray.maxItems); // 10
46
+ * console.log(oasArray.uniqueItems); // true
47
+ * ```
48
+ *
49
+ * @example Array with nullable and examples
50
+ * ```typescript
51
+ * const complexArray = {
52
+ * type: 'array',
53
+ * items: { type: 'number' },
54
+ * nullable: true,
55
+ * example: [1, 2, 3],
56
+ * default: [],
57
+ * enum: [[1, 2], [3, 4], null]
58
+ * };
59
+ *
60
+ * const oasArray = toArray({
61
+ * value: complexArray,
62
+ * context: parseContext
63
+ * });
64
+ *
65
+ * console.log(oasArray.nullable); // true
66
+ * console.log(oasArray.example); // [1, 2, 3]
67
+ * ```
68
+ */
69
+ export declare const toArray: ({ value, context, stackTrail }: ToArrayArgs) => OasArray;
70
+ type ToParsedArrayArgs<Nullable extends boolean | undefined> = {
71
+ value: Omit<OpenAPIV3.ArraySchemaObject, 'nullable' | 'example' | 'enums' | 'default'>;
72
+ stackTrail: StackTrail;
73
+ context: ParseContextType;
74
+ nullable: Nullable;
75
+ example: Nullable extends true ? unknown[] | null | undefined : unknown[] | undefined;
76
+ enums: Nullable extends true ? (unknown[] | null)[] | undefined : unknown[] | undefined;
77
+ defaultValue: Nullable extends true ? unknown[] | null | undefined : unknown[] | undefined;
78
+ };
79
+ export declare const toParsedArray: <Nullable extends boolean | undefined>({ context, stackTrail, nullable, example, enums, defaultValue, value }: ToParsedArrayArgs<Nullable>) => OasArray<Nullable>;
80
+ export {};