@skmtc/core 0.28.7 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/_dnt.polyfills.d.ts +11 -0
- package/esm/_dnt.polyfills.js +14 -0
- package/esm/context/GenerateContext.js +16 -16
- package/esm/context/ParseContext.js +9 -1
- package/esm/context/RenderContext.d.ts +7 -7
- package/esm/context/RenderContext.js +17 -12
- package/esm/context/generateTypes.d.ts +2 -2
- package/esm/context/generateTypes.js +3 -1
- package/esm/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.d.ts +16 -0
- package/esm/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.js +23 -0
- package/esm/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.d.ts +16 -0
- package/esm/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.js +38 -0
- package/esm/dsl/GeneratorKeys.d.ts +2 -2
- package/esm/dsl/GeneratorKeys.js +6 -3
- package/esm/dsl/model/ModelDriver.js +4 -3
- package/esm/dsl/operation/gql/GqlOperationDriver.js +4 -3
- package/esm/dsl/operation/oas/OasOperationDriver.js +4 -3
- package/esm/dsl/webhook/WebhookDriver.js +4 -3
- package/esm/helpers/applyGeneratedSuffix.js +1 -1
- package/esm/helpers/isImported.d.ts +10 -74
- package/esm/helpers/isImported.js +12 -76
- package/esm/helpers/naming.d.ts +2 -1
- package/esm/helpers/naming.js +4 -2
- package/esm/helpers/normalizeWorkspacePath.d.ts +64 -0
- package/esm/helpers/normalizeWorkspacePath.js +98 -0
- package/esm/helpers/toResolvedArtifactPath.d.ts +8 -5
- package/esm/helpers/toResolvedArtifactPath.js +11 -7
- package/esm/helpers/toWorkspacePath.d.ts +3 -3
- package/esm/helpers/toWorkspacePath.js +5 -5
- package/esm/mod.d.ts +1 -0
- package/esm/mod.js +1 -0
- package/esm/oas/discriminator/Discriminator.d.ts +3 -0
- package/esm/oas/discriminator/Discriminator.js +7 -0
- package/esm/oas/document/Document.d.ts +7 -0
- package/esm/oas/document/Document.js +8 -0
- package/esm/oas/example/Example.d.ts +10 -1
- package/esm/oas/example/Example.js +16 -0
- package/esm/oas/mediaType/MediaType.d.ts +12 -0
- package/esm/oas/mediaType/MediaType.js +24 -0
- package/esm/oas/parameter/Parameter.d.ts +2 -1
- package/esm/oas/parameter/Parameter.js +5 -2
- package/esm/oas/parameter/parameter-types.d.ts +10 -2
- package/esm/oas/parameter/parameter-types.js +3 -1
- package/esm/oas/response/Response.d.ts +6 -1
- package/esm/oas/response/Response.js +8 -0
- package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
- package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
- package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
- package/esm/oas/server/Server.d.ts +8 -2
- package/esm/oas/server/Server.js +10 -1
- package/esm/oas/tag/Tag.d.ts +9 -0
- package/esm/oas/tag/Tag.js +9 -0
- package/esm/parse/toOasDialect.d.ts +8 -7
- package/esm/parse/toOasDialect.js +4 -2
- package/esm/parse/v3-0/methods.d.ts +11 -0
- package/esm/parse/v3-0/methods.js +16 -0
- package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
- package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
- package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
- package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
- package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
- package/esm/parse/v3-1/methods.d.ts +11 -0
- package/esm/parse/v3-1/methods.js +16 -0
- package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
- package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
- package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
- package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
- package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
- package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
- package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
- package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
- package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
- package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
- package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
- package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
- package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
- package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
- package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
- package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
- package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
- package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
- package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
- package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
- package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
- package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
- package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
- package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
- package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
- package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
- package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
- package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
- package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
- package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
- package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
- package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
- package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
- package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
- package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
- package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
- package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
- package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
- package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
- package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
- package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
- package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
- package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
- package/esm/parse/v3-2/array/toArray.d.ts +80 -0
- package/esm/parse/v3-2/array/toArray.js +165 -0
- package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
- package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
- package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
- package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
- package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
- package/esm/parse/v3-2/contact/toContactV3.js +18 -0
- package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
- package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
- package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
- package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
- package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
- package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
- package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
- package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
- package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
- package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
- package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
- package/esm/parse/v3-2/info/toInfoV3.js +23 -0
- package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
- package/esm/parse/v3-2/integer/toInteger.js +115 -0
- package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
- package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
- package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
- package/esm/parse/v3-2/link/toLinksV3.js +40 -0
- package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
- package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
- package/esm/parse/v3-2/methods.d.ts +17 -0
- package/esm/parse/v3-2/methods.js +21 -0
- package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
- package/esm/parse/v3-2/number/toNumber.js +115 -0
- package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
- package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
- package/esm/parse/v3-2/object/toObject.d.ts +10 -0
- package/esm/parse/v3-2/object/toObject.js +90 -0
- package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
- package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
- package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
- package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
- package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
- package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
- package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
- package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
- package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
- package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
- package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
- package/esm/parse/v3-2/ref/toRefV31.js +10 -0
- package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
- package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +44 -0
- package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
- package/esm/parse/v3-2/response/toResponseV3.js +56 -0
- package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
- package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
- package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
- package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
- package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
- package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
- package/esm/parse/v3-2/server/toServerV3.js +31 -0
- package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
- package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
- package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
- package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
- package/esm/parse/v3-2/string/toString.d.ts +146 -0
- package/esm/parse/v3-2/string/toString.js +211 -0
- package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
- package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
- package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
- package/esm/parse/v3-2/union/toUnion.js +68 -0
- package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
- package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
- package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
- package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
- package/esm/types/Method.d.ts +7 -4
- package/esm/types/Method.js +17 -4
- package/esm/types/Preview.d.ts +2 -1
- package/esm/types/Settings.js +6 -8
- package/esm/types/SkmtcDocument.d.ts +6 -6
- package/package.json +1 -1
- package/script/_dnt.polyfills.d.ts +11 -0
- package/script/_dnt.polyfills.js +14 -0
- package/script/context/GenerateContext.js +16 -16
- package/script/context/ParseContext.js +9 -1
- package/script/context/RenderContext.d.ts +7 -7
- package/script/context/RenderContext.js +17 -12
- package/script/context/generateTypes.d.ts +2 -2
- package/script/context/generateTypes.js +3 -1
- package/script/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.d.ts +16 -0
- package/script/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.js +26 -0
- package/script/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.d.ts +16 -0
- package/script/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.js +41 -0
- package/script/dsl/GeneratorKeys.d.ts +2 -2
- package/script/dsl/GeneratorKeys.js +6 -3
- package/script/dsl/model/ModelDriver.js +4 -3
- package/script/dsl/operation/gql/GqlOperationDriver.js +4 -3
- package/script/dsl/operation/oas/OasOperationDriver.js +4 -3
- package/script/dsl/webhook/WebhookDriver.js +4 -3
- package/script/helpers/applyGeneratedSuffix.js +1 -1
- package/script/helpers/isImported.d.ts +10 -74
- package/script/helpers/isImported.js +12 -76
- package/script/helpers/naming.d.ts +2 -1
- package/script/helpers/naming.js +4 -2
- package/script/helpers/normalizeWorkspacePath.d.ts +64 -0
- package/script/helpers/normalizeWorkspacePath.js +107 -0
- package/script/helpers/toResolvedArtifactPath.d.ts +8 -5
- package/script/helpers/toResolvedArtifactPath.js +11 -7
- package/script/helpers/toWorkspacePath.d.ts +3 -3
- package/script/helpers/toWorkspacePath.js +5 -5
- package/script/mod.d.ts +1 -0
- package/script/mod.js +1 -0
- package/script/oas/discriminator/Discriminator.d.ts +3 -0
- package/script/oas/discriminator/Discriminator.js +7 -0
- package/script/oas/document/Document.d.ts +7 -0
- package/script/oas/document/Document.js +8 -0
- package/script/oas/example/Example.d.ts +10 -1
- package/script/oas/example/Example.js +16 -0
- package/script/oas/mediaType/MediaType.d.ts +12 -0
- package/script/oas/mediaType/MediaType.js +24 -0
- package/script/oas/parameter/Parameter.d.ts +2 -1
- package/script/oas/parameter/Parameter.js +5 -2
- package/script/oas/parameter/parameter-types.d.ts +10 -2
- package/script/oas/parameter/parameter-types.js +3 -1
- package/script/oas/response/Response.d.ts +6 -1
- package/script/oas/response/Response.js +8 -0
- package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
- package/script/oas/securitySchemes/SecurityScheme.js +46 -1
- package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
- package/script/oas/server/Server.d.ts +8 -2
- package/script/oas/server/Server.js +10 -1
- package/script/oas/tag/Tag.d.ts +9 -0
- package/script/oas/tag/Tag.js +9 -0
- package/script/parse/toOasDialect.d.ts +8 -7
- package/script/parse/toOasDialect.js +4 -2
- package/script/parse/v3-0/methods.d.ts +11 -0
- package/script/parse/v3-0/methods.js +20 -0
- package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
- package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
- package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
- package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
- package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
- package/script/parse/v3-1/methods.d.ts +11 -0
- package/script/parse/v3-1/methods.js +20 -0
- package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
- package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
- package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
- package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
- package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
- package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
- package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
- package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
- package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
- package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
- package/script/parse/v3-2/_helpers/parseExample.js +41 -0
- package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
- package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
- package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
- package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
- package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
- package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
- package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
- package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
- package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
- package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
- package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
- package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
- package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
- package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
- package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
- package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
- package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
- package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
- package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
- package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
- package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
- package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
- package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
- package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
- package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
- package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
- package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
- package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
- package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
- package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
- package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
- package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
- package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
- package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
- package/script/parse/v3-2/_merge-all-of/types.js +38 -0
- package/script/parse/v3-2/array/toArray.d.ts +80 -0
- package/script/parse/v3-2/array/toArray.js +203 -0
- package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
- package/script/parse/v3-2/boolean/toBoolean.js +177 -0
- package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
- package/script/parse/v3-2/components/toComponentsV3.js +47 -0
- package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
- package/script/parse/v3-2/contact/toContactV3.js +22 -0
- package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
- package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
- package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
- package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
- package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
- package/script/parse/v3-2/example/toExamplesV3.js +149 -0
- package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
- package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
- package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
- package/script/parse/v3-2/header/toHeadersV3.js +51 -0
- package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
- package/script/parse/v3-2/info/toInfoV3.js +27 -0
- package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
- package/script/parse/v3-2/integer/toInteger.js +153 -0
- package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
- package/script/parse/v3-2/license/toLicenseV3.js +21 -0
- package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
- package/script/parse/v3-2/link/toLinksV3.js +44 -0
- package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
- package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
- package/script/parse/v3-2/methods.d.ts +17 -0
- package/script/parse/v3-2/methods.js +25 -0
- package/script/parse/v3-2/number/toNumber.d.ts +10 -0
- package/script/parse/v3-2/number/toNumber.js +152 -0
- package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
- package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
- package/script/parse/v3-2/object/toObject.d.ts +10 -0
- package/script/parse/v3-2/object/toObject.js +94 -0
- package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
- package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
- package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
- package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
- package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
- package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
- package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
- package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
- package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
- package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
- package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
- package/script/parse/v3-2/ref/toRefV31.js +14 -0
- package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
- package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +49 -0
- package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
- package/script/parse/v3-2/response/toResponseV3.js +62 -0
- package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
- package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
- package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
- package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
- package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
- package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
- package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
- package/script/parse/v3-2/server/toServerV3.js +37 -0
- package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
- package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
- package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
- package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
- package/script/parse/v3-2/string/toString.d.ts +146 -0
- package/script/parse/v3-2/string/toString.js +249 -0
- package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
- package/script/parse/v3-2/tag/toTagsV3.js +83 -0
- package/script/parse/v3-2/union/toUnion.d.ts +12 -0
- package/script/parse/v3-2/union/toUnion.js +72 -0
- package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
- package/script/parse/v3-2/unknown/toUnknown.js +23 -0
- package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
- package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
- package/script/types/Method.d.ts +7 -4
- package/script/types/Method.js +17 -4
- package/script/types/Preview.d.ts +2 -1
- package/script/types/Settings.js +7 -9
- package/script/types/SkmtcDocument.d.ts +6 -6
- package/esm/deps/jsr.io/@std/path/1.1.6/extname.d.ts +0 -24
- package/esm/deps/jsr.io/@std/path/1.1.6/extname.js +0 -31
- package/esm/deps/jsr.io/@std/path/1.1.6/normalize.d.ts +0 -25
- package/esm/deps/jsr.io/@std/path/1.1.6/normalize.js +0 -32
- package/esm/deps/jsr.io/@std/path/1.1.6/windows/extname.d.ts +0 -17
- package/esm/deps/jsr.io/@std/path/1.1.6/windows/extname.js +0 -83
- package/script/deps/jsr.io/@std/path/1.1.6/extname.d.ts +0 -24
- package/script/deps/jsr.io/@std/path/1.1.6/extname.js +0 -34
- package/script/deps/jsr.io/@std/path/1.1.6/normalize.d.ts +0 -25
- package/script/deps/jsr.io/@std/path/1.1.6/normalize.js +0 -35
- package/script/deps/jsr.io/@std/path/1.1.6/windows/extname.d.ts +0 -17
- package/script/deps/jsr.io/@std/path/1.1.6/windows/extname.js +0 -86
package/script/types/Method.d.ts
CHANGED
|
@@ -5,9 +5,11 @@ import * as v from 'valibot';
|
|
|
5
5
|
*
|
|
6
6
|
* This constant array includes all HTTP methods that can be used
|
|
7
7
|
* in OpenAPI path operations, as defined by the OpenAPI specification.
|
|
8
|
-
* All methods are in lowercase to match OpenAPI conventions.
|
|
8
|
+
* All methods are in lowercase to match OpenAPI conventions. `query` is
|
|
9
|
+
* an OpenAPI 3.2 method; each parser tree reads its own list from
|
|
10
|
+
* `parse/v3-X/methods.ts`.
|
|
9
11
|
*/
|
|
10
|
-
export declare const methodValues: readonly ["get", "put", "post", "delete", "options", "head", "patch", "trace"];
|
|
12
|
+
export declare const methodValues: readonly ["get", "put", "post", "delete", "options", "head", "patch", "trace", "query"];
|
|
11
13
|
/**
|
|
12
14
|
* Array of HTTP methods excluding TRACE.
|
|
13
15
|
*
|
|
@@ -23,8 +25,9 @@ export declare const method: v.UnionSchema<[
|
|
|
23
25
|
v.LiteralSchema<'delete', undefined>,
|
|
24
26
|
v.LiteralSchema<'head', undefined>,
|
|
25
27
|
v.LiteralSchema<'options', undefined>,
|
|
26
|
-
v.LiteralSchema<'trace', undefined
|
|
28
|
+
v.LiteralSchema<'trace', undefined>,
|
|
29
|
+
v.LiteralSchema<'query', undefined>
|
|
27
30
|
], undefined>;
|
|
28
|
-
export type Method = 'get' | 'put' | 'post' | 'delete' | 'options' | 'head' | 'patch' | 'trace';
|
|
31
|
+
export type Method = 'get' | 'put' | 'post' | 'delete' | 'options' | 'head' | 'patch' | 'trace' | 'query';
|
|
29
32
|
export declare const methods: v.ArraySchema<typeof method, undefined>;
|
|
30
33
|
export declare const isMethod: (arg: unknown) => arg is Method;
|
package/script/types/Method.js
CHANGED
|
@@ -41,7 +41,9 @@ const v = __importStar(require("valibot"));
|
|
|
41
41
|
*
|
|
42
42
|
* This constant array includes all HTTP methods that can be used
|
|
43
43
|
* in OpenAPI path operations, as defined by the OpenAPI specification.
|
|
44
|
-
* All methods are in lowercase to match OpenAPI conventions.
|
|
44
|
+
* All methods are in lowercase to match OpenAPI conventions. `query` is
|
|
45
|
+
* an OpenAPI 3.2 method; each parser tree reads its own list from
|
|
46
|
+
* `parse/v3-X/methods.ts`.
|
|
45
47
|
*/
|
|
46
48
|
exports.methodValues = [
|
|
47
49
|
'get',
|
|
@@ -51,7 +53,8 @@ exports.methodValues = [
|
|
|
51
53
|
'options',
|
|
52
54
|
'head',
|
|
53
55
|
'patch',
|
|
54
|
-
'trace'
|
|
56
|
+
'trace',
|
|
57
|
+
'query'
|
|
55
58
|
];
|
|
56
59
|
/**
|
|
57
60
|
* Array of HTTP methods excluding TRACE.
|
|
@@ -59,7 +62,16 @@ exports.methodValues = [
|
|
|
59
62
|
* This is a filtered version of {@link methodValues} that excludes the TRACE method,
|
|
60
63
|
* which is sometimes excluded from API operations for security reasons.
|
|
61
64
|
*/
|
|
62
|
-
exports.methodValuesNoTrace = [
|
|
65
|
+
exports.methodValuesNoTrace = [
|
|
66
|
+
'get',
|
|
67
|
+
'put',
|
|
68
|
+
'post',
|
|
69
|
+
'delete',
|
|
70
|
+
'options',
|
|
71
|
+
'head',
|
|
72
|
+
'patch',
|
|
73
|
+
'query'
|
|
74
|
+
];
|
|
63
75
|
exports.method = v.union([
|
|
64
76
|
v.literal('get'),
|
|
65
77
|
v.literal('post'),
|
|
@@ -68,7 +80,8 @@ exports.method = v.union([
|
|
|
68
80
|
v.literal('delete'),
|
|
69
81
|
v.literal('head'),
|
|
70
82
|
v.literal('options'),
|
|
71
|
-
v.literal('trace')
|
|
83
|
+
v.literal('trace'),
|
|
84
|
+
v.literal('query')
|
|
72
85
|
]);
|
|
73
86
|
exports.methods = v.array(exports.method);
|
|
74
87
|
const isMethod = (arg) => {
|
|
@@ -139,7 +139,8 @@ export declare const oasOperationSource: v.ObjectSchema<{
|
|
|
139
139
|
v.LiteralSchema<'delete', undefined>,
|
|
140
140
|
v.LiteralSchema<'head', undefined>,
|
|
141
141
|
v.LiteralSchema<'options', undefined>,
|
|
142
|
-
v.LiteralSchema<'trace', undefined
|
|
142
|
+
v.LiteralSchema<'trace', undefined>,
|
|
143
|
+
v.LiteralSchema<'query', undefined>
|
|
143
144
|
], undefined>;
|
|
144
145
|
readonly variant: v.StringSchema<undefined>;
|
|
145
146
|
}, undefined>;
|
package/script/types/Settings.js
CHANGED
|
@@ -88,13 +88,8 @@ require("../_dnt.polyfills.js");
|
|
|
88
88
|
const Enrichments_js_1 = require("./Enrichments.js");
|
|
89
89
|
const v = __importStar(require("valibot"));
|
|
90
90
|
const Method_js_1 = require("./Method.js");
|
|
91
|
+
const normalizeWorkspacePath_js_1 = require("../helpers/normalizeWorkspacePath.js");
|
|
91
92
|
const toWorkspacePath_js_1 = require("../helpers/toWorkspacePath.js");
|
|
92
|
-
/**
|
|
93
|
-
* Whether a relative path contains a `..` parent-reference segment.
|
|
94
|
-
* `..` is a parent reference only as a whole path segment — a
|
|
95
|
-
* directory name that merely contains dots is not flagged.
|
|
96
|
-
*/
|
|
97
|
-
const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment === '..');
|
|
98
93
|
/**
|
|
99
94
|
* Valibot schema for {@link ModulePackage}.
|
|
100
95
|
*
|
|
@@ -104,7 +99,7 @@ const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment =
|
|
|
104
99
|
* that otherwise misplaces every artifact silently.
|
|
105
100
|
*/
|
|
106
101
|
exports.modulePackage = v.object({
|
|
107
|
-
rootPath: v.pipe(v.string(), v.check(rootPath => !hasParentSegment(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
|
|
102
|
+
rootPath: v.pipe(v.string(), v.check(rootPath => !(0, normalizeWorkspacePath_js_1.hasParentSegment)(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
|
|
108
103
|
'set client.json basePath to a common ancestor of every package ' +
|
|
109
104
|
'so each rootPath is written forward from it')),
|
|
110
105
|
moduleName: v.optional(v.string())
|
|
@@ -211,7 +206,9 @@ exports.anchorsSettings = v.object({
|
|
|
211
206
|
out: v.optional(v.string())
|
|
212
207
|
});
|
|
213
208
|
exports.clientSettings = v.object({
|
|
214
|
-
basePath: v.optional(v.string()),
|
|
209
|
+
basePath: v.optional(v.pipe(v.string(), v.check(basePath => !(0, normalizeWorkspacePath_js_1.isAbsolutePath)(basePath), 'basePath must be relative to the SKMTC root (the directory containing .skmtc/); ' +
|
|
210
|
+
'absolute paths are not supported because generated output is always written under it'), v.check(basePath => !(0, normalizeWorkspacePath_js_1.hasParentSegment)(basePath), 'basePath must be a forward path with no ".." segments — it is the on-disk anchor ' +
|
|
211
|
+
'every generated file sits below'))),
|
|
215
212
|
schemaSource: v.optional(v.string()),
|
|
216
213
|
packages: v.optional(exports.modulePackages),
|
|
217
214
|
enrichments: v.optional(Enrichments_js_1.generatorEnrichments),
|
|
@@ -221,7 +218,8 @@ exports.clientSettings = v.object({
|
|
|
221
218
|
inputDirs: v.optional(v.array(v.string())),
|
|
222
219
|
formatter: v.optional(v.string()),
|
|
223
220
|
generatedSuffix: v.optional(v.string()),
|
|
224
|
-
ejected: v.optional(v.array(v.string()
|
|
221
|
+
ejected: v.optional(v.array(v.pipe(v.string(), v.check(normalizeWorkspacePath_js_1.isValidWorkspacePath, 'settings.ejected entries are export paths: a forward path below basePath, ' +
|
|
222
|
+
'with no ".." segment and not a Windows drive or UNC path'))))
|
|
225
223
|
});
|
|
226
224
|
/**
|
|
227
225
|
* Valibot schema for validating SKMTC client configuration.
|
|
@@ -59,12 +59,12 @@ export declare const toGqlParsedDocument: (value: GqlDocument) => SkmtcParsedDoc
|
|
|
59
59
|
* pipeline runs the protocol-appropriate parser before handing the
|
|
60
60
|
* post-parse {@link SkmtcParsedDocument} to the generate phase.
|
|
61
61
|
*
|
|
62
|
-
* - `oas.value` is an `OpenAPIV3.Document
|
|
63
|
-
* 3.
|
|
64
|
-
* `@skmtc/convert` before reaching `toArtifacts`.
|
|
65
|
-
* *on* that document as a retained member
|
|
66
|
-
* `webhooks`, so it is widened here) — the
|
|
67
|
-
* {@link OasDocument.webhooks}.
|
|
62
|
+
* - `oas.value` is an `OpenAPIV3.Document` carrying an OpenAPI 3.0, 3.1 or
|
|
63
|
+
* 3.2 document; each is parsed natively by its own parser tree. Swagger 2
|
|
64
|
+
* is converted to 3.0 by `@skmtc/convert` before reaching `toArtifacts`.
|
|
65
|
+
* 3.1 and 3.2 `webhooks` ride *on* that document as a retained member
|
|
66
|
+
* (the 3.0 base type omits `webhooks`, so it is widened here) — the
|
|
67
|
+
* parser flattens them into {@link OasDocument.webhooks}.
|
|
68
68
|
* - `gql.value` is either a raw SDL string or a pre-built
|
|
69
69
|
* `GraphQLSchema`. Strings are run through `buildSchema` inside the
|
|
70
70
|
* pipeline; pre-built `GraphQLSchema` instances are used as-is.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the extension of the path with leading period (".").
|
|
3
|
-
*
|
|
4
|
-
* @example Usage
|
|
5
|
-
* ```ts
|
|
6
|
-
* import { extname } from "@std/path/extname";
|
|
7
|
-
* import { assertEquals } from "@std/assert";
|
|
8
|
-
*
|
|
9
|
-
* if (Deno.build.os === "windows") {
|
|
10
|
-
* assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
|
|
11
|
-
* assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
|
|
12
|
-
* } else {
|
|
13
|
-
* assertEquals(extname("/home/user/Documents/image.png"), ".png");
|
|
14
|
-
* assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
|
|
15
|
-
* }
|
|
16
|
-
* ```
|
|
17
|
-
*
|
|
18
|
-
* @param path Path with extension. When passed as a `URL` instance, its
|
|
19
|
-
* protocol must be `file:`. For other protocols, pass the URL as a string or
|
|
20
|
-
* pass its `pathname` property.
|
|
21
|
-
* @returns The file extension. E.g. returns `.ts` for `file.ts`.
|
|
22
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
23
|
-
*/
|
|
24
|
-
export declare function extname(path: string | URL): string;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
2
|
-
// This module is browser compatible.
|
|
3
|
-
import { isWindows } from "../../internal/1.0.14/os.js";
|
|
4
|
-
import { extname as posixExtname } from "./posix/extname.js";
|
|
5
|
-
import { extname as windowsExtname } from "./windows/extname.js";
|
|
6
|
-
/**
|
|
7
|
-
* Return the extension of the path with leading period (".").
|
|
8
|
-
*
|
|
9
|
-
* @example Usage
|
|
10
|
-
* ```ts
|
|
11
|
-
* import { extname } from "@std/path/extname";
|
|
12
|
-
* import { assertEquals } from "@std/assert";
|
|
13
|
-
*
|
|
14
|
-
* if (Deno.build.os === "windows") {
|
|
15
|
-
* assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
|
|
16
|
-
* assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
|
|
17
|
-
* } else {
|
|
18
|
-
* assertEquals(extname("/home/user/Documents/image.png"), ".png");
|
|
19
|
-
* assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
|
|
20
|
-
* }
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @param path Path with extension. When passed as a `URL` instance, its
|
|
24
|
-
* protocol must be `file:`. For other protocols, pass the URL as a string or
|
|
25
|
-
* pass its `pathname` property.
|
|
26
|
-
* @returns The file extension. E.g. returns `.ts` for `file.ts`.
|
|
27
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
28
|
-
*/
|
|
29
|
-
export function extname(path) {
|
|
30
|
-
return isWindows ? windowsExtname(path) : posixExtname(path);
|
|
31
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Normalize the path, resolving `'..'` and `'.'` segments.
|
|
3
|
-
*
|
|
4
|
-
* Note: Resolving these segments does not necessarily mean that all will be
|
|
5
|
-
* eliminated. A `'..'` at the top-level will be preserved, and an empty path is
|
|
6
|
-
* canonically `'.'`.
|
|
7
|
-
*
|
|
8
|
-
* @example Usage
|
|
9
|
-
* ```ts
|
|
10
|
-
* import { normalize } from "@std/path/normalize";
|
|
11
|
-
* import { assertEquals } from "@std/assert";
|
|
12
|
-
*
|
|
13
|
-
* if (Deno.build.os === "windows") {
|
|
14
|
-
* assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
|
|
15
|
-
* assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
|
|
16
|
-
* } else {
|
|
17
|
-
* assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
|
|
18
|
-
* assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @param path Path to be normalized
|
|
23
|
-
* @returns The normalized path.
|
|
24
|
-
*/
|
|
25
|
-
export declare function normalize(path: string | URL): string;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
2
|
-
// This module is browser compatible.
|
|
3
|
-
import { isWindows } from "../../internal/1.0.14/os.js";
|
|
4
|
-
import { normalize as posixNormalize } from "./posix/normalize.js";
|
|
5
|
-
import { normalize as windowsNormalize } from "./windows/normalize.js";
|
|
6
|
-
/**
|
|
7
|
-
* Normalize the path, resolving `'..'` and `'.'` segments.
|
|
8
|
-
*
|
|
9
|
-
* Note: Resolving these segments does not necessarily mean that all will be
|
|
10
|
-
* eliminated. A `'..'` at the top-level will be preserved, and an empty path is
|
|
11
|
-
* canonically `'.'`.
|
|
12
|
-
*
|
|
13
|
-
* @example Usage
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { normalize } from "@std/path/normalize";
|
|
16
|
-
* import { assertEquals } from "@std/assert";
|
|
17
|
-
*
|
|
18
|
-
* if (Deno.build.os === "windows") {
|
|
19
|
-
* assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
|
|
20
|
-
* assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
|
|
21
|
-
* } else {
|
|
22
|
-
* assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
|
|
23
|
-
* assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
|
|
24
|
-
* }
|
|
25
|
-
* ```
|
|
26
|
-
*
|
|
27
|
-
* @param path Path to be normalized
|
|
28
|
-
* @returns The normalized path.
|
|
29
|
-
*/
|
|
30
|
-
export function normalize(path) {
|
|
31
|
-
return isWindows ? windowsNormalize(path) : posixNormalize(path);
|
|
32
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the extension of the `path` with leading period.
|
|
3
|
-
*
|
|
4
|
-
* @example Usage
|
|
5
|
-
* ```ts
|
|
6
|
-
* import { extname } from "@std/path/windows/extname";
|
|
7
|
-
* import { assertEquals } from "@std/assert";
|
|
8
|
-
*
|
|
9
|
-
* assertEquals(extname("file.ts"), ".ts");
|
|
10
|
-
* assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* @param path The path to get the extension from.
|
|
14
|
-
* @returns The extension of the `path`.
|
|
15
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
16
|
-
*/
|
|
17
|
-
export declare function extname(path: string | URL): string;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
2
|
-
// This module is browser compatible.
|
|
3
|
-
import { CHAR_COLON, CHAR_DOT } from "../_common/constants.js";
|
|
4
|
-
import { assertPath } from "../_common/assert_path.js";
|
|
5
|
-
import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js";
|
|
6
|
-
import { fromFileUrl } from "./from_file_url.js";
|
|
7
|
-
/**
|
|
8
|
-
* Return the extension of the `path` with leading period.
|
|
9
|
-
*
|
|
10
|
-
* @example Usage
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { extname } from "@std/path/windows/extname";
|
|
13
|
-
* import { assertEquals } from "@std/assert";
|
|
14
|
-
*
|
|
15
|
-
* assertEquals(extname("file.ts"), ".ts");
|
|
16
|
-
* assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @param path The path to get the extension from.
|
|
20
|
-
* @returns The extension of the `path`.
|
|
21
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
22
|
-
*/
|
|
23
|
-
export function extname(path) {
|
|
24
|
-
if (path instanceof URL) {
|
|
25
|
-
path = fromFileUrl(path);
|
|
26
|
-
}
|
|
27
|
-
assertPath(path);
|
|
28
|
-
let start = 0;
|
|
29
|
-
let startDot = -1;
|
|
30
|
-
let startPart = 0;
|
|
31
|
-
let end = -1;
|
|
32
|
-
let matchedSlash = true;
|
|
33
|
-
// Track the state of characters (if any) we see before our first dot and
|
|
34
|
-
// after any path separator we find
|
|
35
|
-
let preDotState = 0;
|
|
36
|
-
// Check for a drive letter prefix so as not to mistake the following
|
|
37
|
-
// path separator as an extra separator at the end of the path that can be
|
|
38
|
-
// disregarded
|
|
39
|
-
if (path.length >= 2 &&
|
|
40
|
-
path.charCodeAt(1) === CHAR_COLON &&
|
|
41
|
-
isWindowsDeviceRoot(path.charCodeAt(0))) {
|
|
42
|
-
start = startPart = 2;
|
|
43
|
-
}
|
|
44
|
-
for (let i = path.length - 1; i >= start; --i) {
|
|
45
|
-
const code = path.charCodeAt(i);
|
|
46
|
-
if (isPathSeparator(code)) {
|
|
47
|
-
// If we reached a path separator that was not part of a set of path
|
|
48
|
-
// separators at the end of the string, stop now
|
|
49
|
-
if (!matchedSlash) {
|
|
50
|
-
startPart = i + 1;
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
if (end === -1) {
|
|
56
|
-
// We saw the first non-path separator, mark this as the end of our
|
|
57
|
-
// extension
|
|
58
|
-
matchedSlash = false;
|
|
59
|
-
end = i + 1;
|
|
60
|
-
}
|
|
61
|
-
if (code === CHAR_DOT) {
|
|
62
|
-
// If this is our first dot, mark it as the start of our extension
|
|
63
|
-
if (startDot === -1)
|
|
64
|
-
startDot = i;
|
|
65
|
-
else if (preDotState !== 1)
|
|
66
|
-
preDotState = 1;
|
|
67
|
-
}
|
|
68
|
-
else if (startDot !== -1) {
|
|
69
|
-
// We saw a non-dot and non-path separator before our dot, so we should
|
|
70
|
-
// have a good chance at having a non-empty extension
|
|
71
|
-
preDotState = -1;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (startDot === -1 ||
|
|
75
|
-
end === -1 ||
|
|
76
|
-
// We saw a non-dot character immediately before the dot
|
|
77
|
-
preDotState === 0 ||
|
|
78
|
-
// The (right-most) trimmed path component is exactly '..'
|
|
79
|
-
(preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
|
|
80
|
-
return "";
|
|
81
|
-
}
|
|
82
|
-
return path.slice(startDot, end);
|
|
83
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the extension of the path with leading period (".").
|
|
3
|
-
*
|
|
4
|
-
* @example Usage
|
|
5
|
-
* ```ts
|
|
6
|
-
* import { extname } from "@std/path/extname";
|
|
7
|
-
* import { assertEquals } from "@std/assert";
|
|
8
|
-
*
|
|
9
|
-
* if (Deno.build.os === "windows") {
|
|
10
|
-
* assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
|
|
11
|
-
* assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
|
|
12
|
-
* } else {
|
|
13
|
-
* assertEquals(extname("/home/user/Documents/image.png"), ".png");
|
|
14
|
-
* assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
|
|
15
|
-
* }
|
|
16
|
-
* ```
|
|
17
|
-
*
|
|
18
|
-
* @param path Path with extension. When passed as a `URL` instance, its
|
|
19
|
-
* protocol must be `file:`. For other protocols, pass the URL as a string or
|
|
20
|
-
* pass its `pathname` property.
|
|
21
|
-
* @returns The file extension. E.g. returns `.ts` for `file.ts`.
|
|
22
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
23
|
-
*/
|
|
24
|
-
export declare function extname(path: string | URL): string;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
3
|
-
// This module is browser compatible.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.extname = extname;
|
|
6
|
-
const os_js_1 = require("../../internal/1.0.14/os.js");
|
|
7
|
-
const extname_js_1 = require("./posix/extname.js");
|
|
8
|
-
const extname_js_2 = require("./windows/extname.js");
|
|
9
|
-
/**
|
|
10
|
-
* Return the extension of the path with leading period (".").
|
|
11
|
-
*
|
|
12
|
-
* @example Usage
|
|
13
|
-
* ```ts
|
|
14
|
-
* import { extname } from "@std/path/extname";
|
|
15
|
-
* import { assertEquals } from "@std/assert";
|
|
16
|
-
*
|
|
17
|
-
* if (Deno.build.os === "windows") {
|
|
18
|
-
* assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
|
|
19
|
-
* assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
|
|
20
|
-
* } else {
|
|
21
|
-
* assertEquals(extname("/home/user/Documents/image.png"), ".png");
|
|
22
|
-
* assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
|
|
23
|
-
* }
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @param path Path with extension. When passed as a `URL` instance, its
|
|
27
|
-
* protocol must be `file:`. For other protocols, pass the URL as a string or
|
|
28
|
-
* pass its `pathname` property.
|
|
29
|
-
* @returns The file extension. E.g. returns `.ts` for `file.ts`.
|
|
30
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
31
|
-
*/
|
|
32
|
-
function extname(path) {
|
|
33
|
-
return os_js_1.isWindows ? (0, extname_js_2.extname)(path) : (0, extname_js_1.extname)(path);
|
|
34
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Normalize the path, resolving `'..'` and `'.'` segments.
|
|
3
|
-
*
|
|
4
|
-
* Note: Resolving these segments does not necessarily mean that all will be
|
|
5
|
-
* eliminated. A `'..'` at the top-level will be preserved, and an empty path is
|
|
6
|
-
* canonically `'.'`.
|
|
7
|
-
*
|
|
8
|
-
* @example Usage
|
|
9
|
-
* ```ts
|
|
10
|
-
* import { normalize } from "@std/path/normalize";
|
|
11
|
-
* import { assertEquals } from "@std/assert";
|
|
12
|
-
*
|
|
13
|
-
* if (Deno.build.os === "windows") {
|
|
14
|
-
* assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
|
|
15
|
-
* assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
|
|
16
|
-
* } else {
|
|
17
|
-
* assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
|
|
18
|
-
* assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @param path Path to be normalized
|
|
23
|
-
* @returns The normalized path.
|
|
24
|
-
*/
|
|
25
|
-
export declare function normalize(path: string | URL): string;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
3
|
-
// This module is browser compatible.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.normalize = normalize;
|
|
6
|
-
const os_js_1 = require("../../internal/1.0.14/os.js");
|
|
7
|
-
const normalize_js_1 = require("./posix/normalize.js");
|
|
8
|
-
const normalize_js_2 = require("./windows/normalize.js");
|
|
9
|
-
/**
|
|
10
|
-
* Normalize the path, resolving `'..'` and `'.'` segments.
|
|
11
|
-
*
|
|
12
|
-
* Note: Resolving these segments does not necessarily mean that all will be
|
|
13
|
-
* eliminated. A `'..'` at the top-level will be preserved, and an empty path is
|
|
14
|
-
* canonically `'.'`.
|
|
15
|
-
*
|
|
16
|
-
* @example Usage
|
|
17
|
-
* ```ts
|
|
18
|
-
* import { normalize } from "@std/path/normalize";
|
|
19
|
-
* import { assertEquals } from "@std/assert";
|
|
20
|
-
*
|
|
21
|
-
* if (Deno.build.os === "windows") {
|
|
22
|
-
* assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
|
|
23
|
-
* assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
|
|
24
|
-
* } else {
|
|
25
|
-
* assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
|
|
26
|
-
* assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* @param path Path to be normalized
|
|
31
|
-
* @returns The normalized path.
|
|
32
|
-
*/
|
|
33
|
-
function normalize(path) {
|
|
34
|
-
return os_js_1.isWindows ? (0, normalize_js_2.normalize)(path) : (0, normalize_js_1.normalize)(path);
|
|
35
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the extension of the `path` with leading period.
|
|
3
|
-
*
|
|
4
|
-
* @example Usage
|
|
5
|
-
* ```ts
|
|
6
|
-
* import { extname } from "@std/path/windows/extname";
|
|
7
|
-
* import { assertEquals } from "@std/assert";
|
|
8
|
-
*
|
|
9
|
-
* assertEquals(extname("file.ts"), ".ts");
|
|
10
|
-
* assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* @param path The path to get the extension from.
|
|
14
|
-
* @returns The extension of the `path`.
|
|
15
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
16
|
-
*/
|
|
17
|
-
export declare function extname(path: string | URL): string;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
3
|
-
// This module is browser compatible.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.extname = extname;
|
|
6
|
-
const constants_js_1 = require("../_common/constants.js");
|
|
7
|
-
const assert_path_js_1 = require("../_common/assert_path.js");
|
|
8
|
-
const _util_js_1 = require("./_util.js");
|
|
9
|
-
const from_file_url_js_1 = require("./from_file_url.js");
|
|
10
|
-
/**
|
|
11
|
-
* Return the extension of the `path` with leading period.
|
|
12
|
-
*
|
|
13
|
-
* @example Usage
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { extname } from "@std/path/windows/extname";
|
|
16
|
-
* import { assertEquals } from "@std/assert";
|
|
17
|
-
*
|
|
18
|
-
* assertEquals(extname("file.ts"), ".ts");
|
|
19
|
-
* assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @param path The path to get the extension from.
|
|
23
|
-
* @returns The extension of the `path`.
|
|
24
|
-
* @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
|
|
25
|
-
*/
|
|
26
|
-
function extname(path) {
|
|
27
|
-
if (path instanceof URL) {
|
|
28
|
-
path = (0, from_file_url_js_1.fromFileUrl)(path);
|
|
29
|
-
}
|
|
30
|
-
(0, assert_path_js_1.assertPath)(path);
|
|
31
|
-
let start = 0;
|
|
32
|
-
let startDot = -1;
|
|
33
|
-
let startPart = 0;
|
|
34
|
-
let end = -1;
|
|
35
|
-
let matchedSlash = true;
|
|
36
|
-
// Track the state of characters (if any) we see before our first dot and
|
|
37
|
-
// after any path separator we find
|
|
38
|
-
let preDotState = 0;
|
|
39
|
-
// Check for a drive letter prefix so as not to mistake the following
|
|
40
|
-
// path separator as an extra separator at the end of the path that can be
|
|
41
|
-
// disregarded
|
|
42
|
-
if (path.length >= 2 &&
|
|
43
|
-
path.charCodeAt(1) === constants_js_1.CHAR_COLON &&
|
|
44
|
-
(0, _util_js_1.isWindowsDeviceRoot)(path.charCodeAt(0))) {
|
|
45
|
-
start = startPart = 2;
|
|
46
|
-
}
|
|
47
|
-
for (let i = path.length - 1; i >= start; --i) {
|
|
48
|
-
const code = path.charCodeAt(i);
|
|
49
|
-
if ((0, _util_js_1.isPathSeparator)(code)) {
|
|
50
|
-
// If we reached a path separator that was not part of a set of path
|
|
51
|
-
// separators at the end of the string, stop now
|
|
52
|
-
if (!matchedSlash) {
|
|
53
|
-
startPart = i + 1;
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
if (end === -1) {
|
|
59
|
-
// We saw the first non-path separator, mark this as the end of our
|
|
60
|
-
// extension
|
|
61
|
-
matchedSlash = false;
|
|
62
|
-
end = i + 1;
|
|
63
|
-
}
|
|
64
|
-
if (code === constants_js_1.CHAR_DOT) {
|
|
65
|
-
// If this is our first dot, mark it as the start of our extension
|
|
66
|
-
if (startDot === -1)
|
|
67
|
-
startDot = i;
|
|
68
|
-
else if (preDotState !== 1)
|
|
69
|
-
preDotState = 1;
|
|
70
|
-
}
|
|
71
|
-
else if (startDot !== -1) {
|
|
72
|
-
// We saw a non-dot and non-path separator before our dot, so we should
|
|
73
|
-
// have a good chance at having a non-empty extension
|
|
74
|
-
preDotState = -1;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (startDot === -1 ||
|
|
78
|
-
end === -1 ||
|
|
79
|
-
// We saw a non-dot character immediately before the dot
|
|
80
|
-
preDotState === 0 ||
|
|
81
|
-
// The (right-most) trimmed path component is exactly '..'
|
|
82
|
-
(preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
|
|
83
|
-
return "";
|
|
84
|
-
}
|
|
85
|
-
return path.slice(startDot, end);
|
|
86
|
-
}
|