@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.
- package/esm/_dnt.polyfills.d.ts +11 -0
- package/esm/_dnt.polyfills.js +14 -0
- package/esm/context/ParseContext.js +9 -1
- package/esm/context/generateTypes.d.ts +14 -2
- package/esm/context/generateTypes.js +5 -1
- package/esm/dsl/GeneratorKeys.d.ts +2 -2
- package/esm/dsl/GeneratorKeys.js +6 -3
- package/esm/helpers/naming.d.ts +2 -1
- package/esm/helpers/naming.js +4 -2
- package/esm/mod.d.ts +1 -0
- package/esm/mod.js +1 -0
- package/esm/oas/discriminator/Discriminator.d.ts +3 -0
- package/esm/oas/discriminator/Discriminator.js +7 -0
- package/esm/oas/document/Document.d.ts +7 -0
- package/esm/oas/document/Document.js +8 -0
- package/esm/oas/example/Example.d.ts +10 -1
- package/esm/oas/example/Example.js +16 -0
- package/esm/oas/header/Header.d.ts +4 -2
- package/esm/oas/header/Header.js +12 -5
- package/esm/oas/mediaType/MediaType.d.ts +12 -0
- package/esm/oas/mediaType/MediaType.js +24 -0
- package/esm/oas/mediaType/jsonMediaType.d.ts +50 -0
- package/esm/oas/mediaType/jsonMediaType.js +64 -0
- package/esm/oas/mediaType/toContentSchema.d.ts +8 -0
- package/esm/oas/mediaType/toContentSchema.js +6 -0
- package/esm/oas/operation/Operation.d.ts +10 -2
- package/esm/oas/operation/Operation.js +20 -7
- package/esm/oas/parameter/Parameter.d.ts +3 -2
- package/esm/oas/parameter/Parameter.js +11 -5
- package/esm/oas/parameter/parameter-types.d.ts +10 -2
- package/esm/oas/parameter/parameter-types.js +3 -1
- package/esm/oas/requestBody/RequestBody.d.ts +11 -0
- package/esm/oas/requestBody/RequestBody.js +16 -2
- package/esm/oas/response/Response.d.ts +17 -1
- package/esm/oas/response/Response.js +24 -2
- package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
- package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
- package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
- package/esm/oas/server/Server.d.ts +8 -2
- package/esm/oas/server/Server.js +10 -1
- package/esm/oas/tag/Tag.d.ts +9 -0
- package/esm/oas/tag/Tag.js +9 -0
- package/esm/oas/webhook/Webhook.d.ts +4 -4
- package/esm/oas/webhook/Webhook.js +6 -6
- package/esm/parse/logBodyMediaTypes.d.ts +27 -0
- package/esm/parse/logBodyMediaTypes.js +50 -0
- package/esm/parse/toOasDialect.d.ts +8 -7
- package/esm/parse/toOasDialect.js +4 -2
- package/esm/parse/v3-0/methods.d.ts +11 -0
- package/esm/parse/v3-0/methods.js +16 -0
- package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
- package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
- package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
- package/esm/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
- package/esm/parse/v3-0/response/toResponseV3.js +4 -1
- package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
- package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
- package/esm/parse/v3-1/methods.d.ts +11 -0
- package/esm/parse/v3-1/methods.js +16 -0
- package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
- package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
- package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
- package/esm/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
- package/esm/parse/v3-1/response/toResponseV3.js +4 -1
- package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
- package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
- package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
- package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
- package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
- package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
- package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
- package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
- package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
- package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
- package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
- package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
- package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
- package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
- package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
- package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
- package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
- package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
- package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
- package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
- package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
- package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
- package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
- package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
- package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
- package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
- package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
- package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
- package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
- package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
- package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
- package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
- package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
- package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
- package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
- package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
- package/esm/parse/v3-2/array/toArray.d.ts +80 -0
- package/esm/parse/v3-2/array/toArray.js +165 -0
- package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
- package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
- package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
- package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
- package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
- package/esm/parse/v3-2/contact/toContactV3.js +18 -0
- package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
- package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
- package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
- package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
- package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
- package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
- package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
- package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
- package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
- package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
- package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
- package/esm/parse/v3-2/info/toInfoV3.js +23 -0
- package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
- package/esm/parse/v3-2/integer/toInteger.js +115 -0
- package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
- package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
- package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
- package/esm/parse/v3-2/link/toLinksV3.js +40 -0
- package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
- package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
- package/esm/parse/v3-2/methods.d.ts +17 -0
- package/esm/parse/v3-2/methods.js +21 -0
- package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
- package/esm/parse/v3-2/number/toNumber.js +115 -0
- package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
- package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
- package/esm/parse/v3-2/object/toObject.d.ts +10 -0
- package/esm/parse/v3-2/object/toObject.js +90 -0
- package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
- package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
- package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
- package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
- package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
- package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
- package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
- package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
- package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
- package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
- package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
- package/esm/parse/v3-2/ref/toRefV31.js +10 -0
- package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
- package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +47 -0
- package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
- package/esm/parse/v3-2/response/toResponseV3.js +59 -0
- package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
- package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
- package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
- package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
- package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
- package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
- package/esm/parse/v3-2/server/toServerV3.js +31 -0
- package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
- package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
- package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
- package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
- package/esm/parse/v3-2/string/toString.d.ts +146 -0
- package/esm/parse/v3-2/string/toString.js +211 -0
- package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
- package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
- package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
- package/esm/parse/v3-2/union/toUnion.js +68 -0
- package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
- package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
- package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
- package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
- package/esm/types/Method.d.ts +7 -4
- package/esm/types/Method.js +17 -4
- package/esm/types/Preview.d.ts +2 -1
- package/esm/types/SkmtcDocument.d.ts +6 -6
- package/package.json +1 -1
- package/script/_dnt.polyfills.d.ts +11 -0
- package/script/_dnt.polyfills.js +14 -0
- package/script/context/ParseContext.js +9 -1
- package/script/context/generateTypes.d.ts +14 -2
- package/script/context/generateTypes.js +5 -1
- package/script/dsl/GeneratorKeys.d.ts +2 -2
- package/script/dsl/GeneratorKeys.js +6 -3
- package/script/helpers/naming.d.ts +2 -1
- package/script/helpers/naming.js +4 -2
- package/script/mod.d.ts +1 -0
- package/script/mod.js +1 -0
- package/script/oas/discriminator/Discriminator.d.ts +3 -0
- package/script/oas/discriminator/Discriminator.js +7 -0
- package/script/oas/document/Document.d.ts +7 -0
- package/script/oas/document/Document.js +8 -0
- package/script/oas/example/Example.d.ts +10 -1
- package/script/oas/example/Example.js +16 -0
- package/script/oas/header/Header.d.ts +4 -2
- package/script/oas/header/Header.js +12 -5
- package/script/oas/mediaType/MediaType.d.ts +12 -0
- package/script/oas/mediaType/MediaType.js +24 -0
- package/script/oas/mediaType/jsonMediaType.d.ts +50 -0
- package/script/oas/mediaType/jsonMediaType.js +71 -0
- package/script/oas/mediaType/toContentSchema.d.ts +8 -0
- package/script/oas/mediaType/toContentSchema.js +10 -0
- package/script/oas/operation/Operation.d.ts +10 -2
- package/script/oas/operation/Operation.js +20 -7
- package/script/oas/parameter/Parameter.d.ts +3 -2
- package/script/oas/parameter/Parameter.js +11 -5
- package/script/oas/parameter/parameter-types.d.ts +10 -2
- package/script/oas/parameter/parameter-types.js +3 -1
- package/script/oas/requestBody/RequestBody.d.ts +11 -0
- package/script/oas/requestBody/RequestBody.js +16 -2
- package/script/oas/response/Response.d.ts +17 -1
- package/script/oas/response/Response.js +24 -2
- package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
- package/script/oas/securitySchemes/SecurityScheme.js +46 -1
- package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
- package/script/oas/server/Server.d.ts +8 -2
- package/script/oas/server/Server.js +10 -1
- package/script/oas/tag/Tag.d.ts +9 -0
- package/script/oas/tag/Tag.js +9 -0
- package/script/oas/webhook/Webhook.d.ts +4 -4
- package/script/oas/webhook/Webhook.js +6 -6
- package/script/parse/logBodyMediaTypes.d.ts +27 -0
- package/script/parse/logBodyMediaTypes.js +54 -0
- package/script/parse/toOasDialect.d.ts +8 -7
- package/script/parse/toOasDialect.js +4 -2
- package/script/parse/v3-0/methods.d.ts +11 -0
- package/script/parse/v3-0/methods.js +20 -0
- package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
- package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
- package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
- package/script/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
- package/script/parse/v3-0/response/toResponseV3.js +4 -1
- package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
- package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
- package/script/parse/v3-1/methods.d.ts +11 -0
- package/script/parse/v3-1/methods.js +20 -0
- package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
- package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
- package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
- package/script/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
- package/script/parse/v3-1/response/toResponseV3.js +4 -1
- package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
- package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
- package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
- package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
- package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
- package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
- package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
- package/script/parse/v3-2/_helpers/parseExample.js +41 -0
- package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
- package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
- package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
- package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
- package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
- package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
- package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
- package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
- package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
- package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
- package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
- package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
- package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
- package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
- package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
- package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
- package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
- package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
- package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
- package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
- package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
- package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
- package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
- package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
- package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
- package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
- package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
- package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
- package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
- package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
- package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
- package/script/parse/v3-2/_merge-all-of/types.js +38 -0
- package/script/parse/v3-2/array/toArray.d.ts +80 -0
- package/script/parse/v3-2/array/toArray.js +203 -0
- package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
- package/script/parse/v3-2/boolean/toBoolean.js +177 -0
- package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
- package/script/parse/v3-2/components/toComponentsV3.js +47 -0
- package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
- package/script/parse/v3-2/contact/toContactV3.js +22 -0
- package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
- package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
- package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
- package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
- package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
- package/script/parse/v3-2/example/toExamplesV3.js +149 -0
- package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
- package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
- package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
- package/script/parse/v3-2/header/toHeadersV3.js +51 -0
- package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
- package/script/parse/v3-2/info/toInfoV3.js +27 -0
- package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
- package/script/parse/v3-2/integer/toInteger.js +153 -0
- package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
- package/script/parse/v3-2/license/toLicenseV3.js +21 -0
- package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
- package/script/parse/v3-2/link/toLinksV3.js +44 -0
- package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
- package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
- package/script/parse/v3-2/methods.d.ts +17 -0
- package/script/parse/v3-2/methods.js +25 -0
- package/script/parse/v3-2/number/toNumber.d.ts +10 -0
- package/script/parse/v3-2/number/toNumber.js +152 -0
- package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
- package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
- package/script/parse/v3-2/object/toObject.d.ts +10 -0
- package/script/parse/v3-2/object/toObject.js +94 -0
- package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
- package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
- package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
- package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
- package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
- package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
- package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
- package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
- package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
- package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
- package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
- package/script/parse/v3-2/ref/toRefV31.js +14 -0
- package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
- package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +52 -0
- package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
- package/script/parse/v3-2/response/toResponseV3.js +65 -0
- package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
- package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
- package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
- package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
- package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
- package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
- package/script/parse/v3-2/server/toServerV3.js +37 -0
- package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
- package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
- package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
- package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
- package/script/parse/v3-2/string/toString.d.ts +146 -0
- package/script/parse/v3-2/string/toString.js +249 -0
- package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
- package/script/parse/v3-2/tag/toTagsV3.js +83 -0
- package/script/parse/v3-2/union/toUnion.d.ts +12 -0
- package/script/parse/v3-2/union/toUnion.js +72 -0
- package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
- package/script/parse/v3-2/unknown/toUnknown.js +23 -0
- package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
- package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
- package/script/types/Method.d.ts +7 -4
- package/script/types/Method.js +17 -4
- package/script/types/Preview.d.ts +2 -1
- package/script/types/SkmtcDocument.d.ts +6 -6
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkAtLeastOneTypeMatch = void 0;
|
|
4
|
+
const checkAtLeastOneTypeMatch = (first, second, type) => {
|
|
5
|
+
return ((first.type === type && second.type === type) ||
|
|
6
|
+
(first.type === type && !second.type) ||
|
|
7
|
+
(!first.type && second.type === type));
|
|
8
|
+
};
|
|
9
|
+
exports.checkAtLeastOneTypeMatch = checkAtLeastOneTypeMatch;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkEnumConflicts = void 0;
|
|
4
|
+
const is_equal_js_1 = require("./is-equal.js");
|
|
5
|
+
const checkEnumConflicts = (first, second) => {
|
|
6
|
+
if (first.enum && second.enum) {
|
|
7
|
+
const intersection = first.enum.filter(value => {
|
|
8
|
+
return second.enum.some(bValue => (0, is_equal_js_1.isEqual)(value, bValue));
|
|
9
|
+
});
|
|
10
|
+
if (intersection.length === 0) {
|
|
11
|
+
throw new Error(`Cannot merge schemas: enum values have no intersection. First: ${first.enum}, Second: ${second.enum}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.checkEnumConflicts = checkEnumConflicts;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkFormatConflicts = void 0;
|
|
4
|
+
const checkFormatConflicts = (a, b) => {
|
|
5
|
+
if (a.format && b.format && a.format !== b.format) {
|
|
6
|
+
throw new Error(`Cannot merge schemas: conflicting formats '${a.format}' and '${b.format}'`);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
exports.checkFormatConflicts = checkFormatConflicts;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkNumberConstraintsConflicts = void 0;
|
|
4
|
+
const checkNumberConstraintsConflicts = (a, b) => {
|
|
5
|
+
if (a.type === 'number' && b.type === 'number') {
|
|
6
|
+
const aMin = a.minimum ?? -Infinity;
|
|
7
|
+
const aMax = a.maximum ?? Infinity;
|
|
8
|
+
const bMin = b.minimum ?? -Infinity;
|
|
9
|
+
const bMax = b.maximum ?? Infinity;
|
|
10
|
+
if (aMin > bMax || bMin > aMax) {
|
|
11
|
+
throw new Error(`Cannot merge schemas: incompatible number ranges [${aMin},${aMax}] and [${bMin},${bMax}]`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.checkNumberConstraintsConflicts = checkNumberConstraintsConflicts;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkReadOnlyWriteOnlyConflicts = void 0;
|
|
4
|
+
const checkReadOnlyWriteOnlyConflicts = (a, b) => {
|
|
5
|
+
if ((a.readOnly && b.writeOnly) || (a.writeOnly && b.readOnly)) {
|
|
6
|
+
throw new Error('Cannot merge schemas: property cannot be both readOnly and writeOnly');
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
exports.checkReadOnlyWriteOnlyConflicts = checkReadOnlyWriteOnlyConflicts;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkTypeConflicts = void 0;
|
|
4
|
+
const checkTypeConflicts = (first, second) => {
|
|
5
|
+
if (first.type && second.type && first.type !== second.type) {
|
|
6
|
+
throw new Error(`Cannot merge schemas: conflicting types '${first.type}' and '${second.type}', ${JSON.stringify(first)} and ${JSON.stringify(second)}`);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
exports.checkTypeConflicts = checkTypeConflicts;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
type DecomposeIntersectionArgs = {
|
|
3
|
+
schema: OpenAPIV3.SchemaObject;
|
|
4
|
+
};
|
|
5
|
+
export declare const decomposeIntersection: ({ schema }: DecomposeIntersectionArgs) => (OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject)[];
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decomposeIntersection = void 0;
|
|
4
|
+
// Convert a schema object into an array of schemas that can be merged iteratively into a new schema
|
|
5
|
+
const decomposeIntersection = ({ schema }) => {
|
|
6
|
+
if (!schema.allOf) {
|
|
7
|
+
return [schema];
|
|
8
|
+
}
|
|
9
|
+
let location = 'before';
|
|
10
|
+
const output = {
|
|
11
|
+
before: [],
|
|
12
|
+
inside: [],
|
|
13
|
+
after: []
|
|
14
|
+
};
|
|
15
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
16
|
+
if (key === 'allOf') {
|
|
17
|
+
// do not decompose wrapper for unions (oneOf, anyOf)
|
|
18
|
+
output.inside = value;
|
|
19
|
+
location = 'after';
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
output[location].push([key, value]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return [
|
|
26
|
+
output.before.length > 0 ? Object.fromEntries(output.before) : undefined,
|
|
27
|
+
...output.inside,
|
|
28
|
+
output.after.length > 0 ? Object.fromEntries(output.after) : undefined
|
|
29
|
+
].filter(item => item !== undefined);
|
|
30
|
+
};
|
|
31
|
+
exports.decomposeIntersection = decomposeIntersection;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SchemaObject, ReferenceObject } from './types.js';
|
|
2
|
+
type DecomposeUnionArgs = {
|
|
3
|
+
schema: SchemaObject;
|
|
4
|
+
groupType: 'oneOf' | 'anyOf';
|
|
5
|
+
};
|
|
6
|
+
type DecomposeUnionReturn = {
|
|
7
|
+
beforeExcluded: SchemaObject;
|
|
8
|
+
decomposed: (SchemaObject | ReferenceObject)[];
|
|
9
|
+
afterExcluded: SchemaObject;
|
|
10
|
+
};
|
|
11
|
+
export declare const decomposeUnion: ({ schema, groupType }: DecomposeUnionArgs) => DecomposeUnionReturn;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decomposeUnion = void 0;
|
|
4
|
+
// Convert a schema object into an array of schemas that can be merged iteratively into a new schema
|
|
5
|
+
const decomposeUnion = ({ schema, groupType }) => {
|
|
6
|
+
if (!schema[groupType]) {
|
|
7
|
+
return {
|
|
8
|
+
beforeExcluded: {},
|
|
9
|
+
decomposed: [schema],
|
|
10
|
+
afterExcluded: {}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
let location = 'before';
|
|
14
|
+
const output = {
|
|
15
|
+
before: [],
|
|
16
|
+
inside: [],
|
|
17
|
+
after: []
|
|
18
|
+
};
|
|
19
|
+
for (const [key, value] of Object.entries(schema)) {
|
|
20
|
+
if (key === groupType) {
|
|
21
|
+
// do not decompose wrapper for unions (oneOf, anyOf)
|
|
22
|
+
output.inside = [{ [groupType]: value }];
|
|
23
|
+
location = 'after';
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
output[location].push([key, value]);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const { retained: before, excluded: beforeExcluded } = exclude(output.before);
|
|
30
|
+
const { retained: after, excluded: afterExcluded } = exclude(output.after);
|
|
31
|
+
const decomposed = [
|
|
32
|
+
before.length > 0 ? Object.fromEntries(before) : undefined,
|
|
33
|
+
...output.inside,
|
|
34
|
+
after.length > 0 ? Object.fromEntries(after) : undefined
|
|
35
|
+
].filter(item => item !== undefined);
|
|
36
|
+
const result = {
|
|
37
|
+
beforeExcluded: Object.fromEntries(beforeExcluded),
|
|
38
|
+
decomposed,
|
|
39
|
+
afterExcluded: Object.fromEntries(afterExcluded)
|
|
40
|
+
};
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
exports.decomposeUnion = decomposeUnion;
|
|
44
|
+
// Union-level keys: kept on the union (via beforeExcluded/afterExcluded)
|
|
45
|
+
// rather than cross-product-merged into each member. Merging a metadata key
|
|
46
|
+
// *into* a member would resolve `$ref` members (to merge it in), losing their
|
|
47
|
+
// names — `toUnion` already captures these on the union itself.
|
|
48
|
+
// (`not` is deliberately NOT excluded here — it has no faithful TypeScript
|
|
49
|
+
// representation, so a schema using it is refused upstream in `toSchemaV3`
|
|
50
|
+
// rather than silently dropped from the union.)
|
|
51
|
+
const excludedProperties = [
|
|
52
|
+
'discriminator',
|
|
53
|
+
'default',
|
|
54
|
+
'description',
|
|
55
|
+
'title',
|
|
56
|
+
'nullable',
|
|
57
|
+
'example',
|
|
58
|
+
'examples',
|
|
59
|
+
'readOnly',
|
|
60
|
+
'writeOnly',
|
|
61
|
+
'deprecated'
|
|
62
|
+
];
|
|
63
|
+
const exclude = (entries) => {
|
|
64
|
+
return entries.reduce((acc, [key, value]) => {
|
|
65
|
+
if (excludedProperties.includes(key)) {
|
|
66
|
+
acc.excluded.push([key, value]);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
acc.retained.push([key, value]);
|
|
70
|
+
}
|
|
71
|
+
return acc;
|
|
72
|
+
}, { retained: [], excluded: [] });
|
|
73
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.genericMerge = void 0;
|
|
4
|
+
const merge_enum_values_js_1 = require("./merge-enum-values.js");
|
|
5
|
+
const merge_properties_js_1 = require("./merge-properties.js");
|
|
6
|
+
const merge_required_js_1 = require("./merge-required.js");
|
|
7
|
+
const genericMerge = (first, second, getRef, typeCheck) => {
|
|
8
|
+
return {
|
|
9
|
+
...first,
|
|
10
|
+
...second,
|
|
11
|
+
...(0, merge_properties_js_1.mergeProperties)(first, second, getRef),
|
|
12
|
+
...(0, merge_required_js_1.mergeRequired)(first, second),
|
|
13
|
+
...(0, merge_enum_values_js_1.mergeEnumValues)(first, second, typeCheck)
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.genericMerge = genericMerge;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isEqual: (first: unknown, second: unknown) => boolean;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEqual = void 0;
|
|
4
|
+
const isEqual = (first, second) => {
|
|
5
|
+
if (Array.isArray(first) && Array.isArray(second)) {
|
|
6
|
+
if (first.length !== second.length)
|
|
7
|
+
return false;
|
|
8
|
+
return first.every((value, index) => (0, exports.isEqual)(value, second[index]));
|
|
9
|
+
}
|
|
10
|
+
if (typeof first === 'object' &&
|
|
11
|
+
typeof second === 'object' &&
|
|
12
|
+
first !== null &&
|
|
13
|
+
second !== null) {
|
|
14
|
+
const aKeys = Object.keys(first);
|
|
15
|
+
const bKeys = Object.keys(second);
|
|
16
|
+
if (aKeys.length !== bKeys.length)
|
|
17
|
+
return false;
|
|
18
|
+
return aKeys.every(key => bKeys.includes(key) &&
|
|
19
|
+
(0, exports.isEqual)(first[key], second[key]));
|
|
20
|
+
}
|
|
21
|
+
return first === second;
|
|
22
|
+
};
|
|
23
|
+
exports.isEqual = isEqual;
|
|
@@ -0,0 +1,80 @@
|
|
|
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.mergeArrayConstraints = mergeArrayConstraints;
|
|
37
|
+
const merge_js_1 = require("./merge.js");
|
|
38
|
+
const generic_merge_js_1 = require("./generic-merge.js");
|
|
39
|
+
const v = __importStar(require("valibot"));
|
|
40
|
+
const check_type_conflicts_js_1 = require("./check-type-conflicts.js");
|
|
41
|
+
function mergeArrayConstraints(first, second, getRef) {
|
|
42
|
+
(0, check_type_conflicts_js_1.checkTypeConflicts)(first, second);
|
|
43
|
+
if (!('items' in first) && !('items' in second)) {
|
|
44
|
+
throw new Error('Cannot merge array constraints: no items found');
|
|
45
|
+
}
|
|
46
|
+
const result = {
|
|
47
|
+
...(0, generic_merge_js_1.genericMerge)(first, second, getRef, v.array(v.any())),
|
|
48
|
+
type: 'array',
|
|
49
|
+
items: mergeItems(first, second, getRef)
|
|
50
|
+
};
|
|
51
|
+
// Merge minItems
|
|
52
|
+
if (first.minItems !== undefined || second.minItems !== undefined) {
|
|
53
|
+
const minA = first.minItems ?? 0;
|
|
54
|
+
const minB = second.minItems ?? 0;
|
|
55
|
+
result.minItems = Math.max(minA, minB);
|
|
56
|
+
}
|
|
57
|
+
// Merge maxItems
|
|
58
|
+
if (first.maxItems !== undefined || second.maxItems !== undefined) {
|
|
59
|
+
const maxA = first.maxItems ?? Infinity;
|
|
60
|
+
const maxB = second.maxItems ?? Infinity;
|
|
61
|
+
result.maxItems = Math.min(maxA, maxB);
|
|
62
|
+
}
|
|
63
|
+
// Merge uniqueItems
|
|
64
|
+
if (first.uniqueItems || second.uniqueItems) {
|
|
65
|
+
result.uniqueItems = true;
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
const mergeItems = (first, second, getRef) => {
|
|
70
|
+
if ('items' in first && 'items' in second && first.items && second.items) {
|
|
71
|
+
return (0, merge_js_1.mergeSchemasOrRefs)(first.items, second.items, getRef);
|
|
72
|
+
}
|
|
73
|
+
if ('items' in first && first.items) {
|
|
74
|
+
return first.items;
|
|
75
|
+
}
|
|
76
|
+
if ('items' in second && second.items) {
|
|
77
|
+
return second.items;
|
|
78
|
+
}
|
|
79
|
+
throw new Error('Cannot merge array constraints: no items found');
|
|
80
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
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.mergeBooleanConstraints = mergeBooleanConstraints;
|
|
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
|
+
function mergeBooleanConstraints(first, second, getRef) {
|
|
41
|
+
(0, check_type_conflicts_js_1.checkTypeConflicts)(first, second);
|
|
42
|
+
return (0, generic_merge_js_1.genericMerge)(first, second, getRef, v.boolean());
|
|
43
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
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.mergeEnumValues = mergeEnumValues;
|
|
37
|
+
const is_equal_js_1 = require("./is-equal.js");
|
|
38
|
+
const v = __importStar(require("valibot"));
|
|
39
|
+
const containsEnum = (schema) => {
|
|
40
|
+
return Array.isArray(schema.enum);
|
|
41
|
+
};
|
|
42
|
+
function mergeEnumValues(first, second, typeCheck) {
|
|
43
|
+
if (!containsEnum(first) && !containsEnum(second)) {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
if (!containsEnum(first) && containsEnum(second)) {
|
|
47
|
+
return {
|
|
48
|
+
enum: second.enum
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
if (containsEnum(first) && !containsEnum(second)) {
|
|
52
|
+
return {
|
|
53
|
+
enum: first.enum
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// Find intersection of enum values
|
|
57
|
+
const intersection = first
|
|
58
|
+
.enum.filter(value => second.enum.some(bValue => (0, is_equal_js_1.isEqual)(value, bValue)))
|
|
59
|
+
.map(value => (typeCheck ? (v.is(typeCheck, value) ? value : undefined) : value));
|
|
60
|
+
// If intersection is empty, throw error
|
|
61
|
+
if (intersection.length === 0) {
|
|
62
|
+
throw new Error('Merged schema has empty enum array');
|
|
63
|
+
}
|
|
64
|
+
// Return merged schema with intersection of enum values
|
|
65
|
+
return {
|
|
66
|
+
enum: intersection
|
|
67
|
+
};
|
|
68
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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.mergeIntegerConstraints = mergeIntegerConstraints;
|
|
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
|
+
function mergeIntegerConstraints(first, second, getRef) {
|
|
41
|
+
(0, check_type_conflicts_js_1.checkTypeConflicts)(first, second);
|
|
42
|
+
// First merge enum values if present
|
|
43
|
+
const result = (0, generic_merge_js_1.genericMerge)(first, second, getRef, v.number());
|
|
44
|
+
// Then merge other constraints
|
|
45
|
+
result.type = 'integer';
|
|
46
|
+
// Merge minimum and exclusiveMinimum
|
|
47
|
+
if (first.minimum !== undefined || second.minimum !== undefined) {
|
|
48
|
+
const minA = first.minimum ?? -Infinity;
|
|
49
|
+
const minB = second.minimum ?? -Infinity;
|
|
50
|
+
result.minimum = Math.max(minA, minB);
|
|
51
|
+
// If either minimum is exclusive, the result is exclusive
|
|
52
|
+
if (first.exclusiveMinimum || second.exclusiveMinimum) {
|
|
53
|
+
result.exclusiveMinimum = true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Merge maximum and exclusiveMaximum
|
|
57
|
+
if (first.maximum !== undefined || second.maximum !== undefined) {
|
|
58
|
+
const maxA = first.maximum ?? Infinity;
|
|
59
|
+
const maxB = second.maximum ?? Infinity;
|
|
60
|
+
result.maximum = Math.min(maxA, maxB);
|
|
61
|
+
// If either maximum is exclusive, the result is exclusive
|
|
62
|
+
if (first.exclusiveMaximum || second.exclusiveMaximum) {
|
|
63
|
+
result.exclusiveMaximum = true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Merge multipleOf
|
|
67
|
+
if (first.multipleOf !== undefined && second.multipleOf !== undefined) {
|
|
68
|
+
result.multipleOf = first.multipleOf * second.multipleOf;
|
|
69
|
+
}
|
|
70
|
+
else if (first.multipleOf !== undefined) {
|
|
71
|
+
result.multipleOf = first.multipleOf;
|
|
72
|
+
}
|
|
73
|
+
else if (second.multipleOf !== undefined) {
|
|
74
|
+
result.multipleOf = second.multipleOf;
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GetRefFn, SchemaOrReference, SchemaObject } from './types.js';
|
|
2
|
+
type MergeIntersectionArgs = {
|
|
3
|
+
schema: SchemaObject;
|
|
4
|
+
getRef: GetRefFn;
|
|
5
|
+
throwOnConflict?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const mergeIntersection: ({ schema, getRef }: MergeIntersectionArgs) => SchemaOrReference;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeIntersection = void 0;
|
|
4
|
+
const decompose_intersection_js_1 = require("./decompose-intersection.js");
|
|
5
|
+
const merge_js_1 = require("./merge.js");
|
|
6
|
+
const mergeIntersection = ({ schema, getRef }) => {
|
|
7
|
+
const decomposed = (0, decompose_intersection_js_1.decomposeIntersection)({ schema });
|
|
8
|
+
if (decomposed.length === 1) {
|
|
9
|
+
return decomposed[0];
|
|
10
|
+
}
|
|
11
|
+
const dereffed = decomposed.map(decomposed => {
|
|
12
|
+
return '$ref' in decomposed ? getRef(decomposed) : decomposed;
|
|
13
|
+
});
|
|
14
|
+
const result = dereffed.reduce((acc, decomposed) => {
|
|
15
|
+
const merged = (0, merge_js_1.mergeSchemasOrRefs)(acc, decomposed, getRef);
|
|
16
|
+
return merged;
|
|
17
|
+
}, {});
|
|
18
|
+
return result;
|
|
19
|
+
};
|
|
20
|
+
exports.mergeIntersection = mergeIntersection;
|