@skmtc/core 0.29.0 → 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/ParseContext.js +9 -1
- package/esm/context/generateTypes.d.ts +2 -2
- package/esm/context/generateTypes.js +3 -1
- package/esm/dsl/GeneratorKeys.d.ts +2 -2
- package/esm/dsl/GeneratorKeys.js +6 -3
- package/esm/helpers/naming.d.ts +2 -1
- package/esm/helpers/naming.js +4 -2
- package/esm/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/SkmtcDocument.d.ts +6 -6
- package/package.json +1 -1
- package/script/_dnt.polyfills.d.ts +11 -0
- package/script/_dnt.polyfills.js +14 -0
- package/script/context/ParseContext.js +9 -1
- package/script/context/generateTypes.d.ts +2 -2
- package/script/context/generateTypes.js +3 -1
- package/script/dsl/GeneratorKeys.d.ts +2 -2
- package/script/dsl/GeneratorKeys.js +6 -3
- package/script/helpers/naming.d.ts +2 -1
- package/script/helpers/naming.js +4 -2
- package/script/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/SkmtcDocument.d.ts +6 -6
|
@@ -18,6 +18,12 @@ export class OasHttpSecurityScheme {
|
|
|
18
18
|
writable: true,
|
|
19
19
|
value: void 0
|
|
20
20
|
});
|
|
21
|
+
Object.defineProperty(this, "deprecated", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
writable: true,
|
|
25
|
+
value: void 0
|
|
26
|
+
});
|
|
21
27
|
Object.defineProperty(this, "scheme", {
|
|
22
28
|
enumerable: true,
|
|
23
29
|
configurable: true,
|
|
@@ -31,6 +37,7 @@ export class OasHttpSecurityScheme {
|
|
|
31
37
|
value: void 0
|
|
32
38
|
});
|
|
33
39
|
this.description = fields.description;
|
|
40
|
+
this.deprecated = fields.deprecated;
|
|
34
41
|
this.scheme = fields.scheme;
|
|
35
42
|
this.bearerFormat = fields.bearerFormat;
|
|
36
43
|
}
|
|
@@ -47,6 +54,7 @@ export class OasHttpSecurityScheme {
|
|
|
47
54
|
return {
|
|
48
55
|
type: 'http',
|
|
49
56
|
description: this.description,
|
|
57
|
+
...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
|
|
50
58
|
scheme: this.scheme,
|
|
51
59
|
bearerFormat: this.bearerFormat
|
|
52
60
|
};
|
|
@@ -72,6 +80,12 @@ export class OasApiKeySecurityScheme {
|
|
|
72
80
|
writable: true,
|
|
73
81
|
value: void 0
|
|
74
82
|
});
|
|
83
|
+
Object.defineProperty(this, "deprecated", {
|
|
84
|
+
enumerable: true,
|
|
85
|
+
configurable: true,
|
|
86
|
+
writable: true,
|
|
87
|
+
value: void 0
|
|
88
|
+
});
|
|
75
89
|
Object.defineProperty(this, "name", {
|
|
76
90
|
enumerable: true,
|
|
77
91
|
configurable: true,
|
|
@@ -85,6 +99,7 @@ export class OasApiKeySecurityScheme {
|
|
|
85
99
|
value: void 0
|
|
86
100
|
});
|
|
87
101
|
this.description = fields.description;
|
|
102
|
+
this.deprecated = fields.deprecated;
|
|
88
103
|
this.name = fields.name;
|
|
89
104
|
this.location = fields.in;
|
|
90
105
|
}
|
|
@@ -100,6 +115,7 @@ export class OasApiKeySecurityScheme {
|
|
|
100
115
|
toJsonSchema() {
|
|
101
116
|
return {
|
|
102
117
|
type: 'apiKey',
|
|
118
|
+
...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
|
|
103
119
|
name: this.name,
|
|
104
120
|
in: this.location
|
|
105
121
|
};
|
|
@@ -125,6 +141,18 @@ export class OasOAuth2SecurityScheme {
|
|
|
125
141
|
writable: true,
|
|
126
142
|
value: void 0
|
|
127
143
|
});
|
|
144
|
+
Object.defineProperty(this, "deprecated", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
configurable: true,
|
|
147
|
+
writable: true,
|
|
148
|
+
value: void 0
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(this, "oauth2MetadataUrl", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
configurable: true,
|
|
153
|
+
writable: true,
|
|
154
|
+
value: void 0
|
|
155
|
+
});
|
|
128
156
|
Object.defineProperty(this, "flows", {
|
|
129
157
|
enumerable: true,
|
|
130
158
|
configurable: true,
|
|
@@ -132,6 +160,8 @@ export class OasOAuth2SecurityScheme {
|
|
|
132
160
|
value: void 0
|
|
133
161
|
});
|
|
134
162
|
this.description = fields.description;
|
|
163
|
+
this.deprecated = fields.deprecated;
|
|
164
|
+
this.oauth2MetadataUrl = fields.oauth2MetadataUrl;
|
|
135
165
|
this.flows = fields.flows;
|
|
136
166
|
}
|
|
137
167
|
isRef() {
|
|
@@ -147,11 +177,18 @@ export class OasOAuth2SecurityScheme {
|
|
|
147
177
|
return {
|
|
148
178
|
type: 'oauth2',
|
|
149
179
|
description: this.description,
|
|
180
|
+
...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
|
|
181
|
+
...(this.oauth2MetadataUrl === undefined
|
|
182
|
+
? {}
|
|
183
|
+
: { oauth2MetadataUrl: this.oauth2MetadataUrl }),
|
|
150
184
|
flows: {
|
|
151
185
|
authorizationCode: this.flows.authorizationCode,
|
|
152
186
|
clientCredentials: this.flows.clientCredentials,
|
|
153
187
|
implicit: this.flows.implicit,
|
|
154
|
-
password: this.flows.password
|
|
188
|
+
password: this.flows.password,
|
|
189
|
+
...(this.flows.deviceAuthorization === undefined
|
|
190
|
+
? {}
|
|
191
|
+
: { deviceAuthorization: this.flows.deviceAuthorization })
|
|
155
192
|
}
|
|
156
193
|
};
|
|
157
194
|
}
|
|
@@ -176,6 +213,12 @@ export class OasOpenIdSecurityScheme {
|
|
|
176
213
|
writable: true,
|
|
177
214
|
value: void 0
|
|
178
215
|
});
|
|
216
|
+
Object.defineProperty(this, "deprecated", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
configurable: true,
|
|
219
|
+
writable: true,
|
|
220
|
+
value: void 0
|
|
221
|
+
});
|
|
179
222
|
Object.defineProperty(this, "openIdConnectUrl", {
|
|
180
223
|
enumerable: true,
|
|
181
224
|
configurable: true,
|
|
@@ -183,6 +226,7 @@ export class OasOpenIdSecurityScheme {
|
|
|
183
226
|
value: void 0
|
|
184
227
|
});
|
|
185
228
|
this.description = fields.description;
|
|
229
|
+
this.deprecated = fields.deprecated;
|
|
186
230
|
this.openIdConnectUrl = fields.openIdConnectUrl;
|
|
187
231
|
}
|
|
188
232
|
isRef() {
|
|
@@ -198,6 +242,7 @@ export class OasOpenIdSecurityScheme {
|
|
|
198
242
|
return {
|
|
199
243
|
type: 'openIdConnect',
|
|
200
244
|
description: this.description,
|
|
245
|
+
...(this.deprecated === undefined ? {} : { deprecated: this.deprecated }),
|
|
201
246
|
openIdConnectUrl: this.openIdConnectUrl
|
|
202
247
|
};
|
|
203
248
|
}
|
|
@@ -10,6 +10,8 @@ export type OasHttpSecuritySchemeData = {
|
|
|
10
10
|
type: 'http';
|
|
11
11
|
/** Human-readable description of the security scheme */
|
|
12
12
|
description?: string;
|
|
13
|
+
/** Whether the scheme is deprecated (OpenAPI 3.2) */
|
|
14
|
+
deprecated?: boolean;
|
|
13
15
|
/** HTTP authorization scheme (e.g., 'basic', 'bearer') */
|
|
14
16
|
scheme: string;
|
|
15
17
|
/** Format hint for bearer tokens (e.g., 'JWT') */
|
|
@@ -35,6 +37,8 @@ export type OasApiKeySecuritySchemeData = {
|
|
|
35
37
|
type: 'apiKey';
|
|
36
38
|
/** Human-readable description of the security scheme */
|
|
37
39
|
description?: string;
|
|
40
|
+
/** Whether the scheme is deprecated (OpenAPI 3.2) */
|
|
41
|
+
deprecated?: boolean;
|
|
38
42
|
/** Name of the header, query parameter, or cookie */
|
|
39
43
|
name: string;
|
|
40
44
|
/** Location where the API key should be sent */
|
|
@@ -128,11 +132,25 @@ export declare const oasPasswordOAuth2FlowData: v.ObjectSchema<{
|
|
|
128
132
|
readonly refreshUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
129
133
|
readonly scopes: v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>;
|
|
130
134
|
}, undefined>;
|
|
135
|
+
/**
|
|
136
|
+
* Data type for the OAuth2 device authorization flow (OpenAPI 3.2).
|
|
137
|
+
*/
|
|
138
|
+
export type OasDeviceAuthorizationOAuth2FlowData = {
|
|
139
|
+
/** URL for the OAuth2 device authorization endpoint */
|
|
140
|
+
deviceAuthorizationUrl: string;
|
|
141
|
+
/** URL for the OAuth2 token endpoint */
|
|
142
|
+
tokenUrl: string;
|
|
143
|
+
/** Optional URL for token refresh */
|
|
144
|
+
refreshUrl?: string | undefined;
|
|
145
|
+
/** Available scopes mapped to their descriptions */
|
|
146
|
+
scopes?: Record<string, string> | undefined;
|
|
147
|
+
};
|
|
131
148
|
export type OasOAuth2FlowsData = {
|
|
132
149
|
authorizationCode?: OasAuthorizationCodeOAuth2FlowData;
|
|
133
150
|
clientCredentials?: OasClientCredentialsOAuth2FlowData;
|
|
134
151
|
implicit?: OasImplicitOAuth2FlowData;
|
|
135
152
|
password?: OasPasswordOAuth2FlowData;
|
|
153
|
+
deviceAuthorization?: OasDeviceAuthorizationOAuth2FlowData;
|
|
136
154
|
};
|
|
137
155
|
export declare const oasOAuth2FlowsData: v.ObjectSchema<{
|
|
138
156
|
readonly authorizationCode: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -160,6 +178,8 @@ export declare const oasOAuth2FlowsData: v.ObjectSchema<{
|
|
|
160
178
|
export type OasOAuth2SecuritySchemeData = {
|
|
161
179
|
type: 'oauth2';
|
|
162
180
|
description?: string;
|
|
181
|
+
deprecated?: boolean;
|
|
182
|
+
oauth2MetadataUrl?: string;
|
|
163
183
|
flows: OasOAuth2FlowsData;
|
|
164
184
|
};
|
|
165
185
|
export declare const oasOAuth2SecuritySchemeData: v.ObjectSchema<{
|
|
@@ -192,6 +212,7 @@ export declare const oasOAuth2SecuritySchemeData: v.ObjectSchema<{
|
|
|
192
212
|
export type OasOpenIdSecuritySchemeData = {
|
|
193
213
|
type: 'openIdConnect';
|
|
194
214
|
description?: string;
|
|
215
|
+
deprecated?: boolean;
|
|
195
216
|
openIdConnectUrl: string;
|
|
196
217
|
};
|
|
197
218
|
export declare const oasOpenIdSecuritySchemeData: v.ObjectSchema<{
|
|
@@ -10,6 +10,8 @@ import type { OasServerVariable } from '../serverVariable/ServerVariable.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export type ServerFields = {
|
|
12
12
|
description?: string | undefined;
|
|
13
|
+
/** Name that identifies the server (OpenAPI 3.2) */
|
|
14
|
+
name?: string | undefined;
|
|
13
15
|
url: string;
|
|
14
16
|
variables?: Record<string, OasServerVariable> | undefined;
|
|
15
17
|
extensionFields?: Record<string, unknown>;
|
|
@@ -54,6 +56,8 @@ export declare class OasServer {
|
|
|
54
56
|
oasType: 'server';
|
|
55
57
|
/** Human-readable description of the server */
|
|
56
58
|
description: string | undefined;
|
|
59
|
+
/** Name that identifies the server (OpenAPI 3.2) */
|
|
60
|
+
name: string | undefined;
|
|
57
61
|
/** Server URL with optional variable templating */
|
|
58
62
|
url: string;
|
|
59
63
|
/** Variable definitions for URL templating */
|
|
@@ -88,7 +92,9 @@ export declare class OasServer {
|
|
|
88
92
|
* Converts this OAS server to an OpenAPI v3 JSON schema representation.
|
|
89
93
|
*
|
|
90
94
|
* @param _options - Conversion options (currently unused for server objects)
|
|
91
|
-
* @returns OpenAPI v3 server object with URL, description, and
|
|
95
|
+
* @returns OpenAPI v3 server object with URL, description, variables and, when set, name
|
|
92
96
|
*/
|
|
93
|
-
toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ServerObject
|
|
97
|
+
toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ServerObject & {
|
|
98
|
+
name?: string;
|
|
99
|
+
};
|
|
94
100
|
}
|
package/esm/oas/server/Server.js
CHANGED
|
@@ -55,6 +55,13 @@ export class OasServer {
|
|
|
55
55
|
writable: true,
|
|
56
56
|
value: void 0
|
|
57
57
|
});
|
|
58
|
+
/** Name that identifies the server (OpenAPI 3.2) */
|
|
59
|
+
Object.defineProperty(this, "name", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
configurable: true,
|
|
62
|
+
writable: true,
|
|
63
|
+
value: void 0
|
|
64
|
+
});
|
|
58
65
|
/** Server URL with optional variable templating */
|
|
59
66
|
Object.defineProperty(this, "url", {
|
|
60
67
|
enumerable: true,
|
|
@@ -77,6 +84,7 @@ export class OasServer {
|
|
|
77
84
|
value: void 0
|
|
78
85
|
});
|
|
79
86
|
this.description = fields.description;
|
|
87
|
+
this.name = fields.name;
|
|
80
88
|
this.url = fields.url;
|
|
81
89
|
this.variables = fields.variables;
|
|
82
90
|
this.extensionFields = fields.extensionFields;
|
|
@@ -109,11 +117,12 @@ export class OasServer {
|
|
|
109
117
|
* Converts this OAS server to an OpenAPI v3 JSON schema representation.
|
|
110
118
|
*
|
|
111
119
|
* @param _options - Conversion options (currently unused for server objects)
|
|
112
|
-
* @returns OpenAPI v3 server object with URL, description, and
|
|
120
|
+
* @returns OpenAPI v3 server object with URL, description, variables and, when set, name
|
|
113
121
|
*/
|
|
114
122
|
toJsonSchema(_options) {
|
|
115
123
|
return {
|
|
116
124
|
description: this.description,
|
|
125
|
+
...(this.name !== undefined ? { name: this.name } : {}),
|
|
117
126
|
url: this.url,
|
|
118
127
|
variables: this.variables
|
|
119
128
|
};
|
package/esm/oas/tag/Tag.d.ts
CHANGED
|
@@ -3,6 +3,12 @@ import type { OasExternalDocs } from '../externalDocs/ExternalDocs.js';
|
|
|
3
3
|
export type TagFields = {
|
|
4
4
|
name: string;
|
|
5
5
|
description: string | undefined;
|
|
6
|
+
/** Short summary of the tag (OpenAPI 3.2) */
|
|
7
|
+
summary?: string;
|
|
8
|
+
/** Name of the tag this tag nests under (OpenAPI 3.2) */
|
|
9
|
+
parent?: string;
|
|
10
|
+
/** Kind of tag, e.g. `nav`, `badge` or `audience` (OpenAPI 3.2, open registry) */
|
|
11
|
+
kind?: string;
|
|
6
12
|
externalDocs?: OasExternalDocs;
|
|
7
13
|
extensionFields?: Record<string, unknown>;
|
|
8
14
|
};
|
|
@@ -12,6 +18,9 @@ export declare class OasTag {
|
|
|
12
18
|
constructor(fields: TagFields);
|
|
13
19
|
get name(): string;
|
|
14
20
|
get description(): string | undefined;
|
|
21
|
+
get summary(): string | undefined;
|
|
22
|
+
get parent(): string | undefined;
|
|
23
|
+
get kind(): string | undefined;
|
|
15
24
|
get externalDocs(): OasExternalDocs | undefined;
|
|
16
25
|
/** Specification Extension fields */
|
|
17
26
|
get extensionFields(): Record<string, unknown> | undefined;
|
package/esm/oas/tag/Tag.js
CHANGED
|
@@ -28,6 +28,15 @@ export class OasTag {
|
|
|
28
28
|
get description() {
|
|
29
29
|
return __classPrivateFieldGet(this, _OasTag_fields, "f").description;
|
|
30
30
|
}
|
|
31
|
+
get summary() {
|
|
32
|
+
return __classPrivateFieldGet(this, _OasTag_fields, "f").summary;
|
|
33
|
+
}
|
|
34
|
+
get parent() {
|
|
35
|
+
return __classPrivateFieldGet(this, _OasTag_fields, "f").parent;
|
|
36
|
+
}
|
|
37
|
+
get kind() {
|
|
38
|
+
return __classPrivateFieldGet(this, _OasTag_fields, "f").kind;
|
|
39
|
+
}
|
|
31
40
|
get externalDocs() {
|
|
32
41
|
return __classPrivateFieldGet(this, _OasTag_fields, "f").externalDocs;
|
|
33
42
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The OpenAPI dialects SKMTC parses natively. Each has its own complete
|
|
3
|
-
* parser tree (`core/parse/v3-0`, `core/parse/v3-1`);
|
|
4
|
-
* ONLY place a document's version is examined. Once a
|
|
5
|
-
* the matching parser runs top-to-bottom and never
|
|
6
|
-
* so a 3.0 document can never reach a line of 3.1
|
|
7
|
-
* there is no downstream version branch to get
|
|
3
|
+
* parser tree (`core/parse/v3-0`, `core/parse/v3-1`, `core/parse/v3-2`);
|
|
4
|
+
* this module is the ONLY place a document's version is examined. Once a
|
|
5
|
+
* dialect is chosen the matching parser runs top-to-bottom and never
|
|
6
|
+
* re-checks the version, so a 3.0 document can never reach a line of 3.1
|
|
7
|
+
* logic (or vice versa) — there is no downstream version branch to get
|
|
8
|
+
* wrong.
|
|
8
9
|
*/
|
|
9
|
-
export type OasDialect = '3.0' | '3.1';
|
|
10
|
+
export type OasDialect = '3.0' | '3.1' | '3.2';
|
|
10
11
|
/**
|
|
11
12
|
* Map an OpenAPI document's `openapi` version string to its parser
|
|
12
13
|
* dialect.
|
|
@@ -15,7 +16,7 @@ export type OasDialect = '3.0' | '3.1';
|
|
|
15
16
|
* precondition failure — there is no sensible parser to pick — so it throws
|
|
16
17
|
* rather than silently defaulting to one dialect and masking the error. A
|
|
17
18
|
* loose `openapi.startsWith('3.1') ? '3.1' : '3.0'` would route every
|
|
18
|
-
* non-3.1 value (a typo, `
|
|
19
|
+
* non-3.1 value (a typo, `4.0`, a missing field) into 3.0 unnoticed;
|
|
19
20
|
* that is the footgun this avoids. Mirrors `@skmtc/convert`'s
|
|
20
21
|
* `toV3Document`, which likewise throws on an unrecognized version.
|
|
21
22
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* precondition failure — there is no sensible parser to pick — so it throws
|
|
7
7
|
* rather than silently defaulting to one dialect and masking the error. A
|
|
8
8
|
* loose `openapi.startsWith('3.1') ? '3.1' : '3.0'` would route every
|
|
9
|
-
* non-3.1 value (a typo, `
|
|
9
|
+
* non-3.1 value (a typo, `4.0`, a missing field) into 3.0 unnoticed;
|
|
10
10
|
* that is the footgun this avoids. Mirrors `@skmtc/convert`'s
|
|
11
11
|
* `toV3Document`, which likewise throws on an unrecognized version.
|
|
12
12
|
*
|
|
@@ -18,5 +18,7 @@ export const toOasDialect = (openapi) => {
|
|
|
18
18
|
return '3.0';
|
|
19
19
|
if (openapi?.startsWith('3.1'))
|
|
20
20
|
return '3.1';
|
|
21
|
-
|
|
21
|
+
if (openapi?.startsWith('3.2'))
|
|
22
|
+
return '3.2';
|
|
23
|
+
throw new Error(`Unsupported OpenAPI version: ${openapi ?? '(missing)'} — expected 3.0.x, 3.1.x or 3.2.x`);
|
|
22
24
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Method } from '../../types/Method.js';
|
|
2
|
+
/**
|
|
3
|
+
* A path item field that holds an Operation Object in OpenAPI 3.0. A
|
|
4
|
+
* `query` key is not one of them: it stays a skipped field.
|
|
5
|
+
*/
|
|
6
|
+
export type PathItemMethod = Exclude<Method, 'query'>;
|
|
7
|
+
export declare const pathItemMethods: readonly PathItemMethod[];
|
|
8
|
+
/**
|
|
9
|
+
* Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
|
|
10
|
+
*/
|
|
11
|
+
export declare const toPathItemMethod: (key: string) => PathItemMethod | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const pathItemMethods = [
|
|
2
|
+
'get',
|
|
3
|
+
'put',
|
|
4
|
+
'post',
|
|
5
|
+
'delete',
|
|
6
|
+
'options',
|
|
7
|
+
'head',
|
|
8
|
+
'patch',
|
|
9
|
+
'trace'
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
|
|
13
|
+
*/
|
|
14
|
+
export const toPathItemMethod = (key) => {
|
|
15
|
+
return pathItemMethods.find(method => method === key);
|
|
16
|
+
};
|
|
@@ -3,7 +3,7 @@ import { toResponsesV3 } from '../response/toResponseV3.js';
|
|
|
3
3
|
import { toParameterListV3 } from '../parameter/toParameterV3.js';
|
|
4
4
|
import { OasOperation } from '../../../oas/operation/Operation.js';
|
|
5
5
|
import { toPathItemV3 } from '../pathItem/toPathItemV3.js';
|
|
6
|
-
import {
|
|
6
|
+
import { toPathItemMethod } from '../methods.js';
|
|
7
7
|
import { toSpecificationExtensionsV3 } from '../specificationExtensions/toSpecificationExtensionsV3.js';
|
|
8
8
|
import { toSecurityRequirementsV3 } from '../securityRequirement/toSecurityRequirement.js';
|
|
9
9
|
import { isEmpty } from '../../../helpers/isEmpty.js';
|
|
@@ -54,14 +54,14 @@ export const toOperationsV3 = ({ paths, stackTrail, context }) => {
|
|
|
54
54
|
return [];
|
|
55
55
|
}
|
|
56
56
|
const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
const { [
|
|
57
|
+
const method = toPathItemMethod(key);
|
|
58
|
+
if (method) {
|
|
59
|
+
const { [method]: _deleted, ...remaining } = rest;
|
|
60
60
|
return {
|
|
61
61
|
rest: remaining,
|
|
62
62
|
methodObject: {
|
|
63
63
|
...methodObject,
|
|
64
|
-
[
|
|
64
|
+
[method]: operation
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { ParseContextType } from '../../../context/parseTypes.js';
|
|
2
|
-
import {
|
|
2
|
+
import type { OasParameterLocation } from '../../../oas/parameter/parameter-types.js';
|
|
3
3
|
import type { OpenAPIV3 } from 'openapi-types';
|
|
4
4
|
import { OasParameter } from '../../../oas/parameter/Parameter.js';
|
|
5
5
|
import type { OasRef } from '../../../oas/ref/Ref.js';
|
|
6
6
|
import type { StackTrail } from '../../../context/StackTrail.js';
|
|
7
|
+
type ParameterLocation = Exclude<OasParameterLocation, 'querystring'>;
|
|
7
8
|
export type ToParameterListV3Args = {
|
|
8
9
|
parameters: (OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject)[] | undefined;
|
|
9
10
|
stackTrail: StackTrail;
|
|
@@ -29,7 +30,7 @@ export type ToParameterV3Args = {
|
|
|
29
30
|
};
|
|
30
31
|
export type ToStyleArgs = {
|
|
31
32
|
style: string | undefined;
|
|
32
|
-
location:
|
|
33
|
+
location: ParameterLocation;
|
|
33
34
|
stackTrail: StackTrail;
|
|
34
35
|
};
|
|
35
36
|
export type ToExplodeArgs = {
|
|
@@ -37,3 +38,4 @@ export type ToExplodeArgs = {
|
|
|
37
38
|
style: string | undefined;
|
|
38
39
|
stackTrail: StackTrail;
|
|
39
40
|
};
|
|
41
|
+
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { tryParseAt } from '../../../context/tryParseAt.js';
|
|
2
2
|
import { isRef } from '../../../helpers/refFns.js';
|
|
3
|
-
import { oasParameterLocation, oasParameterStyle } from '../../../oas/parameter/parameter-types.js';
|
|
4
3
|
import { toExamplesV3 } from '../example/toExamplesV3.js';
|
|
5
4
|
import { toRefV31 } from '../ref/toRefV31.js';
|
|
6
5
|
import { toOptionalSchemaV3 } from '../schema/toSchemasV3.js';
|
|
@@ -8,6 +7,21 @@ import { toOptionalMediaTypeItemsV3 } from '../mediaType/toMediaTypeItemV3.js';
|
|
|
8
7
|
import { OasParameter } from '../../../oas/parameter/Parameter.js';
|
|
9
8
|
import { toSpecificationExtensionsV3 } from '../specificationExtensions/toSpecificationExtensionsV3.js';
|
|
10
9
|
import * as v from 'valibot';
|
|
10
|
+
const parameterLocation = v.enum({
|
|
11
|
+
query: 'query',
|
|
12
|
+
header: 'header',
|
|
13
|
+
path: 'path',
|
|
14
|
+
cookie: 'cookie'
|
|
15
|
+
});
|
|
16
|
+
const parameterStyle = v.enum({
|
|
17
|
+
matrix: 'matrix',
|
|
18
|
+
label: 'label',
|
|
19
|
+
form: 'form',
|
|
20
|
+
simple: 'simple',
|
|
21
|
+
spaceDelimited: 'spaceDelimited',
|
|
22
|
+
pipeDelimited: 'pipeDelimited',
|
|
23
|
+
deepObject: 'deepObject'
|
|
24
|
+
});
|
|
11
25
|
export const toParameterListV3 = ({ parameters, stackTrail, context }) => {
|
|
12
26
|
if (!parameters) {
|
|
13
27
|
return undefined;
|
|
@@ -52,7 +66,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
|
|
|
52
66
|
stackTrail,
|
|
53
67
|
parentType: 'parameter'
|
|
54
68
|
});
|
|
55
|
-
const parsedLocation = v.parse(
|
|
69
|
+
const parsedLocation = v.parse(parameterLocation, location);
|
|
56
70
|
if (parsedLocation === 'path' && !required) {
|
|
57
71
|
console.warn(`Path parameters must be required`);
|
|
58
72
|
}
|
|
@@ -82,7 +96,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
|
|
|
82
96
|
return context.withStackTrail(stackTrail, () => new OasParameter(fields, context));
|
|
83
97
|
};
|
|
84
98
|
const toStyle = ({ style, location, stackTrail }) => {
|
|
85
|
-
const parsed = v.parse(v.optional(
|
|
99
|
+
const parsed = v.parse(v.optional(parameterStyle), style);
|
|
86
100
|
if (parsed !== undefined) {
|
|
87
101
|
return parsed;
|
|
88
102
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { OasHttpSecurityScheme, OasApiKeySecurityScheme, OasOAuth2SecurityScheme, OasOpenIdSecurityScheme } from '../../../oas/securitySchemes/SecurityScheme.js';
|
|
2
2
|
import * as v from 'valibot';
|
|
3
|
-
import { oasApiKeySecuritySchemeData, oasHttpSecuritySchemeData, oasOAuth2SecuritySchemeData, oasOpenIdSecuritySchemeData } from '../../../oas/securitySchemes/security-scheme-types.js';
|
|
3
|
+
import { oasApiKeySecuritySchemeData, oasHttpSecuritySchemeData, oasOAuth2FlowsData, oasOAuth2SecuritySchemeData, oasOpenIdSecuritySchemeData } from '../../../oas/securitySchemes/security-scheme-types.js';
|
|
4
4
|
import { toRefV31 } from '../ref/toRefV31.js';
|
|
5
5
|
import { isRef } from '../../../helpers/refFns.js';
|
|
6
|
-
import { isEmpty } from '../../../helpers/isEmpty.js';
|
|
7
6
|
import { tryParseAt } from '../../../context/tryParseAt.js';
|
|
7
|
+
import { toSpecificationExtensionsV3 } from '../specificationExtensions/toSpecificationExtensionsV3.js';
|
|
8
8
|
export const toSecuritySchemesV3 = ({ securitySchemes, stackTrail, context }) => {
|
|
9
9
|
if (!securitySchemes) {
|
|
10
10
|
return undefined;
|
|
@@ -27,21 +27,29 @@ export const toSecuritySchemesV3 = ({ securitySchemes, stackTrail, context }) =>
|
|
|
27
27
|
}
|
|
28
28
|
return output;
|
|
29
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Log the keys of `value` that `known` does not name as skipped fields.
|
|
32
|
+
* `v.parse` on a `v.object` schema strips unknown keys, so they are read
|
|
33
|
+
* off the raw object. `x-` extensions are not logged.
|
|
34
|
+
*/
|
|
35
|
+
const logSkippedKeys = ({ value, known, parentType, stackTrail, context }) => {
|
|
36
|
+
const skipped = Object.fromEntries(Object.entries(value).filter(([key]) => !Object.hasOwn(known, key)));
|
|
37
|
+
toSpecificationExtensionsV3({ skipped, parent: value, parentType, stackTrail, context });
|
|
38
|
+
};
|
|
30
39
|
const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
|
|
31
40
|
if (isRef(securityScheme)) {
|
|
32
41
|
return toRefV31({ ref: securityScheme, refType: 'securityScheme', stackTrail, context });
|
|
33
42
|
}
|
|
34
43
|
switch (securityScheme.type) {
|
|
35
44
|
case 'http': {
|
|
36
|
-
const {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
+
const { description, scheme, bearerFormat } = v.parse(oasHttpSecuritySchemeData, securityScheme);
|
|
46
|
+
logSkippedKeys({
|
|
47
|
+
value: securityScheme,
|
|
48
|
+
known: oasHttpSecuritySchemeData.entries,
|
|
49
|
+
parentType: 'securityScheme:http',
|
|
50
|
+
stackTrail,
|
|
51
|
+
context
|
|
52
|
+
});
|
|
45
53
|
return new OasHttpSecurityScheme({
|
|
46
54
|
description,
|
|
47
55
|
scheme,
|
|
@@ -49,15 +57,14 @@ const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
|
|
|
49
57
|
});
|
|
50
58
|
}
|
|
51
59
|
case 'apiKey': {
|
|
52
|
-
const {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
60
|
+
const { in: location, description, name } = v.parse(oasApiKeySecuritySchemeData, securityScheme);
|
|
61
|
+
logSkippedKeys({
|
|
62
|
+
value: securityScheme,
|
|
63
|
+
known: oasApiKeySecuritySchemeData.entries,
|
|
64
|
+
parentType: 'securityScheme:apiKey',
|
|
65
|
+
stackTrail,
|
|
66
|
+
context
|
|
67
|
+
});
|
|
61
68
|
return new OasApiKeySecurityScheme({
|
|
62
69
|
description,
|
|
63
70
|
name,
|
|
@@ -65,30 +72,35 @@ const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
|
|
|
65
72
|
});
|
|
66
73
|
}
|
|
67
74
|
case 'oauth2': {
|
|
68
|
-
const {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
const { flows, description } = v.parse(oasOAuth2SecuritySchemeData, securityScheme);
|
|
76
|
+
logSkippedKeys({
|
|
77
|
+
value: securityScheme,
|
|
78
|
+
known: oasOAuth2SecuritySchemeData.entries,
|
|
79
|
+
parentType: 'securityScheme:oauth2',
|
|
80
|
+
stackTrail,
|
|
81
|
+
context
|
|
82
|
+
});
|
|
83
|
+
stackTrail.trace('flows', st => logSkippedKeys({
|
|
84
|
+
value: securityScheme.flows,
|
|
85
|
+
known: oasOAuth2FlowsData.entries,
|
|
86
|
+
parentType: 'oauthFlows',
|
|
87
|
+
stackTrail: st,
|
|
88
|
+
context
|
|
89
|
+
}));
|
|
77
90
|
return new OasOAuth2SecurityScheme({
|
|
78
91
|
description,
|
|
79
92
|
flows
|
|
80
93
|
});
|
|
81
94
|
}
|
|
82
95
|
case 'openIdConnect': {
|
|
83
|
-
const {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
96
|
+
const { description, openIdConnectUrl } = v.parse(oasOpenIdSecuritySchemeData, securityScheme);
|
|
97
|
+
logSkippedKeys({
|
|
98
|
+
value: securityScheme,
|
|
99
|
+
known: oasOpenIdSecuritySchemeData.entries,
|
|
100
|
+
parentType: 'securityScheme:openIdConnect',
|
|
101
|
+
stackTrail,
|
|
102
|
+
context
|
|
103
|
+
});
|
|
92
104
|
return new OasOpenIdSecurityScheme({
|
|
93
105
|
description,
|
|
94
106
|
openIdConnectUrl
|
|
@@ -3,7 +3,7 @@ import { toResponsesV3 } from '../response/toResponseV3.js';
|
|
|
3
3
|
import { toParameterListV3 } from '../parameter/toParameterV3.js';
|
|
4
4
|
import { OasWebhook } from '../../../oas/webhook/Webhook.js';
|
|
5
5
|
import { toPathItemV3 } from '../pathItem/toPathItemV3.js';
|
|
6
|
-
import {
|
|
6
|
+
import { toPathItemMethod } from '../methods.js';
|
|
7
7
|
import { toSpecificationExtensionsV3 } from '../specificationExtensions/toSpecificationExtensionsV3.js';
|
|
8
8
|
import { toSecurityRequirementsV3 } from '../securityRequirement/toSecurityRequirement.js';
|
|
9
9
|
import { isEmpty } from '../../../helpers/isEmpty.js';
|
|
@@ -69,14 +69,14 @@ export const toWebhooksV3 = ({ webhooks, stackTrail, context }) => {
|
|
|
69
69
|
return [];
|
|
70
70
|
}
|
|
71
71
|
const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
const { [
|
|
72
|
+
const method = toPathItemMethod(key);
|
|
73
|
+
if (method) {
|
|
74
|
+
const { [method]: _deleted, ...remaining } = rest;
|
|
75
75
|
return {
|
|
76
76
|
rest: remaining,
|
|
77
77
|
methodObject: {
|
|
78
78
|
...methodObject,
|
|
79
|
-
[
|
|
79
|
+
[method]: operation
|
|
80
80
|
}
|
|
81
81
|
};
|
|
82
82
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Method } from '../../types/Method.js';
|
|
2
|
+
/**
|
|
3
|
+
* A path item field that holds an Operation Object in OpenAPI 3.1. A
|
|
4
|
+
* `query` key is not one of them: it stays a skipped field.
|
|
5
|
+
*/
|
|
6
|
+
export type PathItemMethod = Exclude<Method, 'query'>;
|
|
7
|
+
export declare const pathItemMethods: readonly PathItemMethod[];
|
|
8
|
+
/**
|
|
9
|
+
* Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
|
|
10
|
+
*/
|
|
11
|
+
export declare const toPathItemMethod: (key: string) => PathItemMethod | undefined;
|