@speclynx/apidom-ns-openapi-3-0 1.12.2 → 2.1.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/CHANGELOG.md +23 -0
- package/NOTICE +16 -7
- package/README.md +22 -26
- package/dist/apidom-ns-openapi-3-0.browser.js +15751 -13135
- package/dist/apidom-ns-openapi-3-0.browser.min.js +1 -1
- package/package.json +8 -7
- package/src/elements/Callback.cjs +2 -2
- package/src/elements/Callback.mjs +1 -1
- package/src/elements/Components.cjs +4 -4
- package/src/elements/Components.mjs +3 -3
- package/src/elements/Contact.cjs +2 -2
- package/src/elements/Contact.mjs +1 -1
- package/src/elements/Discriminator.cjs +2 -2
- package/src/elements/Discriminator.mjs +1 -1
- package/src/elements/Encoding.cjs +2 -2
- package/src/elements/Encoding.mjs +1 -1
- package/src/elements/Example.cjs +2 -2
- package/src/elements/Example.mjs +1 -1
- package/src/elements/ExternalDocumentation.cjs +2 -2
- package/src/elements/ExternalDocumentation.mjs +1 -1
- package/src/elements/Header.cjs +6 -6
- package/src/elements/Header.mjs +3 -3
- package/src/elements/Info.cjs +2 -2
- package/src/elements/Info.mjs +1 -1
- package/src/elements/License.cjs +2 -2
- package/src/elements/License.mjs +1 -1
- package/src/elements/Link.cjs +4 -4
- package/src/elements/Link.mjs +1 -1
- package/src/elements/MediaType.cjs +2 -2
- package/src/elements/MediaType.mjs +1 -1
- package/src/elements/OAuthFlow.cjs +2 -2
- package/src/elements/OAuthFlow.mjs +1 -1
- package/src/elements/OAuthFlows.cjs +2 -2
- package/src/elements/OAuthFlows.mjs +1 -1
- package/src/elements/OpenApi3-0.cjs +2 -2
- package/src/elements/OpenApi3-0.mjs +1 -1
- package/src/elements/Openapi.cjs +2 -2
- package/src/elements/Openapi.mjs +1 -1
- package/src/elements/Operation.cjs +3 -3
- package/src/elements/Operation.mjs +1 -1
- package/src/elements/Parameter.cjs +6 -6
- package/src/elements/Parameter.mjs +3 -3
- package/src/elements/PathItem.cjs +26 -26
- package/src/elements/PathItem.mjs +25 -25
- package/src/elements/Paths.cjs +2 -2
- package/src/elements/Paths.mjs +1 -1
- package/src/elements/Reference.cjs +2 -2
- package/src/elements/Reference.mjs +1 -1
- package/src/elements/RequestBody.cjs +5 -5
- package/src/elements/RequestBody.mjs +3 -3
- package/src/elements/Response.cjs +7 -7
- package/src/elements/Response.mjs +6 -6
- package/src/elements/Responses.cjs +2 -2
- package/src/elements/Responses.mjs +1 -1
- package/src/elements/Schema.cjs +10 -10
- package/src/elements/Schema.mjs +10 -10
- package/src/elements/SecurityRequirement.cjs +2 -2
- package/src/elements/SecurityRequirement.mjs +1 -1
- package/src/elements/SecurityScheme.cjs +2 -2
- package/src/elements/SecurityScheme.mjs +1 -1
- package/src/elements/Server.cjs +2 -2
- package/src/elements/Server.mjs +1 -1
- package/src/elements/ServerVariable.cjs +2 -2
- package/src/elements/ServerVariable.mjs +1 -1
- package/src/elements/Tag.cjs +2 -2
- package/src/elements/Tag.mjs +1 -1
- package/src/elements/Xml.cjs +2 -2
- package/src/elements/Xml.mjs +1 -1
- package/src/elements/nces/ComponentsCallbacks.cjs +2 -2
- package/src/elements/nces/ComponentsCallbacks.mjs +1 -1
- package/src/elements/nces/ComponentsExamples.cjs +2 -2
- package/src/elements/nces/ComponentsExamples.mjs +1 -1
- package/src/elements/nces/ComponentsHeaders.cjs +2 -2
- package/src/elements/nces/ComponentsHeaders.mjs +1 -1
- package/src/elements/nces/ComponentsLinks.cjs +2 -2
- package/src/elements/nces/ComponentsLinks.mjs +1 -1
- package/src/elements/nces/ComponentsParameters.cjs +2 -2
- package/src/elements/nces/ComponentsParameters.mjs +1 -1
- package/src/elements/nces/ComponentsRequestBodies.cjs +2 -2
- package/src/elements/nces/ComponentsRequestBodies.mjs +1 -1
- package/src/elements/nces/ComponentsResponses.cjs +2 -2
- package/src/elements/nces/ComponentsResponses.mjs +1 -1
- package/src/elements/nces/ComponentsSchemas.cjs +2 -2
- package/src/elements/nces/ComponentsSchemas.mjs +1 -1
- package/src/elements/nces/ComponentsSecuritySchemes.cjs +2 -2
- package/src/elements/nces/ComponentsSecuritySchemes.mjs +1 -1
- package/src/elements/nces/DiscriminatorMapping.cjs +2 -2
- package/src/elements/nces/DiscriminatorMapping.mjs +1 -1
- package/src/elements/nces/EncodingHeaders.cjs +2 -2
- package/src/elements/nces/EncodingHeaders.mjs +1 -1
- package/src/elements/nces/HeaderContent.cjs +2 -2
- package/src/elements/nces/HeaderContent.mjs +1 -1
- package/src/elements/nces/HeaderExamples.cjs +2 -2
- package/src/elements/nces/HeaderExamples.mjs +1 -1
- package/src/elements/nces/LinkParameters.cjs +2 -2
- package/src/elements/nces/LinkParameters.mjs +1 -1
- package/src/elements/nces/MediaTypeEncoding.cjs +2 -2
- package/src/elements/nces/MediaTypeEncoding.mjs +1 -1
- package/src/elements/nces/MediaTypeExamples.cjs +2 -2
- package/src/elements/nces/MediaTypeExamples.mjs +1 -1
- package/src/elements/nces/OAuthFlowScopes.cjs +2 -2
- package/src/elements/nces/OAuthFlowScopes.mjs +1 -1
- package/src/elements/nces/OperationCallbacks.cjs +2 -2
- package/src/elements/nces/OperationCallbacks.mjs +1 -1
- package/src/elements/nces/OperationParameters.cjs +2 -2
- package/src/elements/nces/OperationParameters.mjs +1 -1
- package/src/elements/nces/OperationSecurity.cjs +2 -2
- package/src/elements/nces/OperationSecurity.mjs +1 -1
- package/src/elements/nces/OperationServers.cjs +2 -2
- package/src/elements/nces/OperationServers.mjs +1 -1
- package/src/elements/nces/OperationTags.cjs +2 -2
- package/src/elements/nces/OperationTags.mjs +1 -1
- package/src/elements/nces/ParameterContent.cjs +2 -2
- package/src/elements/nces/ParameterContent.mjs +1 -1
- package/src/elements/nces/ParameterExamples.cjs +2 -2
- package/src/elements/nces/ParameterExamples.mjs +1 -1
- package/src/elements/nces/PathItemParameters.cjs +2 -2
- package/src/elements/nces/PathItemParameters.mjs +1 -1
- package/src/elements/nces/PathItemServers.cjs +2 -2
- package/src/elements/nces/PathItemServers.mjs +1 -1
- package/src/elements/nces/RequestBodyContent.cjs +2 -2
- package/src/elements/nces/RequestBodyContent.mjs +1 -1
- package/src/elements/nces/ResponseContent.cjs +2 -2
- package/src/elements/nces/ResponseContent.mjs +1 -1
- package/src/elements/nces/ResponseHeaders.cjs +2 -2
- package/src/elements/nces/ResponseHeaders.mjs +1 -1
- package/src/elements/nces/ResponseLinks.cjs +2 -2
- package/src/elements/nces/ResponseLinks.mjs +1 -1
- package/src/elements/nces/Security.cjs +2 -2
- package/src/elements/nces/Security.mjs +1 -1
- package/src/elements/nces/ServerVariables.cjs +2 -2
- package/src/elements/nces/ServerVariables.mjs +1 -1
- package/src/elements/nces/Servers.cjs +2 -2
- package/src/elements/nces/Servers.mjs +1 -1
- package/src/elements/nces/Tags.cjs +2 -2
- package/src/elements/nces/Tags.mjs +1 -1
- package/src/index.cjs +73 -52
- package/src/index.mjs +6 -6
- package/src/namespace.cjs +0 -1
- package/src/predicates.cjs +54 -187
- package/src/predicates.mjs +28 -187
- package/src/refractor/index.cjs +321 -17
- package/src/refractor/index.mjs +289 -16
- package/src/refractor/inspect.cjs +205 -0
- package/src/refractor/inspect.mjs +170 -0
- package/src/refractor/plugins/replace-empty-element.cjs +25 -21
- package/src/refractor/plugins/replace-empty-element.mjs +13 -9
- package/src/refractor/predicates.cjs +5 -5
- package/src/refractor/predicates.mjs +2 -2
- package/src/refractor/specification.cjs +65 -12
- package/src/refractor/specification.mjs +65 -12
- package/src/refractor/toolbox.cjs +6 -16
- package/src/refractor/toolbox.mjs +6 -15
- package/src/refractor/visitors/FallbackVisitor.cjs +4 -4
- package/src/refractor/visitors/FallbackVisitor.mjs +4 -4
- package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +4 -4
- package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +4 -4
- package/src/refractor/visitors/SpecificationVisitor.cjs +6 -3
- package/src/refractor/visitors/SpecificationVisitor.mjs +5 -2
- package/src/refractor/visitors/Visitor.cjs +10 -8
- package/src/refractor/visitors/Visitor.mjs +11 -9
- package/src/refractor/visitors/generics/AlternatingVisitor.cjs +3 -3
- package/src/refractor/visitors/generics/AlternatingVisitor.mjs +3 -3
- package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +10 -7
- package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +9 -6
- package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +13 -6
- package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +13 -6
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +9 -6
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +8 -5
- package/src/refractor/visitors/open-api-3-0/ContentVisitor.cjs +4 -7
- package/src/refractor/visitors/open-api-3-0/ContentVisitor.mjs +3 -5
- package/src/refractor/visitors/open-api-3-0/ExamplesVisitor.cjs +7 -11
- package/src/refractor/visitors/open-api-3-0/ExamplesVisitor.mjs +6 -9
- package/src/refractor/visitors/open-api-3-0/OpenapiVisitor.cjs +5 -6
- package/src/refractor/visitors/open-api-3-0/OpenapiVisitor.mjs +6 -7
- package/src/refractor/visitors/open-api-3-0/ParametersVisitor.cjs +8 -10
- package/src/refractor/visitors/open-api-3-0/ParametersVisitor.mjs +7 -8
- package/src/refractor/visitors/open-api-3-0/SecurityVisitor.cjs +8 -9
- package/src/refractor/visitors/open-api-3-0/SecurityVisitor.mjs +6 -7
- package/src/refractor/visitors/open-api-3-0/ServersVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/ServersVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/TagsVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/TagsVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/bases.cjs +72 -0
- package/src/refractor/visitors/open-api-3-0/bases.mjs +67 -0
- package/src/refractor/visitors/open-api-3-0/callback/index.cjs +5 -8
- package/src/refractor/visitors/open-api-3-0/callback/index.mjs +5 -8
- package/src/refractor/visitors/open-api-3-0/components/CallbacksVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/CallbacksVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/ExamplesVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/ExamplesVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/HeadersVisitor.cjs +6 -8
- package/src/refractor/visitors/open-api-3-0/components/HeadersVisitor.mjs +6 -8
- package/src/refractor/visitors/open-api-3-0/components/LinksVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/LinksVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/ParametersVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/ParametersVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/ResponsesVisitor.cjs +6 -8
- package/src/refractor/visitors/open-api-3-0/components/ResponsesVisitor.mjs +6 -8
- package/src/refractor/visitors/open-api-3-0/components/SchemasVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/SchemasVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/components/index.cjs +2 -4
- package/src/refractor/visitors/open-api-3-0/components/index.mjs +2 -4
- package/src/refractor/visitors/open-api-3-0/contact/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/contact/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/distriminator/MappingVisitor.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/distriminator/MappingVisitor.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/distriminator/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/distriminator/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/encoding/HeadersVisitor.cjs +7 -8
- package/src/refractor/visitors/open-api-3-0/encoding/HeadersVisitor.mjs +7 -8
- package/src/refractor/visitors/open-api-3-0/encoding/index.cjs +7 -8
- package/src/refractor/visitors/open-api-3-0/encoding/index.mjs +7 -8
- package/src/refractor/visitors/open-api-3-0/example/ExternalValueVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/example/ExternalValueVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/example/index.cjs +6 -13
- package/src/refractor/visitors/open-api-3-0/example/index.mjs +5 -11
- package/src/refractor/visitors/open-api-3-0/external-documentation/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/external-documentation/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/header/SchemaVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-3-0/header/SchemaVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-3-0/header/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/header/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/index.cjs +4 -6
- package/src/refractor/visitors/open-api-3-0/index.mjs +4 -6
- package/src/refractor/visitors/open-api-3-0/info/VersionVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/info/VersionVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/info/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/info/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/license/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/license/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/link/OperationIdVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/link/OperationIdVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/link/OperationRefVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/link/OperationRefVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/link/ParametersVisitor.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/link/ParametersVisitor.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/link/index.cjs +6 -13
- package/src/refractor/visitors/open-api-3-0/link/index.mjs +5 -11
- package/src/refractor/visitors/open-api-3-0/media-type/EncodingVisitor.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/media-type/EncodingVisitor.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/media-type/SchemaVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-3-0/media-type/SchemaVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-3-0/media-type/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/media-type/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/oauth-flow/ScopesVisitor.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/oauth-flow/ScopesVisitor.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/oauth-flow/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/oauth-flow/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/oauth-flows/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/oauth-flows/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/operation/CallbacksVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/operation/CallbacksVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/operation/RequestBodyVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-3-0/operation/RequestBodyVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-3-0/operation/SecurityVisitor.cjs +7 -8
- package/src/refractor/visitors/open-api-3-0/operation/SecurityVisitor.mjs +6 -7
- package/src/refractor/visitors/open-api-3-0/operation/TagsVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-3-0/operation/TagsVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-3-0/operation/index.cjs +2 -4
- package/src/refractor/visitors/open-api-3-0/operation/index.mjs +2 -4
- package/src/refractor/visitors/open-api-3-0/parameter/SchemaVisitor.cjs +5 -7
- package/src/refractor/visitors/open-api-3-0/parameter/SchemaVisitor.mjs +5 -7
- package/src/refractor/visitors/open-api-3-0/parameter/index.cjs +8 -9
- package/src/refractor/visitors/open-api-3-0/parameter/index.mjs +9 -10
- package/src/refractor/visitors/open-api-3-0/path-item/$RefVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/path-item/$RefVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/path-item/index.cjs +8 -10
- package/src/refractor/visitors/open-api-3-0/path-item/index.mjs +7 -9
- package/src/refractor/visitors/open-api-3-0/paths/index.cjs +6 -9
- package/src/refractor/visitors/open-api-3-0/paths/index.mjs +6 -9
- package/src/refractor/visitors/open-api-3-0/reference/$RefVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/reference/$RefVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/reference/index.cjs +6 -9
- package/src/refractor/visitors/open-api-3-0/reference/index.mjs +5 -8
- package/src/refractor/visitors/open-api-3-0/request-body/index.cjs +8 -9
- package/src/refractor/visitors/open-api-3-0/request-body/index.mjs +9 -10
- package/src/refractor/visitors/open-api-3-0/response/HeadersVisitor.cjs +7 -9
- package/src/refractor/visitors/open-api-3-0/response/HeadersVisitor.mjs +7 -9
- package/src/refractor/visitors/open-api-3-0/response/LinksVisitor.cjs +5 -8
- package/src/refractor/visitors/open-api-3-0/response/LinksVisitor.mjs +5 -8
- package/src/refractor/visitors/open-api-3-0/response/index.cjs +10 -12
- package/src/refractor/visitors/open-api-3-0/response/index.mjs +10 -12
- package/src/refractor/visitors/open-api-3-0/responses/DefaultVisitor.cjs +6 -8
- package/src/refractor/visitors/open-api-3-0/responses/DefaultVisitor.mjs +6 -8
- package/src/refractor/visitors/open-api-3-0/responses/index.cjs +8 -10
- package/src/refractor/visitors/open-api-3-0/responses/index.mjs +8 -10
- package/src/refractor/visitors/open-api-3-0/schema/AllOfVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/AllOfVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/AnyOfVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/AnyOfVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/ItemsVisitor.cjs +8 -14
- package/src/refractor/visitors/open-api-3-0/schema/ItemsVisitor.mjs +7 -12
- package/src/refractor/visitors/open-api-3-0/schema/OneOfVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/OneOfVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/PropertiesVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/PropertiesVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-3-0/schema/SchemaOrReferenceVisitor.cjs +3 -5
- package/src/refractor/visitors/open-api-3-0/schema/SchemaOrReferenceVisitor.mjs +3 -5
- package/src/refractor/visitors/open-api-3-0/schema/TypeVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/schema/TypeVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/schema/index.cjs +2 -4
- package/src/refractor/visitors/open-api-3-0/schema/index.mjs +2 -4
- package/src/refractor/visitors/open-api-3-0/security-requirement/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/security-requirement/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/security-scheme/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/security-scheme/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/server/UrlVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-3-0/server/UrlVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-3-0/server/VariablesVisitor.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/server/VariablesVisitor.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/server/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/server/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/server-variable/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/server-variable/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/tag/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/tag/index.mjs +2 -7
- package/src/refractor/visitors/open-api-3-0/xml/index.cjs +2 -8
- package/src/refractor/visitors/open-api-3-0/xml/index.mjs +2 -7
- package/types/apidom-ns-openapi-3-0.d.ts +679 -926
- package/src/refractor/registration.cjs +0 -99
- package/src/refractor/registration.mjs +0 -64
- package/src/traversal/visitor.cjs +0 -57
- package/src/traversal/visitor.mjs +0 -54
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { resolveSpecification } from '@speclynx/apidom-core';
|
|
2
|
+
import { isPlainObject } from 'ramda-adjunct';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* OpenAPI 3.0 specification elements.
|
|
6
|
+
*/
|
|
7
|
+
import CallbackElement from "../elements/Callback.mjs";
|
|
8
|
+
import ComponentsElement from "../elements/Components.mjs";
|
|
9
|
+
import ContactElement from "../elements/Contact.mjs";
|
|
10
|
+
import DiscriminatorElement from "../elements/Discriminator.mjs";
|
|
11
|
+
import EncodingElement from "../elements/Encoding.mjs";
|
|
12
|
+
import ExampleElement from "../elements/Example.mjs";
|
|
13
|
+
import ExternalDocumentationElement from "../elements/ExternalDocumentation.mjs";
|
|
14
|
+
import HeaderElement from "../elements/Header.mjs";
|
|
15
|
+
import InfoElement from "../elements/Info.mjs";
|
|
16
|
+
import LicenseElement from "../elements/License.mjs";
|
|
17
|
+
import LinkElement from "../elements/Link.mjs";
|
|
18
|
+
import MediaTypeElement from "../elements/MediaType.mjs";
|
|
19
|
+
import OAuthFlowElement from "../elements/OAuthFlow.mjs";
|
|
20
|
+
import OAuthFlowsElement from "../elements/OAuthFlows.mjs";
|
|
21
|
+
import OpenapiElement from "../elements/Openapi.mjs";
|
|
22
|
+
import OpenApi3_0Element from "../elements/OpenApi3-0.mjs";
|
|
23
|
+
import OperationElement from "../elements/Operation.mjs";
|
|
24
|
+
import ParameterElement from "../elements/Parameter.mjs";
|
|
25
|
+
import PathItemElement from "../elements/PathItem.mjs";
|
|
26
|
+
import PathsElement from "../elements/Paths.mjs";
|
|
27
|
+
import ReferenceElement from "../elements/Reference.mjs";
|
|
28
|
+
import RequestBodyElement from "../elements/RequestBody.mjs";
|
|
29
|
+
import ResponseElement from "../elements/Response.mjs";
|
|
30
|
+
import ResponsesElement from "../elements/Responses.mjs";
|
|
31
|
+
import SchemaElement from "../elements/Schema.mjs";
|
|
32
|
+
import SecurityRequirementElement from "../elements/SecurityRequirement.mjs";
|
|
33
|
+
import SecuritySchemeElement from "../elements/SecurityScheme.mjs";
|
|
34
|
+
import ServerElement from "../elements/Server.mjs";
|
|
35
|
+
import ServerVariableElement from "../elements/ServerVariable.mjs";
|
|
36
|
+
import TagElement from "../elements/Tag.mjs";
|
|
37
|
+
import XmlElement from "../elements/Xml.mjs";
|
|
38
|
+
import specification from "./specification.mjs";
|
|
39
|
+
/**
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
// Resolve specification to dereference $ref pointers
|
|
43
|
+
const resolvedSpec = resolveSpecification(specification);
|
|
44
|
+
|
|
45
|
+
// Extract fixed fields as list of { name, alias?, $visitor }
|
|
46
|
+
const getFixedFields = fixedFieldsSpec => {
|
|
47
|
+
return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
|
|
48
|
+
if (isPlainObject(fieldSpec)) {
|
|
49
|
+
return {
|
|
50
|
+
name,
|
|
51
|
+
...fieldSpec
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
name,
|
|
56
|
+
$visitor: fieldSpec
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// OpenAPI 3.0 specification elements
|
|
62
|
+
Object.defineProperty(OpenApi3_0Element, 'fixedFields', {
|
|
63
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OpenApi.fixedFields),
|
|
64
|
+
enumerable: true
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(InfoElement, 'fixedFields', {
|
|
67
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
|
|
68
|
+
enumerable: true
|
|
69
|
+
});
|
|
70
|
+
Object.defineProperty(ContactElement, 'fixedFields', {
|
|
71
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
|
|
72
|
+
enumerable: true
|
|
73
|
+
});
|
|
74
|
+
Object.defineProperty(LicenseElement, 'fixedFields', {
|
|
75
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
|
|
76
|
+
enumerable: true
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(ServerElement, 'fixedFields', {
|
|
79
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Server.fixedFields),
|
|
80
|
+
enumerable: true
|
|
81
|
+
});
|
|
82
|
+
Object.defineProperty(ServerVariableElement, 'fixedFields', {
|
|
83
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ServerVariable.fixedFields),
|
|
84
|
+
enumerable: true
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(ComponentsElement, 'fixedFields', {
|
|
87
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Components.fixedFields),
|
|
88
|
+
enumerable: true
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(PathItemElement, 'fixedFields', {
|
|
91
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
|
|
92
|
+
enumerable: true
|
|
93
|
+
});
|
|
94
|
+
Object.defineProperty(OperationElement, 'fixedFields', {
|
|
95
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
|
|
96
|
+
enumerable: true
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(ExternalDocumentationElement, 'fixedFields', {
|
|
99
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
|
|
100
|
+
enumerable: true
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(ParameterElement, 'fixedFields', {
|
|
103
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
|
|
104
|
+
enumerable: true
|
|
105
|
+
});
|
|
106
|
+
Object.defineProperty(RequestBodyElement, 'fixedFields', {
|
|
107
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.RequestBody.fixedFields),
|
|
108
|
+
enumerable: true
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(MediaTypeElement, 'fixedFields', {
|
|
111
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.MediaType.fixedFields),
|
|
112
|
+
enumerable: true
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(EncodingElement, 'fixedFields', {
|
|
115
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Encoding.fixedFields),
|
|
116
|
+
enumerable: true
|
|
117
|
+
});
|
|
118
|
+
Object.defineProperty(ResponsesElement, 'fixedFields', {
|
|
119
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
|
|
120
|
+
enumerable: true
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(ResponseElement, 'fixedFields', {
|
|
123
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
|
|
124
|
+
enumerable: true
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(ExampleElement, 'fixedFields', {
|
|
127
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Example.fixedFields),
|
|
128
|
+
enumerable: true
|
|
129
|
+
});
|
|
130
|
+
Object.defineProperty(LinkElement, 'fixedFields', {
|
|
131
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Link.fixedFields),
|
|
132
|
+
enumerable: true
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(HeaderElement, 'fixedFields', {
|
|
135
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
|
|
136
|
+
enumerable: true
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(TagElement, 'fixedFields', {
|
|
139
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
|
|
140
|
+
enumerable: true
|
|
141
|
+
});
|
|
142
|
+
Object.defineProperty(ReferenceElement, 'fixedFields', {
|
|
143
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
|
|
144
|
+
enumerable: true
|
|
145
|
+
});
|
|
146
|
+
Object.defineProperty(SchemaElement, 'fixedFields', {
|
|
147
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
|
|
148
|
+
enumerable: true
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(DiscriminatorElement, 'fixedFields', {
|
|
151
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Discriminator.fixedFields),
|
|
152
|
+
enumerable: true
|
|
153
|
+
});
|
|
154
|
+
Object.defineProperty(XmlElement, 'fixedFields', {
|
|
155
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
|
|
156
|
+
enumerable: true
|
|
157
|
+
});
|
|
158
|
+
Object.defineProperty(SecuritySchemeElement, 'fixedFields', {
|
|
159
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
|
|
160
|
+
enumerable: true
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(OAuthFlowsElement, 'fixedFields', {
|
|
163
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlows.fixedFields),
|
|
164
|
+
enumerable: true
|
|
165
|
+
});
|
|
166
|
+
Object.defineProperty(OAuthFlowElement, 'fixedFields', {
|
|
167
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlow.fixedFields),
|
|
168
|
+
enumerable: true
|
|
169
|
+
});
|
|
170
|
+
export { CallbackElement, ComponentsElement, ContactElement, DiscriminatorElement, EncodingElement, ExampleElement, ExternalDocumentationElement, HeaderElement, InfoElement, LicenseElement, LinkElement, MediaTypeElement, OAuthFlowElement, OAuthFlowsElement, OpenapiElement, OpenApi3_0Element, OperationElement, ParameterElement, PathItemElement, PathsElement, ReferenceElement, RequestBodyElement, ResponseElement, ResponsesElement, SchemaElement, SecurityRequirementElement, SecuritySchemeElement, ServerElement, ServerVariableElement, TagElement, XmlElement };
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
7
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
8
|
+
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
7
9
|
var _Info = _interopRequireDefault(require("../../elements/Info.cjs"));
|
|
8
10
|
var _Contact = _interopRequireDefault(require("../../elements/Contact.cjs"));
|
|
9
11
|
var _License = _interopRequireDefault(require("../../elements/License.cjs"));
|
|
@@ -66,7 +68,6 @@ var _OAuthFlowScopes = _interopRequireDefault(require("../../elements/nces/OAuth
|
|
|
66
68
|
var _LinkParameters = _interopRequireDefault(require("../../elements/nces/LinkParameters.cjs"));
|
|
67
69
|
var _HeaderExamples = _interopRequireDefault(require("../../elements/nces/HeaderExamples.cjs"));
|
|
68
70
|
var _HeaderContent = _interopRequireDefault(require("../../elements/nces/HeaderContent.cjs"));
|
|
69
|
-
var _visitor = require("../../traversal/visitor.cjs");
|
|
70
71
|
/**
|
|
71
72
|
* OpenAPI 3.0.x specification elements.
|
|
72
73
|
*/
|
|
@@ -107,7 +108,7 @@ var _visitor = require("../../traversal/visitor.cjs");
|
|
|
107
108
|
* (InfoElement))
|
|
108
109
|
*/
|
|
109
110
|
|
|
110
|
-
const isEmptyElement = element => (0,
|
|
111
|
+
const isEmptyElement = element => (0, _apidomDatamodel.isStringElement)(element) && (0, _apidomDatamodel.includesClasses)(element, ['yaml-e-node', 'yaml-e-scalar']);
|
|
111
112
|
const schema = {
|
|
112
113
|
// concrete types handling (CTs)
|
|
113
114
|
OpenApi3_0Element: {
|
|
@@ -148,7 +149,7 @@ const schema = {
|
|
|
148
149
|
},
|
|
149
150
|
ServerVariableElement: {
|
|
150
151
|
enum(...args) {
|
|
151
|
-
return new
|
|
152
|
+
return new _apidomDatamodel.ArrayElement(...args);
|
|
152
153
|
}
|
|
153
154
|
},
|
|
154
155
|
PathsElement: {
|
|
@@ -317,7 +318,7 @@ const schema = {
|
|
|
317
318
|
},
|
|
318
319
|
SecurityRequirementElement: {
|
|
319
320
|
'[key: *]': function key(...args) {
|
|
320
|
-
return new
|
|
321
|
+
return new _apidomDatamodel.ArrayElement(...args);
|
|
321
322
|
}
|
|
322
323
|
},
|
|
323
324
|
TagElement: {
|
|
@@ -327,22 +328,22 @@ const schema = {
|
|
|
327
328
|
},
|
|
328
329
|
SchemaElement: {
|
|
329
330
|
definitions(...args) {
|
|
330
|
-
const element = new
|
|
331
|
+
const element = new _apidomDatamodel.ObjectElement(...args);
|
|
331
332
|
element.classes.push('json-schema-definitions');
|
|
332
333
|
return element;
|
|
333
334
|
},
|
|
334
335
|
allOf(...args) {
|
|
335
|
-
const element = new
|
|
336
|
+
const element = new _apidomDatamodel.ArrayElement(...args);
|
|
336
337
|
element.classes.push('json-schema-allOf');
|
|
337
338
|
return element;
|
|
338
339
|
},
|
|
339
340
|
anyOf(...args) {
|
|
340
|
-
const element = new
|
|
341
|
+
const element = new _apidomDatamodel.ArrayElement(...args);
|
|
341
342
|
element.classes.push('json-schema-anyOf');
|
|
342
343
|
return element;
|
|
343
344
|
},
|
|
344
345
|
oneOf(...args) {
|
|
345
|
-
const element = new
|
|
346
|
+
const element = new _apidomDatamodel.ArrayElement(...args);
|
|
346
347
|
element.classes.push('json-schema-oneOf');
|
|
347
348
|
return element;
|
|
348
349
|
},
|
|
@@ -353,12 +354,12 @@ const schema = {
|
|
|
353
354
|
return new _Schema.default(...args);
|
|
354
355
|
},
|
|
355
356
|
properties(...args) {
|
|
356
|
-
const element = new
|
|
357
|
+
const element = new _apidomDatamodel.ObjectElement(...args);
|
|
357
358
|
element.classes.push('json-schema-properties');
|
|
358
359
|
return element;
|
|
359
360
|
},
|
|
360
361
|
patternProperties(...args) {
|
|
361
|
-
const element = new
|
|
362
|
+
const element = new _apidomDatamodel.ObjectElement(...args);
|
|
362
363
|
element.classes.push('json-schema-patternProperties');
|
|
363
364
|
return element;
|
|
364
365
|
},
|
|
@@ -366,12 +367,12 @@ const schema = {
|
|
|
366
367
|
return new _Schema.default(...args);
|
|
367
368
|
},
|
|
368
369
|
enum(...args) {
|
|
369
|
-
const element = new
|
|
370
|
+
const element = new _apidomDatamodel.ArrayElement(...args);
|
|
370
371
|
element.classes.push('json-schema-enum');
|
|
371
372
|
return element;
|
|
372
373
|
},
|
|
373
374
|
required(...args) {
|
|
374
|
-
const element = new
|
|
375
|
+
const element = new _apidomDatamodel.ArrayElement(...args);
|
|
375
376
|
element.classes.push('json-schema-required');
|
|
376
377
|
return element;
|
|
377
378
|
},
|
|
@@ -592,7 +593,7 @@ const schema = {
|
|
|
592
593
|
}
|
|
593
594
|
};
|
|
594
595
|
const findElementFactory = (ancestor, keyName) => {
|
|
595
|
-
const elementType = (0,
|
|
596
|
+
const elementType = (0, _apidomTraverse.getNodeType)(ancestor);
|
|
596
597
|
const keyMapping = schema[elementType] || schema[(0, _apidomCore.toValue)(ancestor.classes.first)];
|
|
597
598
|
return typeof keyMapping === 'undefined' ? undefined : Object.hasOwn(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
|
|
598
599
|
};
|
|
@@ -602,25 +603,28 @@ const findElementFactory = (ancestor, keyName) => {
|
|
|
602
603
|
*/
|
|
603
604
|
const plugin = () => () => ({
|
|
604
605
|
visitor: {
|
|
605
|
-
StringElement(
|
|
606
|
-
|
|
607
|
-
|
|
606
|
+
StringElement(path) {
|
|
607
|
+
const element = path.node;
|
|
608
|
+
if (!isEmptyElement(element)) return;
|
|
609
|
+
const lineage = path.getAncestorNodes().reverse(); // root to parent
|
|
608
610
|
const parentElement = lineage.at(-1);
|
|
609
611
|
let elementFactory;
|
|
610
612
|
let context;
|
|
611
|
-
if ((0,
|
|
613
|
+
if ((0, _apidomDatamodel.isArrayElement)(parentElement)) {
|
|
612
614
|
context = element;
|
|
613
615
|
elementFactory = findElementFactory(parentElement, '<*>');
|
|
614
|
-
} else if ((0,
|
|
616
|
+
} else if ((0, _apidomDatamodel.isMemberElement)(parentElement)) {
|
|
615
617
|
context = lineage.at(-2);
|
|
616
618
|
elementFactory = findElementFactory(context, (0, _apidomCore.toValue)(parentElement.key));
|
|
617
619
|
}
|
|
618
620
|
|
|
619
621
|
// no element factory found
|
|
620
|
-
if (typeof elementFactory !== 'function') return
|
|
621
|
-
|
|
622
|
+
if (typeof elementFactory !== 'function') return;
|
|
623
|
+
const newElement = elementFactory.call({
|
|
622
624
|
context
|
|
623
|
-
}, undefined, (0,
|
|
625
|
+
}, undefined, (0, _apidomDatamodel.cloneDeep)(element.meta), (0, _apidomDatamodel.cloneDeep)(element.attributes));
|
|
626
|
+
_apidomDatamodel.SourceMapElement.transfer(element, newElement);
|
|
627
|
+
path.replaceWith(newElement);
|
|
624
628
|
}
|
|
625
629
|
}
|
|
626
630
|
});
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { ArrayElement, ObjectElement, isStringElement, isArrayElement,
|
|
1
|
+
import { ArrayElement, ObjectElement, isStringElement, isArrayElement, isMemberElement, includesClasses, cloneDeep, SourceMapElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
3
|
+
import { getNodeType } from '@speclynx/apidom-traverse';
|
|
2
4
|
|
|
3
5
|
/**
|
|
4
6
|
* OpenAPI 3.0.x specification elements.
|
|
@@ -65,7 +67,6 @@ import OAuthFlowScopesElement from "../../elements/nces/OAuthFlowScopes.mjs";
|
|
|
65
67
|
import LinkParametersElement from "../../elements/nces/LinkParameters.mjs";
|
|
66
68
|
import HeaderExamplesElement from "../../elements/nces/HeaderExamples.mjs";
|
|
67
69
|
import HeaderContentElement from "../../elements/nces/HeaderContent.mjs";
|
|
68
|
-
import { getNodeType } from "../../traversal/visitor.mjs";
|
|
69
70
|
/**
|
|
70
71
|
* This plugin is specific to YAML 1.2 format, which allows defining key-value pairs
|
|
71
72
|
* with empty key, empty value, or both. If the value is not provided in YAML format,
|
|
@@ -99,7 +100,7 @@ import { getNodeType } from "../../traversal/visitor.mjs";
|
|
|
99
100
|
* (StringElement)
|
|
100
101
|
* (InfoElement))
|
|
101
102
|
*/
|
|
102
|
-
const isEmptyElement = element => isStringElement(element) && includesClasses(['yaml-e-node', 'yaml-e-scalar']
|
|
103
|
+
const isEmptyElement = element => isStringElement(element) && includesClasses(element, ['yaml-e-node', 'yaml-e-scalar']);
|
|
103
104
|
const schema = {
|
|
104
105
|
// concrete types handling (CTs)
|
|
105
106
|
OpenApi3_0Element: {
|
|
@@ -584,7 +585,7 @@ const schema = {
|
|
|
584
585
|
}
|
|
585
586
|
};
|
|
586
587
|
const findElementFactory = (ancestor, keyName) => {
|
|
587
|
-
const elementType = getNodeType(ancestor);
|
|
588
|
+
const elementType = getNodeType(ancestor);
|
|
588
589
|
const keyMapping = schema[elementType] || schema[toValue(ancestor.classes.first)];
|
|
589
590
|
return typeof keyMapping === 'undefined' ? undefined : Object.hasOwn(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
|
|
590
591
|
};
|
|
@@ -594,9 +595,10 @@ const findElementFactory = (ancestor, keyName) => {
|
|
|
594
595
|
*/
|
|
595
596
|
const plugin = () => () => ({
|
|
596
597
|
visitor: {
|
|
597
|
-
StringElement(
|
|
598
|
-
|
|
599
|
-
|
|
598
|
+
StringElement(path) {
|
|
599
|
+
const element = path.node;
|
|
600
|
+
if (!isEmptyElement(element)) return;
|
|
601
|
+
const lineage = path.getAncestorNodes().reverse(); // root to parent
|
|
600
602
|
const parentElement = lineage.at(-1);
|
|
601
603
|
let elementFactory;
|
|
602
604
|
let context;
|
|
@@ -609,10 +611,12 @@ const plugin = () => () => ({
|
|
|
609
611
|
}
|
|
610
612
|
|
|
611
613
|
// no element factory found
|
|
612
|
-
if (typeof elementFactory !== 'function') return
|
|
613
|
-
|
|
614
|
+
if (typeof elementFactory !== 'function') return;
|
|
615
|
+
const newElement = elementFactory.call({
|
|
614
616
|
context
|
|
615
617
|
}, undefined, cloneDeep(element.meta), cloneDeep(element.attributes));
|
|
618
|
+
SourceMapElement.transfer(element, newElement);
|
|
619
|
+
path.replaceWith(newElement);
|
|
616
620
|
}
|
|
617
621
|
}
|
|
618
622
|
});
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.isTagLikeElement = exports.isServerLikeElement = exports.isReferenceLikeElement = exports.isOpenApiExtension = void 0;
|
|
5
5
|
var _ramda = require("ramda");
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
7
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
7
8
|
/**
|
|
8
9
|
* @public
|
|
@@ -12,25 +13,24 @@ var _apidomCore = require("@speclynx/apidom-core");
|
|
|
12
13
|
* @public
|
|
13
14
|
*/
|
|
14
15
|
const isReferenceLikeElement = element => {
|
|
15
|
-
return (0,
|
|
16
|
+
return (0, _apidomDatamodel.isObjectElement)(element) && element.hasKey('$ref');
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* @public
|
|
20
21
|
*/
|
|
21
22
|
exports.isReferenceLikeElement = isReferenceLikeElement;
|
|
22
|
-
const isServerLikeElement = exports.isServerLikeElement =
|
|
23
|
+
const isServerLikeElement = exports.isServerLikeElement = _apidomDatamodel.isObjectElement;
|
|
23
24
|
|
|
24
25
|
/**
|
|
25
26
|
* @public
|
|
26
27
|
*/
|
|
27
|
-
const isTagLikeElement = exports.isTagLikeElement =
|
|
28
|
+
const isTagLikeElement = exports.isTagLikeElement = _apidomDatamodel.isObjectElement;
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* @public
|
|
31
32
|
*/
|
|
32
33
|
const isOpenApiExtension = element => {
|
|
33
|
-
|
|
34
|
-
return (0, _apidomCore.isStringElement)(element.key) && (0, _ramda.startsWith)('x-', (0, _apidomCore.toValue)(element.key));
|
|
34
|
+
return (0, _apidomDatamodel.isStringElement)(element.key) && (0, _ramda.startsWith)('x-', (0, _apidomCore.toValue)(element.key));
|
|
35
35
|
};
|
|
36
36
|
exports.isOpenApiExtension = isOpenApiExtension;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { startsWith } from 'ramda';
|
|
2
|
-
import { isStringElement, isObjectElement
|
|
2
|
+
import { isStringElement, isObjectElement } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* @public
|
|
@@ -26,6 +27,5 @@ export const isTagLikeElement = isObjectElement;
|
|
|
26
27
|
* @public
|
|
27
28
|
*/
|
|
28
29
|
export const isOpenApiExtension = element => {
|
|
29
|
-
// @ts-ignore
|
|
30
30
|
return isStringElement(element.key) && startsWith('x-', toValue(element.key));
|
|
31
31
|
};
|