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