@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
|
@@ -4,7 +4,7 @@ import type { Method } from '../types/Method.js';
|
|
|
4
4
|
* Determines the endpoint type based on HTTP method.
|
|
5
5
|
*
|
|
6
6
|
* @param operation - The OpenAPI operation to analyze
|
|
7
|
-
* @returns 'query' for GET operations, 'mutation' for all others
|
|
7
|
+
* @returns 'query' for GET and QUERY operations, 'mutation' for all others
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```typescript
|
|
@@ -67,6 +67,7 @@ export declare const toArgsName: (operation: OasOperation) => string;
|
|
|
67
67
|
* console.log(toMethodVerb('put')); // 'Update'
|
|
68
68
|
* console.log(toMethodVerb('get')); // 'get'
|
|
69
69
|
* console.log(toMethodVerb('delete')); // 'delete'
|
|
70
|
+
* console.log(toMethodVerb('query')); // 'Query'
|
|
70
71
|
* ```
|
|
71
72
|
*/
|
|
72
73
|
export declare const toMethodVerb: (method: Method) => string;
|
package/script/helpers/naming.js
CHANGED
|
@@ -6,7 +6,7 @@ const strings_js_1 = require("./strings.js");
|
|
|
6
6
|
* Determines the endpoint type based on HTTP method.
|
|
7
7
|
*
|
|
8
8
|
* @param operation - The OpenAPI operation to analyze
|
|
9
|
-
* @returns 'query' for GET operations, 'mutation' for all others
|
|
9
|
+
* @returns 'query' for GET and QUERY operations, 'mutation' for all others
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* ```typescript
|
|
@@ -18,7 +18,8 @@ const strings_js_1 = require("./strings.js");
|
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
const toEndpointType = (operation) => {
|
|
21
|
-
|
|
21
|
+
// QUERY is safe and idempotent, like GET.
|
|
22
|
+
return operation.method === 'get' || operation.method === 'query' ? 'query' : 'mutation';
|
|
22
23
|
};
|
|
23
24
|
exports.toEndpointType = toEndpointType;
|
|
24
25
|
/**
|
|
@@ -85,6 +86,7 @@ exports.toArgsName = toArgsName;
|
|
|
85
86
|
* console.log(toMethodVerb('put')); // 'Update'
|
|
86
87
|
* console.log(toMethodVerb('get')); // 'get'
|
|
87
88
|
* console.log(toMethodVerb('delete')); // 'delete'
|
|
89
|
+
* console.log(toMethodVerb('query')); // 'Query'
|
|
88
90
|
* ```
|
|
89
91
|
*/
|
|
90
92
|
const toMethodVerb = (method) => {
|
package/script/mod.d.ts
CHANGED
|
@@ -146,6 +146,7 @@ export * from './oas/info/info-types.js';
|
|
|
146
146
|
export * from './oas/license/License.js';
|
|
147
147
|
export * from './oas/license/license-types.js';
|
|
148
148
|
export * from './oas/mediaType/MediaType.js';
|
|
149
|
+
export * from './oas/mediaType/jsonMediaType.js';
|
|
149
150
|
export * from './oas/integer/Integer.js';
|
|
150
151
|
export * from './oas/integer/integer-types.js';
|
|
151
152
|
export * from './parse/v3-0/integer/toInteger.js';
|
package/script/mod.js
CHANGED
|
@@ -162,6 +162,7 @@ __exportStar(require("./oas/info/info-types.js"), exports);
|
|
|
162
162
|
__exportStar(require("./oas/license/License.js"), exports);
|
|
163
163
|
__exportStar(require("./oas/license/license-types.js"), exports);
|
|
164
164
|
__exportStar(require("./oas/mediaType/MediaType.js"), exports);
|
|
165
|
+
__exportStar(require("./oas/mediaType/jsonMediaType.js"), exports);
|
|
165
166
|
__exportStar(require("./oas/integer/Integer.js"), exports);
|
|
166
167
|
__exportStar(require("./oas/integer/integer-types.js"), exports);
|
|
167
168
|
__exportStar(require("./parse/v3-0/integer/toInteger.js"), exports);
|
|
@@ -2,10 +2,13 @@ import "../../_dnt.polyfills.js";
|
|
|
2
2
|
export type DiscriminatorFields = {
|
|
3
3
|
propertyName: string;
|
|
4
4
|
mapping?: Record<string, string>;
|
|
5
|
+
/** Schema to use when the discriminating value has no mapping entry (OpenAPI 3.2) */
|
|
6
|
+
defaultMapping?: string;
|
|
5
7
|
};
|
|
6
8
|
export declare class OasDiscriminator {
|
|
7
9
|
oasType: 'discriminator';
|
|
8
10
|
propertyName: string;
|
|
9
11
|
mapping?: Record<string, string>;
|
|
12
|
+
defaultMapping?: string;
|
|
10
13
|
constructor(fields: DiscriminatorFields);
|
|
11
14
|
}
|
|
@@ -22,8 +22,15 @@ class OasDiscriminator {
|
|
|
22
22
|
writable: true,
|
|
23
23
|
value: void 0
|
|
24
24
|
});
|
|
25
|
+
Object.defineProperty(this, "defaultMapping", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
configurable: true,
|
|
28
|
+
writable: true,
|
|
29
|
+
value: void 0
|
|
30
|
+
});
|
|
25
31
|
this.propertyName = fields.propertyName;
|
|
26
32
|
this.mapping = fields.mapping;
|
|
33
|
+
this.defaultMapping = fields.defaultMapping;
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
exports.OasDiscriminator = OasDiscriminator;
|
|
@@ -20,6 +20,11 @@ import type { OasExternalDocs } from '../externalDocs/ExternalDocs.js';
|
|
|
20
20
|
export type DocumentFields = {
|
|
21
21
|
/** OpenAPI specification version (e.g., '3.0.0', '3.1.0') */
|
|
22
22
|
openapi: string;
|
|
23
|
+
/**
|
|
24
|
+
* The document's own URI (OpenAPI 3.2 `$self`). Stored only: reference
|
|
25
|
+
* resolution does not use it.
|
|
26
|
+
*/
|
|
27
|
+
$self?: string | undefined;
|
|
23
28
|
/** API metadata including title, version, description */
|
|
24
29
|
info: OasInfo;
|
|
25
30
|
/** Array of server objects providing connectivity information */
|
|
@@ -215,6 +220,8 @@ export declare class OasDocument {
|
|
|
215
220
|
set fields(fields: DocumentFields);
|
|
216
221
|
/** OpenAPI specification version */
|
|
217
222
|
get openapi(): string;
|
|
223
|
+
/** The document's own URI (OpenAPI 3.2 `$self`) */
|
|
224
|
+
get $self(): string | undefined;
|
|
218
225
|
/** API metadata */
|
|
219
226
|
get info(): OasInfo;
|
|
220
227
|
get servers(): OasServer[] | undefined;
|
|
@@ -228,6 +228,13 @@ class OasDocument {
|
|
|
228
228
|
}
|
|
229
229
|
return __classPrivateFieldGet(this, _OasDocument_fields, "f").openapi;
|
|
230
230
|
}
|
|
231
|
+
/** The document's own URI (OpenAPI 3.2 `$self`) */
|
|
232
|
+
get $self() {
|
|
233
|
+
if (!__classPrivateFieldGet(this, _OasDocument_fields, "f")) {
|
|
234
|
+
throw new Error(`Accessing '$self' before fields are set`);
|
|
235
|
+
}
|
|
236
|
+
return __classPrivateFieldGet(this, _OasDocument_fields, "f").$self;
|
|
237
|
+
}
|
|
231
238
|
/** API metadata */
|
|
232
239
|
get info() {
|
|
233
240
|
if (!__classPrivateFieldGet(this, _OasDocument_fields, "f")) {
|
|
@@ -314,6 +321,7 @@ class OasDocument {
|
|
|
314
321
|
toJSON() {
|
|
315
322
|
return {
|
|
316
323
|
openapi: this.openapi,
|
|
324
|
+
...(this.$self !== undefined ? { $self: this.$self } : {}),
|
|
317
325
|
info: this.info,
|
|
318
326
|
servers: this.servers,
|
|
319
327
|
operations: this.operations,
|
|
@@ -11,6 +11,10 @@ export type ExampleFields = {
|
|
|
11
11
|
description?: string;
|
|
12
12
|
/** The example value — absent when the example is given as an `externalValue` */
|
|
13
13
|
value?: unknown;
|
|
14
|
+
/** The example as data that is valid against its schema (OpenAPI 3.2) */
|
|
15
|
+
dataValue?: unknown;
|
|
16
|
+
/** The example in its serialized form (OpenAPI 3.2) */
|
|
17
|
+
serializedValue?: string;
|
|
14
18
|
/** The external value of the example */
|
|
15
19
|
externalValue?: string;
|
|
16
20
|
/** Custom extension fields (x-* properties) */
|
|
@@ -23,6 +27,8 @@ export declare class OasExample {
|
|
|
23
27
|
summary?: string;
|
|
24
28
|
description?: string;
|
|
25
29
|
value?: unknown;
|
|
30
|
+
dataValue?: unknown;
|
|
31
|
+
serializedValue?: string;
|
|
26
32
|
externalValue?: string;
|
|
27
33
|
extensionFields?: Record<string, unknown>;
|
|
28
34
|
constructor(fields: ExampleFields);
|
|
@@ -31,5 +37,8 @@ export declare class OasExample {
|
|
|
31
37
|
/** Returns itself */
|
|
32
38
|
resolve(): OasExample;
|
|
33
39
|
resolveOnce(): OasExample;
|
|
34
|
-
toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ExampleObject
|
|
40
|
+
toJsonSchema(_options: ToJsonSchemaOptions): OpenAPIV3.ExampleObject & {
|
|
41
|
+
dataValue?: unknown;
|
|
42
|
+
serializedValue?: string;
|
|
43
|
+
};
|
|
35
44
|
}
|
|
@@ -29,6 +29,18 @@ class OasExample {
|
|
|
29
29
|
writable: true,
|
|
30
30
|
value: void 0
|
|
31
31
|
});
|
|
32
|
+
Object.defineProperty(this, "dataValue", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true,
|
|
36
|
+
value: void 0
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(this, "serializedValue", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true,
|
|
41
|
+
writable: true,
|
|
42
|
+
value: void 0
|
|
43
|
+
});
|
|
32
44
|
Object.defineProperty(this, "externalValue", {
|
|
33
45
|
enumerable: true,
|
|
34
46
|
configurable: true,
|
|
@@ -44,6 +56,8 @@ class OasExample {
|
|
|
44
56
|
this.summary = fields.summary;
|
|
45
57
|
this.description = fields.description;
|
|
46
58
|
this.value = fields.value;
|
|
59
|
+
this.dataValue = fields.dataValue;
|
|
60
|
+
this.serializedValue = fields.serializedValue;
|
|
47
61
|
this.externalValue = fields.externalValue;
|
|
48
62
|
this.extensionFields = fields.extensionFields;
|
|
49
63
|
}
|
|
@@ -63,6 +77,8 @@ class OasExample {
|
|
|
63
77
|
summary: this.summary,
|
|
64
78
|
description: this.description,
|
|
65
79
|
value: this.value,
|
|
80
|
+
...(this.dataValue !== undefined ? { dataValue: this.dataValue } : {}),
|
|
81
|
+
...(this.serializedValue !== undefined ? { serializedValue: this.serializedValue } : {}),
|
|
66
82
|
// Without this an `externalValue`-only example round-trips to an Example
|
|
67
83
|
// Object holding neither an inline value nor a pointer to one.
|
|
68
84
|
externalValue: this.externalValue
|
|
@@ -77,9 +77,11 @@ export declare class OasHeader {
|
|
|
77
77
|
resolve(): OasHeader;
|
|
78
78
|
resolveOnce(): OasHeader;
|
|
79
79
|
/** Returns schema for the header. Either, `schema` property if
|
|
80
|
-
*
|
|
80
|
+
* defined or value matching `mediaType` from `content` property. When
|
|
81
|
+
* `content` has exactly one entry (the spec requires one), its schema is
|
|
82
|
+
* used whatever the media type, as in `OasParameter.toSchema`.
|
|
81
83
|
*
|
|
82
|
-
* @param mediaType - Optional media type to get schema for.
|
|
84
|
+
* @param mediaType - Optional media type to get schema for, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
|
|
83
85
|
*/
|
|
84
86
|
toSchema(mediaType?: string): OasSchema | OasRef<'schema'>;
|
|
85
87
|
toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.HeaderObject;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OasHeader = void 0;
|
|
4
|
+
const toContentSchema_js_1 = require("../mediaType/toContentSchema.js");
|
|
4
5
|
/**
|
|
5
6
|
* Represents a Header Object in the OpenAPI Specification.
|
|
6
7
|
*
|
|
@@ -109,17 +110,23 @@ class OasHeader {
|
|
|
109
110
|
return this;
|
|
110
111
|
}
|
|
111
112
|
/** Returns schema for the header. Either, `schema` property if
|
|
112
|
-
*
|
|
113
|
+
* defined or value matching `mediaType` from `content` property. When
|
|
114
|
+
* `content` has exactly one entry (the spec requires one), its schema is
|
|
115
|
+
* used whatever the media type, as in `OasParameter.toSchema`.
|
|
113
116
|
*
|
|
114
|
-
* @param mediaType - Optional media type to get schema for.
|
|
117
|
+
* @param mediaType - Optional media type to get schema for, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
|
|
115
118
|
*/
|
|
116
|
-
toSchema(mediaType
|
|
119
|
+
toSchema(mediaType) {
|
|
117
120
|
if (this.schema) {
|
|
118
121
|
return this.schema;
|
|
119
122
|
}
|
|
120
|
-
const
|
|
123
|
+
const contentEntries = Object.values(this.content ?? {});
|
|
124
|
+
const onlyEntry = contentEntries.length === 1 ? contentEntries[0] : undefined;
|
|
125
|
+
const schema = (0, toContentSchema_js_1.toContentSchema)(this.content, mediaType) ?? onlyEntry?.schema;
|
|
121
126
|
if (!schema) {
|
|
122
|
-
throw new Error(
|
|
127
|
+
throw new Error(mediaType === undefined
|
|
128
|
+
? 'Schema not found for a JSON media type'
|
|
129
|
+
: `Schema not found for media type "${mediaType}"`);
|
|
123
130
|
}
|
|
124
131
|
return schema;
|
|
125
132
|
}
|
|
@@ -13,12 +13,18 @@ export type MediaTypeFields = {
|
|
|
13
13
|
mediaType: string;
|
|
14
14
|
/** The schema defining the structure of the content */
|
|
15
15
|
schema?: OasSchema | OasRef<'schema'> | undefined;
|
|
16
|
+
/** The schema of each item in a sequential media type (OpenAPI 3.2) */
|
|
17
|
+
itemSchema?: OasSchema | OasRef<'schema'> | undefined;
|
|
16
18
|
/** Example values for the media type */
|
|
17
19
|
examples?: Record<string, OasExample | OasRef<'example'>> | undefined;
|
|
18
20
|
/** Custom extension fields (x-* properties) */
|
|
19
21
|
extensionFields?: Record<string, unknown>;
|
|
20
22
|
/** Encoding information for multipart or form data */
|
|
21
23
|
encoding?: Record<string, unknown> | undefined;
|
|
24
|
+
/** Positional Encoding Objects for a multipart array (OpenAPI 3.2) */
|
|
25
|
+
prefixEncoding?: Record<string, unknown>[] | undefined;
|
|
26
|
+
/** Encoding Object for each array item (OpenAPI 3.2) */
|
|
27
|
+
itemEncoding?: Record<string, unknown> | undefined;
|
|
22
28
|
};
|
|
23
29
|
/**
|
|
24
30
|
* Represents a Media Type Object in the OpenAPI Specification.
|
|
@@ -104,12 +110,18 @@ export declare class OasMediaType extends OasBase {
|
|
|
104
110
|
mediaType: string;
|
|
105
111
|
/** The schema defining the structure and validation rules for the content */
|
|
106
112
|
schema: OasSchema | OasRef<'schema'> | undefined;
|
|
113
|
+
/** The schema of each item in a sequential media type (OpenAPI 3.2) */
|
|
114
|
+
itemSchema: OasSchema | OasRef<'schema'> | undefined;
|
|
107
115
|
/** Example values demonstrating the media type content */
|
|
108
116
|
examples: Record<string, OasExample | OasRef<'example'>> | undefined;
|
|
109
117
|
/** Custom extension fields (x-* properties) defined for this media type */
|
|
110
118
|
extensionFields: Record<string, unknown> | undefined;
|
|
111
119
|
/** Encoding information for multipart and form data serialization */
|
|
112
120
|
encoding?: Record<string, unknown> | undefined;
|
|
121
|
+
/** Positional Encoding Objects for a multipart array (OpenAPI 3.2), stored as-is */
|
|
122
|
+
prefixEncoding?: Record<string, unknown>[] | undefined;
|
|
123
|
+
/** Encoding Object for each array item (OpenAPI 3.2), stored as-is */
|
|
124
|
+
itemEncoding?: Record<string, unknown> | undefined;
|
|
113
125
|
/**
|
|
114
126
|
* Creates a new OasMediaType instance.
|
|
115
127
|
*
|
|
@@ -108,6 +108,13 @@ class OasMediaType extends OasBase_js_1.OasBase {
|
|
|
108
108
|
writable: true,
|
|
109
109
|
value: void 0
|
|
110
110
|
});
|
|
111
|
+
/** The schema of each item in a sequential media type (OpenAPI 3.2) */
|
|
112
|
+
Object.defineProperty(this, "itemSchema", {
|
|
113
|
+
enumerable: true,
|
|
114
|
+
configurable: true,
|
|
115
|
+
writable: true,
|
|
116
|
+
value: void 0
|
|
117
|
+
});
|
|
111
118
|
/** Example values demonstrating the media type content */
|
|
112
119
|
Object.defineProperty(this, "examples", {
|
|
113
120
|
enumerable: true,
|
|
@@ -129,10 +136,27 @@ class OasMediaType extends OasBase_js_1.OasBase {
|
|
|
129
136
|
writable: true,
|
|
130
137
|
value: void 0
|
|
131
138
|
});
|
|
139
|
+
/** Positional Encoding Objects for a multipart array (OpenAPI 3.2), stored as-is */
|
|
140
|
+
Object.defineProperty(this, "prefixEncoding", {
|
|
141
|
+
enumerable: true,
|
|
142
|
+
configurable: true,
|
|
143
|
+
writable: true,
|
|
144
|
+
value: void 0
|
|
145
|
+
});
|
|
146
|
+
/** Encoding Object for each array item (OpenAPI 3.2), stored as-is */
|
|
147
|
+
Object.defineProperty(this, "itemEncoding", {
|
|
148
|
+
enumerable: true,
|
|
149
|
+
configurable: true,
|
|
150
|
+
writable: true,
|
|
151
|
+
value: void 0
|
|
152
|
+
});
|
|
132
153
|
this.mediaType = fields.mediaType;
|
|
133
154
|
this.schema = fields.schema;
|
|
155
|
+
this.itemSchema = fields.itemSchema;
|
|
134
156
|
this.examples = fields.examples;
|
|
135
157
|
this.encoding = fields.encoding;
|
|
158
|
+
this.prefixEncoding = fields.prefixEncoding;
|
|
159
|
+
this.itemEncoding = fields.itemEncoding;
|
|
136
160
|
this.extensionFields = fields.extensionFields;
|
|
137
161
|
}
|
|
138
162
|
/**
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { OasRef } from '../ref/Ref.js';
|
|
2
|
+
import type { OasSchema } from '../schema/Schema.js';
|
|
3
|
+
import type { OasMediaType } from './MediaType.js';
|
|
4
|
+
/**
|
|
5
|
+
* The media type without its parameters, trimmed and lowercased:
|
|
6
|
+
* `Application/JSON; charset=utf-8` → `application/json`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const toMediaTypeEssence: (mediaType: string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* True when a body of this media type is one JSON value: `application/json`,
|
|
11
|
+
* or any `application/…+json` (the RFC 6839 structured syntax suffix, e.g.
|
|
12
|
+
* `application/vnd.api+json`, `application/ld+json`,
|
|
13
|
+
* `application/problem+json`). Parameters and case are ignored, so
|
|
14
|
+
* `application/json;v=1.0` is JSON.
|
|
15
|
+
*
|
|
16
|
+
* False for everything else, including:
|
|
17
|
+
* - `text/json`: not registered; RFC 8259 registers only `application/json`.
|
|
18
|
+
* - `application/x-ndjson`, `application/jsonl`: a stream of JSON values, not
|
|
19
|
+
* one value.
|
|
20
|
+
* - ranges such as `*\/*`, `application/*` and `application/*+json`: they do
|
|
21
|
+
* not name one type.
|
|
22
|
+
* - names without the suffix, such as `application/vnd.goa.error`, even when
|
|
23
|
+
* the API sends JSON under them.
|
|
24
|
+
*/
|
|
25
|
+
export declare const isJsonMediaType: (mediaType: string) => boolean;
|
|
26
|
+
/** True when the media type is the full range `*\/*`, parameters and case ignored. */
|
|
27
|
+
export declare const isAnyMediaType: (mediaType: string) => boolean;
|
|
28
|
+
/** The media type a body is read from, and its schema. */
|
|
29
|
+
export type JsonContent = {
|
|
30
|
+
/** The key in `content`: a JSON-like media type, or `*\/*` (with any parameters). */
|
|
31
|
+
mediaType: string;
|
|
32
|
+
/**
|
|
33
|
+
* The media type to send or expect the body as: `mediaType` when it is
|
|
34
|
+
* JSON-like, `application/json` when the body is read from `*\/*`.
|
|
35
|
+
*/
|
|
36
|
+
contentType: string;
|
|
37
|
+
schema: OasSchema | OasRef<'schema'> | undefined;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Choose the media type a body is read from: `application/json` exactly when
|
|
41
|
+
* it is a key, else the first JSON-like key in document order (see
|
|
42
|
+
* {@link isJsonMediaType}), else the `*\/*` key when its schema is an object,
|
|
43
|
+
* array, union or `$ref`. `*\/*` admits JSON, and documents use it for JSON
|
|
44
|
+
* bodies (springdoc writes it for every response); the parser logs
|
|
45
|
+
* `WILDCARD_MEDIA_TYPE` for every body read this way. `undefined` otherwise:
|
|
46
|
+
* there is no fall back to a specific non-JSON type, to a narrower range such
|
|
47
|
+
* as `application/*`, or to a scalar schema under `*\/*`, since a consumer
|
|
48
|
+
* would read that body as JSON.
|
|
49
|
+
*/
|
|
50
|
+
export declare const toJsonContent: (content: Record<string, OasMediaType> | undefined) => JsonContent | undefined;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toJsonContent = exports.isAnyMediaType = exports.isJsonMediaType = exports.toMediaTypeEssence = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The media type without its parameters, trimmed and lowercased:
|
|
6
|
+
* `Application/JSON; charset=utf-8` → `application/json`.
|
|
7
|
+
*/
|
|
8
|
+
const toMediaTypeEssence = (mediaType) => (mediaType.split(';')[0] ?? '').trim().toLowerCase();
|
|
9
|
+
exports.toMediaTypeEssence = toMediaTypeEssence;
|
|
10
|
+
/**
|
|
11
|
+
* True when a body of this media type is one JSON value: `application/json`,
|
|
12
|
+
* or any `application/…+json` (the RFC 6839 structured syntax suffix, e.g.
|
|
13
|
+
* `application/vnd.api+json`, `application/ld+json`,
|
|
14
|
+
* `application/problem+json`). Parameters and case are ignored, so
|
|
15
|
+
* `application/json;v=1.0` is JSON.
|
|
16
|
+
*
|
|
17
|
+
* False for everything else, including:
|
|
18
|
+
* - `text/json`: not registered; RFC 8259 registers only `application/json`.
|
|
19
|
+
* - `application/x-ndjson`, `application/jsonl`: a stream of JSON values, not
|
|
20
|
+
* one value.
|
|
21
|
+
* - ranges such as `*\/*`, `application/*` and `application/*+json`: they do
|
|
22
|
+
* not name one type.
|
|
23
|
+
* - names without the suffix, such as `application/vnd.goa.error`, even when
|
|
24
|
+
* the API sends JSON under them.
|
|
25
|
+
*/
|
|
26
|
+
const isJsonMediaType = (mediaType) => {
|
|
27
|
+
const essence = (0, exports.toMediaTypeEssence)(mediaType);
|
|
28
|
+
return essence === 'application/json' || /^application\/[^/*\s]+\+json$/.test(essence);
|
|
29
|
+
};
|
|
30
|
+
exports.isJsonMediaType = isJsonMediaType;
|
|
31
|
+
/** True when the media type is the full range `*\/*`, parameters and case ignored. */
|
|
32
|
+
const isAnyMediaType = (mediaType) => (0, exports.toMediaTypeEssence)(mediaType) === '*/*';
|
|
33
|
+
exports.isAnyMediaType = isAnyMediaType;
|
|
34
|
+
/**
|
|
35
|
+
* True when a schema under `*\/*` can be read as one JSON value: an object,
|
|
36
|
+
* array, union or `$ref`. A scalar is not: under `*\/*` a `string` is usually
|
|
37
|
+
* a text body, and `string` with `format: binary` a file.
|
|
38
|
+
*/
|
|
39
|
+
const isJsonShaped = (schema) => schema !== undefined &&
|
|
40
|
+
(schema.isRef() || schema.type === 'object' || schema.type === 'array' || schema.type === 'union');
|
|
41
|
+
/**
|
|
42
|
+
* Choose the media type a body is read from: `application/json` exactly when
|
|
43
|
+
* it is a key, else the first JSON-like key in document order (see
|
|
44
|
+
* {@link isJsonMediaType}), else the `*\/*` key when its schema is an object,
|
|
45
|
+
* array, union or `$ref`. `*\/*` admits JSON, and documents use it for JSON
|
|
46
|
+
* bodies (springdoc writes it for every response); the parser logs
|
|
47
|
+
* `WILDCARD_MEDIA_TYPE` for every body read this way. `undefined` otherwise:
|
|
48
|
+
* there is no fall back to a specific non-JSON type, to a narrower range such
|
|
49
|
+
* as `application/*`, or to a scalar schema under `*\/*`, since a consumer
|
|
50
|
+
* would read that body as JSON.
|
|
51
|
+
*/
|
|
52
|
+
const toJsonContent = (content) => {
|
|
53
|
+
if (!content) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const mediaTypes = Object.keys(content);
|
|
57
|
+
const jsonMediaType = 'application/json' in content ? 'application/json' : mediaTypes.find(exports.isJsonMediaType);
|
|
58
|
+
if (jsonMediaType !== undefined) {
|
|
59
|
+
return {
|
|
60
|
+
mediaType: jsonMediaType,
|
|
61
|
+
contentType: jsonMediaType,
|
|
62
|
+
schema: content[jsonMediaType]?.schema
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const anyMediaType = mediaTypes.find(exports.isAnyMediaType);
|
|
66
|
+
const schema = anyMediaType === undefined ? undefined : content[anyMediaType]?.schema;
|
|
67
|
+
return anyMediaType !== undefined && isJsonShaped(schema)
|
|
68
|
+
? { mediaType: anyMediaType, contentType: 'application/json', schema }
|
|
69
|
+
: undefined;
|
|
70
|
+
};
|
|
71
|
+
exports.toJsonContent = toJsonContent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OasRef } from '../ref/Ref.js';
|
|
2
|
+
import type { OasSchema } from '../schema/Schema.js';
|
|
3
|
+
import type { OasMediaType } from './MediaType.js';
|
|
4
|
+
/**
|
|
5
|
+
* The schema a `toSchema(mediaType?)` lookup returns: an exact key lookup when
|
|
6
|
+
* `mediaType` is given, else the schema of `toJsonContent`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const toContentSchema: (content: Record<string, OasMediaType> | undefined, mediaType: string | undefined) => OasSchema | OasRef<"schema"> | undefined;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toContentSchema = void 0;
|
|
4
|
+
const jsonMediaType_js_1 = require("./jsonMediaType.js");
|
|
5
|
+
/**
|
|
6
|
+
* The schema a `toSchema(mediaType?)` lookup returns: an exact key lookup when
|
|
7
|
+
* `mediaType` is given, else the schema of `toJsonContent`.
|
|
8
|
+
*/
|
|
9
|
+
const toContentSchema = (content, mediaType) => mediaType === undefined ? (0, jsonMediaType_js_1.toJsonContent)(content)?.schema : content?.[mediaType]?.schema;
|
|
10
|
+
exports.toContentSchema = toContentSchema;
|
|
@@ -60,6 +60,14 @@ export type OperationFields = {
|
|
|
60
60
|
export type ToRequestBodyMapArgs = {
|
|
61
61
|
schema: OasSchema | OasRef<'schema'>;
|
|
62
62
|
requestBody: OasRequestBody;
|
|
63
|
+
/** The `content` key the schema was read from. */
|
|
64
|
+
mediaType: string;
|
|
65
|
+
/**
|
|
66
|
+
* The media type to send the body as: the explicit media type when one was
|
|
67
|
+
* passed, else `contentType` of `OasRequestBody.toJsonContent` (the
|
|
68
|
+
* JSON-like key, or `application/json` for a body read from `*\/*`).
|
|
69
|
+
*/
|
|
70
|
+
contentType: string;
|
|
63
71
|
};
|
|
64
72
|
export declare class OasOperation extends OasBase {
|
|
65
73
|
/** Type identifier for OAS operation objects */
|
|
@@ -120,7 +128,7 @@ export declare class OasOperation extends OasBase {
|
|
|
120
128
|
* Maps the request body schema to a custom value using the provided mapping function.
|
|
121
129
|
*
|
|
122
130
|
* @param map - Function to transform the request body schema and metadata
|
|
123
|
-
* @param mediaType - Media type to extract schema from
|
|
131
|
+
* @param mediaType - Media type to extract schema from, an exact lookup. Omitted: the media type `OasRequestBody.toJsonContent` picks.
|
|
124
132
|
* @returns Mapped value or undefined if no request body schema found
|
|
125
133
|
*/
|
|
126
134
|
toRequestBody<V>(map: ({ schema, requestBody }: ToRequestBodyMapArgs) => V, mediaType?: string): V | undefined;
|
|
@@ -133,7 +141,7 @@ export declare class OasOperation extends OasBase {
|
|
|
133
141
|
* {@link traverseSchema}.
|
|
134
142
|
*
|
|
135
143
|
* @param path - Schema path; `path[0]` must be `'SuccessResponse'` or `'RequestBody'`.
|
|
136
|
-
* @param mediaType - Media type the body schema is read from (
|
|
144
|
+
* @param mediaType - Media type the body schema is read from, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
|
|
137
145
|
* @returns The schema at the path (may be an unresolved `$ref`).
|
|
138
146
|
* @throws Error on an unknown root, a missing response/request body, or a non-navigable segment.
|
|
139
147
|
*/
|
|
@@ -167,13 +167,25 @@ class OasOperation extends OasBase_js_1.OasBase {
|
|
|
167
167
|
* Maps the request body schema to a custom value using the provided mapping function.
|
|
168
168
|
*
|
|
169
169
|
* @param map - Function to transform the request body schema and metadata
|
|
170
|
-
* @param mediaType - Media type to extract schema from
|
|
170
|
+
* @param mediaType - Media type to extract schema from, an exact lookup. Omitted: the media type `OasRequestBody.toJsonContent` picks.
|
|
171
171
|
* @returns Mapped value or undefined if no request body schema found
|
|
172
172
|
*/
|
|
173
|
-
toRequestBody(map, mediaType
|
|
173
|
+
toRequestBody(map, mediaType) {
|
|
174
174
|
const requestBody = this.requestBody?.resolve();
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
if (!requestBody) {
|
|
176
|
+
return undefined;
|
|
177
|
+
}
|
|
178
|
+
const chosen = mediaType === undefined
|
|
179
|
+
? requestBody.toJsonContent()
|
|
180
|
+
: { mediaType, contentType: mediaType, schema: requestBody.toSchema(mediaType) };
|
|
181
|
+
return chosen?.schema
|
|
182
|
+
? map({
|
|
183
|
+
schema: chosen.schema,
|
|
184
|
+
requestBody,
|
|
185
|
+
mediaType: chosen.mediaType,
|
|
186
|
+
contentType: chosen.contentType
|
|
187
|
+
})
|
|
188
|
+
: undefined;
|
|
177
189
|
}
|
|
178
190
|
/**
|
|
179
191
|
* Navigate into this operation's response or request body schema along an
|
|
@@ -184,11 +196,11 @@ class OasOperation extends OasBase_js_1.OasBase {
|
|
|
184
196
|
* {@link traverseSchema}.
|
|
185
197
|
*
|
|
186
198
|
* @param path - Schema path; `path[0]` must be `'SuccessResponse'` or `'RequestBody'`.
|
|
187
|
-
* @param mediaType - Media type the body schema is read from (
|
|
199
|
+
* @param mediaType - Media type the body schema is read from, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
|
|
188
200
|
* @returns The schema at the path (may be an unresolved `$ref`).
|
|
189
201
|
* @throws Error on an unknown root, a missing response/request body, or a non-navigable segment.
|
|
190
202
|
*/
|
|
191
|
-
traverse(path, mediaType
|
|
203
|
+
traverse(path, mediaType) {
|
|
192
204
|
const [root, ...rest] = path;
|
|
193
205
|
let rootSchema;
|
|
194
206
|
switch (root) {
|
|
@@ -203,7 +215,8 @@ class OasOperation extends OasBase_js_1.OasBase {
|
|
|
203
215
|
}
|
|
204
216
|
if (!rootSchema) {
|
|
205
217
|
const label = root === 'SuccessResponse' ? 'success response' : 'request body';
|
|
206
|
-
|
|
218
|
+
const mediaTypeLabel = mediaType === undefined ? 'a JSON media type' : `media type "${mediaType}"`;
|
|
219
|
+
throw new Error(`Operation "${this.method} ${this.path}" has no ${label} schema for ${mediaTypeLabel}`);
|
|
207
220
|
}
|
|
208
221
|
return (0, traverseSchema_js_1.traverseSchema)(rootSchema, rest);
|
|
209
222
|
}
|
|
@@ -240,9 +240,10 @@ export declare class OasParameter extends OasBase {
|
|
|
240
240
|
* Extracts the schema for this parameter.
|
|
241
241
|
*
|
|
242
242
|
* Returns the direct schema if available, or extracts schema from content
|
|
243
|
-
* for the specified media type.
|
|
243
|
+
* for the specified media type. When `content` has exactly one entry, its
|
|
244
|
+
* schema is used whatever the media type.
|
|
244
245
|
*
|
|
245
|
-
* @param mediaType - Media type to extract schema from when using content definitions
|
|
246
|
+
* @param mediaType - Media type to extract schema from when using content definitions, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
|
|
246
247
|
* @returns The parameter's schema object
|
|
247
248
|
* @throws Error if no schema is found for the specified media type
|
|
248
249
|
*/
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OasParameter = void 0;
|
|
4
4
|
require("../../_dnt.polyfills.js");
|
|
5
5
|
const OasBase_js_1 = require("../../types/OasBase.js");
|
|
6
|
+
const toContentSchema_js_1 = require("../mediaType/toContentSchema.js");
|
|
6
7
|
/**
|
|
7
8
|
* Represents a Parameter Object in the OpenAPI Specification.
|
|
8
9
|
*
|
|
@@ -295,19 +296,24 @@ class OasParameter extends OasBase_js_1.OasBase {
|
|
|
295
296
|
* Extracts the schema for this parameter.
|
|
296
297
|
*
|
|
297
298
|
* Returns the direct schema if available, or extracts schema from content
|
|
298
|
-
* for the specified media type.
|
|
299
|
+
* for the specified media type. When `content` has exactly one entry, its
|
|
300
|
+
* schema is used whatever the media type.
|
|
299
301
|
*
|
|
300
|
-
* @param mediaType - Media type to extract schema from when using content definitions
|
|
302
|
+
* @param mediaType - Media type to extract schema from when using content definitions, an exact lookup. Omitted: the JSON media type (`application/json`, else the first JSON-like type, else `*\/*`).
|
|
301
303
|
* @returns The parameter's schema object
|
|
302
304
|
* @throws Error if no schema is found for the specified media type
|
|
303
305
|
*/
|
|
304
|
-
toSchema(mediaType
|
|
306
|
+
toSchema(mediaType) {
|
|
305
307
|
if (this.schema) {
|
|
306
308
|
return this.schema;
|
|
307
309
|
}
|
|
308
|
-
const
|
|
310
|
+
const contentEntries = Object.values(this.content ?? {});
|
|
311
|
+
const onlyEntry = contentEntries.length === 1 ? contentEntries[0] : undefined;
|
|
312
|
+
const schema = (0, toContentSchema_js_1.toContentSchema)(this.content, mediaType) ?? onlyEntry?.schema;
|
|
309
313
|
if (!schema) {
|
|
310
|
-
throw new Error(
|
|
314
|
+
throw new Error(mediaType === undefined
|
|
315
|
+
? 'Schema not found for a JSON media type'
|
|
316
|
+
: `Schema not found for media type "${mediaType}"`);
|
|
311
317
|
}
|
|
312
318
|
return schema;
|
|
313
319
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Parameter locations across OpenAPI 3.0 to 3.2. `querystring` is new in
|
|
4
|
+
* 3.2; each parser tree accepts its own subset.
|
|
5
|
+
*/
|
|
6
|
+
export type OasParameterLocation = 'query' | 'querystring' | 'header' | 'path' | 'cookie';
|
|
3
7
|
export declare const oasParameterLocation: v.GenericSchema<OasParameterLocation>;
|
|
4
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Parameter styles across OpenAPI 3.0 to 3.2. `cookie` is new in 3.2; each
|
|
10
|
+
* parser tree accepts its own subset.
|
|
11
|
+
*/
|
|
12
|
+
export type OasParameterStyle = 'matrix' | 'label' | 'form' | 'simple' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject' | 'cookie';
|
|
5
13
|
export declare const oasParameterStyle: v.GenericSchema<OasParameterStyle>;
|