@skmtc/core 0.16.3 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/esm/anchors/buildSidecar.js +1 -1
- package/esm/anchors/postPass.d.ts +1 -1
- package/esm/anchors/postPass.js +1 -1
- package/esm/anchors/sidecar.d.ts +2 -2
- package/esm/anchors/sidecar.js +1 -1
- package/esm/context/CoreContext.d.ts +7 -1
- package/esm/context/CoreContext.d.ts.map +1 -1
- package/esm/context/CoreContext.js +17 -11
- package/esm/context/GenerateContext.d.ts +28 -7
- package/esm/context/GenerateContext.d.ts.map +1 -1
- package/esm/context/GenerateContext.js +164 -86
- package/esm/context/ParseContext.d.ts +16 -0
- package/esm/context/ParseContext.d.ts.map +1 -1
- package/esm/context/ParseContext.js +16 -0
- package/esm/context/ParseIssue.d.ts +1 -1
- package/esm/context/RenderContext.d.ts +2 -6
- package/esm/context/RenderContext.d.ts.map +1 -1
- package/esm/context/RenderContext.js +4 -14
- package/esm/context/generateTypes.d.ts +35 -8
- package/esm/context/generateTypes.d.ts.map +1 -1
- package/{script/deps/jsr.io/@std/fs/1.0.23 → esm/deps/jsr.io/@std/fs/1.0.24}/exists.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/1.0.14/_os.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.14/_os.js +14 -0
- package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.js +2 -2
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.js +1 -1
- package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/posix/join.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.js +1 -1
- package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/posix/normalize.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.js +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.js +1 -1
- package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/from_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.js +1 -1
- package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/join.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.js +1 -1
- package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/normalize.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.js +1 -1
- package/esm/dsl/CodeFileBase.d.ts +57 -24
- package/esm/dsl/CodeFileBase.d.ts.map +1 -1
- package/esm/dsl/CodeFileBase.js +35 -53
- package/esm/dsl/FileBase.d.ts +21 -25
- package/esm/dsl/FileBase.d.ts.map +1 -1
- package/esm/dsl/FileBase.js +20 -29
- package/esm/dsl/GeneratorKeys.d.ts +19 -19
- package/esm/dsl/GeneratorKeys.d.ts.map +1 -1
- package/esm/dsl/GeneratorKeys.js +6 -5
- package/esm/dsl/IdentifierBase.d.ts +19 -5
- package/esm/dsl/IdentifierBase.d.ts.map +1 -1
- package/esm/dsl/IdentifierBase.js +21 -5
- package/esm/dsl/IdentifierType.d.ts +8 -14
- package/esm/dsl/IdentifierType.d.ts.map +1 -1
- package/esm/dsl/Lang.d.ts +18 -38
- package/esm/dsl/Lang.d.ts.map +1 -1
- package/esm/dsl/MarkdownFile.d.ts +55 -0
- package/esm/dsl/MarkdownFile.d.ts.map +1 -0
- package/esm/dsl/MarkdownFile.js +58 -0
- package/esm/dsl/model/ModelDriver.d.ts +3 -1
- package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
- package/esm/dsl/model/ModelDriver.js +29 -2
- package/esm/dsl/model/toModelEntry.d.ts +24 -14
- package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
- package/esm/dsl/model/toModelEntry.js +7 -3
- package/esm/dsl/model/toModelProjectionBase.d.ts +31 -18
- package/esm/dsl/model/toModelProjectionBase.d.ts.map +1 -1
- package/esm/dsl/model/toModelProjectionBase.js +3 -3
- package/esm/dsl/model/types.d.ts +23 -27
- package/esm/dsl/model/types.d.ts.map +1 -1
- package/esm/dsl/operation/gql/GqlOperationDriver.d.ts +3 -1
- package/esm/dsl/operation/gql/GqlOperationDriver.d.ts.map +1 -1
- package/esm/dsl/operation/gql/GqlOperationDriver.js +12 -9
- package/esm/dsl/operation/gql/toGqlOperationEntry.d.ts +20 -15
- package/esm/dsl/operation/gql/toGqlOperationEntry.d.ts.map +1 -1
- package/esm/dsl/operation/gql/toGqlOperationEntry.js +3 -25
- package/esm/dsl/operation/gql/toGqlOperationProjectionBase.d.ts +11 -10
- package/esm/dsl/operation/gql/toGqlOperationProjectionBase.d.ts.map +1 -1
- package/esm/dsl/operation/gql/types.d.ts +1 -28
- package/esm/dsl/operation/gql/types.d.ts.map +1 -1
- package/esm/dsl/operation/oas/OasOperationDriver.d.ts +3 -1
- package/esm/dsl/operation/oas/OasOperationDriver.d.ts.map +1 -1
- package/esm/dsl/operation/oas/OasOperationDriver.js +12 -9
- package/esm/dsl/operation/oas/toOasOperationEntry.d.ts +21 -17
- package/esm/dsl/operation/oas/toOasOperationEntry.d.ts.map +1 -1
- package/esm/dsl/operation/oas/toOasOperationEntry.js +3 -32
- package/esm/dsl/operation/oas/toOasOperationProjectionBase.d.ts +11 -10
- package/esm/dsl/operation/oas/toOasOperationProjectionBase.d.ts.map +1 -1
- package/esm/dsl/operation/oas/types.d.ts +1 -38
- package/esm/dsl/operation/oas/types.d.ts.map +1 -1
- package/esm/dsl/webhook/WebhookDriver.d.ts +3 -1
- package/esm/dsl/webhook/WebhookDriver.d.ts.map +1 -1
- package/esm/dsl/webhook/WebhookDriver.js +12 -9
- package/esm/dsl/webhook/toWebhookEntry.d.ts +21 -16
- package/esm/dsl/webhook/toWebhookEntry.d.ts.map +1 -1
- package/esm/dsl/webhook/toWebhookEntry.js +3 -32
- package/esm/dsl/webhook/toWebhookProjectionBase.d.ts +11 -10
- package/esm/dsl/webhook/toWebhookProjectionBase.d.ts.map +1 -1
- package/esm/dsl/webhook/types.d.ts +1 -36
- package/esm/dsl/webhook/types.d.ts.map +1 -1
- package/esm/enrichments/toEnrichmentDescriptor.d.ts +72 -27
- package/esm/enrichments/toEnrichmentDescriptor.d.ts.map +1 -1
- package/esm/enrichments/toEnrichmentDescriptor.js +57 -31
- package/esm/enrichments/validateConfig.d.ts +60 -0
- package/esm/enrichments/validateConfig.d.ts.map +1 -0
- package/esm/enrichments/validateConfig.js +176 -0
- package/esm/helpers/isImported.js +1 -1
- package/esm/helpers/toResolvedArtifactPath.js +1 -1
- package/esm/mod.d.ts +8 -1
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +8 -1
- package/esm/oas/array/Array.d.ts +2 -0
- package/esm/oas/array/Array.d.ts.map +1 -1
- package/esm/oas/array/Array.js +4 -0
- package/esm/oas/boolean/Boolean.d.ts +3 -1
- package/esm/oas/boolean/Boolean.d.ts.map +1 -1
- package/esm/oas/boolean/Boolean.js +4 -0
- package/esm/oas/components/Components.d.ts +5 -0
- package/esm/oas/components/Components.d.ts.map +1 -1
- package/esm/oas/components/Components.js +6 -1
- package/esm/oas/integer/Integer.d.ts +3 -1
- package/esm/oas/integer/Integer.d.ts.map +1 -1
- package/esm/oas/integer/Integer.js +4 -0
- package/esm/oas/link/Link.d.ts +68 -0
- package/esm/oas/link/Link.d.ts.map +1 -0
- package/esm/oas/link/Link.js +107 -0
- package/esm/oas/number/Number.d.ts +3 -1
- package/esm/oas/number/Number.d.ts.map +1 -1
- package/esm/oas/number/Number.js +4 -0
- package/esm/oas/object/Object.d.ts +9 -0
- package/esm/oas/object/Object.d.ts.map +1 -1
- package/esm/oas/object/Object.js +14 -0
- package/esm/oas/operation/Operation.d.ts +15 -0
- package/esm/oas/operation/Operation.d.ts.map +1 -1
- package/esm/oas/operation/Operation.js +33 -0
- package/esm/oas/ref/Ref.d.ts +23 -1
- package/esm/oas/ref/Ref.d.ts.map +1 -1
- package/esm/oas/ref/Ref.js +32 -0
- package/esm/oas/ref/ref-types.d.ts +18 -1
- package/esm/oas/ref/ref-types.d.ts.map +1 -1
- package/esm/oas/ref/ref-types.js +12 -1
- package/esm/oas/response/Response.d.ts +4 -0
- package/esm/oas/response/Response.d.ts.map +1 -1
- package/esm/oas/response/Response.js +7 -0
- package/esm/oas/schemaPath/traverseSchema.d.ts +31 -0
- package/esm/oas/schemaPath/traverseSchema.d.ts.map +1 -0
- package/esm/oas/schemaPath/traverseSchema.js +113 -0
- package/esm/oas/string/String.d.ts +3 -1
- package/esm/oas/string/String.d.ts.map +1 -1
- package/esm/oas/string/String.js +4 -0
- package/esm/oas/union/Union.d.ts +9 -0
- package/esm/oas/union/Union.d.ts.map +1 -1
- package/esm/oas/union/Union.js +14 -0
- package/esm/oas/unknown/Unknown.d.ts +3 -1
- package/esm/oas/unknown/Unknown.d.ts.map +1 -1
- package/esm/oas/unknown/Unknown.js +4 -0
- package/esm/parse/v3-0/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/esm/parse/v3-0/_merge-all-of/decompose-union.js +8 -12
- package/esm/parse/v3-0/_merge-all-of/merge-union.d.ts.map +1 -1
- package/esm/parse/v3-0/_merge-all-of/merge-union.js +0 -8
- package/esm/parse/v3-0/components/toComponentsV3.d.ts.map +1 -1
- package/esm/parse/v3-0/components/toComponentsV3.js +3 -1
- package/esm/parse/v3-0/link/toLinksV3.d.ts +17 -0
- package/esm/parse/v3-0/link/toLinksV3.d.ts.map +1 -0
- package/esm/parse/v3-0/link/toLinksV3.js +40 -0
- package/esm/parse/v3-0/object/toObject.d.ts.map +1 -1
- package/esm/parse/v3-0/object/toObject.js +3 -1
- package/esm/parse/v3-0/response/toResponseV3.d.ts.map +1 -1
- package/esm/parse/v3-0/response/toResponseV3.js +4 -1
- package/esm/parse/v3-0/schema/toSchemasV3.d.ts.map +1 -1
- package/esm/parse/v3-0/schema/toSchemasV3.js +8 -0
- package/esm/parse/v3-0/union/toUnion.d.ts.map +1 -1
- package/esm/parse/v3-0/union/toUnion.js +3 -1
- package/esm/parse/v3-1/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/esm/parse/v3-1/_merge-all-of/decompose-union.js +8 -12
- package/esm/parse/v3-1/_merge-all-of/merge-union.d.ts.map +1 -1
- package/esm/parse/v3-1/_merge-all-of/merge-union.js +0 -8
- package/esm/parse/v3-1/components/toComponentsV3.d.ts.map +1 -1
- package/esm/parse/v3-1/components/toComponentsV3.js +3 -1
- package/esm/parse/v3-1/link/toLinksV3.d.ts +17 -0
- package/esm/parse/v3-1/link/toLinksV3.d.ts.map +1 -0
- package/esm/parse/v3-1/link/toLinksV3.js +40 -0
- package/esm/parse/v3-1/object/toObject.d.ts.map +1 -1
- package/esm/parse/v3-1/object/toObject.js +3 -1
- package/esm/parse/v3-1/response/toResponseV3.d.ts.map +1 -1
- package/esm/parse/v3-1/response/toResponseV3.js +4 -1
- package/esm/parse/v3-1/schema/toSchemasV3.d.ts.map +1 -1
- package/esm/parse/v3-1/schema/toSchemasV3.js +8 -0
- package/esm/parse/v3-1/union/toUnion.d.ts.map +1 -1
- package/esm/parse/v3-1/union/toUnion.js +3 -1
- package/esm/run/toArtifacts.d.ts +8 -1
- package/esm/run/toArtifacts.d.ts.map +1 -1
- package/esm/run/toArtifacts.js +5 -5
- package/esm/run/toInspection.d.ts +8 -0
- package/esm/run/toInspection.d.ts.map +1 -0
- package/esm/run/toInspection.js +78 -0
- package/esm/types/Enrichments.d.ts +19 -8
- package/esm/types/Enrichments.d.ts.map +1 -1
- package/esm/types/Enrichments.js +4 -3
- package/esm/types/GeneratorType.d.ts +5 -5
- package/esm/types/GeneratorType.d.ts.map +1 -1
- package/esm/types/Manifest.d.ts +1 -2
- package/esm/types/Manifest.d.ts.map +1 -1
- package/esm/types/Manifest.js +1 -2
- package/esm/types/ModuleSelect.d.ts +81 -0
- package/esm/types/ModuleSelect.d.ts.map +1 -0
- package/esm/types/ModuleSelect.js +63 -0
- package/esm/types/Preview.d.ts +4 -27
- package/esm/types/Preview.d.ts.map +1 -1
- package/esm/types/Preview.js +4 -25
- package/esm/types/SchemaPath.d.ts +17 -0
- package/esm/types/SchemaPath.d.ts.map +1 -0
- package/esm/types/SchemaPath.js +9 -0
- package/esm/types/Settings.d.ts +24 -3
- package/esm/types/Settings.d.ts.map +1 -1
- package/esm/types/Settings.js +20 -13
- package/esm/types/SkmtcDocument.d.ts +1 -1
- package/esm/types/SupportedSubjects.d.ts +1 -1
- package/package.json +1 -1
- package/script/anchors/buildSidecar.js +1 -1
- package/script/anchors/postPass.d.ts +1 -1
- package/script/anchors/postPass.js +1 -1
- package/script/anchors/sidecar.d.ts +2 -2
- package/script/anchors/sidecar.js +1 -1
- package/script/context/CoreContext.d.ts +7 -1
- package/script/context/CoreContext.d.ts.map +1 -1
- package/script/context/CoreContext.js +17 -11
- package/script/context/GenerateContext.d.ts +28 -7
- package/script/context/GenerateContext.d.ts.map +1 -1
- package/script/context/GenerateContext.js +164 -86
- package/script/context/ParseContext.d.ts +16 -0
- package/script/context/ParseContext.d.ts.map +1 -1
- package/script/context/ParseContext.js +16 -0
- package/script/context/ParseIssue.d.ts +1 -1
- package/script/context/RenderContext.d.ts +2 -6
- package/script/context/RenderContext.d.ts.map +1 -1
- package/script/context/RenderContext.js +4 -14
- package/script/context/generateTypes.d.ts +35 -8
- package/script/context/generateTypes.d.ts.map +1 -1
- package/{esm/deps/jsr.io/@std/fs/1.0.23 → script/deps/jsr.io/@std/fs/1.0.24}/exists.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/internal/1.0.14/_os.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.js +7 -5
- package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.js +2 -2
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.js +2 -2
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.js +1 -1
- package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/posix/join.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.js +1 -1
- package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/posix/normalize.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.js +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.js +1 -1
- package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/from_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.js +1 -1
- package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/join.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.js +1 -1
- package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/normalize.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.js +1 -1
- package/script/dsl/CodeFileBase.d.ts +57 -24
- package/script/dsl/CodeFileBase.d.ts.map +1 -1
- package/script/dsl/CodeFileBase.js +37 -54
- package/script/dsl/FileBase.d.ts +21 -25
- package/script/dsl/FileBase.d.ts.map +1 -1
- package/script/dsl/FileBase.js +20 -29
- package/script/dsl/GeneratorKeys.d.ts +19 -19
- package/script/dsl/GeneratorKeys.d.ts.map +1 -1
- package/script/dsl/GeneratorKeys.js +6 -5
- package/script/dsl/IdentifierBase.d.ts +19 -5
- package/script/dsl/IdentifierBase.d.ts.map +1 -1
- package/script/dsl/IdentifierBase.js +21 -5
- package/script/dsl/IdentifierType.d.ts +8 -14
- package/script/dsl/IdentifierType.d.ts.map +1 -1
- package/script/dsl/Lang.d.ts +18 -38
- package/script/dsl/Lang.d.ts.map +1 -1
- package/script/dsl/MarkdownFile.d.ts +55 -0
- package/script/dsl/MarkdownFile.d.ts.map +1 -0
- package/script/dsl/MarkdownFile.js +62 -0
- package/script/dsl/model/ModelDriver.d.ts +3 -1
- package/script/dsl/model/ModelDriver.d.ts.map +1 -1
- package/script/dsl/model/ModelDriver.js +29 -2
- package/script/dsl/model/toModelEntry.d.ts +24 -14
- package/script/dsl/model/toModelEntry.d.ts.map +1 -1
- package/script/dsl/model/toModelEntry.js +7 -3
- package/script/dsl/model/toModelProjectionBase.d.ts +31 -18
- package/script/dsl/model/toModelProjectionBase.d.ts.map +1 -1
- package/script/dsl/model/toModelProjectionBase.js +3 -3
- package/script/dsl/model/types.d.ts +23 -27
- package/script/dsl/model/types.d.ts.map +1 -1
- package/script/dsl/operation/gql/GqlOperationDriver.d.ts +3 -1
- package/script/dsl/operation/gql/GqlOperationDriver.d.ts.map +1 -1
- package/script/dsl/operation/gql/GqlOperationDriver.js +12 -9
- package/script/dsl/operation/gql/toGqlOperationEntry.d.ts +20 -15
- package/script/dsl/operation/gql/toGqlOperationEntry.d.ts.map +1 -1
- package/script/dsl/operation/gql/toGqlOperationEntry.js +3 -61
- package/script/dsl/operation/gql/toGqlOperationProjectionBase.d.ts +11 -10
- package/script/dsl/operation/gql/toGqlOperationProjectionBase.d.ts.map +1 -1
- package/script/dsl/operation/gql/types.d.ts +1 -28
- package/script/dsl/operation/gql/types.d.ts.map +1 -1
- package/script/dsl/operation/oas/OasOperationDriver.d.ts +3 -1
- package/script/dsl/operation/oas/OasOperationDriver.d.ts.map +1 -1
- package/script/dsl/operation/oas/OasOperationDriver.js +12 -9
- package/script/dsl/operation/oas/toOasOperationEntry.d.ts +21 -17
- package/script/dsl/operation/oas/toOasOperationEntry.d.ts.map +1 -1
- package/script/dsl/operation/oas/toOasOperationEntry.js +3 -68
- package/script/dsl/operation/oas/toOasOperationProjectionBase.d.ts +11 -10
- package/script/dsl/operation/oas/toOasOperationProjectionBase.d.ts.map +1 -1
- package/script/dsl/operation/oas/types.d.ts +1 -38
- package/script/dsl/operation/oas/types.d.ts.map +1 -1
- package/script/dsl/webhook/WebhookDriver.d.ts +3 -1
- package/script/dsl/webhook/WebhookDriver.d.ts.map +1 -1
- package/script/dsl/webhook/WebhookDriver.js +12 -9
- package/script/dsl/webhook/toWebhookEntry.d.ts +21 -16
- package/script/dsl/webhook/toWebhookEntry.d.ts.map +1 -1
- package/script/dsl/webhook/toWebhookEntry.js +3 -68
- package/script/dsl/webhook/toWebhookProjectionBase.d.ts +11 -10
- package/script/dsl/webhook/toWebhookProjectionBase.d.ts.map +1 -1
- package/script/dsl/webhook/types.d.ts +1 -36
- package/script/dsl/webhook/types.d.ts.map +1 -1
- package/script/enrichments/toEnrichmentDescriptor.d.ts +72 -27
- package/script/enrichments/toEnrichmentDescriptor.d.ts.map +1 -1
- package/script/enrichments/toEnrichmentDescriptor.js +57 -31
- package/script/enrichments/validateConfig.d.ts +60 -0
- package/script/enrichments/validateConfig.d.ts.map +1 -0
- package/script/enrichments/validateConfig.js +213 -0
- package/script/helpers/isImported.js +1 -1
- package/script/helpers/toResolvedArtifactPath.js +1 -1
- package/script/mod.d.ts +8 -1
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +8 -1
- package/script/oas/array/Array.d.ts +2 -0
- package/script/oas/array/Array.d.ts.map +1 -1
- package/script/oas/array/Array.js +4 -0
- package/script/oas/boolean/Boolean.d.ts +3 -1
- package/script/oas/boolean/Boolean.d.ts.map +1 -1
- package/script/oas/boolean/Boolean.js +4 -0
- package/script/oas/components/Components.d.ts +5 -0
- package/script/oas/components/Components.d.ts.map +1 -1
- package/script/oas/components/Components.js +6 -1
- package/script/oas/integer/Integer.d.ts +3 -1
- package/script/oas/integer/Integer.d.ts.map +1 -1
- package/script/oas/integer/Integer.js +4 -0
- package/script/oas/link/Link.d.ts +68 -0
- package/script/oas/link/Link.d.ts.map +1 -0
- package/script/oas/link/Link.js +111 -0
- package/script/oas/number/Number.d.ts +3 -1
- package/script/oas/number/Number.d.ts.map +1 -1
- package/script/oas/number/Number.js +4 -0
- package/script/oas/object/Object.d.ts +9 -0
- package/script/oas/object/Object.d.ts.map +1 -1
- package/script/oas/object/Object.js +14 -0
- package/script/oas/operation/Operation.d.ts +15 -0
- package/script/oas/operation/Operation.d.ts.map +1 -1
- package/script/oas/operation/Operation.js +33 -0
- package/script/oas/ref/Ref.d.ts +23 -1
- package/script/oas/ref/Ref.d.ts.map +1 -1
- package/script/oas/ref/Ref.js +32 -0
- package/script/oas/ref/ref-types.d.ts +18 -1
- package/script/oas/ref/ref-types.d.ts.map +1 -1
- package/script/oas/ref/ref-types.js +13 -2
- package/script/oas/response/Response.d.ts +4 -0
- package/script/oas/response/Response.d.ts.map +1 -1
- package/script/oas/response/Response.js +7 -0
- package/script/oas/schemaPath/traverseSchema.d.ts +31 -0
- package/script/oas/schemaPath/traverseSchema.d.ts.map +1 -0
- package/script/oas/schemaPath/traverseSchema.js +117 -0
- package/script/oas/string/String.d.ts +3 -1
- package/script/oas/string/String.d.ts.map +1 -1
- package/script/oas/string/String.js +4 -0
- package/script/oas/union/Union.d.ts +9 -0
- package/script/oas/union/Union.d.ts.map +1 -1
- package/script/oas/union/Union.js +14 -0
- package/script/oas/unknown/Unknown.d.ts +3 -1
- package/script/oas/unknown/Unknown.d.ts.map +1 -1
- package/script/oas/unknown/Unknown.js +4 -0
- package/script/parse/v3-0/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/script/parse/v3-0/_merge-all-of/decompose-union.js +8 -12
- package/script/parse/v3-0/_merge-all-of/merge-union.d.ts.map +1 -1
- package/script/parse/v3-0/_merge-all-of/merge-union.js +0 -8
- package/script/parse/v3-0/components/toComponentsV3.d.ts.map +1 -1
- package/script/parse/v3-0/components/toComponentsV3.js +3 -1
- package/script/parse/v3-0/link/toLinksV3.d.ts +17 -0
- package/script/parse/v3-0/link/toLinksV3.d.ts.map +1 -0
- package/script/parse/v3-0/link/toLinksV3.js +44 -0
- package/script/parse/v3-0/object/toObject.d.ts.map +1 -1
- package/script/parse/v3-0/object/toObject.js +3 -1
- package/script/parse/v3-0/response/toResponseV3.d.ts.map +1 -1
- package/script/parse/v3-0/response/toResponseV3.js +4 -1
- package/script/parse/v3-0/schema/toSchemasV3.d.ts.map +1 -1
- package/script/parse/v3-0/schema/toSchemasV3.js +8 -0
- package/script/parse/v3-0/union/toUnion.d.ts.map +1 -1
- package/script/parse/v3-0/union/toUnion.js +3 -1
- package/script/parse/v3-1/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/script/parse/v3-1/_merge-all-of/decompose-union.js +8 -12
- package/script/parse/v3-1/_merge-all-of/merge-union.d.ts.map +1 -1
- package/script/parse/v3-1/_merge-all-of/merge-union.js +0 -8
- package/script/parse/v3-1/components/toComponentsV3.d.ts.map +1 -1
- package/script/parse/v3-1/components/toComponentsV3.js +3 -1
- package/script/parse/v3-1/link/toLinksV3.d.ts +17 -0
- package/script/parse/v3-1/link/toLinksV3.d.ts.map +1 -0
- package/script/parse/v3-1/link/toLinksV3.js +44 -0
- package/script/parse/v3-1/object/toObject.d.ts.map +1 -1
- package/script/parse/v3-1/object/toObject.js +3 -1
- package/script/parse/v3-1/response/toResponseV3.d.ts.map +1 -1
- package/script/parse/v3-1/response/toResponseV3.js +4 -1
- package/script/parse/v3-1/schema/toSchemasV3.d.ts.map +1 -1
- package/script/parse/v3-1/schema/toSchemasV3.js +8 -0
- package/script/parse/v3-1/union/toUnion.d.ts.map +1 -1
- package/script/parse/v3-1/union/toUnion.js +3 -1
- package/script/run/toArtifacts.d.ts +8 -1
- package/script/run/toArtifacts.d.ts.map +1 -1
- package/script/run/toArtifacts.js +5 -5
- package/script/run/toInspection.d.ts +8 -0
- package/script/run/toInspection.d.ts.map +1 -0
- package/script/run/toInspection.js +82 -0
- package/script/types/Enrichments.d.ts +19 -8
- package/script/types/Enrichments.d.ts.map +1 -1
- package/script/types/Enrichments.js +5 -4
- package/script/types/GeneratorType.d.ts +5 -5
- package/script/types/GeneratorType.d.ts.map +1 -1
- package/script/types/Manifest.d.ts +1 -2
- package/script/types/Manifest.d.ts.map +1 -1
- package/script/types/Manifest.js +0 -1
- package/script/types/ModuleSelect.d.ts +81 -0
- package/script/types/ModuleSelect.d.ts.map +1 -0
- package/script/types/ModuleSelect.js +101 -0
- package/script/types/Preview.d.ts +4 -27
- package/script/types/Preview.d.ts.map +1 -1
- package/script/types/Preview.js +5 -26
- package/script/types/SchemaPath.d.ts +17 -0
- package/script/types/SchemaPath.d.ts.map +1 -0
- package/script/types/{AccessorPath.js → SchemaPath.js} +7 -7
- package/script/types/Settings.d.ts +24 -3
- package/script/types/Settings.d.ts.map +1 -1
- package/script/types/Settings.js +17 -10
- package/script/types/SkmtcDocument.d.ts +1 -1
- package/script/types/SupportedSubjects.d.ts +1 -1
- package/esm/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.13/_os.js +0 -12
- package/esm/types/AccessorPath.d.ts +0 -17
- package/esm/types/AccessorPath.d.ts.map +0 -1
- package/esm/types/AccessorPath.js +0 -9
- package/script/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +0 -1
- package/script/types/AccessorPath.d.ts +0 -17
- package/script/types/AccessorPath.d.ts.map +0 -1
- /package/esm/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.js +0 -0
- /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.js +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.d.ts +0 -0
- /package/script/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.d.ts +0 -0
- /package/script/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.js +0 -0
- /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.d.ts +0 -0
- /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts +0 -0
- /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.js +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.d.ts +0 -0
- /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.d.ts +0 -0
package/esm/oas/ref/Ref.js
CHANGED
|
@@ -11,6 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
11
11
|
};
|
|
12
12
|
var _OasRef_instances, _OasRef_fields, _OasRef_document, _OasRef_resolveOasOnce, _OasRef_resolveGqlOnce;
|
|
13
13
|
import "../../_dnt.polyfills.js";
|
|
14
|
+
import { traverseSchema } from '../schemaPath/traverseSchema.js';
|
|
14
15
|
import { toRefName } from '../../helpers/refFns.js';
|
|
15
16
|
import { OasBase } from '../../types/OasBase.js';
|
|
16
17
|
const MAX_LOOKUPS = 10;
|
|
@@ -33,6 +34,8 @@ function refTypeToPluralPath(refType) {
|
|
|
33
34
|
return 'headers';
|
|
34
35
|
case 'securityScheme':
|
|
35
36
|
return 'securitySchemes';
|
|
37
|
+
case 'link':
|
|
38
|
+
return 'links';
|
|
36
39
|
default: {
|
|
37
40
|
const _exhaustive = refType;
|
|
38
41
|
throw new Error(`Unhandled ref type: ${_exhaustive}`);
|
|
@@ -212,6 +215,33 @@ export class OasRef extends OasBase {
|
|
|
212
215
|
toRefName() {
|
|
213
216
|
return toRefName(__classPrivateFieldGet(this, _OasRef_fields, "f").$ref);
|
|
214
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* Narrows this reference to a schema reference.
|
|
220
|
+
*
|
|
221
|
+
* @returns True when this reference points at a schema component.
|
|
222
|
+
*/
|
|
223
|
+
isSchemaRef() {
|
|
224
|
+
return this.refType === 'schema';
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Navigate an {@link SchemaPath} starting from this reference, resolving it
|
|
228
|
+
* to descend through. See {@link traverseSchema}.
|
|
229
|
+
*
|
|
230
|
+
* Available on every `OasRef` so `.traverse()` works on the common
|
|
231
|
+
* `OasSchema | OasRef<'schema'>` value (an object property, array `items`).
|
|
232
|
+
* Schema paths only describe schemas for now, so it throws for non-schema
|
|
233
|
+
* refs (response/parameter/…); {@link isSchemaRef} narrows `this`, keeping the
|
|
234
|
+
* delegation cast-free.
|
|
235
|
+
*
|
|
236
|
+
* @returns The schema at the path (may be an unresolved `$ref`).
|
|
237
|
+
* @throws Error when called on a non-schema ref.
|
|
238
|
+
*/
|
|
239
|
+
traverse(path) {
|
|
240
|
+
if (!this.isSchemaRef()) {
|
|
241
|
+
throw new Error(`Schema path traversal is not yet supported for "${this.refType}" refs (only schema refs)`);
|
|
242
|
+
}
|
|
243
|
+
return traverseSchema(this, path);
|
|
244
|
+
}
|
|
215
245
|
get $ref() {
|
|
216
246
|
return __classPrivateFieldGet(this, _OasRef_fields, "f").$ref;
|
|
217
247
|
}
|
|
@@ -269,6 +299,8 @@ _OasRef_fields = new WeakMap(), _OasRef_document = new WeakMap(), _OasRef_instan
|
|
|
269
299
|
return c?.headers?.[refName];
|
|
270
300
|
case 'securityScheme':
|
|
271
301
|
return c?.securitySchemes?.[refName];
|
|
302
|
+
case 'link':
|
|
303
|
+
return c?.links?.[refName];
|
|
272
304
|
default: {
|
|
273
305
|
const _exhaustive = refType;
|
|
274
306
|
throw new Error(`Unhandled ref type: ${_exhaustive}`);
|
|
@@ -131,13 +131,30 @@ export type OasSecuritySchemeRefData = {
|
|
|
131
131
|
* Valibot schema for validating security scheme reference data.
|
|
132
132
|
*/
|
|
133
133
|
export declare const oasSecuritySchemeRefData: v.GenericSchema<OasSecuritySchemeRefData>;
|
|
134
|
+
/**
|
|
135
|
+
* Data type for OpenAPI link reference objects.
|
|
136
|
+
*
|
|
137
|
+
* Represents $ref references to link objects in OpenAPI documents,
|
|
138
|
+
* allowing link definitions to be reused across responses.
|
|
139
|
+
*/
|
|
140
|
+
export type OasLinkRefData = {
|
|
141
|
+
oasType: 'ref';
|
|
142
|
+
refType: 'link';
|
|
143
|
+
$ref: string;
|
|
144
|
+
summary?: string;
|
|
145
|
+
description?: string;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Valibot schema for validating link reference data.
|
|
149
|
+
*/
|
|
150
|
+
export declare const oasLinkRefData: v.GenericSchema<OasLinkRefData>;
|
|
134
151
|
/**
|
|
135
152
|
* Union type representing all possible OpenAPI reference data types.
|
|
136
153
|
*
|
|
137
154
|
* Encompasses all supported reference types in the OpenAPI specification,
|
|
138
155
|
* providing type-safe handling of references to various component types.
|
|
139
156
|
*/
|
|
140
|
-
export type OasRefData = OasSchemaRefData | OasResponseRefData | OasParameterRefData | OasExampleRefData | OasRequestBodyRefData | OasHeaderRefData | OasSecuritySchemeRefData;
|
|
157
|
+
export type OasRefData = OasSchemaRefData | OasResponseRefData | OasParameterRefData | OasExampleRefData | OasRequestBodyRefData | OasHeaderRefData | OasSecuritySchemeRefData | OasLinkRefData;
|
|
141
158
|
/**
|
|
142
159
|
* Valibot schema for validating any OpenAPI reference data.
|
|
143
160
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref-types.d.ts","sourceRoot":"","sources":["../../../src/oas/ref/ref-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ref-types.d.ts","sourceRoot":"","sources":["../../../src/oas/ref/ref-types.ts"],"names":[],"mappings":"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"}
|
package/esm/oas/ref/ref-types.js
CHANGED
|
@@ -68,6 +68,16 @@ export const oasSecuritySchemeRefData = v.object({
|
|
|
68
68
|
refType: v.literal('securityScheme'),
|
|
69
69
|
$ref: v.string()
|
|
70
70
|
});
|
|
71
|
+
/**
|
|
72
|
+
* Valibot schema for validating link reference data.
|
|
73
|
+
*/
|
|
74
|
+
export const oasLinkRefData = v.object({
|
|
75
|
+
oasType: v.literal('ref'),
|
|
76
|
+
refType: v.literal('link'),
|
|
77
|
+
$ref: v.string(),
|
|
78
|
+
summary: v.optional(v.string()),
|
|
79
|
+
description: v.optional(markdown)
|
|
80
|
+
});
|
|
71
81
|
// OasPathItemRefData
|
|
72
82
|
/**
|
|
73
83
|
* Valibot schema for validating any OpenAPI reference data.
|
|
@@ -82,6 +92,7 @@ export const oasRefData = v.union([
|
|
|
82
92
|
oasExampleRefData,
|
|
83
93
|
oasRequestBodyRefData,
|
|
84
94
|
oasHeaderRefData,
|
|
85
|
-
oasSecuritySchemeRefData
|
|
95
|
+
oasSecuritySchemeRefData,
|
|
96
|
+
oasLinkRefData
|
|
86
97
|
// oasPathItemRefData
|
|
87
98
|
]);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "../../_dnt.polyfills.js";
|
|
2
2
|
import type { OasHeader } from '../header/Header.js';
|
|
3
|
+
import type { OasLink } from '../link/Link.js';
|
|
3
4
|
import type { OasMediaType } from '../mediaType/MediaType.js';
|
|
4
5
|
import type { OasRef } from '../ref/Ref.js';
|
|
5
6
|
import type { OasSchema } from '../schema/Schema.js';
|
|
@@ -15,6 +16,8 @@ export type ResponseFields = {
|
|
|
15
16
|
description?: string | undefined;
|
|
16
17
|
/** Response headers that can be sent */
|
|
17
18
|
headers?: Record<string, OasHeader | OasRef<'header'>> | undefined;
|
|
19
|
+
/** Design-time links from this response to other operations */
|
|
20
|
+
links?: Record<string, OasLink | OasRef<'link'>> | undefined;
|
|
18
21
|
/** Response content for different media types */
|
|
19
22
|
content?: Record<string, OasMediaType> | undefined;
|
|
20
23
|
/** Custom extension fields (x-* properties) */
|
|
@@ -207,6 +210,7 @@ export declare class OasResponse extends OasBase {
|
|
|
207
210
|
oasType: 'response';
|
|
208
211
|
description: string | undefined;
|
|
209
212
|
headers: Record<string, OasHeader | OasRef<'header'>> | undefined;
|
|
213
|
+
links: Record<string, OasLink | OasRef<'link'>> | undefined;
|
|
210
214
|
content: Record<string, OasMediaType> | undefined;
|
|
211
215
|
extensionFields: Record<string, unknown> | undefined;
|
|
212
216
|
constructor(fields: ResponseFields, context?: ParseContextType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../../src/oas/response/Response.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IAClD,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsLG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC,OAAO,EAAE,UAAU,CAAa;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IACjE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IACjD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBACxC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../../src/oas/response/Response.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAC5D,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IAClD,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsLG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC,OAAO,EAAE,UAAU,CAAa;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IACjE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IACjD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBACxC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAS9D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC;IAInC,OAAO,IAAI,WAAW;IAItB,WAAW,IAAI,WAAW;IAI1B,QAAQ,CAAC,SAAS,GAAE,MAA2B,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAI1F,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,cAAc;CAqBrE"}
|
|
@@ -204,6 +204,12 @@ export class OasResponse extends OasBase {
|
|
|
204
204
|
writable: true,
|
|
205
205
|
value: void 0
|
|
206
206
|
});
|
|
207
|
+
Object.defineProperty(this, "links", {
|
|
208
|
+
enumerable: true,
|
|
209
|
+
configurable: true,
|
|
210
|
+
writable: true,
|
|
211
|
+
value: void 0
|
|
212
|
+
});
|
|
207
213
|
Object.defineProperty(this, "content", {
|
|
208
214
|
enumerable: true,
|
|
209
215
|
configurable: true,
|
|
@@ -218,6 +224,7 @@ export class OasResponse extends OasBase {
|
|
|
218
224
|
});
|
|
219
225
|
this.description = fields.description;
|
|
220
226
|
this.headers = fields.headers;
|
|
227
|
+
this.links = fields.links;
|
|
221
228
|
this.content = fields.content;
|
|
222
229
|
this.extensionFields = fields.extensionFields;
|
|
223
230
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { OasSchema } from '../schema/Schema.js';
|
|
2
|
+
import type { OasRef } from '../ref/Ref.js';
|
|
3
|
+
import type { SchemaPath } from '../../types/SchemaPath.js';
|
|
4
|
+
/**
|
|
5
|
+
* Walk an {@link SchemaPath} into a schema, resolving `$ref`s as it descends.
|
|
6
|
+
*
|
|
7
|
+
* The shared engine behind `OasOperation.traverse` and every `OasSchema`
|
|
8
|
+
* variant's `traverse`. A ref — or a `OasSchema | OasRef<'schema'>` union value —
|
|
9
|
+
* is passed straight to this function, which resolves refs itself, so `OasRef`
|
|
10
|
+
* needs no `traverse` method of its own. Navigation rules per segment, keyed by
|
|
11
|
+
* the schema currently under the cursor:
|
|
12
|
+
*
|
|
13
|
+
* - **empty path** → returns `value` unchanged (it may still be a ref — the
|
|
14
|
+
* final value is never force-resolved, so a target's refName survives).
|
|
15
|
+
* - **object** → the segment is a property name; descends into
|
|
16
|
+
* `properties[segment]`.
|
|
17
|
+
* - **array** → the segment must be the literal `'items'`; descends into the
|
|
18
|
+
* element schema.
|
|
19
|
+
* - **union** → the segment selects a member ({@link selectUnionMember}):
|
|
20
|
+
* `'$Circle'` by refName, `'{type:circle}'` by discriminator, `'[0]'` by index.
|
|
21
|
+
*
|
|
22
|
+
* A ref is resolved only when the path needs to descend *through* it. Anything
|
|
23
|
+
* the path cannot navigate throws a descriptive, segment-named error: a missing
|
|
24
|
+
* property, a {@link import('@/dsl/CustomValue.ts').CustomValue} property, a
|
|
25
|
+
* non-`'items'` segment on an array, a union member that doesn't match, or
|
|
26
|
+
* descending into a scalar.
|
|
27
|
+
*
|
|
28
|
+
* @throws Error when a segment cannot be navigated.
|
|
29
|
+
*/
|
|
30
|
+
export declare const traverseSchema: (value: OasSchema | OasRef<"schema">, path: SchemaPath) => OasSchema | OasRef<"schema">;
|
|
31
|
+
//# sourceMappingURL=traverseSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traverseSchema.d.ts","sourceRoot":"","sources":["../../../src/oas/schemaPath/traverseSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,EACnC,MAAM,UAAU,KACf,SAAS,GAAG,MAAM,CAAC,QAAQ,CA+C7B,CAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { toRefName } from '../../helpers/refFns.js';
|
|
2
|
+
/**
|
|
3
|
+
* Walk an {@link SchemaPath} into a schema, resolving `$ref`s as it descends.
|
|
4
|
+
*
|
|
5
|
+
* The shared engine behind `OasOperation.traverse` and every `OasSchema`
|
|
6
|
+
* variant's `traverse`. A ref — or a `OasSchema | OasRef<'schema'>` union value —
|
|
7
|
+
* is passed straight to this function, which resolves refs itself, so `OasRef`
|
|
8
|
+
* needs no `traverse` method of its own. Navigation rules per segment, keyed by
|
|
9
|
+
* the schema currently under the cursor:
|
|
10
|
+
*
|
|
11
|
+
* - **empty path** → returns `value` unchanged (it may still be a ref — the
|
|
12
|
+
* final value is never force-resolved, so a target's refName survives).
|
|
13
|
+
* - **object** → the segment is a property name; descends into
|
|
14
|
+
* `properties[segment]`.
|
|
15
|
+
* - **array** → the segment must be the literal `'items'`; descends into the
|
|
16
|
+
* element schema.
|
|
17
|
+
* - **union** → the segment selects a member ({@link selectUnionMember}):
|
|
18
|
+
* `'$Circle'` by refName, `'{type:circle}'` by discriminator, `'[0]'` by index.
|
|
19
|
+
*
|
|
20
|
+
* A ref is resolved only when the path needs to descend *through* it. Anything
|
|
21
|
+
* the path cannot navigate throws a descriptive, segment-named error: a missing
|
|
22
|
+
* property, a {@link import('@/dsl/CustomValue.ts').CustomValue} property, a
|
|
23
|
+
* non-`'items'` segment on an array, a union member that doesn't match, or
|
|
24
|
+
* descending into a scalar.
|
|
25
|
+
*
|
|
26
|
+
* @throws Error when a segment cannot be navigated.
|
|
27
|
+
*/
|
|
28
|
+
export const traverseSchema = (value, path) => {
|
|
29
|
+
if (path.length === 0) {
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
// Resolve refs only to descend through them; the final value (path empty,
|
|
33
|
+
// above) is returned as-is.
|
|
34
|
+
const schema = value.isRef() ? value.resolve() : value;
|
|
35
|
+
const [segment, ...rest] = path;
|
|
36
|
+
switch (schema.type) {
|
|
37
|
+
case 'object': {
|
|
38
|
+
const property = schema.properties?.[segment];
|
|
39
|
+
if (!property) {
|
|
40
|
+
throw new Error(`Schema path segment "${segment}" is not a property of the object (available: ${Object.keys(schema.properties ?? {}).join(', ') || 'none'})`);
|
|
41
|
+
}
|
|
42
|
+
if (property.type === 'custom') {
|
|
43
|
+
throw new Error(`Schema path segment "${segment}" is a custom value and cannot be traversed`);
|
|
44
|
+
}
|
|
45
|
+
return traverseSchema(property, rest);
|
|
46
|
+
}
|
|
47
|
+
case 'array': {
|
|
48
|
+
if (segment !== 'items') {
|
|
49
|
+
throw new Error(`Schema path segment "${segment}" cannot traverse an array; use "items" to descend into the element schema`);
|
|
50
|
+
}
|
|
51
|
+
return traverseSchema(schema.items, rest);
|
|
52
|
+
}
|
|
53
|
+
case 'union': {
|
|
54
|
+
return traverseSchema(selectUnionMember(schema, segment), rest);
|
|
55
|
+
}
|
|
56
|
+
default: {
|
|
57
|
+
throw new Error(`Schema path segment "${segment}" cannot traverse a "${schema.type}" schema`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Pick one member of a union for an {@link SchemaPath} segment. The segment's
|
|
63
|
+
* notation chooses the branching strategy:
|
|
64
|
+
*
|
|
65
|
+
* - `'$Circle'` (`$`-prefixed) → by **member refName** (the schema identity).
|
|
66
|
+
* - `'{type:circle}'` (`{property:value}`) → by **discriminator** — the property
|
|
67
|
+
* must match the union's `discriminator.propertyName`, and the value is looked
|
|
68
|
+
* up in `discriminator.mapping` (or used as an implicit schema name).
|
|
69
|
+
* - `'[0]'` (bracketed) → by **member index** — the fallback for inline/anonymous
|
|
70
|
+
* members that have no refName.
|
|
71
|
+
*
|
|
72
|
+
* A plain (un-prefixed) segment is not a valid union selector.
|
|
73
|
+
*
|
|
74
|
+
* @throws Error when the segment is not a valid selector or selects no member.
|
|
75
|
+
*/
|
|
76
|
+
const selectUnionMember = (union, segment) => {
|
|
77
|
+
const indexMatch = segment.match(/^\[(\d+)\]$/);
|
|
78
|
+
if (indexMatch) {
|
|
79
|
+
const index = Number(indexMatch[1]);
|
|
80
|
+
const member = union.members[index];
|
|
81
|
+
if (!member) {
|
|
82
|
+
throw new Error(`Schema path segment "${segment}" is out of range; the union has ${union.members.length} member(s)`);
|
|
83
|
+
}
|
|
84
|
+
return member;
|
|
85
|
+
}
|
|
86
|
+
const discriminatorMatch = segment.match(/^\{([^:]+):(.+)\}$/);
|
|
87
|
+
if (discriminatorMatch) {
|
|
88
|
+
const [, propertyName, value] = discriminatorMatch;
|
|
89
|
+
if (!union.discriminator) {
|
|
90
|
+
throw new Error(`Schema path segment "${segment}" needs a discriminated union, but this union has no discriminator`);
|
|
91
|
+
}
|
|
92
|
+
if (union.discriminator.propertyName !== propertyName) {
|
|
93
|
+
throw new Error(`Schema path segment "${segment}" discriminates on "${propertyName}", but this union's discriminator is "${union.discriminator.propertyName}"`);
|
|
94
|
+
}
|
|
95
|
+
const mapped = union.discriminator.mapping?.[value];
|
|
96
|
+
const targetRefName = mapped ? toRefName(mapped) : value;
|
|
97
|
+
const member = findMemberByRefName(union, targetRefName);
|
|
98
|
+
if (!member) {
|
|
99
|
+
throw new Error(`Schema path segment "${segment}" does not resolve to a union member via the discriminator`);
|
|
100
|
+
}
|
|
101
|
+
return member;
|
|
102
|
+
}
|
|
103
|
+
if (segment.startsWith('$')) {
|
|
104
|
+
const member = findMemberByRefName(union, segment.slice(1));
|
|
105
|
+
if (!member) {
|
|
106
|
+
const refNames = union.members.filter(member => member.isRef()).map(member => member.toRefName());
|
|
107
|
+
throw new Error(`Schema path segment "${segment}" does not match a union member refName (available: ${refNames.map(name => `$${name}`).join(', ') || 'none — use "[index]" for inline members'})`);
|
|
108
|
+
}
|
|
109
|
+
return member;
|
|
110
|
+
}
|
|
111
|
+
throw new Error(`Schema path segment "${segment}" is not a valid union selector; use "$RefName", "{discriminator:value}", or "[index]"`);
|
|
112
|
+
};
|
|
113
|
+
const findMemberByRefName = (union, refName) => union.members.find(member => member.isRef() && member.toRefName() === refName);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "../../_dnt.polyfills.js";
|
|
2
|
+
import type { SchemaPath } from '../../types/SchemaPath.js';
|
|
2
3
|
import type { OasRef } from '../ref/Ref.js';
|
|
3
|
-
import type { ToJsonSchemaOptions } from '../schema/Schema.js';
|
|
4
|
+
import type { OasSchema, ToJsonSchemaOptions } from '../schema/Schema.js';
|
|
4
5
|
import type { OpenAPIV3 } from 'openapi-types';
|
|
5
6
|
import { OasBase } from '../../types/OasBase.js';
|
|
6
7
|
import type { ParseContextType } from '../../context/parseTypes.js';
|
|
@@ -103,6 +104,7 @@ export declare class OasString<Nullable extends boolean | undefined = boolean |
|
|
|
103
104
|
deprecated: boolean | undefined;
|
|
104
105
|
constructor(fields?: StringFields<Nullable>, context?: ParseContextType);
|
|
105
106
|
isRef(): this is OasRef<'schema'>;
|
|
107
|
+
traverse(path: SchemaPath): OasSchema | OasRef<'schema'>;
|
|
106
108
|
resolve(): OasString<Nullable>;
|
|
107
109
|
resolveOnce(): OasString<Nullable>;
|
|
108
110
|
toJsonSchema(options?: ToJsonSchemaOptions): OpenAPIV3.NonArraySchemaObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"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"}
|
package/esm/oas/string/String.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "../../_dnt.polyfills.js";
|
|
2
|
+
import { traverseSchema } from '../schemaPath/traverseSchema.js';
|
|
2
3
|
import { OasBase } from '../../types/OasBase.js';
|
|
3
4
|
export class OasString extends OasBase {
|
|
4
5
|
constructor(fields = {}, context) {
|
|
@@ -162,6 +163,9 @@ export class OasString extends OasBase {
|
|
|
162
163
|
isRef() {
|
|
163
164
|
return false;
|
|
164
165
|
}
|
|
166
|
+
traverse(path) {
|
|
167
|
+
return traverseSchema(this, path);
|
|
168
|
+
}
|
|
165
169
|
resolve() {
|
|
166
170
|
return this;
|
|
167
171
|
}
|
package/esm/oas/union/Union.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { SchemaPath } from '../../types/SchemaPath.js';
|
|
1
2
|
import type { OasDiscriminator } from '../discriminator/Discriminator.js';
|
|
3
|
+
import type { OasExternalDocs } from '../externalDocs/ExternalDocs.js';
|
|
2
4
|
import type { OasSchema } from '../schema/Schema.js';
|
|
3
5
|
import type { OasRef } from '../ref/Ref.js';
|
|
4
6
|
import type { ToJsonSchemaOptions } from '../schema/Schema.js';
|
|
@@ -13,6 +15,8 @@ export type UnionFields = {
|
|
|
13
15
|
title?: string;
|
|
14
16
|
/** A description of the union type */
|
|
15
17
|
description?: string;
|
|
18
|
+
/** External documentation for the union type */
|
|
19
|
+
externalDocs?: OasExternalDocs | undefined;
|
|
16
20
|
/** Whether the union value can be null */
|
|
17
21
|
nullable?: boolean;
|
|
18
22
|
/** Discriminator object for creating tagged unions */
|
|
@@ -156,6 +160,10 @@ export declare class OasUnion extends OasBase {
|
|
|
156
160
|
* A description of the union.
|
|
157
161
|
*/
|
|
158
162
|
description: string | undefined;
|
|
163
|
+
/**
|
|
164
|
+
* External documentation for the union.
|
|
165
|
+
*/
|
|
166
|
+
externalDocs: OasExternalDocs | undefined;
|
|
159
167
|
/**
|
|
160
168
|
* Indicates whether value can be null.
|
|
161
169
|
*/
|
|
@@ -180,6 +188,7 @@ export declare class OasUnion extends OasBase {
|
|
|
180
188
|
default?: unknown;
|
|
181
189
|
constructor(fields: UnionFields, context?: ParseContextType);
|
|
182
190
|
isRef(): this is OasRef<'schema'>;
|
|
191
|
+
traverse(path: SchemaPath): OasSchema | OasRef<'schema'>;
|
|
183
192
|
resolve(): OasUnion;
|
|
184
193
|
resolveOnce(): OasUnion;
|
|
185
194
|
toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.NonArraySchemaObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Union.d.ts","sourceRoot":"","sources":["../../../src/oas/union/Union.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Union.d.ts","sourceRoot":"","sources":["../../../src/oas/union/Union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,YAAY,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAC1C,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sDAAsD;IACtD,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sDAAsD;IACtD,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC;;;OAGG;IACH,OAAO,EAAG,QAAQ,CAAS;IAC3B;;OAEG;IACH,IAAI,EAAG,OAAO,CAAS;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAA;IACzC;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAEzC,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;gBAEL,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAa3D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAIxD,OAAO,IAAI,QAAQ;IAInB,WAAW,IAAI,QAAQ;IAIvB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,oBAAoB;CAU3E"}
|
package/esm/oas/union/Union.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { traverseSchema } from '../schemaPath/traverseSchema.js';
|
|
1
2
|
import { OasBase } from '../../types/OasBase.js';
|
|
2
3
|
/**
|
|
3
4
|
* Represents a union type schema in the OpenAPI Specification.
|
|
@@ -151,6 +152,15 @@ export class OasUnion extends OasBase {
|
|
|
151
152
|
writable: true,
|
|
152
153
|
value: void 0
|
|
153
154
|
});
|
|
155
|
+
/**
|
|
156
|
+
* External documentation for the union.
|
|
157
|
+
*/
|
|
158
|
+
Object.defineProperty(this, "externalDocs", {
|
|
159
|
+
enumerable: true,
|
|
160
|
+
configurable: true,
|
|
161
|
+
writable: true,
|
|
162
|
+
value: void 0
|
|
163
|
+
});
|
|
154
164
|
/**
|
|
155
165
|
* Indicates whether value can be null.
|
|
156
166
|
*/
|
|
@@ -205,6 +215,7 @@ export class OasUnion extends OasBase {
|
|
|
205
215
|
});
|
|
206
216
|
this.title = fields.title;
|
|
207
217
|
this.description = fields.description;
|
|
218
|
+
this.externalDocs = fields.externalDocs;
|
|
208
219
|
this.nullable = fields.nullable;
|
|
209
220
|
this.discriminator = fields.discriminator;
|
|
210
221
|
this.members = fields.members;
|
|
@@ -215,6 +226,9 @@ export class OasUnion extends OasBase {
|
|
|
215
226
|
isRef() {
|
|
216
227
|
return false;
|
|
217
228
|
}
|
|
229
|
+
traverse(path) {
|
|
230
|
+
return traverseSchema(this, path);
|
|
231
|
+
}
|
|
218
232
|
resolve() {
|
|
219
233
|
return this;
|
|
220
234
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import "../../_dnt.polyfills.js";
|
|
2
|
+
import type { SchemaPath } from '../../types/SchemaPath.js';
|
|
2
3
|
import type { OpenAPIV3 } from 'openapi-types';
|
|
3
4
|
import type { OasRef } from '../ref/Ref.js';
|
|
4
|
-
import type { ToJsonSchemaOptions } from '../schema/Schema.js';
|
|
5
|
+
import type { OasSchema, ToJsonSchemaOptions } from '../schema/Schema.js';
|
|
5
6
|
import { OasBase } from '../../types/OasBase.js';
|
|
6
7
|
import type { ParseContextType } from '../../context/parseTypes.js';
|
|
7
8
|
export type UnknownFields = {
|
|
@@ -44,6 +45,7 @@ export declare class OasUnknown extends OasBase {
|
|
|
44
45
|
nullable: boolean | undefined;
|
|
45
46
|
constructor(fields?: UnknownFields, context?: ParseContextType);
|
|
46
47
|
isRef(): this is OasRef<'schema'>;
|
|
48
|
+
traverse(path: SchemaPath): OasSchema | OasRef<'schema'>;
|
|
47
49
|
resolve(): OasUnknown;
|
|
48
50
|
resolveOnce(): OasUnknown;
|
|
49
51
|
toJsonSchema(_options?: ToJsonSchemaOptions): OpenAPIV3.NonArraySchemaObject | OpenAPIV3.ArraySchemaObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../../src/oas/unknown/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../../src/oas/unknown/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,OAAO;IACrC;;;OAGG;IACH,OAAO,EAAG,QAAQ,CAAS;IAC3B;;OAEG;IACH,IAAI,EAAG,SAAS,CAAS;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,sCAAsC;IACtC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;gBACjB,MAAM,GAAE,aAAkB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IASlE,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAIxD,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;IAIzB,YAAY,CACV,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,SAAS,CAAC,oBAAoB,GAAG,SAAS,CAAC,iBAAiB;CAOhE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "../../_dnt.polyfills.js";
|
|
2
|
+
import { traverseSchema } from '../schemaPath/traverseSchema.js';
|
|
2
3
|
import { OasBase } from '../../types/OasBase.js';
|
|
3
4
|
/**
|
|
4
5
|
* Object representing an unknown type in the OpenAPI Specification.
|
|
@@ -77,6 +78,9 @@ export class OasUnknown extends OasBase {
|
|
|
77
78
|
isRef() {
|
|
78
79
|
return false;
|
|
79
80
|
}
|
|
81
|
+
traverse(path) {
|
|
82
|
+
return traverseSchema(this, path);
|
|
83
|
+
}
|
|
80
84
|
resolve() {
|
|
81
85
|
return this;
|
|
82
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decompose-union.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/_merge-all-of/decompose-union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQ/D,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,cAAc,EAAE,YAAY,CAAA;IAC5B,UAAU,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,CAAA;IAC9C,aAAa,EAAE,YAAY,CAAA;CAC5B,CAAA;AAGD,eAAO,MAAM,cAAc,GAAI,uBAAuB,kBAAkB,KAAG,
|
|
1
|
+
{"version":3,"file":"decompose-union.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/_merge-all-of/decompose-union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQ/D,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,cAAc,EAAE,YAAY,CAAA;IAC5B,UAAU,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,CAAA;IAC9C,aAAa,EAAE,YAAY,CAAA;CAC5B,CAAA;AAGD,eAAO,MAAM,cAAc,GAAI,uBAAuB,kBAAkB,KAAG,oBA2C1E,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Convert a schema object into an array of schemas that can be merged iteratively into a new schema
|
|
2
2
|
export const decomposeUnion = ({ schema, groupType }) => {
|
|
3
3
|
if (!schema[groupType]) {
|
|
4
|
-
console.log('NO GROUP TYPE', JSON.stringify(schema, null, 2));
|
|
5
4
|
return {
|
|
6
5
|
beforeExcluded: {},
|
|
7
6
|
decomposed: [schema],
|
|
@@ -38,15 +37,13 @@ export const decomposeUnion = ({ schema, groupType }) => {
|
|
|
38
37
|
};
|
|
39
38
|
return result;
|
|
40
39
|
};
|
|
41
|
-
//
|
|
42
|
-
// cross-product-merged into each member.
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
// for every member and collapses the union to an empty array. TypeScript
|
|
49
|
-
// can't model `not` anyway, so it rides the union wrapper, ignored.
|
|
40
|
+
// Union-level keys: kept on the union (via beforeExcluded/afterExcluded)
|
|
41
|
+
// rather than cross-product-merged into each member. Merging a metadata key
|
|
42
|
+
// *into* a member would resolve `$ref` members (to merge it in), losing their
|
|
43
|
+
// names — `toUnion` already captures these on the union itself.
|
|
44
|
+
// (`not` is deliberately NOT excluded here — it has no faithful TypeScript
|
|
45
|
+
// representation, so a schema using it is refused upstream in `toSchemaV3`
|
|
46
|
+
// rather than silently dropped from the union.)
|
|
50
47
|
const excludedProperties = [
|
|
51
48
|
'discriminator',
|
|
52
49
|
'default',
|
|
@@ -57,8 +54,7 @@ const excludedProperties = [
|
|
|
57
54
|
'examples',
|
|
58
55
|
'readOnly',
|
|
59
56
|
'writeOnly',
|
|
60
|
-
'deprecated'
|
|
61
|
-
'not'
|
|
57
|
+
'deprecated'
|
|
62
58
|
];
|
|
63
59
|
const exclude = (entries) => {
|
|
64
60
|
return entries.reduce((acc, [key, value]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-union.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/_merge-all-of/merge-union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI3E,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,+BAA+B,cAAc,KAAG,iBAiC1E,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,sCAK/B,qBAAqB,KAAG,
|
|
1
|
+
{"version":3,"file":"merge-union.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/_merge-all-of/merge-union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI3E,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,+BAA+B,cAAc,KAAG,iBAiC1E,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,sCAK/B,qBAAqB,KAAG,YAyB1B,CAAA"}
|
|
@@ -42,14 +42,6 @@ export const mergeCrossProduct = ({ first, second, getRef, groupType }) => {
|
|
|
42
42
|
}
|
|
43
43
|
})
|
|
44
44
|
.filter(item => item !== undefined);
|
|
45
|
-
// Defensive floor: when both groups are non-empty the cross product is
|
|
46
|
-
// non-empty, so an empty `mergedGroup` means every merge *failed* (an
|
|
47
|
-
// unmergeable constraint in `secondGroup`). Keep the un-merged `firstGroup`
|
|
48
|
-
// rather than collapsing to an empty union. A genuinely empty input union
|
|
49
|
-
// (`anyOf: []` → empty group) is left empty so `toSchemasV3` still throws.
|
|
50
|
-
if (mergedGroup.length === 0 && firstGroup.length > 0 && secondGroup.length > 0) {
|
|
51
|
-
return { [groupType]: firstGroup };
|
|
52
|
-
}
|
|
53
45
|
return {
|
|
54
46
|
[groupType]: mergedGroup.flatMap(item => {
|
|
55
47
|
if (!isRef(item) && Array.isArray(item[groupType])) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toComponentsV3.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/components/toComponentsV3.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toComponentsV3.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/components/toComponentsV3.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAIrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAAA;IAClD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,qCAI5B,kBAAkB,KAAG,aAAa,GAAG,SAsDvC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { toOptionalResponsesV3 } from '../response/toResponseV3.js';
|
|
2
2
|
import { toHeadersV3 } from '../header/toHeadersV3.js';
|
|
3
|
+
import { toLinksV3 } from '../link/toLinksV3.js';
|
|
3
4
|
import { toOptionalSchemasV3 } from '../schema/toSchemasV3.js';
|
|
4
5
|
import { toOptionalParametersV3 } from '../parameter/toParameterV3.js';
|
|
5
6
|
import { toExamplesV3 } from '../example/toExamplesV3.js';
|
|
@@ -11,7 +12,7 @@ export const toComponentsV3 = ({ components, stackTrail, context }) => {
|
|
|
11
12
|
if (!components) {
|
|
12
13
|
return undefined;
|
|
13
14
|
}
|
|
14
|
-
const { schemas, responses, parameters, examples, requestBodies, headers, securitySchemes, ...skipped } = components;
|
|
15
|
+
const { schemas, responses, parameters, examples, requestBodies, headers, securitySchemes, links, ...skipped } = components;
|
|
15
16
|
const extensionFields = toSpecificationExtensionsV3({
|
|
16
17
|
skipped,
|
|
17
18
|
parent: components,
|
|
@@ -33,6 +34,7 @@ export const toComponentsV3 = ({ components, stackTrail, context }) => {
|
|
|
33
34
|
requestBodies: stackTrail.trace('requestBodies', st => toRequestBodiesV3({ requestBodies, stackTrail: st, context })),
|
|
34
35
|
headers: stackTrail.trace('headers', st => toHeadersV3({ headers, stackTrail: st, context })),
|
|
35
36
|
securitySchemes: stackTrail.trace('securitySchemes', st => toSecuritySchemesV3({ securitySchemes, stackTrail: st, context })),
|
|
37
|
+
links: stackTrail.trace('links', st => toLinksV3({ links, stackTrail: st, context })),
|
|
36
38
|
extensionFields
|
|
37
39
|
};
|
|
38
40
|
return new OasComponents(fields);
|