@skmtc/core 0.0.598 → 0.0.600
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/context/CoreContext.d.ts.map +1 -1
- package/esm/context/CoreContext.js +1 -0
- package/esm/context/GenerateContext.d.ts +2 -2
- package/esm/context/GenerateContext.d.ts.map +1 -1
- package/esm/context/GenerateContext.js +2 -2
- package/esm/context/ParseContext.d.ts +43 -4
- package/esm/context/ParseContext.d.ts.map +1 -1
- package/esm/context/ParseContext.js +56 -9
- package/esm/context/StackTrail.d.ts +1 -6
- package/esm/context/StackTrail.d.ts.map +1 -1
- package/esm/context/StackTrail.js +1 -23
- package/esm/context/types.d.ts +1 -0
- package/esm/context/types.d.ts.map +1 -1
- package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
- package/esm/dsl/model/ModelDriver.js +12 -16
- package/esm/dsl/model/toModelConfig.d.ts +3 -3
- package/esm/dsl/model/toModelConfig.d.ts.map +1 -1
- package/esm/dsl/model/toModelInsertable.d.ts +2 -2
- package/esm/dsl/model/toModelInsertable.d.ts.map +1 -1
- package/esm/dsl/model/toModelInsertable.js +3 -3
- package/esm/dsl/model/types.d.ts +2 -2
- package/esm/dsl/model/types.d.ts.map +1 -1
- package/esm/dsl/operation/toOperationConfig.d.ts +3 -3
- package/esm/dsl/operation/toOperationConfig.d.ts.map +1 -1
- package/esm/dsl/operation/toOperationConfig.js +3 -3
- package/esm/dsl/operation/toOperationInsertable.d.ts +2 -2
- package/esm/dsl/operation/toOperationInsertable.d.ts.map +1 -1
- package/esm/dsl/operation/toOperationInsertable.js +3 -3
- package/esm/dsl/operation/types.d.ts +2 -2
- package/esm/dsl/operation/types.d.ts.map +1 -1
- package/esm/helpers/refFns.d.ts +3 -0
- package/esm/helpers/refFns.d.ts.map +1 -1
- package/esm/helpers/refFns.js +12 -4
- package/esm/helpers/tracer.d.ts +2 -2
- package/esm/helpers/tracer.d.ts.map +1 -1
- package/esm/helpers/tracer.js +11 -5
- package/esm/mod.d.ts +0 -3
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +0 -3
- package/esm/oas/_helpers/parseDefault.d.ts +16 -0
- package/esm/oas/_helpers/parseDefault.d.ts.map +1 -0
- package/esm/oas/_helpers/parseDefault.js +16 -0
- package/esm/oas/_helpers/parseEnum.d.ts +16 -0
- package/esm/oas/_helpers/parseEnum.d.ts.map +1 -0
- package/esm/oas/_helpers/parseEnum.js +16 -0
- package/esm/oas/_helpers/parseExample.d.ts +16 -0
- package/esm/oas/_helpers/parseExample.d.ts.map +1 -0
- package/esm/oas/_helpers/parseExample.js +16 -0
- package/esm/oas/_helpers/parseFormat.d.ts +15 -0
- package/esm/oas/_helpers/parseFormat.d.ts.map +1 -0
- package/esm/oas/_helpers/parseFormat.js +16 -0
- package/esm/oas/_helpers/parseNullable.d.ts +12 -0
- package/esm/oas/_helpers/parseNullable.d.ts.map +1 -0
- package/esm/oas/_helpers/parseNullable.js +16 -0
- package/esm/oas/_merge-all-of/check-array-item-type-conflicts.d.ts +3 -0
- package/esm/oas/_merge-all-of/check-array-item-type-conflicts.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/check-array-item-type-conflicts.js +9 -0
- package/esm/oas/_merge-all-of/check-at-least-one-type-match.d.ts +5 -0
- package/esm/oas/_merge-all-of/check-at-least-one-type-match.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/check-at-least-one-type-match.js +5 -0
- package/esm/oas/_merge-all-of/check-enum-conflicts.d.ts +3 -0
- package/esm/oas/_merge-all-of/check-enum-conflicts.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/check-enum-conflicts.js +11 -0
- package/esm/oas/_merge-all-of/check-format-conflicts.d.ts +3 -0
- package/esm/oas/_merge-all-of/check-format-conflicts.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/check-format-conflicts.js +5 -0
- package/esm/oas/_merge-all-of/check-number-constraints-conflicts.d.ts +3 -0
- package/esm/oas/_merge-all-of/check-number-constraints-conflicts.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/check-number-constraints-conflicts.js +11 -0
- package/esm/oas/_merge-all-of/check-read-only-write-only-conflicts.d.ts +3 -0
- package/esm/oas/_merge-all-of/check-read-only-write-only-conflicts.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
- package/esm/oas/_merge-all-of/check-type-conflicts.d.ts +3 -0
- package/esm/oas/_merge-all-of/check-type-conflicts.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/check-type-conflicts.js +5 -0
- package/esm/oas/_merge-all-of/cross-product.d.ts +3 -0
- package/esm/oas/_merge-all-of/cross-product.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/cross-product.js +3 -0
- package/esm/oas/_merge-all-of/decompose-intersection.d.ts +7 -0
- package/esm/oas/_merge-all-of/decompose-intersection.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/decompose-intersection.js +27 -0
- package/esm/oas/_merge-all-of/decompose-union.d.ts +13 -0
- package/esm/oas/_merge-all-of/decompose-union.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/decompose-union.js +52 -0
- package/esm/oas/_merge-all-of/generic-merge.d.ts +4 -0
- package/esm/oas/_merge-all-of/generic-merge.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/generic-merge.js +12 -0
- package/esm/oas/_merge-all-of/is-equal.d.ts +2 -0
- package/esm/oas/_merge-all-of/is-equal.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/is-equal.js +19 -0
- package/esm/oas/_merge-all-of/merge-array-constraints.d.ts +3 -0
- package/esm/oas/_merge-all-of/merge-array-constraints.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-array-constraints.js +44 -0
- package/esm/oas/_merge-all-of/merge-boolean-constraints.d.ts +4 -0
- package/esm/oas/_merge-all-of/merge-boolean-constraints.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-boolean-constraints.js +7 -0
- package/esm/oas/_merge-all-of/merge-enum-values.d.ts +4 -0
- package/esm/oas/_merge-all-of/merge-enum-values.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-enum-values.js +32 -0
- package/esm/oas/_merge-all-of/merge-integer-constraints.d.ts +4 -0
- package/esm/oas/_merge-all-of/merge-integer-constraints.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-integer-constraints.js +41 -0
- package/esm/oas/_merge-all-of/merge-intersection.d.ts +9 -0
- package/esm/oas/_merge-all-of/merge-intersection.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-intersection.js +16 -0
- package/esm/oas/_merge-all-of/merge-number-constraints.d.ts +4 -0
- package/esm/oas/_merge-all-of/merge-number-constraints.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-number-constraints.js +41 -0
- package/esm/oas/_merge-all-of/merge-object-constraints.d.ts +6 -0
- package/esm/oas/_merge-all-of/merge-object-constraints.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-object-constraints.js +28 -0
- package/esm/oas/_merge-all-of/merge-properties.d.ts +3 -0
- package/esm/oas/_merge-all-of/merge-properties.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-properties.js +25 -0
- package/esm/oas/_merge-all-of/merge-required.d.ts +4 -0
- package/esm/oas/_merge-all-of/merge-required.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-required.js +10 -0
- package/esm/oas/_merge-all-of/merge-string-constraints.d.ts +4 -0
- package/esm/oas/_merge-all-of/merge-string-constraints.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-string-constraints.js +55 -0
- package/esm/oas/_merge-all-of/merge-union.d.ts +16 -0
- package/esm/oas/_merge-all-of/merge-union.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge-union.js +53 -0
- package/esm/oas/_merge-all-of/merge.d.ts +3 -0
- package/esm/oas/_merge-all-of/merge.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/merge.js +148 -0
- package/esm/oas/_merge-all-of/types.d.ts +15 -0
- package/esm/oas/_merge-all-of/types.d.ts.map +1 -0
- package/esm/oas/_merge-all-of/types.js +2 -0
- package/esm/oas/array/Array.d.ts +29 -9
- package/esm/oas/array/Array.d.ts.map +1 -1
- package/esm/oas/array/Array.js +46 -1
- package/esm/oas/array/array-types.d.ts +16 -3
- package/esm/oas/array/array-types.d.ts.map +1 -1
- package/esm/oas/array/array-types.js +11 -14
- package/esm/oas/array/toArray.d.ts +9 -0
- package/esm/oas/array/toArray.d.ts.map +1 -1
- package/esm/oas/array/toArray.js +58 -4
- package/esm/oas/boolean/Boolean.d.ts +19 -9
- package/esm/oas/boolean/Boolean.d.ts.map +1 -1
- package/esm/oas/boolean/Boolean.js +23 -1
- package/esm/oas/boolean/boolean-types.d.ts +4 -4
- package/esm/oas/boolean/boolean-types.d.ts.map +1 -1
- package/esm/oas/boolean/boolean-types.js +7 -7
- package/esm/oas/boolean/toBoolean.d.ts +10 -1
- package/esm/oas/boolean/toBoolean.d.ts.map +1 -1
- package/esm/oas/boolean/toBoolean.js +47 -2
- package/esm/oas/components/Components.d.ts +4 -0
- package/esm/oas/components/Components.d.ts.map +1 -1
- package/esm/oas/components/Components.js +4 -0
- package/esm/oas/components/toComponentsV3.d.ts.map +1 -1
- package/esm/oas/components/toComponentsV3.js +13 -16
- package/esm/oas/contact/toContactV3.d.ts.map +1 -1
- package/esm/oas/contact/toContactV3.js +3 -1
- package/esm/oas/discriminator/Discriminator.d.ts +2 -0
- package/esm/oas/discriminator/Discriminator.d.ts.map +1 -1
- package/esm/oas/discriminator/Discriminator.js +7 -0
- package/esm/oas/discriminator/discriminator-types.d.ts +6 -2
- package/esm/oas/discriminator/discriminator-types.d.ts.map +1 -1
- package/esm/oas/discriminator/discriminator-types.js +5 -5
- package/esm/oas/discriminator/toDiscriminatorV3.d.ts.map +1 -1
- package/esm/oas/discriminator/toDiscriminatorV3.js +6 -6
- package/esm/oas/document/Document.d.ts +4 -0
- package/esm/oas/document/Document.d.ts.map +1 -1
- package/esm/oas/document/Document.js +7 -0
- package/esm/oas/document/toDocumentFieldsV3.d.ts.map +1 -1
- package/esm/oas/document/toDocumentFieldsV3.js +6 -2
- package/esm/oas/example/example-types.d.ts +7 -2
- package/esm/oas/example/example-types.d.ts.map +1 -1
- package/esm/oas/example/example-types.js +6 -6
- package/esm/oas/example/toExamplesV3.d.ts +1 -2
- package/esm/oas/example/toExamplesV3.d.ts.map +1 -1
- package/esm/oas/example/toExamplesV3.js +10 -9
- package/esm/oas/header/toHeadersV3.d.ts +1 -2
- package/esm/oas/header/toHeadersV3.d.ts.map +1 -1
- package/esm/oas/header/toHeadersV3.js +8 -3
- package/esm/oas/info/toInfoV3.d.ts.map +1 -1
- package/esm/oas/info/toInfoV3.js +3 -1
- package/esm/oas/integer/Integer.d.ts +41 -11
- package/esm/oas/integer/Integer.d.ts.map +1 -1
- package/esm/oas/integer/Integer.js +67 -1
- package/esm/oas/integer/integer-types.d.ts +24 -3
- package/esm/oas/integer/integer-types.d.ts.map +1 -1
- package/esm/oas/integer/integer-types.js +18 -19
- package/esm/oas/integer/toInteger.d.ts +9 -1
- package/esm/oas/integer/toInteger.d.ts.map +1 -1
- package/esm/oas/integer/toInteger.js +45 -5
- package/esm/oas/license/toLicenseV3.d.ts.map +1 -1
- package/esm/oas/license/toLicenseV3.js +3 -1
- package/esm/oas/markdown/markdown-types.d.ts +2 -2
- package/esm/oas/markdown/markdown-types.d.ts.map +1 -1
- package/esm/oas/markdown/markdown-types.js +2 -2
- package/esm/oas/mediaType/mediaType-types.d.ts +12 -2
- package/esm/oas/mediaType/mediaType-types.d.ts.map +1 -1
- package/esm/oas/mediaType/mediaType-types.js +6 -6
- package/esm/oas/mediaType/toMediaTypeItemV3.d.ts.map +1 -1
- package/esm/oas/mediaType/toMediaTypeItemV3.js +3 -1
- package/esm/oas/number/Number.d.ts +49 -9
- package/esm/oas/number/Number.d.ts.map +1 -1
- package/esm/oas/number/Number.js +88 -1
- package/esm/oas/number/number-types.d.ts +27 -4
- package/esm/oas/number/number-types.d.ts.map +1 -1
- package/esm/oas/number/number-types.js +16 -13
- package/esm/oas/number/toNumber.d.ts +2 -2
- package/esm/oas/number/toNumber.d.ts.map +1 -1
- package/esm/oas/number/toNumber.js +50 -4
- package/esm/oas/object/Object.d.ts +25 -9
- package/esm/oas/object/Object.d.ts.map +1 -1
- package/esm/oas/object/Object.js +51 -1
- package/esm/oas/object/object-types.d.ts +7 -3
- package/esm/oas/object/object-types.d.ts.map +1 -1
- package/esm/oas/object/object-types.js +14 -18
- package/esm/oas/object/toObject.d.ts +1 -1
- package/esm/oas/object/toObject.d.ts.map +1 -1
- package/esm/oas/object/toObject.js +44 -7
- package/esm/oas/operation/Operation.d.ts +4 -1
- package/esm/oas/operation/Operation.d.ts.map +1 -1
- package/esm/oas/operation/Operation.js +7 -0
- package/esm/oas/operation/toOperationsV3.d.ts.map +1 -1
- package/esm/oas/operation/toOperationsV3.js +29 -11
- package/esm/oas/parameter/parameter-types.d.ts +59 -4
- package/esm/oas/parameter/parameter-types.d.ts.map +1 -1
- package/esm/oas/parameter/parameter-types.js +28 -30
- package/esm/oas/parameter/toParameterV3.d.ts +2 -3
- package/esm/oas/parameter/toParameterV3.d.ts.map +1 -1
- package/esm/oas/parameter/toParameterV3.js +10 -7
- package/esm/oas/pathItem/toPathItemV3.d.ts.map +1 -1
- package/esm/oas/pathItem/toPathItemV3.js +6 -1
- package/esm/oas/ref/Ref.d.ts +2 -1
- package/esm/oas/ref/Ref.d.ts.map +1 -1
- package/esm/oas/ref/Ref.js +2 -0
- package/esm/oas/ref/ref-types.d.ts +15 -9
- package/esm/oas/ref/ref-types.d.ts.map +1 -1
- package/esm/oas/ref/ref-types.js +45 -39
- package/esm/oas/ref/toRefV31.js +1 -1
- package/esm/oas/requestBody/toRequestBodiesV3.d.ts +1 -2
- package/esm/oas/requestBody/toRequestBodiesV3.d.ts.map +1 -1
- package/esm/oas/requestBody/toRequestBodiesV3.js +5 -7
- package/esm/oas/response/toResponseV3.d.ts +2 -3
- package/esm/oas/response/toResponseV3.d.ts.map +1 -1
- package/esm/oas/response/toResponseV3.js +22 -7
- package/esm/oas/schema/Schema.d.ts +1 -2
- package/esm/oas/schema/Schema.d.ts.map +1 -1
- package/esm/oas/schema/schema-types.d.ts +3 -5
- package/esm/oas/schema/schema-types.d.ts.map +1 -1
- package/esm/oas/schema/schema-types.js +3 -7
- package/esm/oas/schema/toSchemasV3.d.ts +2 -3
- package/esm/oas/schema/toSchemasV3.d.ts.map +1 -1
- package/esm/oas/schema/toSchemasV3.js +154 -23
- package/esm/oas/securityRequirement/SecurityRequirement.d.ts +11 -0
- package/esm/oas/securityRequirement/SecurityRequirement.d.ts.map +1 -0
- package/esm/oas/securityRequirement/SecurityRequirement.js +22 -0
- package/esm/oas/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/esm/oas/securityRequirement/toSecurityRequirement.d.ts.map +1 -0
- package/esm/oas/securityRequirement/toSecurityRequirement.js +9 -0
- package/esm/oas/securitySchemes/SecurityScheme.d.ts +113 -0
- package/esm/oas/securitySchemes/SecurityScheme.d.ts.map +1 -0
- package/esm/oas/securitySchemes/SecurityScheme.js +204 -0
- package/esm/oas/securitySchemes/security-scheme-types.d.ts +181 -0
- package/esm/oas/securitySchemes/security-scheme-types.d.ts.map +1 -0
- package/esm/oas/securitySchemes/security-scheme-types.js +56 -0
- package/esm/oas/securitySchemes/toSecuritySchemes.d.ts +11 -0
- package/esm/oas/securitySchemes/toSecuritySchemes.d.ts.map +1 -0
- package/esm/oas/securitySchemes/toSecuritySchemes.js +62 -0
- package/esm/oas/server/toServerV3.d.ts.map +1 -1
- package/esm/oas/server/toServerV3.js +3 -1
- package/esm/oas/specificationExtensions/toSpecificationExtensionsV3.d.ts +3 -1
- package/esm/oas/specificationExtensions/toSpecificationExtensionsV3.d.ts.map +1 -1
- package/esm/oas/specificationExtensions/toSpecificationExtensionsV3.js +2 -2
- package/esm/oas/string/String.d.ts +21 -11
- package/esm/oas/string/String.d.ts.map +1 -1
- package/esm/oas/string/String.js +23 -4
- package/esm/oas/string/string-types.d.ts +31 -16
- package/esm/oas/string/string-types.d.ts.map +1 -1
- package/esm/oas/string/string-types.js +30 -49
- package/esm/oas/string/toString.d.ts +11 -2
- package/esm/oas/string/toString.d.ts.map +1 -1
- package/esm/oas/string/toString.js +51 -5
- package/esm/oas/tag/toTagsV3.d.ts.map +1 -1
- package/esm/oas/tag/toTagsV3.js +3 -1
- package/esm/oas/union/Union.d.ts +5 -0
- package/esm/oas/union/Union.d.ts.map +1 -1
- package/esm/oas/union/Union.js +11 -0
- package/esm/oas/union/toUnion.d.ts +2 -1
- package/esm/oas/union/toUnion.d.ts.map +1 -1
- package/esm/oas/union/toUnion.js +12 -4
- package/esm/oas/union/union-types.d.ts +13 -2
- package/esm/oas/union/union-types.d.ts.map +1 -1
- package/esm/oas/union/union-types.js +8 -8
- package/esm/oas/unknown/toUnknown.d.ts.map +1 -1
- package/esm/oas/unknown/toUnknown.js +3 -1
- package/esm/oas/unknown/unknown-types.d.ts +8 -2
- package/esm/oas/unknown/unknown-types.d.ts.map +1 -1
- package/esm/oas/unknown/unknown-types.js +7 -7
- package/esm/types/EnrichmentRequest.d.ts +2 -2
- package/esm/types/EnrichmentRequest.d.ts.map +1 -1
- package/esm/types/Manifest.d.ts +58 -276
- package/esm/types/Manifest.d.ts.map +1 -1
- package/esm/types/Manifest.js +23 -29
- package/esm/types/Method.d.ts +3 -5
- package/esm/types/Method.d.ts.map +1 -1
- package/esm/types/Method.js +12 -6
- package/esm/types/Preview.d.ts +46 -158
- package/esm/types/Preview.d.ts.map +1 -1
- package/esm/types/Preview.js +25 -27
- package/esm/types/Results.d.ts +3 -9
- package/esm/types/Results.d.ts.map +1 -1
- package/esm/types/Results.js +9 -9
- package/esm/types/SchemaOptions.d.ts +20 -64
- package/esm/types/SchemaOptions.d.ts.map +1 -1
- package/esm/types/SchemaOptions.js +31 -31
- package/esm/types/Settings.d.ts +97 -437
- package/esm/types/Settings.d.ts.map +1 -1
- package/esm/types/Settings.js +38 -51
- package/esm/types/TypeSystem.d.ts +1 -11
- package/esm/types/TypeSystem.d.ts.map +1 -1
- package/esm/types/prettierConfig.d.ts +25 -2
- package/esm/types/prettierConfig.d.ts.map +1 -1
- package/esm/types/prettierConfig.js +24 -30
- package/package.json +4 -6
- package/script/context/CoreContext.d.ts.map +1 -1
- package/script/context/CoreContext.js +1 -0
- package/script/context/GenerateContext.d.ts +2 -2
- package/script/context/GenerateContext.d.ts.map +1 -1
- package/script/context/GenerateContext.js +2 -2
- package/script/context/ParseContext.d.ts +43 -4
- package/script/context/ParseContext.d.ts.map +1 -1
- package/script/context/ParseContext.js +79 -9
- package/script/context/StackTrail.d.ts +1 -6
- package/script/context/StackTrail.d.ts.map +1 -1
- package/script/context/StackTrail.js +1 -23
- package/script/context/types.d.ts +1 -0
- package/script/context/types.d.ts.map +1 -1
- package/script/dsl/model/ModelDriver.d.ts.map +1 -1
- package/script/dsl/model/ModelDriver.js +12 -16
- package/script/dsl/model/toModelConfig.d.ts +3 -3
- package/script/dsl/model/toModelConfig.d.ts.map +1 -1
- package/script/dsl/model/toModelInsertable.d.ts +2 -2
- package/script/dsl/model/toModelInsertable.d.ts.map +1 -1
- package/script/dsl/model/toModelInsertable.js +26 -3
- package/script/dsl/model/types.d.ts +2 -2
- package/script/dsl/model/types.d.ts.map +1 -1
- package/script/dsl/operation/toOperationConfig.d.ts +3 -3
- package/script/dsl/operation/toOperationConfig.d.ts.map +1 -1
- package/script/dsl/operation/toOperationConfig.js +26 -3
- package/script/dsl/operation/toOperationInsertable.d.ts +2 -2
- package/script/dsl/operation/toOperationInsertable.d.ts.map +1 -1
- package/script/dsl/operation/toOperationInsertable.js +26 -3
- package/script/dsl/operation/types.d.ts +2 -2
- package/script/dsl/operation/types.d.ts.map +1 -1
- package/script/helpers/refFns.d.ts +3 -0
- package/script/helpers/refFns.d.ts.map +1 -1
- package/script/helpers/refFns.js +14 -5
- package/script/helpers/tracer.d.ts +2 -2
- package/script/helpers/tracer.d.ts.map +1 -1
- package/script/helpers/tracer.js +11 -5
- package/script/mod.d.ts +0 -3
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +0 -3
- package/script/oas/_helpers/parseDefault.d.ts +16 -0
- package/script/oas/_helpers/parseDefault.d.ts.map +1 -0
- package/script/oas/_helpers/parseDefault.js +43 -0
- package/script/oas/_helpers/parseEnum.d.ts +16 -0
- package/script/oas/_helpers/parseEnum.d.ts.map +1 -0
- package/script/oas/_helpers/parseEnum.js +43 -0
- package/script/oas/_helpers/parseExample.d.ts +16 -0
- package/script/oas/_helpers/parseExample.d.ts.map +1 -0
- package/script/oas/_helpers/parseExample.js +43 -0
- package/script/oas/_helpers/parseFormat.d.ts +15 -0
- package/script/oas/_helpers/parseFormat.d.ts.map +1 -0
- package/script/oas/_helpers/parseFormat.js +43 -0
- package/script/oas/_helpers/parseNullable.d.ts +12 -0
- package/script/oas/_helpers/parseNullable.d.ts.map +1 -0
- package/script/oas/_helpers/parseNullable.js +43 -0
- package/script/oas/_merge-all-of/check-array-item-type-conflicts.d.ts +3 -0
- package/script/oas/_merge-all-of/check-array-item-type-conflicts.d.ts.map +1 -0
- package/script/oas/_merge-all-of/check-array-item-type-conflicts.js +13 -0
- package/script/oas/_merge-all-of/check-at-least-one-type-match.d.ts +5 -0
- package/script/oas/_merge-all-of/check-at-least-one-type-match.d.ts.map +1 -0
- package/script/oas/_merge-all-of/check-at-least-one-type-match.js +9 -0
- package/script/oas/_merge-all-of/check-enum-conflicts.d.ts +3 -0
- package/script/oas/_merge-all-of/check-enum-conflicts.d.ts.map +1 -0
- package/script/oas/_merge-all-of/check-enum-conflicts.js +15 -0
- package/script/oas/_merge-all-of/check-format-conflicts.d.ts +3 -0
- package/script/oas/_merge-all-of/check-format-conflicts.d.ts.map +1 -0
- package/script/oas/_merge-all-of/check-format-conflicts.js +9 -0
- package/script/oas/_merge-all-of/check-number-constraints-conflicts.d.ts +3 -0
- package/script/oas/_merge-all-of/check-number-constraints-conflicts.d.ts.map +1 -0
- package/script/oas/_merge-all-of/check-number-constraints-conflicts.js +15 -0
- package/script/oas/_merge-all-of/check-read-only-write-only-conflicts.d.ts +3 -0
- package/script/oas/_merge-all-of/check-read-only-write-only-conflicts.d.ts.map +1 -0
- package/script/oas/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
- package/script/oas/_merge-all-of/check-type-conflicts.d.ts +3 -0
- package/script/oas/_merge-all-of/check-type-conflicts.d.ts.map +1 -0
- package/script/oas/_merge-all-of/check-type-conflicts.js +9 -0
- package/script/oas/_merge-all-of/cross-product.d.ts +3 -0
- package/script/oas/_merge-all-of/cross-product.d.ts.map +1 -0
- package/script/oas/_merge-all-of/cross-product.js +7 -0
- package/script/oas/_merge-all-of/decompose-intersection.d.ts +7 -0
- package/script/oas/_merge-all-of/decompose-intersection.d.ts.map +1 -0
- package/script/oas/_merge-all-of/decompose-intersection.js +31 -0
- package/script/oas/_merge-all-of/decompose-union.d.ts +13 -0
- package/script/oas/_merge-all-of/decompose-union.d.ts.map +1 -0
- package/script/oas/_merge-all-of/decompose-union.js +56 -0
- package/script/oas/_merge-all-of/generic-merge.d.ts +4 -0
- package/script/oas/_merge-all-of/generic-merge.d.ts.map +1 -0
- package/script/oas/_merge-all-of/generic-merge.js +16 -0
- package/script/oas/_merge-all-of/is-equal.d.ts +2 -0
- package/script/oas/_merge-all-of/is-equal.d.ts.map +1 -0
- package/script/oas/_merge-all-of/is-equal.js +23 -0
- package/script/oas/_merge-all-of/merge-array-constraints.d.ts +3 -0
- package/script/oas/_merge-all-of/merge-array-constraints.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-array-constraints.js +70 -0
- package/script/oas/_merge-all-of/merge-boolean-constraints.d.ts +4 -0
- package/script/oas/_merge-all-of/merge-boolean-constraints.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-boolean-constraints.js +33 -0
- package/script/oas/_merge-all-of/merge-enum-values.d.ts +4 -0
- package/script/oas/_merge-all-of/merge-enum-values.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-enum-values.js +58 -0
- package/script/oas/_merge-all-of/merge-integer-constraints.d.ts +4 -0
- package/script/oas/_merge-all-of/merge-integer-constraints.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-integer-constraints.js +67 -0
- package/script/oas/_merge-all-of/merge-intersection.d.ts +9 -0
- package/script/oas/_merge-all-of/merge-intersection.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-intersection.js +20 -0
- package/script/oas/_merge-all-of/merge-number-constraints.d.ts +4 -0
- package/script/oas/_merge-all-of/merge-number-constraints.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-number-constraints.js +67 -0
- package/script/oas/_merge-all-of/merge-object-constraints.d.ts +6 -0
- package/script/oas/_merge-all-of/merge-object-constraints.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-object-constraints.js +55 -0
- package/script/oas/_merge-all-of/merge-properties.d.ts +3 -0
- package/script/oas/_merge-all-of/merge-properties.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-properties.js +29 -0
- package/script/oas/_merge-all-of/merge-required.d.ts +4 -0
- package/script/oas/_merge-all-of/merge-required.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-required.js +15 -0
- package/script/oas/_merge-all-of/merge-string-constraints.d.ts +4 -0
- package/script/oas/_merge-all-of/merge-string-constraints.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-string-constraints.js +81 -0
- package/script/oas/_merge-all-of/merge-union.d.ts +16 -0
- package/script/oas/_merge-all-of/merge-union.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge-union.js +58 -0
- package/script/oas/_merge-all-of/merge.d.ts +3 -0
- package/script/oas/_merge-all-of/merge.d.ts.map +1 -0
- package/script/oas/_merge-all-of/merge.js +152 -0
- package/script/oas/_merge-all-of/types.d.ts +15 -0
- package/script/oas/_merge-all-of/types.d.ts.map +1 -0
- package/script/oas/_merge-all-of/types.js +28 -0
- package/script/oas/array/Array.d.ts +29 -9
- package/script/oas/array/Array.d.ts.map +1 -1
- package/script/oas/array/Array.js +46 -1
- package/script/oas/array/array-types.d.ts +16 -3
- package/script/oas/array/array-types.d.ts.map +1 -1
- package/script/oas/array/array-types.js +34 -14
- package/script/oas/array/toArray.d.ts +9 -0
- package/script/oas/array/toArray.d.ts.map +1 -1
- package/script/oas/array/toArray.js +84 -6
- package/script/oas/boolean/Boolean.d.ts +19 -9
- package/script/oas/boolean/Boolean.d.ts.map +1 -1
- package/script/oas/boolean/Boolean.js +23 -1
- package/script/oas/boolean/boolean-types.d.ts +4 -4
- package/script/oas/boolean/boolean-types.d.ts.map +1 -1
- package/script/oas/boolean/boolean-types.js +30 -7
- package/script/oas/boolean/toBoolean.d.ts +10 -1
- package/script/oas/boolean/toBoolean.d.ts.map +1 -1
- package/script/oas/boolean/toBoolean.js +73 -4
- package/script/oas/components/Components.d.ts +4 -0
- package/script/oas/components/Components.d.ts.map +1 -1
- package/script/oas/components/Components.js +4 -0
- package/script/oas/components/toComponentsV3.d.ts.map +1 -1
- package/script/oas/components/toComponentsV3.js +13 -16
- package/script/oas/contact/toContactV3.d.ts.map +1 -1
- package/script/oas/contact/toContactV3.js +3 -1
- package/script/oas/discriminator/Discriminator.d.ts +2 -0
- package/script/oas/discriminator/Discriminator.d.ts.map +1 -1
- package/script/oas/discriminator/Discriminator.js +7 -0
- package/script/oas/discriminator/discriminator-types.d.ts +6 -2
- package/script/oas/discriminator/discriminator-types.d.ts.map +1 -1
- package/script/oas/discriminator/discriminator-types.js +28 -5
- package/script/oas/discriminator/toDiscriminatorV3.d.ts.map +1 -1
- package/script/oas/discriminator/toDiscriminatorV3.js +6 -6
- package/script/oas/document/Document.d.ts +4 -0
- package/script/oas/document/Document.d.ts.map +1 -1
- package/script/oas/document/Document.js +7 -0
- package/script/oas/document/toDocumentFieldsV3.d.ts.map +1 -1
- package/script/oas/document/toDocumentFieldsV3.js +6 -2
- package/script/oas/example/example-types.d.ts +7 -2
- package/script/oas/example/example-types.d.ts.map +1 -1
- package/script/oas/example/example-types.js +29 -6
- package/script/oas/example/toExamplesV3.d.ts +1 -2
- package/script/oas/example/toExamplesV3.d.ts.map +1 -1
- package/script/oas/example/toExamplesV3.js +10 -9
- package/script/oas/header/toHeadersV3.d.ts +1 -2
- package/script/oas/header/toHeadersV3.d.ts.map +1 -1
- package/script/oas/header/toHeadersV3.js +8 -3
- package/script/oas/info/toInfoV3.d.ts.map +1 -1
- package/script/oas/info/toInfoV3.js +3 -1
- package/script/oas/integer/Integer.d.ts +41 -11
- package/script/oas/integer/Integer.d.ts.map +1 -1
- package/script/oas/integer/Integer.js +67 -1
- package/script/oas/integer/integer-types.d.ts +24 -3
- package/script/oas/integer/integer-types.d.ts.map +1 -1
- package/script/oas/integer/integer-types.js +42 -20
- package/script/oas/integer/toInteger.d.ts +9 -1
- package/script/oas/integer/toInteger.d.ts.map +1 -1
- package/script/oas/integer/toInteger.js +70 -6
- package/script/oas/license/toLicenseV3.d.ts.map +1 -1
- package/script/oas/license/toLicenseV3.js +3 -1
- package/script/oas/markdown/markdown-types.d.ts +2 -2
- package/script/oas/markdown/markdown-types.d.ts.map +1 -1
- package/script/oas/markdown/markdown-types.js +25 -2
- package/script/oas/mediaType/mediaType-types.d.ts +12 -2
- package/script/oas/mediaType/mediaType-types.d.ts.map +1 -1
- package/script/oas/mediaType/mediaType-types.js +29 -6
- package/script/oas/mediaType/toMediaTypeItemV3.d.ts.map +1 -1
- package/script/oas/mediaType/toMediaTypeItemV3.js +3 -1
- package/script/oas/number/Number.d.ts +49 -9
- package/script/oas/number/Number.d.ts.map +1 -1
- package/script/oas/number/Number.js +88 -1
- package/script/oas/number/number-types.d.ts +27 -4
- package/script/oas/number/number-types.d.ts.map +1 -1
- package/script/oas/number/number-types.js +40 -14
- package/script/oas/number/toNumber.d.ts +2 -2
- package/script/oas/number/toNumber.d.ts.map +1 -1
- package/script/oas/number/toNumber.js +74 -5
- package/script/oas/object/Object.d.ts +25 -9
- package/script/oas/object/Object.d.ts.map +1 -1
- package/script/oas/object/Object.js +51 -1
- package/script/oas/object/object-types.d.ts +7 -3
- package/script/oas/object/object-types.d.ts.map +1 -1
- package/script/oas/object/object-types.js +37 -18
- package/script/oas/object/toObject.d.ts +1 -1
- package/script/oas/object/toObject.d.ts.map +1 -1
- package/script/oas/object/toObject.js +68 -8
- package/script/oas/operation/Operation.d.ts +4 -1
- package/script/oas/operation/Operation.d.ts.map +1 -1
- package/script/oas/operation/Operation.js +7 -0
- package/script/oas/operation/toOperationsV3.d.ts.map +1 -1
- package/script/oas/operation/toOperationsV3.js +29 -11
- package/script/oas/parameter/parameter-types.d.ts +59 -4
- package/script/oas/parameter/parameter-types.d.ts.map +1 -1
- package/script/oas/parameter/parameter-types.js +51 -30
- package/script/oas/parameter/toParameterV3.d.ts +2 -3
- package/script/oas/parameter/toParameterV3.d.ts.map +1 -1
- package/script/oas/parameter/toParameterV3.js +33 -7
- package/script/oas/pathItem/toPathItemV3.d.ts.map +1 -1
- package/script/oas/pathItem/toPathItemV3.js +6 -1
- package/script/oas/ref/Ref.d.ts +2 -1
- package/script/oas/ref/Ref.d.ts.map +1 -1
- package/script/oas/ref/Ref.js +2 -0
- package/script/oas/ref/ref-types.d.ts +15 -9
- package/script/oas/ref/ref-types.d.ts.map +1 -1
- package/script/oas/ref/ref-types.js +74 -45
- package/script/oas/ref/toRefV31.js +1 -1
- package/script/oas/requestBody/toRequestBodiesV3.d.ts +1 -2
- package/script/oas/requestBody/toRequestBodiesV3.d.ts.map +1 -1
- package/script/oas/requestBody/toRequestBodiesV3.js +5 -7
- package/script/oas/response/toResponseV3.d.ts +2 -3
- package/script/oas/response/toResponseV3.d.ts.map +1 -1
- package/script/oas/response/toResponseV3.js +22 -7
- package/script/oas/schema/Schema.d.ts +1 -2
- package/script/oas/schema/Schema.d.ts.map +1 -1
- package/script/oas/schema/schema-types.d.ts +3 -5
- package/script/oas/schema/schema-types.d.ts.map +1 -1
- package/script/oas/schema/schema-types.js +26 -7
- package/script/oas/schema/toSchemasV3.d.ts +2 -3
- package/script/oas/schema/toSchemasV3.d.ts.map +1 -1
- package/script/oas/schema/toSchemasV3.js +154 -23
- package/script/oas/securityRequirement/SecurityRequirement.d.ts +11 -0
- package/script/oas/securityRequirement/SecurityRequirement.d.ts.map +1 -0
- package/script/oas/securityRequirement/SecurityRequirement.js +26 -0
- package/script/oas/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/script/oas/securityRequirement/toSecurityRequirement.d.ts.map +1 -0
- package/script/oas/securityRequirement/toSecurityRequirement.js +13 -0
- package/script/oas/securitySchemes/SecurityScheme.d.ts +113 -0
- package/script/oas/securitySchemes/SecurityScheme.d.ts.map +1 -0
- package/script/oas/securitySchemes/SecurityScheme.js +211 -0
- package/script/oas/securitySchemes/security-scheme-types.d.ts +181 -0
- package/script/oas/securitySchemes/security-scheme-types.d.ts.map +1 -0
- package/script/oas/securitySchemes/security-scheme-types.js +82 -0
- package/script/oas/securitySchemes/toSecuritySchemes.d.ts +11 -0
- package/script/oas/securitySchemes/toSecuritySchemes.d.ts.map +1 -0
- package/script/oas/securitySchemes/toSecuritySchemes.js +89 -0
- package/script/oas/server/toServerV3.d.ts.map +1 -1
- package/script/oas/server/toServerV3.js +3 -1
- package/script/oas/specificationExtensions/toSpecificationExtensionsV3.d.ts +3 -1
- package/script/oas/specificationExtensions/toSpecificationExtensionsV3.d.ts.map +1 -1
- package/script/oas/specificationExtensions/toSpecificationExtensionsV3.js +2 -2
- package/script/oas/string/String.d.ts +21 -11
- package/script/oas/string/String.d.ts.map +1 -1
- package/script/oas/string/String.js +23 -4
- package/script/oas/string/string-types.d.ts +31 -16
- package/script/oas/string/string-types.d.ts.map +1 -1
- package/script/oas/string/string-types.js +53 -49
- package/script/oas/string/toString.d.ts +11 -2
- package/script/oas/string/toString.d.ts.map +1 -1
- package/script/oas/string/toString.js +77 -7
- package/script/oas/tag/toTagsV3.d.ts.map +1 -1
- package/script/oas/tag/toTagsV3.js +3 -1
- package/script/oas/union/Union.d.ts +5 -0
- package/script/oas/union/Union.d.ts.map +1 -1
- package/script/oas/union/Union.js +11 -0
- package/script/oas/union/toUnion.d.ts +2 -1
- package/script/oas/union/toUnion.d.ts.map +1 -1
- package/script/oas/union/toUnion.js +12 -4
- package/script/oas/union/union-types.d.ts +13 -2
- package/script/oas/union/union-types.d.ts.map +1 -1
- package/script/oas/union/union-types.js +31 -8
- package/script/oas/unknown/toUnknown.d.ts.map +1 -1
- package/script/oas/unknown/toUnknown.js +3 -1
- package/script/oas/unknown/unknown-types.d.ts +8 -2
- package/script/oas/unknown/unknown-types.d.ts.map +1 -1
- package/script/oas/unknown/unknown-types.js +30 -7
- package/script/types/EnrichmentRequest.d.ts +2 -2
- package/script/types/EnrichmentRequest.d.ts.map +1 -1
- package/script/types/Manifest.d.ts +58 -276
- package/script/types/Manifest.d.ts.map +1 -1
- package/script/types/Manifest.js +45 -28
- package/script/types/Method.d.ts +3 -5
- package/script/types/Method.d.ts.map +1 -1
- package/script/types/Method.js +35 -6
- package/script/types/Preview.d.ts +46 -158
- package/script/types/Preview.d.ts.map +1 -1
- package/script/types/Preview.js +48 -27
- package/script/types/Results.d.ts +3 -9
- package/script/types/Results.d.ts.map +1 -1
- package/script/types/Results.js +33 -10
- package/script/types/SchemaOptions.d.ts +20 -64
- package/script/types/SchemaOptions.d.ts.map +1 -1
- package/script/types/SchemaOptions.js +54 -31
- package/script/types/Settings.d.ts +97 -437
- package/script/types/Settings.d.ts.map +1 -1
- package/script/types/Settings.js +61 -51
- package/script/types/TypeSystem.d.ts +1 -11
- package/script/types/TypeSystem.d.ts.map +1 -1
- package/script/types/prettierConfig.d.ts +25 -2
- package/script/types/prettierConfig.d.ts.map +1 -1
- package/script/types/prettierConfig.js +47 -30
- package/esm/oas/intersection/Intersection.d.ts +0 -30
- package/esm/oas/intersection/Intersection.d.ts.map +0 -1
- package/esm/oas/intersection/Intersection.js +0 -83
- package/esm/oas/intersection/intersection-types.d.ts +0 -14
- package/esm/oas/intersection/intersection-types.d.ts.map +0 -1
- package/esm/oas/intersection/intersection-types.js +0 -12
- package/esm/oas/intersection/toIntersection.d.ts +0 -11
- package/esm/oas/intersection/toIntersection.d.ts.map +0 -1
- package/esm/oas/intersection/toIntersection.js +0 -16
- package/esm/oas/null/null-types.d.ts +0 -10
- package/esm/oas/null/null-types.d.ts.map +0 -1
- package/esm/oas/null/null-types.js +0 -8
- package/script/oas/intersection/Intersection.d.ts +0 -30
- package/script/oas/intersection/Intersection.d.ts.map +0 -1
- package/script/oas/intersection/Intersection.js +0 -87
- package/script/oas/intersection/intersection-types.d.ts +0 -14
- package/script/oas/intersection/intersection-types.d.ts.map +0 -1
- package/script/oas/intersection/intersection-types.js +0 -15
- package/script/oas/intersection/toIntersection.d.ts +0 -11
- package/script/oas/intersection/toIntersection.d.ts.map +0 -1
- package/script/oas/intersection/toIntersection.js +0 -20
- package/script/oas/null/null-types.d.ts +0 -10
- package/script/oas/null/null-types.d.ts.map +0 -1
- package/script/oas/null/null-types.js +0 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-equal.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/is-equal.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAW,OAAO,UAAU,OAAO,KAAG,OAuBzD,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const isEqual = (first, second) => {
|
|
2
|
+
if (Array.isArray(first) && Array.isArray(second)) {
|
|
3
|
+
if (first.length !== second.length)
|
|
4
|
+
return false;
|
|
5
|
+
return first.every((value, index) => isEqual(value, second[index]));
|
|
6
|
+
}
|
|
7
|
+
if (typeof first === 'object' &&
|
|
8
|
+
typeof second === 'object' &&
|
|
9
|
+
first !== null &&
|
|
10
|
+
second !== null) {
|
|
11
|
+
const aKeys = Object.keys(first);
|
|
12
|
+
const bKeys = Object.keys(second);
|
|
13
|
+
if (aKeys.length !== bKeys.length)
|
|
14
|
+
return false;
|
|
15
|
+
return aKeys.every(key => bKeys.includes(key) &&
|
|
16
|
+
isEqual(first[key], second[key]));
|
|
17
|
+
}
|
|
18
|
+
return first === second;
|
|
19
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ArraySchemaObject, GetRefFn, SchemaObject } from './types.js';
|
|
2
|
+
export declare function mergeArrayConstraints(first: ArraySchemaObject | SchemaObject, second: ArraySchemaObject | SchemaObject, getRef: GetRefFn): ArraySchemaObject;
|
|
3
|
+
//# sourceMappingURL=merge-array-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-array-constraints.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-array-constraints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAA;AAI9F,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,GAAG,YAAY,EACvC,MAAM,EAAE,iBAAiB,GAAG,YAAY,EACxC,MAAM,EAAE,QAAQ,GACf,iBAAiB,CAiCnB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { mergeSchemasOrRefs } from './merge.js';
|
|
2
|
+
import { genericMerge } from './generic-merge.js';
|
|
3
|
+
import * as v from 'valibot';
|
|
4
|
+
import { checkTypeConflicts } from './check-type-conflicts.js';
|
|
5
|
+
export function mergeArrayConstraints(first, second, getRef) {
|
|
6
|
+
checkTypeConflicts(first, second);
|
|
7
|
+
if (!('items' in first) && !('items' in second)) {
|
|
8
|
+
throw new Error('Cannot merge array constraints: no items found');
|
|
9
|
+
}
|
|
10
|
+
const result = {
|
|
11
|
+
...genericMerge(first, second, getRef, v.array(v.any())),
|
|
12
|
+
type: 'array',
|
|
13
|
+
items: mergeItems(first, second, getRef)
|
|
14
|
+
};
|
|
15
|
+
// Merge minItems
|
|
16
|
+
if (first.minItems !== undefined || second.minItems !== undefined) {
|
|
17
|
+
const minA = first.minItems ?? 0;
|
|
18
|
+
const minB = second.minItems ?? 0;
|
|
19
|
+
result.minItems = Math.max(minA, minB);
|
|
20
|
+
}
|
|
21
|
+
// Merge maxItems
|
|
22
|
+
if (first.maxItems !== undefined || second.maxItems !== undefined) {
|
|
23
|
+
const maxA = first.maxItems ?? Infinity;
|
|
24
|
+
const maxB = second.maxItems ?? Infinity;
|
|
25
|
+
result.maxItems = Math.min(maxA, maxB);
|
|
26
|
+
}
|
|
27
|
+
// Merge uniqueItems
|
|
28
|
+
if (first.uniqueItems || second.uniqueItems) {
|
|
29
|
+
result.uniqueItems = true;
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
const mergeItems = (first, second, getRef) => {
|
|
34
|
+
if ('items' in first && 'items' in second && first.items && second.items) {
|
|
35
|
+
return mergeSchemasOrRefs(first.items, second.items, getRef);
|
|
36
|
+
}
|
|
37
|
+
if ('items' in first && first.items) {
|
|
38
|
+
return first.items;
|
|
39
|
+
}
|
|
40
|
+
if ('items' in second && second.items) {
|
|
41
|
+
return second.items;
|
|
42
|
+
}
|
|
43
|
+
throw new Error('Cannot merge array constraints: no items found');
|
|
44
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
import type { GetRefFn } from './types.js';
|
|
3
|
+
export declare function mergeBooleanConstraints(first: OpenAPIV3.SchemaObject, second: OpenAPIV3.SchemaObject, getRef: GetRefFn): OpenAPIV3.SchemaObject;
|
|
4
|
+
//# sourceMappingURL=merge-boolean-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-boolean-constraints.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-boolean-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,CAAC,YAAY,EAC7B,MAAM,EAAE,SAAS,CAAC,YAAY,EAC9B,MAAM,EAAE,QAAQ,GACf,SAAS,CAAC,YAAY,CAIxB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { genericMerge } from './generic-merge.js';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { checkTypeConflicts } from './check-type-conflicts.js';
|
|
4
|
+
export function mergeBooleanConstraints(first, second, getRef) {
|
|
5
|
+
checkTypeConflicts(first, second);
|
|
6
|
+
return genericMerge(first, second, getRef, v.boolean());
|
|
7
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SchemaObject } from './types.js';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
export declare function mergeEnumValues<T>(first: SchemaObject, second: SchemaObject, typeCheck?: v.GenericSchema<T>): Pick<SchemaObject, 'enum'>;
|
|
4
|
+
//# sourceMappingURL=merge-enum-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-enum-values.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-enum-values.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAM5B,wBAAgB,eAAe,CAAC,CAAC,EAC/B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAC7B,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CA+B5B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { isEqual } from './is-equal.js';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
const containsEnum = (schema) => {
|
|
4
|
+
return Array.isArray(schema.enum);
|
|
5
|
+
};
|
|
6
|
+
export function mergeEnumValues(first, second, typeCheck) {
|
|
7
|
+
if (!containsEnum(first) && !containsEnum(second)) {
|
|
8
|
+
return {};
|
|
9
|
+
}
|
|
10
|
+
if (!containsEnum(first) && containsEnum(second)) {
|
|
11
|
+
return {
|
|
12
|
+
enum: second.enum
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (containsEnum(first) && !containsEnum(second)) {
|
|
16
|
+
return {
|
|
17
|
+
enum: first.enum
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
// Find intersection of enum values
|
|
21
|
+
const intersection = first
|
|
22
|
+
.enum.filter(value => second.enum.some(bValue => isEqual(value, bValue)))
|
|
23
|
+
.map(value => (typeCheck ? v.parse(typeCheck, value) : value));
|
|
24
|
+
// If intersection is empty, throw error
|
|
25
|
+
if (intersection.length === 0) {
|
|
26
|
+
throw new Error('Merged schema has empty enum array');
|
|
27
|
+
}
|
|
28
|
+
// Return merged schema with intersection of enum values
|
|
29
|
+
return {
|
|
30
|
+
enum: intersection
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
import type { GetRefFn } from './types.js';
|
|
3
|
+
export declare function mergeIntegerConstraints(first: OpenAPIV3.SchemaObject, second: OpenAPIV3.SchemaObject, getRef: GetRefFn): OpenAPIV3.SchemaObject;
|
|
4
|
+
//# sourceMappingURL=merge-integer-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-integer-constraints.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-integer-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,CAAC,YAAY,EAC7B,MAAM,EAAE,SAAS,CAAC,YAAY,EAC9B,MAAM,EAAE,QAAQ,GACf,SAAS,CAAC,YAAY,CA2CxB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { genericMerge } from './generic-merge.js';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { checkTypeConflicts } from './check-type-conflicts.js';
|
|
4
|
+
export function mergeIntegerConstraints(first, second, getRef) {
|
|
5
|
+
checkTypeConflicts(first, second);
|
|
6
|
+
// First merge enum values if present
|
|
7
|
+
const result = genericMerge(first, second, getRef, v.number());
|
|
8
|
+
// Then merge other constraints
|
|
9
|
+
result.type = 'integer';
|
|
10
|
+
// Merge minimum and exclusiveMinimum
|
|
11
|
+
if (first.minimum !== undefined || second.minimum !== undefined) {
|
|
12
|
+
const minA = first.minimum ?? -Infinity;
|
|
13
|
+
const minB = second.minimum ?? -Infinity;
|
|
14
|
+
result.minimum = Math.max(minA, minB);
|
|
15
|
+
// If either minimum is exclusive, the result is exclusive
|
|
16
|
+
if (first.exclusiveMinimum || second.exclusiveMinimum) {
|
|
17
|
+
result.exclusiveMinimum = true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Merge maximum and exclusiveMaximum
|
|
21
|
+
if (first.maximum !== undefined || second.maximum !== undefined) {
|
|
22
|
+
const maxA = first.maximum ?? Infinity;
|
|
23
|
+
const maxB = second.maximum ?? Infinity;
|
|
24
|
+
result.maximum = Math.min(maxA, maxB);
|
|
25
|
+
// If either maximum is exclusive, the result is exclusive
|
|
26
|
+
if (first.exclusiveMaximum || second.exclusiveMaximum) {
|
|
27
|
+
result.exclusiveMaximum = true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Merge multipleOf
|
|
31
|
+
if (first.multipleOf !== undefined && second.multipleOf !== undefined) {
|
|
32
|
+
result.multipleOf = first.multipleOf * second.multipleOf;
|
|
33
|
+
}
|
|
34
|
+
else if (first.multipleOf !== undefined) {
|
|
35
|
+
result.multipleOf = first.multipleOf;
|
|
36
|
+
}
|
|
37
|
+
else if (second.multipleOf !== undefined) {
|
|
38
|
+
result.multipleOf = second.multipleOf;
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
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 {};
|
|
9
|
+
//# sourceMappingURL=merge-intersection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-intersection.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-intersection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG3E,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,QAAQ,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,iBAAiB,uBAAwB,qBAAqB,KAAG,iBAkB7E,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { decomposeIntersection } from './decompose-intersection.js';
|
|
2
|
+
import { mergeSchemasOrRefs } from './merge.js';
|
|
3
|
+
export const mergeIntersection = ({ schema, getRef }) => {
|
|
4
|
+
const decomposed = decomposeIntersection({ schema });
|
|
5
|
+
if (decomposed.length === 1) {
|
|
6
|
+
return decomposed[0];
|
|
7
|
+
}
|
|
8
|
+
const dereffed = decomposed.map(decomposed => {
|
|
9
|
+
return '$ref' in decomposed ? getRef(decomposed) : decomposed;
|
|
10
|
+
});
|
|
11
|
+
const result = dereffed.reduce((acc, decomposed) => {
|
|
12
|
+
const merged = mergeSchemasOrRefs(acc, decomposed, getRef);
|
|
13
|
+
return merged;
|
|
14
|
+
}, {});
|
|
15
|
+
return result;
|
|
16
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
import type { GetRefFn } from './types.js';
|
|
3
|
+
export declare function mergeNumberConstraints(first: OpenAPIV3.SchemaObject, second: OpenAPIV3.SchemaObject, getRef: GetRefFn): OpenAPIV3.SchemaObject;
|
|
4
|
+
//# sourceMappingURL=merge-number-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-number-constraints.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-number-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,CAAC,YAAY,EAC7B,MAAM,EAAE,SAAS,CAAC,YAAY,EAC9B,MAAM,EAAE,QAAQ,GACf,SAAS,CAAC,YAAY,CA2CxB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { genericMerge } from './generic-merge.js';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { checkTypeConflicts } from './check-type-conflicts.js';
|
|
4
|
+
export function mergeNumberConstraints(first, second, getRef) {
|
|
5
|
+
checkTypeConflicts(first, second);
|
|
6
|
+
// First merge enum values if present
|
|
7
|
+
const result = genericMerge(first, second, getRef, v.number());
|
|
8
|
+
// Then merge other constraints
|
|
9
|
+
result.type = 'number';
|
|
10
|
+
// Merge minimum and exclusiveMinimum
|
|
11
|
+
if (first.minimum !== undefined || second.minimum !== undefined) {
|
|
12
|
+
const minA = first.minimum ?? -Infinity;
|
|
13
|
+
const minB = second.minimum ?? -Infinity;
|
|
14
|
+
result.minimum = Math.max(minA, minB);
|
|
15
|
+
// If either minimum is exclusive, the result is exclusive
|
|
16
|
+
if (first.exclusiveMinimum || second.exclusiveMinimum) {
|
|
17
|
+
result.exclusiveMinimum = true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Merge maximum and exclusiveMaximum
|
|
21
|
+
if (first.maximum !== undefined || second.maximum !== undefined) {
|
|
22
|
+
const maxA = first.maximum ?? Infinity;
|
|
23
|
+
const maxB = second.maximum ?? Infinity;
|
|
24
|
+
result.maximum = Math.min(maxA, maxB);
|
|
25
|
+
// If either maximum is exclusive, the result is exclusive
|
|
26
|
+
if (first.exclusiveMaximum || second.exclusiveMaximum) {
|
|
27
|
+
result.exclusiveMaximum = true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Merge multipleOf
|
|
31
|
+
if (first.multipleOf !== undefined && second.multipleOf !== undefined) {
|
|
32
|
+
result.multipleOf = first.multipleOf * second.multipleOf;
|
|
33
|
+
}
|
|
34
|
+
else if (first.multipleOf !== undefined) {
|
|
35
|
+
result.multipleOf = first.multipleOf;
|
|
36
|
+
}
|
|
37
|
+
else if (second.multipleOf !== undefined) {
|
|
38
|
+
result.multipleOf = second.multipleOf;
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
type SchemaObject = OpenAPIV3.SchemaObject;
|
|
3
|
+
type ReferenceObject = OpenAPIV3.ReferenceObject;
|
|
4
|
+
export declare const mergeObjectConstraints: (first: SchemaObject, second: SchemaObject, getRef: (ref: ReferenceObject) => SchemaObject) => SchemaObject;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=merge-object-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-object-constraints.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-object-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAK9C,KAAK,YAAY,GAAG,SAAS,CAAC,YAAY,CAAA;AAC1C,KAAK,eAAe,GAAG,SAAS,CAAC,eAAe,CAAA;AAEhD,eAAO,MAAM,sBAAsB,UAC1B,YAAY,UACX,YAAY,UACZ,CAAC,GAAG,EAAE,eAAe,KAAK,YAAY,KAC7C,YAmCF,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { mergeSchemasOrRefs } from './merge.js';
|
|
2
|
+
import { genericMerge } from './generic-merge.js';
|
|
3
|
+
import * as v from 'valibot';
|
|
4
|
+
import { checkTypeConflicts } from './check-type-conflicts.js';
|
|
5
|
+
export const mergeObjectConstraints = (first, second, getRef) => {
|
|
6
|
+
// Check for type conflicts
|
|
7
|
+
checkTypeConflicts(first, second);
|
|
8
|
+
const result = genericMerge(first, second, getRef, v.record(v.string(), v.any()));
|
|
9
|
+
if (typeof second.additionalProperties === 'object' &&
|
|
10
|
+
typeof first.additionalProperties === 'object') {
|
|
11
|
+
// If both have additionalProperties as schemas, merge them
|
|
12
|
+
result.additionalProperties = mergeSchemasOrRefs(first.additionalProperties, second.additionalProperties, getRef);
|
|
13
|
+
}
|
|
14
|
+
else if (second.additionalProperties !== undefined) {
|
|
15
|
+
result.additionalProperties = second.additionalProperties;
|
|
16
|
+
}
|
|
17
|
+
else if (first.additionalProperties !== undefined) {
|
|
18
|
+
result.additionalProperties = first.additionalProperties;
|
|
19
|
+
}
|
|
20
|
+
// Merge minProperties and maxProperties
|
|
21
|
+
if (second.minProperties !== undefined || first.minProperties !== undefined) {
|
|
22
|
+
result.minProperties = Math.max(second.minProperties ?? 0, first.minProperties ?? 0);
|
|
23
|
+
}
|
|
24
|
+
if (second.maxProperties !== undefined || first.maxProperties !== undefined) {
|
|
25
|
+
result.maxProperties = Math.min(second.maxProperties ?? Infinity, first.maxProperties ?? Infinity);
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-properties.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,eAAe,UACnB,YAAY,UACX,YAAY,UACZ,QAAQ,KACf,YAAY,GAAG,SAsBjB,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { mergeSchemasOrRefs } from './merge.js';
|
|
2
|
+
export const mergeProperties = (first, second, getRef) => {
|
|
3
|
+
if (containsProperties(first, second)) {
|
|
4
|
+
const properties = { ...first.properties };
|
|
5
|
+
if (!properties) {
|
|
6
|
+
return {
|
|
7
|
+
properties: second.properties
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
for (const key in second.properties) {
|
|
11
|
+
if (key in properties) {
|
|
12
|
+
properties[key] = mergeSchemasOrRefs(properties[key], second.properties[key], getRef);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
properties[key] = second.properties[key];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
properties
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const containsProperties = (first, second) => {
|
|
24
|
+
return Boolean(first.properties || second.properties);
|
|
25
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
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;
|
|
4
|
+
//# sourceMappingURL=merge-required.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-required.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-required.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,gBAAgB,UAAW,YAAY,UAAU,YAAY,KAAG,OAE5E,CAAA;AAED,eAAO,MAAM,aAAa,UACjB,YAAY,UACX,YAAY,KACnB,YAAY,GAAG,SAMjB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const containsRequired = (first, second) => {
|
|
2
|
+
return Boolean(first.required || second.required);
|
|
3
|
+
};
|
|
4
|
+
export const mergeRequired = (first, second) => {
|
|
5
|
+
if (containsRequired(first, second)) {
|
|
6
|
+
return {
|
|
7
|
+
required: [...(first.required ?? []), ...(second.required ?? [])]
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
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;
|
|
4
|
+
//# sourceMappingURL=merge-string-constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-string-constraints.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-string-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAI1C,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,CAAC,YAAY,EAC7B,MAAM,EAAE,SAAS,CAAC,YAAY,EAC9B,MAAM,EAAE,QAAQ,GACf,SAAS,CAAC,YAAY,CAwDxB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { genericMerge } from './generic-merge.js';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { checkTypeConflicts } from './check-type-conflicts.js';
|
|
4
|
+
import { checkAtLeastOneTypeMatch } from './check-at-least-one-type-match.js';
|
|
5
|
+
export function mergeStringConstraints(first, second, getRef) {
|
|
6
|
+
checkTypeConflicts(first, second);
|
|
7
|
+
if (!checkAtLeastOneTypeMatch(first, second, 'string')) {
|
|
8
|
+
return genericMerge(first, second, getRef);
|
|
9
|
+
}
|
|
10
|
+
// First merge enum values if present
|
|
11
|
+
const result = genericMerge(first, second, getRef, v.string());
|
|
12
|
+
// Then merge other constraints
|
|
13
|
+
result.type = 'string';
|
|
14
|
+
// Merge minLength
|
|
15
|
+
if (first.minLength !== undefined || second.minLength !== undefined) {
|
|
16
|
+
const minA = first.minLength ?? 0;
|
|
17
|
+
const minB = second.minLength ?? 0;
|
|
18
|
+
result.minLength = Math.max(minA, minB);
|
|
19
|
+
}
|
|
20
|
+
// Merge maxLength
|
|
21
|
+
if (first.maxLength !== undefined || second.maxLength !== undefined) {
|
|
22
|
+
const maxA = first.maxLength ?? Infinity;
|
|
23
|
+
const maxB = second.maxLength ?? Infinity;
|
|
24
|
+
result.maxLength = Math.min(maxA, maxB);
|
|
25
|
+
}
|
|
26
|
+
// Merge pattern
|
|
27
|
+
if (first.pattern !== undefined && second.pattern !== undefined) {
|
|
28
|
+
// If both have patterns, they must match
|
|
29
|
+
if (first.pattern !== second.pattern) {
|
|
30
|
+
throw new Error(`Cannot merge schemas: conflicting patterns '${first.pattern}' and '${second.pattern}'`);
|
|
31
|
+
}
|
|
32
|
+
result.pattern = first.pattern;
|
|
33
|
+
}
|
|
34
|
+
else if (first.pattern !== undefined) {
|
|
35
|
+
result.pattern = first.pattern;
|
|
36
|
+
}
|
|
37
|
+
else if (second.pattern !== undefined) {
|
|
38
|
+
result.pattern = second.pattern;
|
|
39
|
+
}
|
|
40
|
+
// Merge format
|
|
41
|
+
if (first.format !== undefined && second.format !== undefined) {
|
|
42
|
+
// If both have formats, they must match
|
|
43
|
+
if (first.format !== second.format) {
|
|
44
|
+
throw new Error('Incompatible string formats');
|
|
45
|
+
}
|
|
46
|
+
result.format = first.format;
|
|
47
|
+
}
|
|
48
|
+
else if (first.format !== undefined) {
|
|
49
|
+
result.format = first.format;
|
|
50
|
+
}
|
|
51
|
+
else if (second.format !== undefined) {
|
|
52
|
+
result.format = second.format;
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 {};
|
|
16
|
+
//# sourceMappingURL=merge-union.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-union.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge-union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI3E,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,UAAU,kCAAmC,cAAc,KAAG,iBAiC1E,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,iBAAiB,yCAK3B,qBAAqB,KAAG,YAyB1B,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { decomposeUnion } from './decompose-union.js';
|
|
2
|
+
import { mergeSchemasOrRefs } from './merge.js';
|
|
3
|
+
import { crossProduct } from './cross-product.js';
|
|
4
|
+
import { isRef } from '../../helpers/refFns.js';
|
|
5
|
+
export const mergeUnion = ({ schema, getRef, groupType }) => {
|
|
6
|
+
const { beforeExcluded, decomposed, afterExcluded } = decomposeUnion({ schema, groupType });
|
|
7
|
+
// if (decomposed.length === 1) {
|
|
8
|
+
// console.log('DECOMPOSED', JSON.stringify(decomposed[0], null, 2))
|
|
9
|
+
// const result = {
|
|
10
|
+
// ...beforeExcluded,
|
|
11
|
+
// ...decomposed[0],
|
|
12
|
+
// ...afterExcluded
|
|
13
|
+
// }
|
|
14
|
+
// console.log('MERGED UNION - SHORT', JSON.stringify(result, null, 2))
|
|
15
|
+
// return result
|
|
16
|
+
// }
|
|
17
|
+
const dereffed = decomposed.map(decomposed => {
|
|
18
|
+
return '$ref' in decomposed ? getRef(decomposed) : decomposed;
|
|
19
|
+
});
|
|
20
|
+
const result = dereffed.reduce((acc, decomposed) => {
|
|
21
|
+
const merged = mergeCrossProduct({ first: acc, second: decomposed, getRef, groupType });
|
|
22
|
+
return merged;
|
|
23
|
+
}, {});
|
|
24
|
+
const output = {
|
|
25
|
+
...beforeExcluded,
|
|
26
|
+
...result,
|
|
27
|
+
...afterExcluded
|
|
28
|
+
};
|
|
29
|
+
return output;
|
|
30
|
+
};
|
|
31
|
+
export const mergeCrossProduct = ({ first, second, getRef, groupType }) => {
|
|
32
|
+
const firstGroup = Array.isArray(first[groupType]) ? first[groupType] : [first];
|
|
33
|
+
const secondGroup = Array.isArray(second[groupType]) ? second[groupType] : [second];
|
|
34
|
+
const mergedGroup = crossProduct(firstGroup, secondGroup)
|
|
35
|
+
.map(([firstItem, secondItem]) => {
|
|
36
|
+
try {
|
|
37
|
+
const result = mergeSchemasOrRefs(firstItem, secondItem, getRef);
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
catch (_error) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
})
|
|
44
|
+
.filter(item => item !== undefined);
|
|
45
|
+
return {
|
|
46
|
+
[groupType]: mergedGroup.flatMap(item => {
|
|
47
|
+
if (!isRef(item) && Array.isArray(item[groupType])) {
|
|
48
|
+
return item[groupType];
|
|
49
|
+
}
|
|
50
|
+
return [item];
|
|
51
|
+
})
|
|
52
|
+
};
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/oas/_merge-all-of/merge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAiC,QAAQ,EAAE,MAAM,YAAY,CAAA;AAiB5F,eAAO,MAAM,kBAAkB,UACtB,iBAAiB,UAChB,iBAAiB,UACjB,QAAQ,KACf,iBAgCF,CAAA"}
|