@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
|
@@ -1,81 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Whether two workspace paths name different files, so a symbol from one
|
|
3
|
+
* must be imported into the other.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Both are canonicalized with {@link normalizeWorkspacePath}, so every
|
|
6
|
+
* spelling of one file compares equal: `@/`, `./`, the bare form, and
|
|
7
|
+
* Windows separators. Throws, as that does, for a path that cannot name a
|
|
8
|
+
* file below `basePath` (a `..` segment, a Windows drive path).
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
* across different operating systems and path formats (handling './' vs absolute
|
|
11
|
-
* paths, different separators, etc.).
|
|
12
|
-
*
|
|
13
|
-
* @param pathOne - The first file path to compare
|
|
14
|
-
* @param pathTwo - The second file path to compare
|
|
15
|
-
* @returns `true` if the paths are different (import needed), `false` if they're the same file
|
|
16
|
-
*
|
|
17
|
-
* @example Basic path comparison
|
|
18
|
-
* ```typescript
|
|
19
|
-
* import { isImported } from '@skmtc/core';
|
|
20
|
-
*
|
|
21
|
-
* // Same file, no import needed
|
|
22
|
-
* console.log(isImported('./src/user.ts', './src/user.ts')); // false
|
|
23
|
-
*
|
|
24
|
-
* // Different files, import needed
|
|
25
|
-
* console.log(isImported('./src/user.ts', './src/product.ts')); // true
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* @example Path normalization handling
|
|
29
|
-
* ```typescript
|
|
30
|
-
* // These all represent the same file after normalization
|
|
31
|
-
* console.log(isImported('./src/user.ts', 'src/user.ts')); // false
|
|
32
|
-
* console.log(isImported('src/./user.ts', 'src/user.ts')); // false
|
|
33
|
-
* console.log(isImported('src/models/../user.ts', 'src/user.ts')); // false
|
|
34
|
-
* ```
|
|
35
|
-
*
|
|
36
|
-
* @example Usage in import decision logic
|
|
10
|
+
* @example
|
|
37
11
|
* ```typescript
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* targetFile: string,
|
|
42
|
-
* importName: string
|
|
43
|
-
* ) {
|
|
44
|
-
* if (isImported(sourceFile, targetFile)) {
|
|
45
|
-
* // Files are different, add import
|
|
46
|
-
* this.addImport(sourceFile, targetFile, importName);
|
|
47
|
-
* console.log(`Added import: ${importName} from ${targetFile}`);
|
|
48
|
-
* } else {
|
|
49
|
-
* // Same file, no import needed
|
|
50
|
-
* console.log(`No import needed - same file: ${sourceFile}`);
|
|
51
|
-
* }
|
|
52
|
-
* }
|
|
53
|
-
* }
|
|
54
|
-
* ```
|
|
55
|
-
*
|
|
56
|
-
* @example Cross-platform path handling
|
|
57
|
-
* ```typescript
|
|
58
|
-
* // Works consistently across platforms
|
|
59
|
-
* const windowsPath = 'src\\models\\user.ts';
|
|
60
|
-
* const unixPath = 'src/models/user.ts';
|
|
61
|
-
*
|
|
62
|
-
* console.log(isImported(windowsPath, unixPath)); // false (same file)
|
|
63
|
-
* ```
|
|
64
|
-
*
|
|
65
|
-
* @example In generator context
|
|
66
|
-
* ```typescript
|
|
67
|
-
* class ModelGenerator {
|
|
68
|
-
* generateModel(modelPath: string, referencePath: string) {
|
|
69
|
-
* const definition = this.createModelDefinition();
|
|
70
|
-
*
|
|
71
|
-
* if (isImported(modelPath, referencePath)) {
|
|
72
|
-
* // Need to import the referenced model
|
|
73
|
-
* definition.addImport(referencePath, 'ReferencedModel');
|
|
74
|
-
* }
|
|
75
|
-
*
|
|
76
|
-
* return definition;
|
|
77
|
-
* }
|
|
78
|
-
* }
|
|
12
|
+
* isImported('@/src/user.ts', './src/user.ts') // false — one file
|
|
13
|
+
* isImported('src\\user.ts', 'src/user.ts') // false — one file
|
|
14
|
+
* isImported('@/src/user.ts', '@/src/product.ts') // true
|
|
79
15
|
* ```
|
|
80
16
|
*/
|
|
81
17
|
export declare const isImported: (pathOne: string, pathTwo: string) => boolean;
|
|
@@ -1,88 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isImported = void 0;
|
|
4
|
-
const
|
|
4
|
+
const normalizeWorkspacePath_js_1 = require("./normalizeWorkspacePath.js");
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Whether two workspace paths name different files, so a symbol from one
|
|
7
|
+
* must be imported into the other.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Both are canonicalized with {@link normalizeWorkspacePath}, so every
|
|
10
|
+
* spelling of one file compares equal: `@/`, `./`, the bare form, and
|
|
11
|
+
* Windows separators. Throws, as that does, for a path that cannot name a
|
|
12
|
+
* file below `basePath` (a `..` segment, a Windows drive path).
|
|
12
13
|
*
|
|
13
|
-
*
|
|
14
|
-
* across different operating systems and path formats (handling './' vs absolute
|
|
15
|
-
* paths, different separators, etc.).
|
|
16
|
-
*
|
|
17
|
-
* @param pathOne - The first file path to compare
|
|
18
|
-
* @param pathTwo - The second file path to compare
|
|
19
|
-
* @returns `true` if the paths are different (import needed), `false` if they're the same file
|
|
20
|
-
*
|
|
21
|
-
* @example Basic path comparison
|
|
22
|
-
* ```typescript
|
|
23
|
-
* import { isImported } from '@skmtc/core';
|
|
24
|
-
*
|
|
25
|
-
* // Same file, no import needed
|
|
26
|
-
* console.log(isImported('./src/user.ts', './src/user.ts')); // false
|
|
27
|
-
*
|
|
28
|
-
* // Different files, import needed
|
|
29
|
-
* console.log(isImported('./src/user.ts', './src/product.ts')); // true
|
|
30
|
-
* ```
|
|
31
|
-
*
|
|
32
|
-
* @example Path normalization handling
|
|
33
|
-
* ```typescript
|
|
34
|
-
* // These all represent the same file after normalization
|
|
35
|
-
* console.log(isImported('./src/user.ts', 'src/user.ts')); // false
|
|
36
|
-
* console.log(isImported('src/./user.ts', 'src/user.ts')); // false
|
|
37
|
-
* console.log(isImported('src/models/../user.ts', 'src/user.ts')); // false
|
|
38
|
-
* ```
|
|
39
|
-
*
|
|
40
|
-
* @example Usage in import decision logic
|
|
14
|
+
* @example
|
|
41
15
|
* ```typescript
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* targetFile: string,
|
|
46
|
-
* importName: string
|
|
47
|
-
* ) {
|
|
48
|
-
* if (isImported(sourceFile, targetFile)) {
|
|
49
|
-
* // Files are different, add import
|
|
50
|
-
* this.addImport(sourceFile, targetFile, importName);
|
|
51
|
-
* console.log(`Added import: ${importName} from ${targetFile}`);
|
|
52
|
-
* } else {
|
|
53
|
-
* // Same file, no import needed
|
|
54
|
-
* console.log(`No import needed - same file: ${sourceFile}`);
|
|
55
|
-
* }
|
|
56
|
-
* }
|
|
57
|
-
* }
|
|
58
|
-
* ```
|
|
59
|
-
*
|
|
60
|
-
* @example Cross-platform path handling
|
|
61
|
-
* ```typescript
|
|
62
|
-
* // Works consistently across platforms
|
|
63
|
-
* const windowsPath = 'src\\models\\user.ts';
|
|
64
|
-
* const unixPath = 'src/models/user.ts';
|
|
65
|
-
*
|
|
66
|
-
* console.log(isImported(windowsPath, unixPath)); // false (same file)
|
|
67
|
-
* ```
|
|
68
|
-
*
|
|
69
|
-
* @example In generator context
|
|
70
|
-
* ```typescript
|
|
71
|
-
* class ModelGenerator {
|
|
72
|
-
* generateModel(modelPath: string, referencePath: string) {
|
|
73
|
-
* const definition = this.createModelDefinition();
|
|
74
|
-
*
|
|
75
|
-
* if (isImported(modelPath, referencePath)) {
|
|
76
|
-
* // Need to import the referenced model
|
|
77
|
-
* definition.addImport(referencePath, 'ReferencedModel');
|
|
78
|
-
* }
|
|
79
|
-
*
|
|
80
|
-
* return definition;
|
|
81
|
-
* }
|
|
82
|
-
* }
|
|
16
|
+
* isImported('@/src/user.ts', './src/user.ts') // false — one file
|
|
17
|
+
* isImported('src\\user.ts', 'src/user.ts') // false — one file
|
|
18
|
+
* isImported('@/src/user.ts', '@/src/product.ts') // true
|
|
83
19
|
* ```
|
|
84
20
|
*/
|
|
85
21
|
const isImported = (pathOne, pathTwo) => {
|
|
86
|
-
return (0,
|
|
22
|
+
return (0, normalizeWorkspacePath_js_1.normalizeWorkspacePath)(pathOne) !== (0, normalizeWorkspacePath_js_1.normalizeWorkspacePath)(pathTwo);
|
|
87
23
|
};
|
|
88
24
|
exports.isImported = isImported;
|
|
@@ -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) => {
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for {@link normalizeWorkspacePath} and {@link toNormalizedWorkspacePath}.
|
|
3
|
+
*/
|
|
4
|
+
export type NormalizeWorkspacePathOptions = {
|
|
5
|
+
/** Names the generator in the error when the path is rejected. */
|
|
6
|
+
generatorId?: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Whether a path contains a `..` parent-reference segment. `..` is a parent
|
|
10
|
+
* reference only as a whole segment — a directory name that merely contains
|
|
11
|
+
* dots is not flagged.
|
|
12
|
+
*/
|
|
13
|
+
export declare const hasParentSegment: (path: string) => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether a path is absolute on either host: a POSIX root, a Windows drive
|
|
16
|
+
* (`C:\`, `C:/`) or a UNC share. Checked on every host, so a client.json
|
|
17
|
+
* written on Windows is rejected the same way on Linux.
|
|
18
|
+
*/
|
|
19
|
+
export declare const isAbsolutePath: (path: string) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether `path` is spelled from the workspace root — `@/`, `./`, a bare
|
|
22
|
+
* leading `/`, or their Windows forms. An artifact path, never a bare
|
|
23
|
+
* module specifier such as `zod` or `@tanstack/query`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const hasWorkspaceAnchor: (path: string) => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether `path` can name a file below `basePath`: not a Windows drive or
|
|
28
|
+
* UNC path, no `..` segment, and not `basePath` itself. The non-throwing
|
|
29
|
+
* form of {@link normalizeWorkspacePath}'s checks, for schema validation
|
|
30
|
+
* and for comparing a module specifier against a file path.
|
|
31
|
+
*/
|
|
32
|
+
export declare const isValidWorkspacePath: (path: string) => boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The path relative to `basePath`, normalized and with no anchor:
|
|
35
|
+
* what {@link normalizeWorkspacePath} writes after `@/`, and what
|
|
36
|
+
* {@link toResolvedArtifactPath} joins onto `basePath`.
|
|
37
|
+
*
|
|
38
|
+
* Throws when the path cannot name a file below `basePath`: a Windows
|
|
39
|
+
* drive or UNC path, a `..` segment (checked as a whole segment before
|
|
40
|
+
* normalization, so it is never resolved), or a path naming `basePath`
|
|
41
|
+
* itself (`@/`, `@`, `./`, `.`, `/`, ``).
|
|
42
|
+
*/
|
|
43
|
+
export declare const toNormalizedWorkspacePath: (path: string, { generatorId }?: NormalizeWorkspacePathOptions) => string;
|
|
44
|
+
/**
|
|
45
|
+
* The one spelling of a workspace path — an export path or a destination
|
|
46
|
+
* path: `@/` followed by a POSIX path relative to `basePath`.
|
|
47
|
+
*
|
|
48
|
+
* A workspace path is a logical path inside the workspace, never a
|
|
49
|
+
* filesystem path, so it reads the same on every host. A generator may
|
|
50
|
+
* return one as `@/types/User.ts`, `./types/User.ts`, `/types/User.ts`,
|
|
51
|
+
* `types/User.ts`, or with Windows separators; the engine stores this form
|
|
52
|
+
* and nothing else, so file-map keys, import modules and the ejected lookup
|
|
53
|
+
* always agree. The result is a fixed point.
|
|
54
|
+
*
|
|
55
|
+
* Throws in the cases {@link toNormalizedWorkspacePath} throws.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* normalizeWorkspacePath('@\\types\\User.ts') // '@/types/User.ts'
|
|
60
|
+
* normalizeWorkspacePath('./types/User.ts') // '@/types/User.ts'
|
|
61
|
+
* normalizeWorkspacePath('../User.ts') // throws
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare const normalizeWorkspacePath: (path: string, options?: NormalizeWorkspacePathOptions) => string;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeWorkspacePath = exports.toNormalizedWorkspacePath = exports.isValidWorkspacePath = exports.hasWorkspaceAnchor = exports.isAbsolutePath = exports.hasParentSegment = void 0;
|
|
4
|
+
const normalize_js_1 = require("../deps/jsr.io/@std/path/1.1.6/posix/normalize.js");
|
|
5
|
+
const is_absolute_js_1 = require("../deps/jsr.io/@std/path/1.1.6/posix/is_absolute.js");
|
|
6
|
+
const is_absolute_js_2 = require("../deps/jsr.io/@std/path/1.1.6/windows/is_absolute.js");
|
|
7
|
+
const toWorkspacePath_js_1 = require("./toWorkspacePath.js");
|
|
8
|
+
/**
|
|
9
|
+
* Whether a path contains a `..` parent-reference segment. `..` is a parent
|
|
10
|
+
* reference only as a whole segment — a directory name that merely contains
|
|
11
|
+
* dots is not flagged.
|
|
12
|
+
*/
|
|
13
|
+
const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment === '..');
|
|
14
|
+
exports.hasParentSegment = hasParentSegment;
|
|
15
|
+
/**
|
|
16
|
+
* Whether a path is absolute on either host: a POSIX root, a Windows drive
|
|
17
|
+
* (`C:\`, `C:/`) or a UNC share. Checked on every host, so a client.json
|
|
18
|
+
* written on Windows is rejected the same way on Linux.
|
|
19
|
+
*/
|
|
20
|
+
const isAbsolutePath = (path) => (0, is_absolute_js_1.isAbsolute)(path.replaceAll('\\', '/')) || (0, is_absolute_js_2.isAbsolute)(path);
|
|
21
|
+
exports.isAbsolutePath = isAbsolutePath;
|
|
22
|
+
/**
|
|
23
|
+
* A Windows drive path (`C:\`, `C:/`) or a UNC path (`\\server\share`):
|
|
24
|
+
* the two absolute forms that can never be relative to `basePath`. A bare
|
|
25
|
+
* leading `/` is not one — it is an anchor spelling of the workspace root.
|
|
26
|
+
*/
|
|
27
|
+
const isDriveOrUncPath = (path) => /^[A-Za-z]:[\\/]/.test(path) || path.startsWith('\\\\');
|
|
28
|
+
/**
|
|
29
|
+
* Whether `path` is spelled from the workspace root — `@/`, `./`, a bare
|
|
30
|
+
* leading `/`, or their Windows forms. An artifact path, never a bare
|
|
31
|
+
* module specifier such as `zod` or `@tanstack/query`.
|
|
32
|
+
*/
|
|
33
|
+
const hasWorkspaceAnchor = (path) => /^(@[\\/]|\.[\\/]|[\\/])/.test(path);
|
|
34
|
+
exports.hasWorkspaceAnchor = hasWorkspaceAnchor;
|
|
35
|
+
/**
|
|
36
|
+
* Whether `path` can name a file below `basePath`: not a Windows drive or
|
|
37
|
+
* UNC path, no `..` segment, and not `basePath` itself. The non-throwing
|
|
38
|
+
* form of {@link normalizeWorkspacePath}'s checks, for schema validation
|
|
39
|
+
* and for comparing a module specifier against a file path.
|
|
40
|
+
*/
|
|
41
|
+
const isValidWorkspacePath = (path) => !isDriveOrUncPath(path) && !(0, exports.hasParentSegment)(path) && toBody(path) !== '';
|
|
42
|
+
exports.isValidWorkspacePath = isValidWorkspacePath;
|
|
43
|
+
/**
|
|
44
|
+
* The path relative to `basePath`, normalized and with no anchor:
|
|
45
|
+
* what {@link normalizeWorkspacePath} writes after `@/`, and what
|
|
46
|
+
* {@link toResolvedArtifactPath} joins onto `basePath`.
|
|
47
|
+
*
|
|
48
|
+
* Throws when the path cannot name a file below `basePath`: a Windows
|
|
49
|
+
* drive or UNC path, a `..` segment (checked as a whole segment before
|
|
50
|
+
* normalization, so it is never resolved), or a path naming `basePath`
|
|
51
|
+
* itself (`@/`, `@`, `./`, `.`, `/`, ``).
|
|
52
|
+
*/
|
|
53
|
+
const toNormalizedWorkspacePath = (path, { generatorId } = {}) => {
|
|
54
|
+
const reject = (reason) => {
|
|
55
|
+
const source = generatorId ? ` returned by generator '${generatorId}'` : '';
|
|
56
|
+
throw new Error(`Path '${path}'${source} ${reason}`);
|
|
57
|
+
};
|
|
58
|
+
if (isDriveOrUncPath(path)) {
|
|
59
|
+
return reject('is a Windows drive or UNC path; a workspace path is relative to basePath');
|
|
60
|
+
}
|
|
61
|
+
if ((0, exports.hasParentSegment)(path)) {
|
|
62
|
+
return reject('contains a ".." segment; a workspace path is a forward path below basePath');
|
|
63
|
+
}
|
|
64
|
+
const body = toBody(path);
|
|
65
|
+
if (body === '') {
|
|
66
|
+
return reject('names basePath itself; a workspace path names a file below it');
|
|
67
|
+
}
|
|
68
|
+
return body;
|
|
69
|
+
};
|
|
70
|
+
exports.toNormalizedWorkspacePath = toNormalizedWorkspacePath;
|
|
71
|
+
/**
|
|
72
|
+
* The one spelling of a workspace path — an export path or a destination
|
|
73
|
+
* path: `@/` followed by a POSIX path relative to `basePath`.
|
|
74
|
+
*
|
|
75
|
+
* A workspace path is a logical path inside the workspace, never a
|
|
76
|
+
* filesystem path, so it reads the same on every host. A generator may
|
|
77
|
+
* return one as `@/types/User.ts`, `./types/User.ts`, `/types/User.ts`,
|
|
78
|
+
* `types/User.ts`, or with Windows separators; the engine stores this form
|
|
79
|
+
* and nothing else, so file-map keys, import modules and the ejected lookup
|
|
80
|
+
* always agree. The result is a fixed point.
|
|
81
|
+
*
|
|
82
|
+
* Throws in the cases {@link toNormalizedWorkspacePath} throws.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* normalizeWorkspacePath('@\\types\\User.ts') // '@/types/User.ts'
|
|
87
|
+
* normalizeWorkspacePath('./types/User.ts') // '@/types/User.ts'
|
|
88
|
+
* normalizeWorkspacePath('../User.ts') // throws
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
const normalizeWorkspacePath = (path, options = {}) => `@/${(0, exports.toNormalizedWorkspacePath)(path, options)}`;
|
|
92
|
+
exports.normalizeWorkspacePath = normalizeWorkspacePath;
|
|
93
|
+
/**
|
|
94
|
+
* Separator swap, then every anchor spelling goes (`@/`, `./`, a leading
|
|
95
|
+
* `/` — {@link toWorkspacePath}), then POSIX normalize of what is left so
|
|
96
|
+
* `@//x` and `@/./x` collapse. The anchor goes first so normalize can
|
|
97
|
+
* never fold it into a name (`@/.` is the root, not a file called `@`).
|
|
98
|
+
* The root in any spelling is the empty string.
|
|
99
|
+
*/
|
|
100
|
+
const toBody = (path) => {
|
|
101
|
+
const stripped = (0, toWorkspacePath_js_1.toWorkspacePath)(path.replaceAll('\\', '/'));
|
|
102
|
+
if (stripped === '') {
|
|
103
|
+
return '';
|
|
104
|
+
}
|
|
105
|
+
const normalized = (0, normalize_js_1.normalize)(stripped);
|
|
106
|
+
return normalized === '.' ? '' : normalized;
|
|
107
|
+
};
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* Resolves an artifact's destination path onto `basePath`.
|
|
3
3
|
*
|
|
4
4
|
* `destinationPath` is a workspace path in any spelling
|
|
5
|
-
* ({@link
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* ({@link toNormalizedWorkspacePath}) — `@/models/User.ts` as a generator
|
|
6
|
+
* wrote it, `./models/User.ts`, or with Windows separators — and is always
|
|
7
|
+
* joined onto `basePath` with forward slashes, so the artifact key reads
|
|
8
|
+
* the same on every host. A `..` segment or an absolute path is refused:
|
|
9
|
+
* every artifact lands below `basePath`, whoever writes it.
|
|
8
10
|
*
|
|
9
11
|
* @module toResolvedArtifactPath
|
|
10
12
|
*/
|
|
@@ -22,8 +24,9 @@ type ToResolvedArtifactPathArgs = {
|
|
|
22
24
|
destinationPath: string;
|
|
23
25
|
};
|
|
24
26
|
/**
|
|
25
|
-
* Joins `destinationPath` (canonicalized) onto `basePath`, or onto
|
|
26
|
-
* `basePath` is undefined.
|
|
27
|
+
* Joins `destinationPath` (canonicalized) onto `basePath`, or onto the
|
|
28
|
+
* workspace root when `basePath` is undefined. Throws when
|
|
29
|
+
* `destinationPath` cannot name a file below `basePath`.
|
|
27
30
|
*
|
|
28
31
|
* @example
|
|
29
32
|
* ```typescript
|
|
@@ -5,18 +5,22 @@ exports.toResolvedArtifactPath = void 0;
|
|
|
5
5
|
* Resolves an artifact's destination path onto `basePath`.
|
|
6
6
|
*
|
|
7
7
|
* `destinationPath` is a workspace path in any spelling
|
|
8
|
-
* ({@link
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* ({@link toNormalizedWorkspacePath}) — `@/models/User.ts` as a generator
|
|
9
|
+
* wrote it, `./models/User.ts`, or with Windows separators — and is always
|
|
10
|
+
* joined onto `basePath` with forward slashes, so the artifact key reads
|
|
11
|
+
* the same on every host. A `..` segment or an absolute path is refused:
|
|
12
|
+
* every artifact lands below `basePath`, whoever writes it.
|
|
11
13
|
*
|
|
12
14
|
* @module toResolvedArtifactPath
|
|
13
15
|
*/
|
|
14
16
|
require("../_dnt.polyfills.js");
|
|
15
|
-
const join_js_1 = require("../deps/jsr.io/@std/path/1.1.6/join.js");
|
|
17
|
+
const join_js_1 = require("../deps/jsr.io/@std/path/1.1.6/posix/join.js");
|
|
18
|
+
const normalizeWorkspacePath_js_1 = require("./normalizeWorkspacePath.js");
|
|
16
19
|
const toWorkspacePath_js_1 = require("./toWorkspacePath.js");
|
|
17
20
|
/**
|
|
18
|
-
* Joins `destinationPath` (canonicalized) onto `basePath`, or onto
|
|
19
|
-
* `basePath` is undefined.
|
|
21
|
+
* Joins `destinationPath` (canonicalized) onto `basePath`, or onto the
|
|
22
|
+
* workspace root when `basePath` is undefined. Throws when
|
|
23
|
+
* `destinationPath` cannot name a file below `basePath`.
|
|
20
24
|
*
|
|
21
25
|
* @example
|
|
22
26
|
* ```typescript
|
|
@@ -27,6 +31,6 @@ const toWorkspacePath_js_1 = require("./toWorkspacePath.js");
|
|
|
27
31
|
* ```
|
|
28
32
|
*/
|
|
29
33
|
const toResolvedArtifactPath = ({ basePath, destinationPath }) => {
|
|
30
|
-
return (0, join_js_1.join)(basePath ?? '
|
|
34
|
+
return (0, join_js_1.join)((0, toWorkspacePath_js_1.toWorkspacePath)(basePath ?? ''), (0, normalizeWorkspacePath_js_1.toNormalizedWorkspacePath)(destinationPath));
|
|
31
35
|
};
|
|
32
36
|
exports.toResolvedArtifactPath = toResolvedArtifactPath;
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* config and examples write it as `./`, and std `normalize` — applied to
|
|
8
8
|
* `File.path` by the drivers — strips `./` but leaves `@/` alone. Anything
|
|
9
9
|
* that compares paths from more than one of those sources (package matching,
|
|
10
|
-
* on-disk resolution) must see all spellings as equal: every leading
|
|
11
|
-
* `./` goes, a trailing `/` goes, a Windows `\` is a `/`, and the
|
|
12
|
-
* root itself (`@/`, `./`, `.`, ``) is the empty string. The result is a fixed
|
|
10
|
+
* on-disk resolution) must see all spellings as equal: every leading `@/`,
|
|
11
|
+
* `./` or bare `/` goes, a trailing `/` goes, a Windows `\` is a `/`, and the
|
|
12
|
+
* workspace root itself (`@/`, `@`, `./`, `.`, `/`, ``) is the empty string. The result is a fixed
|
|
13
13
|
* point: canonicalizing it again changes nothing.
|
|
14
14
|
*
|
|
15
15
|
* The `@/` stripped here is Skmtc's **workspace root** — the prefix
|
|
@@ -10,9 +10,9 @@ exports.isUnderRoot = exports.toWorkspacePath = void 0;
|
|
|
10
10
|
* config and examples write it as `./`, and std `normalize` — applied to
|
|
11
11
|
* `File.path` by the drivers — strips `./` but leaves `@/` alone. Anything
|
|
12
12
|
* that compares paths from more than one of those sources (package matching,
|
|
13
|
-
* on-disk resolution) must see all spellings as equal: every leading
|
|
14
|
-
* `./` goes, a trailing `/` goes, a Windows `\` is a `/`, and the
|
|
15
|
-
* root itself (`@/`, `./`, `.`, ``) is the empty string. The result is a fixed
|
|
13
|
+
* on-disk resolution) must see all spellings as equal: every leading `@/`,
|
|
14
|
+
* `./` or bare `/` goes, a trailing `/` goes, a Windows `\` is a `/`, and the
|
|
15
|
+
* workspace root itself (`@/`, `@`, `./`, `.`, `/`, ``) is the empty string. The result is a fixed
|
|
16
16
|
* point: canonicalizing it again changes nothing.
|
|
17
17
|
*
|
|
18
18
|
* The `@/` stripped here is Skmtc's **workspace root** — the prefix
|
|
@@ -32,9 +32,9 @@ exports.isUnderRoot = exports.toWorkspacePath = void 0;
|
|
|
32
32
|
const toWorkspacePath = (path) => {
|
|
33
33
|
const withoutAnchor = path
|
|
34
34
|
.replaceAll('\\', '/')
|
|
35
|
-
.replace(/^(
|
|
35
|
+
.replace(/^(?:@\/|\.\/|\/)+/, '')
|
|
36
36
|
.replace(/\/+$/, '');
|
|
37
|
-
return withoutAnchor === '.' ? '' : withoutAnchor;
|
|
37
|
+
return withoutAnchor === '.' || withoutAnchor === '@' ? '' : withoutAnchor;
|
|
38
38
|
};
|
|
39
39
|
exports.toWorkspacePath = toWorkspacePath;
|
|
40
40
|
/**
|
package/script/mod.d.ts
CHANGED
|
@@ -118,6 +118,7 @@ export * from './helpers/strings.js';
|
|
|
118
118
|
export * from './helpers/parseModuleName.js';
|
|
119
119
|
export * from './helpers/toResolvedArtifactPath.js';
|
|
120
120
|
export * from './helpers/toWorkspacePath.js';
|
|
121
|
+
export * from './helpers/normalizeWorkspacePath.js';
|
|
121
122
|
export * from './helpers/matchPackage.js';
|
|
122
123
|
export * from './helpers/withVariant.js';
|
|
123
124
|
export * from './helpers/toVariantList.js';
|
package/script/mod.js
CHANGED
|
@@ -134,6 +134,7 @@ __exportStar(require("./helpers/strings.js"), exports);
|
|
|
134
134
|
__exportStar(require("./helpers/parseModuleName.js"), exports);
|
|
135
135
|
__exportStar(require("./helpers/toResolvedArtifactPath.js"), exports);
|
|
136
136
|
__exportStar(require("./helpers/toWorkspacePath.js"), exports);
|
|
137
|
+
__exportStar(require("./helpers/normalizeWorkspacePath.js"), exports);
|
|
137
138
|
__exportStar(require("./helpers/matchPackage.js"), exports);
|
|
138
139
|
__exportStar(require("./helpers/withVariant.js"), exports);
|
|
139
140
|
__exportStar(require("./helpers/toVariantList.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
|
}
|