@skmtc/core 0.29.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/_dnt.polyfills.d.ts +11 -0
- package/esm/_dnt.polyfills.js +14 -0
- package/esm/context/ParseContext.js +9 -1
- package/esm/context/generateTypes.d.ts +14 -2
- package/esm/context/generateTypes.js +5 -1
- package/esm/dsl/GeneratorKeys.d.ts +2 -2
- package/esm/dsl/GeneratorKeys.js +6 -3
- package/esm/helpers/naming.d.ts +2 -1
- package/esm/helpers/naming.js +4 -2
- package/esm/mod.d.ts +1 -0
- package/esm/mod.js +1 -0
- package/esm/oas/discriminator/Discriminator.d.ts +3 -0
- package/esm/oas/discriminator/Discriminator.js +7 -0
- package/esm/oas/document/Document.d.ts +7 -0
- package/esm/oas/document/Document.js +8 -0
- package/esm/oas/example/Example.d.ts +10 -1
- package/esm/oas/example/Example.js +16 -0
- package/esm/oas/header/Header.d.ts +4 -2
- package/esm/oas/header/Header.js +12 -5
- package/esm/oas/mediaType/MediaType.d.ts +12 -0
- package/esm/oas/mediaType/MediaType.js +24 -0
- package/esm/oas/mediaType/jsonMediaType.d.ts +50 -0
- package/esm/oas/mediaType/jsonMediaType.js +64 -0
- package/esm/oas/mediaType/toContentSchema.d.ts +8 -0
- package/esm/oas/mediaType/toContentSchema.js +6 -0
- package/esm/oas/operation/Operation.d.ts +10 -2
- package/esm/oas/operation/Operation.js +20 -7
- package/esm/oas/parameter/Parameter.d.ts +3 -2
- package/esm/oas/parameter/Parameter.js +11 -5
- package/esm/oas/parameter/parameter-types.d.ts +10 -2
- package/esm/oas/parameter/parameter-types.js +3 -1
- package/esm/oas/requestBody/RequestBody.d.ts +11 -0
- package/esm/oas/requestBody/RequestBody.js +16 -2
- package/esm/oas/response/Response.d.ts +17 -1
- package/esm/oas/response/Response.js +24 -2
- package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
- package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
- package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
- package/esm/oas/server/Server.d.ts +8 -2
- package/esm/oas/server/Server.js +10 -1
- package/esm/oas/tag/Tag.d.ts +9 -0
- package/esm/oas/tag/Tag.js +9 -0
- package/esm/oas/webhook/Webhook.d.ts +4 -4
- package/esm/oas/webhook/Webhook.js +6 -6
- package/esm/parse/logBodyMediaTypes.d.ts +27 -0
- package/esm/parse/logBodyMediaTypes.js +50 -0
- package/esm/parse/toOasDialect.d.ts +8 -7
- package/esm/parse/toOasDialect.js +4 -2
- package/esm/parse/v3-0/methods.d.ts +11 -0
- package/esm/parse/v3-0/methods.js +16 -0
- package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
- package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
- package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
- package/esm/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
- package/esm/parse/v3-0/response/toResponseV3.js +4 -1
- package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
- package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
- package/esm/parse/v3-1/methods.d.ts +11 -0
- package/esm/parse/v3-1/methods.js +16 -0
- package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
- package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
- package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
- package/esm/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
- package/esm/parse/v3-1/response/toResponseV3.js +4 -1
- package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
- package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
- package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
- package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
- package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
- package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
- package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
- package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
- package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
- package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
- package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
- package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
- package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
- package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
- package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
- package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
- package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
- package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
- package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
- package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
- package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
- package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
- package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
- package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
- package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
- package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
- package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
- package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
- package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
- package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
- package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
- package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
- package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
- package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
- package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
- package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
- package/esm/parse/v3-2/array/toArray.d.ts +80 -0
- package/esm/parse/v3-2/array/toArray.js +165 -0
- package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
- package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
- package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
- package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
- package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
- package/esm/parse/v3-2/contact/toContactV3.js +18 -0
- package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
- package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
- package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
- package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
- package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
- package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
- package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
- package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
- package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
- package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
- package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
- package/esm/parse/v3-2/info/toInfoV3.js +23 -0
- package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
- package/esm/parse/v3-2/integer/toInteger.js +115 -0
- package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
- package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
- package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
- package/esm/parse/v3-2/link/toLinksV3.js +40 -0
- package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
- package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
- package/esm/parse/v3-2/methods.d.ts +17 -0
- package/esm/parse/v3-2/methods.js +21 -0
- package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
- package/esm/parse/v3-2/number/toNumber.js +115 -0
- package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
- package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
- package/esm/parse/v3-2/object/toObject.d.ts +10 -0
- package/esm/parse/v3-2/object/toObject.js +90 -0
- package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
- package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
- package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
- package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
- package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
- package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
- package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
- package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
- package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
- package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
- package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
- package/esm/parse/v3-2/ref/toRefV31.js +10 -0
- package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
- package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +47 -0
- package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
- package/esm/parse/v3-2/response/toResponseV3.js +59 -0
- package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
- package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
- package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
- package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
- package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
- package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
- package/esm/parse/v3-2/server/toServerV3.js +31 -0
- package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
- package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
- package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
- package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
- package/esm/parse/v3-2/string/toString.d.ts +146 -0
- package/esm/parse/v3-2/string/toString.js +211 -0
- package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
- package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
- package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
- package/esm/parse/v3-2/union/toUnion.js +68 -0
- package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
- package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
- package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
- package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
- package/esm/types/Method.d.ts +7 -4
- package/esm/types/Method.js +17 -4
- package/esm/types/Preview.d.ts +2 -1
- package/esm/types/SkmtcDocument.d.ts +6 -6
- package/package.json +1 -1
- package/script/_dnt.polyfills.d.ts +11 -0
- package/script/_dnt.polyfills.js +14 -0
- package/script/context/ParseContext.js +9 -1
- package/script/context/generateTypes.d.ts +14 -2
- package/script/context/generateTypes.js +5 -1
- package/script/dsl/GeneratorKeys.d.ts +2 -2
- package/script/dsl/GeneratorKeys.js +6 -3
- package/script/helpers/naming.d.ts +2 -1
- package/script/helpers/naming.js +4 -2
- package/script/mod.d.ts +1 -0
- package/script/mod.js +1 -0
- package/script/oas/discriminator/Discriminator.d.ts +3 -0
- package/script/oas/discriminator/Discriminator.js +7 -0
- package/script/oas/document/Document.d.ts +7 -0
- package/script/oas/document/Document.js +8 -0
- package/script/oas/example/Example.d.ts +10 -1
- package/script/oas/example/Example.js +16 -0
- package/script/oas/header/Header.d.ts +4 -2
- package/script/oas/header/Header.js +12 -5
- package/script/oas/mediaType/MediaType.d.ts +12 -0
- package/script/oas/mediaType/MediaType.js +24 -0
- package/script/oas/mediaType/jsonMediaType.d.ts +50 -0
- package/script/oas/mediaType/jsonMediaType.js +71 -0
- package/script/oas/mediaType/toContentSchema.d.ts +8 -0
- package/script/oas/mediaType/toContentSchema.js +10 -0
- package/script/oas/operation/Operation.d.ts +10 -2
- package/script/oas/operation/Operation.js +20 -7
- package/script/oas/parameter/Parameter.d.ts +3 -2
- package/script/oas/parameter/Parameter.js +11 -5
- package/script/oas/parameter/parameter-types.d.ts +10 -2
- package/script/oas/parameter/parameter-types.js +3 -1
- package/script/oas/requestBody/RequestBody.d.ts +11 -0
- package/script/oas/requestBody/RequestBody.js +16 -2
- package/script/oas/response/Response.d.ts +17 -1
- package/script/oas/response/Response.js +24 -2
- package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
- package/script/oas/securitySchemes/SecurityScheme.js +46 -1
- package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
- package/script/oas/server/Server.d.ts +8 -2
- package/script/oas/server/Server.js +10 -1
- package/script/oas/tag/Tag.d.ts +9 -0
- package/script/oas/tag/Tag.js +9 -0
- package/script/oas/webhook/Webhook.d.ts +4 -4
- package/script/oas/webhook/Webhook.js +6 -6
- package/script/parse/logBodyMediaTypes.d.ts +27 -0
- package/script/parse/logBodyMediaTypes.js +54 -0
- package/script/parse/toOasDialect.d.ts +8 -7
- package/script/parse/toOasDialect.js +4 -2
- package/script/parse/v3-0/methods.d.ts +11 -0
- package/script/parse/v3-0/methods.js +20 -0
- package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
- package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
- package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
- package/script/parse/v3-0/requestBody/toRequestBodiesV3.js +4 -1
- package/script/parse/v3-0/response/toResponseV3.js +4 -1
- package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
- package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
- package/script/parse/v3-1/methods.d.ts +11 -0
- package/script/parse/v3-1/methods.js +20 -0
- package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
- package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
- package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
- package/script/parse/v3-1/requestBody/toRequestBodiesV3.js +4 -1
- package/script/parse/v3-1/response/toResponseV3.js +4 -1
- package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
- package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
- package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
- package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
- package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
- package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
- package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
- package/script/parse/v3-2/_helpers/parseExample.js +41 -0
- package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
- package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
- package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
- package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
- package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
- package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
- package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
- package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
- package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
- package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
- package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
- package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
- package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
- package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
- package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
- package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
- package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
- package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
- package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
- package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
- package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
- package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
- package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
- package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
- package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
- package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
- package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
- package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
- package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
- package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
- package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
- package/script/parse/v3-2/_merge-all-of/types.js +38 -0
- package/script/parse/v3-2/array/toArray.d.ts +80 -0
- package/script/parse/v3-2/array/toArray.js +203 -0
- package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
- package/script/parse/v3-2/boolean/toBoolean.js +177 -0
- package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
- package/script/parse/v3-2/components/toComponentsV3.js +47 -0
- package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
- package/script/parse/v3-2/contact/toContactV3.js +22 -0
- package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
- package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
- package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
- package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
- package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
- package/script/parse/v3-2/example/toExamplesV3.js +149 -0
- package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
- package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
- package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
- package/script/parse/v3-2/header/toHeadersV3.js +51 -0
- package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
- package/script/parse/v3-2/info/toInfoV3.js +27 -0
- package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
- package/script/parse/v3-2/integer/toInteger.js +153 -0
- package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
- package/script/parse/v3-2/license/toLicenseV3.js +21 -0
- package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
- package/script/parse/v3-2/link/toLinksV3.js +44 -0
- package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
- package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
- package/script/parse/v3-2/methods.d.ts +17 -0
- package/script/parse/v3-2/methods.js +25 -0
- package/script/parse/v3-2/number/toNumber.d.ts +10 -0
- package/script/parse/v3-2/number/toNumber.js +152 -0
- package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
- package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
- package/script/parse/v3-2/object/toObject.d.ts +10 -0
- package/script/parse/v3-2/object/toObject.js +94 -0
- package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
- package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
- package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
- package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
- package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
- package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
- package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
- package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
- package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
- package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
- package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
- package/script/parse/v3-2/ref/toRefV31.js +14 -0
- package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
- package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +52 -0
- package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
- package/script/parse/v3-2/response/toResponseV3.js +65 -0
- package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
- package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
- package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
- package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
- package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
- package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
- package/script/parse/v3-2/server/toServerV3.js +37 -0
- package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
- package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
- package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
- package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
- package/script/parse/v3-2/string/toString.d.ts +146 -0
- package/script/parse/v3-2/string/toString.js +249 -0
- package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
- package/script/parse/v3-2/tag/toTagsV3.js +83 -0
- package/script/parse/v3-2/union/toUnion.d.ts +12 -0
- package/script/parse/v3-2/union/toUnion.js +72 -0
- package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
- package/script/parse/v3-2/unknown/toUnknown.js +23 -0
- package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
- package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
- package/script/types/Method.d.ts +7 -4
- package/script/types/Method.js +17 -4
- package/script/types/Preview.d.ts +2 -1
- package/script/types/SkmtcDocument.d.ts +6 -6
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logBodyMediaTypes = void 0;
|
|
4
|
+
const jsonMediaType_js_1 = require("../oas/mediaType/jsonMediaType.js");
|
|
5
|
+
/**
|
|
6
|
+
* Log at most one issue for a parsed response or request body, from the same
|
|
7
|
+
* choice the lookups make (`toJsonContent`), so the issue and the lookup
|
|
8
|
+
* cannot disagree. Called after the body is built, so a body that fails to
|
|
9
|
+
* parse logs nothing.
|
|
10
|
+
*
|
|
11
|
+
* - `WILDCARD_MEDIA_TYPE` (`warning`): the body is read from `*\/*` as JSON,
|
|
12
|
+
* though the document does not say its format.
|
|
13
|
+
* - `NO_JSON_MEDIA_TYPE` (`debug`): no lookup reads the body, and its keys
|
|
14
|
+
* include a range (`*\/*` with a scalar schema, `application/*`), so its
|
|
15
|
+
* format is unknown.
|
|
16
|
+
*
|
|
17
|
+
* A body with only specific non-JSON types (`multipart/form-data`,
|
|
18
|
+
* `application/octet-stream`, `text/plain`) logs nothing: that is a normal
|
|
19
|
+
* text, form or binary body.
|
|
20
|
+
*/
|
|
21
|
+
const logBodyMediaTypes = ({ content, stackTrail, context }) => {
|
|
22
|
+
const mediaTypes = Object.keys(content ?? {});
|
|
23
|
+
if (mediaTypes.length === 0) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const listed = mediaTypes.map(mediaType => `"${mediaType}"`).join(', ');
|
|
27
|
+
// `parent` is only the keys: the issue log serializes it on every issue.
|
|
28
|
+
const parent = { mediaTypes };
|
|
29
|
+
const chosen = (0, jsonMediaType_js_1.toJsonContent)(content);
|
|
30
|
+
if (chosen !== undefined) {
|
|
31
|
+
if ((0, jsonMediaType_js_1.isAnyMediaType)(chosen.mediaType)) {
|
|
32
|
+
context.logIssue({
|
|
33
|
+
key: 'content',
|
|
34
|
+
level: 'warning',
|
|
35
|
+
type: 'WILDCARD_MEDIA_TYPE',
|
|
36
|
+
message: `Content has no JSON media type (${listed}), so the body is read from "*/*" as JSON although the document does not say its format`,
|
|
37
|
+
parent,
|
|
38
|
+
stackTrail
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (mediaTypes.some(mediaType => (0, jsonMediaType_js_1.toMediaTypeEssence)(mediaType).includes('*'))) {
|
|
44
|
+
context.logIssue({
|
|
45
|
+
key: 'content',
|
|
46
|
+
level: 'debug',
|
|
47
|
+
type: 'NO_JSON_MEDIA_TYPE',
|
|
48
|
+
message: `Content names only a media type range or non-JSON types (${listed}), so no lookup without a media type reads its schema`,
|
|
49
|
+
parent,
|
|
50
|
+
stackTrail
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.logBodyMediaTypes = logBodyMediaTypes;
|
|
@@ -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
|
*
|
|
@@ -9,7 +9,7 @@ exports.toOasDialect = void 0;
|
|
|
9
9
|
* precondition failure — there is no sensible parser to pick — so it throws
|
|
10
10
|
* rather than silently defaulting to one dialect and masking the error. A
|
|
11
11
|
* loose `openapi.startsWith('3.1') ? '3.1' : '3.0'` would route every
|
|
12
|
-
* non-3.1 value (a typo, `
|
|
12
|
+
* non-3.1 value (a typo, `4.0`, a missing field) into 3.0 unnoticed;
|
|
13
13
|
* that is the footgun this avoids. Mirrors `@skmtc/convert`'s
|
|
14
14
|
* `toV3Document`, which likewise throws on an unrecognized version.
|
|
15
15
|
*
|
|
@@ -21,6 +21,8 @@ const toOasDialect = (openapi) => {
|
|
|
21
21
|
return '3.0';
|
|
22
22
|
if (openapi?.startsWith('3.1'))
|
|
23
23
|
return '3.1';
|
|
24
|
-
|
|
24
|
+
if (openapi?.startsWith('3.2'))
|
|
25
|
+
return '3.2';
|
|
26
|
+
throw new Error(`Unsupported OpenAPI version: ${openapi ?? '(missing)'} — expected 3.0.x, 3.1.x or 3.2.x`);
|
|
25
27
|
};
|
|
26
28
|
exports.toOasDialect = toOasDialect;
|
|
@@ -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,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toPathItemMethod = exports.pathItemMethods = void 0;
|
|
4
|
+
exports.pathItemMethods = [
|
|
5
|
+
'get',
|
|
6
|
+
'put',
|
|
7
|
+
'post',
|
|
8
|
+
'delete',
|
|
9
|
+
'options',
|
|
10
|
+
'head',
|
|
11
|
+
'patch',
|
|
12
|
+
'trace'
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
|
|
16
|
+
*/
|
|
17
|
+
const toPathItemMethod = (key) => {
|
|
18
|
+
return exports.pathItemMethods.find(method => method === key);
|
|
19
|
+
};
|
|
20
|
+
exports.toPathItemMethod = toPathItemMethod;
|
|
@@ -6,7 +6,7 @@ const toResponseV3_js_1 = require("../response/toResponseV3.js");
|
|
|
6
6
|
const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
|
|
7
7
|
const Operation_js_1 = require("../../../oas/operation/Operation.js");
|
|
8
8
|
const toPathItemV3_js_1 = require("../pathItem/toPathItemV3.js");
|
|
9
|
-
const
|
|
9
|
+
const methods_js_1 = require("../methods.js");
|
|
10
10
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
11
11
|
const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
|
|
12
12
|
const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
|
|
@@ -58,14 +58,14 @@ const toOperationsV3 = ({ paths, stackTrail, context }) => {
|
|
|
58
58
|
return [];
|
|
59
59
|
}
|
|
60
60
|
const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
63
|
-
const { [
|
|
61
|
+
const method = (0, methods_js_1.toPathItemMethod)(key);
|
|
62
|
+
if (method) {
|
|
63
|
+
const { [method]: _deleted, ...remaining } = rest;
|
|
64
64
|
return {
|
|
65
65
|
rest: remaining,
|
|
66
66
|
methodObject: {
|
|
67
67
|
...methodObject,
|
|
68
|
-
[
|
|
68
|
+
[method]: operation
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
}
|
|
@@ -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 {};
|
|
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.toOptionalParametersV3 = exports.toParametersV3 = exports.toParameterListV3 = void 0;
|
|
37
37
|
const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
|
|
38
38
|
const refFns_js_1 = require("../../../helpers/refFns.js");
|
|
39
|
-
const parameter_types_js_1 = require("../../../oas/parameter/parameter-types.js");
|
|
40
39
|
const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
|
|
41
40
|
const toRefV31_js_1 = require("../ref/toRefV31.js");
|
|
42
41
|
const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
|
|
@@ -44,6 +43,21 @@ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
|
|
|
44
43
|
const Parameter_js_1 = require("../../../oas/parameter/Parameter.js");
|
|
45
44
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
46
45
|
const v = __importStar(require("valibot"));
|
|
46
|
+
const parameterLocation = v.enum({
|
|
47
|
+
query: 'query',
|
|
48
|
+
header: 'header',
|
|
49
|
+
path: 'path',
|
|
50
|
+
cookie: 'cookie'
|
|
51
|
+
});
|
|
52
|
+
const parameterStyle = v.enum({
|
|
53
|
+
matrix: 'matrix',
|
|
54
|
+
label: 'label',
|
|
55
|
+
form: 'form',
|
|
56
|
+
simple: 'simple',
|
|
57
|
+
spaceDelimited: 'spaceDelimited',
|
|
58
|
+
pipeDelimited: 'pipeDelimited',
|
|
59
|
+
deepObject: 'deepObject'
|
|
60
|
+
});
|
|
47
61
|
const toParameterListV3 = ({ parameters, stackTrail, context }) => {
|
|
48
62
|
if (!parameters) {
|
|
49
63
|
return undefined;
|
|
@@ -91,7 +105,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
|
|
|
91
105
|
stackTrail,
|
|
92
106
|
parentType: 'parameter'
|
|
93
107
|
});
|
|
94
|
-
const parsedLocation = v.parse(
|
|
108
|
+
const parsedLocation = v.parse(parameterLocation, location);
|
|
95
109
|
if (parsedLocation === 'path' && !required) {
|
|
96
110
|
console.warn(`Path parameters must be required`);
|
|
97
111
|
}
|
|
@@ -121,7 +135,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
|
|
|
121
135
|
return context.withStackTrail(stackTrail, () => new Parameter_js_1.OasParameter(fields, context));
|
|
122
136
|
};
|
|
123
137
|
const toStyle = ({ style, location, stackTrail }) => {
|
|
124
|
-
const parsed = v.parse(v.optional(
|
|
138
|
+
const parsed = v.parse(v.optional(parameterStyle), style);
|
|
125
139
|
if (parsed !== undefined) {
|
|
126
140
|
return parsed;
|
|
127
141
|
}
|
|
@@ -6,6 +6,7 @@ const toRefV31_js_1 = require("../ref/toRefV31.js");
|
|
|
6
6
|
const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
|
|
7
7
|
const RequestBody_js_1 = require("../../../oas/requestBody/RequestBody.js");
|
|
8
8
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
9
|
+
const logBodyMediaTypes_js_1 = require("../../logBodyMediaTypes.js");
|
|
9
10
|
const toRequestBodyV3 = ({ requestBody, stackTrail, context }) => {
|
|
10
11
|
if (!requestBody) {
|
|
11
12
|
return undefined;
|
|
@@ -29,7 +30,9 @@ const toRequestBodyV3 = ({ requestBody, stackTrail, context }) => {
|
|
|
29
30
|
required,
|
|
30
31
|
extensionFields
|
|
31
32
|
};
|
|
32
|
-
|
|
33
|
+
const parsed = context.withStackTrail(stackTrail, () => new RequestBody_js_1.OasRequestBody(fields, context));
|
|
34
|
+
(0, logBodyMediaTypes_js_1.logBodyMediaTypes)({ content: fields.content, stackTrail, context });
|
|
35
|
+
return parsed;
|
|
33
36
|
};
|
|
34
37
|
exports.toRequestBodyV3 = toRequestBodyV3;
|
|
35
38
|
const toRequestBodiesV3 = ({ requestBodies, stackTrail, context }) => {
|
|
@@ -9,6 +9,7 @@ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
|
|
|
9
9
|
const Response_js_1 = require("../../../oas/response/Response.js");
|
|
10
10
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
11
11
|
const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
|
|
12
|
+
const logBodyMediaTypes_js_1 = require("../../logBodyMediaTypes.js");
|
|
12
13
|
const toResponsesV3 = ({ responses, stackTrail, context }) => {
|
|
13
14
|
const output = {};
|
|
14
15
|
const entries = Object.entries(responses);
|
|
@@ -50,12 +51,14 @@ const toResponseV3 = ({ response, stackTrail, context }) => {
|
|
|
50
51
|
const parsedHeaders = stackTrail.trace('headers', st => (0, toHeadersV3_js_1.toHeadersV3)({ headers, stackTrail: st, context }));
|
|
51
52
|
const parsedLinks = stackTrail.trace('links', st => (0, toLinksV3_js_1.toLinksV3)({ links, stackTrail: st, context }));
|
|
52
53
|
const parsedContent = stackTrail.trace('content', st => (0, toMediaTypeItemV3_js_1.toOptionalMediaTypeItemsV3)({ content, stackTrail: st, context }));
|
|
53
|
-
|
|
54
|
+
const parsed = context.withStackTrail(stackTrail, () => new Response_js_1.OasResponse({
|
|
54
55
|
description,
|
|
55
56
|
headers: parsedHeaders,
|
|
56
57
|
links: parsedLinks,
|
|
57
58
|
content: parsedContent,
|
|
58
59
|
extensionFields
|
|
59
60
|
}, context));
|
|
61
|
+
(0, logBodyMediaTypes_js_1.logBodyMediaTypes)({ content: parsedContent, stackTrail, context });
|
|
62
|
+
return parsed;
|
|
60
63
|
};
|
|
61
64
|
exports.toResponseV3 = toResponseV3;
|
|
@@ -39,8 +39,8 @@ const v = __importStar(require("valibot"));
|
|
|
39
39
|
const security_scheme_types_js_1 = require("../../../oas/securitySchemes/security-scheme-types.js");
|
|
40
40
|
const toRefV31_js_1 = require("../ref/toRefV31.js");
|
|
41
41
|
const refFns_js_1 = require("../../../helpers/refFns.js");
|
|
42
|
-
const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
|
|
43
42
|
const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
|
|
43
|
+
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
44
44
|
const toSecuritySchemesV3 = ({ securitySchemes, stackTrail, context }) => {
|
|
45
45
|
if (!securitySchemes) {
|
|
46
46
|
return undefined;
|
|
@@ -64,21 +64,29 @@ const toSecuritySchemesV3 = ({ securitySchemes, stackTrail, context }) => {
|
|
|
64
64
|
return output;
|
|
65
65
|
};
|
|
66
66
|
exports.toSecuritySchemesV3 = toSecuritySchemesV3;
|
|
67
|
+
/**
|
|
68
|
+
* Log the keys of `value` that `known` does not name as skipped fields.
|
|
69
|
+
* `v.parse` on a `v.object` schema strips unknown keys, so they are read
|
|
70
|
+
* off the raw object. `x-` extensions are not logged.
|
|
71
|
+
*/
|
|
72
|
+
const logSkippedKeys = ({ value, known, parentType, stackTrail, context }) => {
|
|
73
|
+
const skipped = Object.fromEntries(Object.entries(value).filter(([key]) => !Object.hasOwn(known, key)));
|
|
74
|
+
(0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({ skipped, parent: value, parentType, stackTrail, context });
|
|
75
|
+
};
|
|
67
76
|
const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
|
|
68
77
|
if ((0, refFns_js_1.isRef)(securityScheme)) {
|
|
69
78
|
return (0, toRefV31_js_1.toRefV31)({ ref: securityScheme, refType: 'securityScheme', stackTrail, context });
|
|
70
79
|
}
|
|
71
80
|
switch (securityScheme.type) {
|
|
72
81
|
case 'http': {
|
|
73
|
-
const {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
+
const { description, scheme, bearerFormat } = v.parse(security_scheme_types_js_1.oasHttpSecuritySchemeData, securityScheme);
|
|
83
|
+
logSkippedKeys({
|
|
84
|
+
value: securityScheme,
|
|
85
|
+
known: security_scheme_types_js_1.oasHttpSecuritySchemeData.entries,
|
|
86
|
+
parentType: 'securityScheme:http',
|
|
87
|
+
stackTrail,
|
|
88
|
+
context
|
|
89
|
+
});
|
|
82
90
|
return new SecurityScheme_js_1.OasHttpSecurityScheme({
|
|
83
91
|
description,
|
|
84
92
|
scheme,
|
|
@@ -86,15 +94,14 @@ const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
|
|
|
86
94
|
});
|
|
87
95
|
}
|
|
88
96
|
case 'apiKey': {
|
|
89
|
-
const {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
97
|
+
const { in: location, description, name } = v.parse(security_scheme_types_js_1.oasApiKeySecuritySchemeData, securityScheme);
|
|
98
|
+
logSkippedKeys({
|
|
99
|
+
value: securityScheme,
|
|
100
|
+
known: security_scheme_types_js_1.oasApiKeySecuritySchemeData.entries,
|
|
101
|
+
parentType: 'securityScheme:apiKey',
|
|
102
|
+
stackTrail,
|
|
103
|
+
context
|
|
104
|
+
});
|
|
98
105
|
return new SecurityScheme_js_1.OasApiKeySecurityScheme({
|
|
99
106
|
description,
|
|
100
107
|
name,
|
|
@@ -102,30 +109,35 @@ const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
|
|
|
102
109
|
});
|
|
103
110
|
}
|
|
104
111
|
case 'oauth2': {
|
|
105
|
-
const {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
const { flows, description } = v.parse(security_scheme_types_js_1.oasOAuth2SecuritySchemeData, securityScheme);
|
|
113
|
+
logSkippedKeys({
|
|
114
|
+
value: securityScheme,
|
|
115
|
+
known: security_scheme_types_js_1.oasOAuth2SecuritySchemeData.entries,
|
|
116
|
+
parentType: 'securityScheme:oauth2',
|
|
117
|
+
stackTrail,
|
|
118
|
+
context
|
|
119
|
+
});
|
|
120
|
+
stackTrail.trace('flows', st => logSkippedKeys({
|
|
121
|
+
value: securityScheme.flows,
|
|
122
|
+
known: security_scheme_types_js_1.oasOAuth2FlowsData.entries,
|
|
123
|
+
parentType: 'oauthFlows',
|
|
124
|
+
stackTrail: st,
|
|
125
|
+
context
|
|
126
|
+
}));
|
|
114
127
|
return new SecurityScheme_js_1.OasOAuth2SecurityScheme({
|
|
115
128
|
description,
|
|
116
129
|
flows
|
|
117
130
|
});
|
|
118
131
|
}
|
|
119
132
|
case 'openIdConnect': {
|
|
120
|
-
const {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
133
|
+
const { description, openIdConnectUrl } = v.parse(security_scheme_types_js_1.oasOpenIdSecuritySchemeData, securityScheme);
|
|
134
|
+
logSkippedKeys({
|
|
135
|
+
value: securityScheme,
|
|
136
|
+
known: security_scheme_types_js_1.oasOpenIdSecuritySchemeData.entries,
|
|
137
|
+
parentType: 'securityScheme:openIdConnect',
|
|
138
|
+
stackTrail,
|
|
139
|
+
context
|
|
140
|
+
});
|
|
129
141
|
return new SecurityScheme_js_1.OasOpenIdSecurityScheme({
|
|
130
142
|
description,
|
|
131
143
|
openIdConnectUrl
|
|
@@ -6,7 +6,7 @@ const toResponseV3_js_1 = require("../response/toResponseV3.js");
|
|
|
6
6
|
const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
|
|
7
7
|
const Webhook_js_1 = require("../../../oas/webhook/Webhook.js");
|
|
8
8
|
const toPathItemV3_js_1 = require("../pathItem/toPathItemV3.js");
|
|
9
|
-
const
|
|
9
|
+
const methods_js_1 = require("../methods.js");
|
|
10
10
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
11
11
|
const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
|
|
12
12
|
const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
|
|
@@ -73,14 +73,14 @@ const toWebhooksV3 = ({ webhooks, stackTrail, context }) => {
|
|
|
73
73
|
return [];
|
|
74
74
|
}
|
|
75
75
|
const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
78
|
-
const { [
|
|
76
|
+
const method = (0, methods_js_1.toPathItemMethod)(key);
|
|
77
|
+
if (method) {
|
|
78
|
+
const { [method]: _deleted, ...remaining } = rest;
|
|
79
79
|
return {
|
|
80
80
|
rest: remaining,
|
|
81
81
|
methodObject: {
|
|
82
82
|
...methodObject,
|
|
83
|
-
[
|
|
83
|
+
[method]: operation
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
}
|
|
@@ -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;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toPathItemMethod = exports.pathItemMethods = void 0;
|
|
4
|
+
exports.pathItemMethods = [
|
|
5
|
+
'get',
|
|
6
|
+
'put',
|
|
7
|
+
'post',
|
|
8
|
+
'delete',
|
|
9
|
+
'options',
|
|
10
|
+
'head',
|
|
11
|
+
'patch',
|
|
12
|
+
'trace'
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Returns `key` as a {@link PathItemMethod} when it is one of {@link pathItemMethods}.
|
|
16
|
+
*/
|
|
17
|
+
const toPathItemMethod = (key) => {
|
|
18
|
+
return exports.pathItemMethods.find(method => method === key);
|
|
19
|
+
};
|
|
20
|
+
exports.toPathItemMethod = toPathItemMethod;
|
|
@@ -6,7 +6,7 @@ const toResponseV3_js_1 = require("../response/toResponseV3.js");
|
|
|
6
6
|
const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
|
|
7
7
|
const Operation_js_1 = require("../../../oas/operation/Operation.js");
|
|
8
8
|
const toPathItemV3_js_1 = require("../pathItem/toPathItemV3.js");
|
|
9
|
-
const
|
|
9
|
+
const methods_js_1 = require("../methods.js");
|
|
10
10
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
11
11
|
const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
|
|
12
12
|
const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
|
|
@@ -61,14 +61,14 @@ const toOperationsV3 = ({ paths, stackTrail, context }) => {
|
|
|
61
61
|
return [];
|
|
62
62
|
}
|
|
63
63
|
const cleaned = Object.entries(pathItem).reduce(({ rest, methodObject }, [key, operation]) => {
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
66
|
-
const { [
|
|
64
|
+
const method = (0, methods_js_1.toPathItemMethod)(key);
|
|
65
|
+
if (method) {
|
|
66
|
+
const { [method]: _deleted, ...remaining } = rest;
|
|
67
67
|
return {
|
|
68
68
|
rest: remaining,
|
|
69
69
|
methodObject: {
|
|
70
70
|
...methodObject,
|
|
71
|
-
[
|
|
71
|
+
[method]: operation
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
74
|
}
|
|
@@ -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 {};
|
|
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.toOptionalParametersV3 = exports.toParametersV3 = exports.toParameterListV3 = void 0;
|
|
37
37
|
const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
|
|
38
38
|
const refFns_js_1 = require("../../../helpers/refFns.js");
|
|
39
|
-
const parameter_types_js_1 = require("../../../oas/parameter/parameter-types.js");
|
|
40
39
|
const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
|
|
41
40
|
const toRefV31_js_1 = require("../ref/toRefV31.js");
|
|
42
41
|
const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
|
|
@@ -44,6 +43,21 @@ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
|
|
|
44
43
|
const Parameter_js_1 = require("../../../oas/parameter/Parameter.js");
|
|
45
44
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
46
45
|
const v = __importStar(require("valibot"));
|
|
46
|
+
const parameterLocation = v.enum({
|
|
47
|
+
query: 'query',
|
|
48
|
+
header: 'header',
|
|
49
|
+
path: 'path',
|
|
50
|
+
cookie: 'cookie'
|
|
51
|
+
});
|
|
52
|
+
const parameterStyle = v.enum({
|
|
53
|
+
matrix: 'matrix',
|
|
54
|
+
label: 'label',
|
|
55
|
+
form: 'form',
|
|
56
|
+
simple: 'simple',
|
|
57
|
+
spaceDelimited: 'spaceDelimited',
|
|
58
|
+
pipeDelimited: 'pipeDelimited',
|
|
59
|
+
deepObject: 'deepObject'
|
|
60
|
+
});
|
|
47
61
|
const toParameterListV3 = ({ parameters, stackTrail, context }) => {
|
|
48
62
|
if (!parameters) {
|
|
49
63
|
return undefined;
|
|
@@ -91,7 +105,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
|
|
|
91
105
|
stackTrail,
|
|
92
106
|
parentType: 'parameter'
|
|
93
107
|
});
|
|
94
|
-
const parsedLocation = v.parse(
|
|
108
|
+
const parsedLocation = v.parse(parameterLocation, location);
|
|
95
109
|
if (parsedLocation === 'path' && !required) {
|
|
96
110
|
console.warn(`Path parameters must be required`);
|
|
97
111
|
}
|
|
@@ -121,7 +135,7 @@ const toParameterV3 = ({ parameter, stackTrail, context }) => {
|
|
|
121
135
|
return context.withStackTrail(stackTrail, () => new Parameter_js_1.OasParameter(fields, context));
|
|
122
136
|
};
|
|
123
137
|
const toStyle = ({ style, location, stackTrail }) => {
|
|
124
|
-
const parsed = v.parse(v.optional(
|
|
138
|
+
const parsed = v.parse(v.optional(parameterStyle), style);
|
|
125
139
|
if (parsed !== undefined) {
|
|
126
140
|
return parsed;
|
|
127
141
|
}
|
|
@@ -6,6 +6,7 @@ const toRefV31_js_1 = require("../ref/toRefV31.js");
|
|
|
6
6
|
const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
|
|
7
7
|
const RequestBody_js_1 = require("../../../oas/requestBody/RequestBody.js");
|
|
8
8
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
9
|
+
const logBodyMediaTypes_js_1 = require("../../logBodyMediaTypes.js");
|
|
9
10
|
const toRequestBodyV3 = ({ requestBody, stackTrail, context }) => {
|
|
10
11
|
if (!requestBody) {
|
|
11
12
|
return undefined;
|
|
@@ -29,7 +30,9 @@ const toRequestBodyV3 = ({ requestBody, stackTrail, context }) => {
|
|
|
29
30
|
required,
|
|
30
31
|
extensionFields
|
|
31
32
|
};
|
|
32
|
-
|
|
33
|
+
const parsed = context.withStackTrail(stackTrail, () => new RequestBody_js_1.OasRequestBody(fields, context));
|
|
34
|
+
(0, logBodyMediaTypes_js_1.logBodyMediaTypes)({ content: fields.content, stackTrail, context });
|
|
35
|
+
return parsed;
|
|
33
36
|
};
|
|
34
37
|
exports.toRequestBodyV3 = toRequestBodyV3;
|
|
35
38
|
const toRequestBodiesV3 = ({ requestBodies, stackTrail, context }) => {
|
|
@@ -9,6 +9,7 @@ const toMediaTypeItemV3_js_1 = require("../mediaType/toMediaTypeItemV3.js");
|
|
|
9
9
|
const Response_js_1 = require("../../../oas/response/Response.js");
|
|
10
10
|
const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
|
|
11
11
|
const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
|
|
12
|
+
const logBodyMediaTypes_js_1 = require("../../logBodyMediaTypes.js");
|
|
12
13
|
const toResponsesV3 = ({ responses, stackTrail, context }) => {
|
|
13
14
|
const output = {};
|
|
14
15
|
const entries = Object.entries(responses);
|
|
@@ -50,12 +51,14 @@ const toResponseV3 = ({ response, stackTrail, context }) => {
|
|
|
50
51
|
const parsedHeaders = stackTrail.trace('headers', st => (0, toHeadersV3_js_1.toHeadersV3)({ headers, stackTrail: st, context }));
|
|
51
52
|
const parsedLinks = stackTrail.trace('links', st => (0, toLinksV3_js_1.toLinksV3)({ links, stackTrail: st, context }));
|
|
52
53
|
const parsedContent = stackTrail.trace('content', st => (0, toMediaTypeItemV3_js_1.toOptionalMediaTypeItemsV3)({ content, stackTrail: st, context }));
|
|
53
|
-
|
|
54
|
+
const parsed = context.withStackTrail(stackTrail, () => new Response_js_1.OasResponse({
|
|
54
55
|
description,
|
|
55
56
|
headers: parsedHeaders,
|
|
56
57
|
links: parsedLinks,
|
|
57
58
|
content: parsedContent,
|
|
58
59
|
extensionFields
|
|
59
60
|
}, context));
|
|
61
|
+
(0, logBodyMediaTypes_js_1.logBodyMediaTypes)({ content: parsedContent, stackTrail, context });
|
|
62
|
+
return parsed;
|
|
60
63
|
};
|
|
61
64
|
exports.toResponseV3 = toResponseV3;
|