@speclynx/apidom-ns-openapi-3-0 1.12.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/NOTICE +16 -7
- package/README.md +22 -26
- package/dist/apidom-ns-openapi-3-0.browser.js +9652 -13646
- 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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
7
|
var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
|
|
8
8
|
/**
|
|
9
9
|
* This visitor is responsible for falling back to current traversed element
|
|
@@ -16,9 +16,9 @@ var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
|
|
|
16
16
|
* @public
|
|
17
17
|
*/
|
|
18
18
|
class FallbackVisitor extends _Visitor.default {
|
|
19
|
-
enter(
|
|
20
|
-
this.element = (0,
|
|
21
|
-
|
|
19
|
+
enter(path) {
|
|
20
|
+
this.element = (0, _apidomDatamodel.cloneDeep)(path.node);
|
|
21
|
+
path.stop();
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
var _default = exports.default = FallbackVisitor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import Visitor from "./Visitor.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* This visitor is responsible for falling back to current traversed element
|
|
@@ -10,9 +10,9 @@ import Visitor from "./Visitor.mjs";
|
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
12
|
class FallbackVisitor extends Visitor {
|
|
13
|
-
enter(
|
|
14
|
-
this.element = cloneDeep(
|
|
15
|
-
|
|
13
|
+
enter(path) {
|
|
14
|
+
this.element = cloneDeep(path.node);
|
|
15
|
+
path.stop();
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
export default FallbackVisitor;
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
7
|
var _SpecificationVisitor = _interopRequireDefault(require("./SpecificationVisitor.cjs"));
|
|
8
8
|
/**
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
11
|
class SpecificationExtensionVisitor extends _SpecificationVisitor.default {
|
|
12
|
-
MemberElement(
|
|
13
|
-
this.element = (0,
|
|
12
|
+
MemberElement(path) {
|
|
13
|
+
this.element = (0, _apidomDatamodel.cloneDeep)(path.node);
|
|
14
14
|
this.element.classes.push('specification-extension');
|
|
15
|
-
|
|
15
|
+
path.stop();
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
var _default = exports.default = SpecificationExtensionVisitor;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import SpecificationVisitor from "./SpecificationVisitor.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
6
|
class SpecificationExtensionVisitor extends SpecificationVisitor {
|
|
7
|
-
MemberElement(
|
|
8
|
-
this.element = cloneDeep(
|
|
7
|
+
MemberElement(path) {
|
|
8
|
+
this.element = cloneDeep(path.node);
|
|
9
9
|
this.element.classes.push('specification-extension');
|
|
10
|
-
|
|
10
|
+
path.stop();
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
export default SpecificationExtensionVisitor;
|
|
@@ -5,7 +5,8 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _ramda = require("ramda");
|
|
7
7
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
-
var
|
|
8
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
9
|
+
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
9
10
|
var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
|
|
10
11
|
var _FallbackVisitor = _interopRequireDefault(require("./FallbackVisitor.cjs"));
|
|
11
12
|
/**
|
|
@@ -75,9 +76,11 @@ class SpecificationVisitor extends _Visitor.default {
|
|
|
75
76
|
*/
|
|
76
77
|
const visitor = this.retrieveVisitorInstance(specPath, options);
|
|
77
78
|
if (visitor instanceof _FallbackVisitor.default && visitor?.constructor === _FallbackVisitor.default) {
|
|
78
|
-
return (0,
|
|
79
|
+
return (0, _apidomDatamodel.cloneDeep)(element);
|
|
79
80
|
}
|
|
80
|
-
(0,
|
|
81
|
+
(0, _apidomTraverse.traverse)(element, visitor, {
|
|
82
|
+
nodeTypeGetter: _apidomTraverse.getNodePrimitiveType
|
|
83
|
+
});
|
|
81
84
|
return visitor.element;
|
|
82
85
|
}
|
|
83
86
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { pathSatisfies, path, pick } from 'ramda';
|
|
2
2
|
import { isFunction } from 'ramda-adjunct';
|
|
3
|
-
import {
|
|
3
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
4
|
+
import { traverse, getNodePrimitiveType } from '@speclynx/apidom-traverse';
|
|
4
5
|
import Visitor from "./Visitor.mjs";
|
|
5
6
|
import FallbackVisitor from "./FallbackVisitor.mjs";
|
|
6
7
|
/**
|
|
@@ -71,7 +72,9 @@ class SpecificationVisitor extends Visitor {
|
|
|
71
72
|
if (visitor instanceof FallbackVisitor && visitor?.constructor === FallbackVisitor) {
|
|
72
73
|
return cloneDeep(element);
|
|
73
74
|
}
|
|
74
|
-
|
|
75
|
+
traverse(element, visitor, {
|
|
76
|
+
nodeTypeGetter: getNodePrimitiveType
|
|
77
|
+
});
|
|
75
78
|
return visitor.element;
|
|
76
79
|
}
|
|
77
80
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
7
|
/**
|
|
7
8
|
* @public
|
|
8
9
|
*/
|
|
@@ -16,16 +17,17 @@ class Visitor {
|
|
|
16
17
|
Object.assign(this, options);
|
|
17
18
|
}
|
|
18
19
|
copyMetaAndAttributes(from, to) {
|
|
19
|
-
if (from.
|
|
20
|
-
to.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
to.meta.set('sourceMap', from.meta.get('sourceMap'));
|
|
24
|
-
}
|
|
20
|
+
if (!from.isMetaEmpty || !to.isMetaEmpty) {
|
|
21
|
+
const target = to.isMetaEmpty ? new _apidomDatamodel.ObjectElement() : to.meta;
|
|
22
|
+
const source = from.isMetaEmpty ? new _apidomDatamodel.ObjectElement() : from.meta;
|
|
23
|
+
to.meta = (0, _apidomCore.deepmerge)(target, source);
|
|
25
24
|
}
|
|
26
|
-
if (from.
|
|
27
|
-
to.
|
|
25
|
+
if (!from.isAttributesEmpty || !to.isAttributesEmpty) {
|
|
26
|
+
const target = to.isAttributesEmpty ? new _apidomDatamodel.ObjectElement() : to.attributes;
|
|
27
|
+
const source = from.isAttributesEmpty ? new _apidomDatamodel.ObjectElement() : from.attributes;
|
|
28
|
+
to.attributes = (0, _apidomCore.deepmerge)(target, source);
|
|
28
29
|
}
|
|
30
|
+
_apidomDatamodel.SourceMapElement.transfer(from, to);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
var _default = exports.default = Visitor;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { deepmerge
|
|
1
|
+
import { deepmerge } from '@speclynx/apidom-core';
|
|
2
|
+
import { ObjectElement, SourceMapElement } from '@speclynx/apidom-datamodel';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @public
|
|
@@ -13,16 +14,17 @@ class Visitor {
|
|
|
13
14
|
Object.assign(this, options);
|
|
14
15
|
}
|
|
15
16
|
copyMetaAndAttributes(from, to) {
|
|
16
|
-
if (from.
|
|
17
|
-
to.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
to.meta.set('sourceMap', from.meta.get('sourceMap'));
|
|
21
|
-
}
|
|
17
|
+
if (!from.isMetaEmpty || !to.isMetaEmpty) {
|
|
18
|
+
const target = to.isMetaEmpty ? new ObjectElement() : to.meta;
|
|
19
|
+
const source = from.isMetaEmpty ? new ObjectElement() : from.meta;
|
|
20
|
+
to.meta = deepmerge(target, source);
|
|
22
21
|
}
|
|
23
|
-
if (from.
|
|
24
|
-
to.
|
|
22
|
+
if (!from.isAttributesEmpty || !to.isAttributesEmpty) {
|
|
23
|
+
const target = to.isAttributesEmpty ? new ObjectElement() : to.attributes;
|
|
24
|
+
const source = from.isAttributesEmpty ? new ObjectElement() : from.attributes;
|
|
25
|
+
to.attributes = deepmerge(target, source);
|
|
25
26
|
}
|
|
27
|
+
SourceMapElement.transfer(from, to);
|
|
26
28
|
}
|
|
27
29
|
}
|
|
28
30
|
export default Visitor;
|
|
@@ -5,7 +5,6 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _ramda = require("ramda");
|
|
7
7
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
-
var _apidomCore = require("@speclynx/apidom-core");
|
|
9
8
|
var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
|
|
10
9
|
/**
|
|
11
10
|
* @public
|
|
@@ -29,14 +28,15 @@ class AlternatingVisitor extends _SpecificationVisitor.default {
|
|
|
29
28
|
});
|
|
30
29
|
this.alternator = alternator || [];
|
|
31
30
|
}
|
|
32
|
-
enter(
|
|
31
|
+
enter(path) {
|
|
32
|
+
const element = path.node;
|
|
33
33
|
const functions = this.alternator.map(({
|
|
34
34
|
predicate,
|
|
35
35
|
specPath
|
|
36
36
|
}) => (0, _ramda.ifElse)(predicate, (0, _ramda.always)(specPath), _ramdaAdjunct.stubUndefined));
|
|
37
37
|
const specPath = (0, _ramdaAdjunct.dispatch)(functions)(element);
|
|
38
38
|
this.element = this.toRefractedElement(specPath, element);
|
|
39
|
-
|
|
39
|
+
path.stop();
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
var _default = exports.default = AlternatingVisitor;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ifElse, always } from 'ramda';
|
|
2
2
|
import { dispatch, stubUndefined } from 'ramda-adjunct';
|
|
3
|
-
import { BREAK } from '@speclynx/apidom-core';
|
|
4
3
|
import SpecificationVisitor from "../SpecificationVisitor.mjs";
|
|
5
4
|
/**
|
|
6
5
|
* @public
|
|
@@ -22,14 +21,15 @@ class AlternatingVisitor extends SpecificationVisitor {
|
|
|
22
21
|
});
|
|
23
22
|
this.alternator = alternator || [];
|
|
24
23
|
}
|
|
25
|
-
enter(
|
|
24
|
+
enter(path) {
|
|
25
|
+
const element = path.node;
|
|
26
26
|
const functions = this.alternator.map(({
|
|
27
27
|
predicate,
|
|
28
28
|
specPath
|
|
29
29
|
}) => ifElse(predicate, always(specPath), stubUndefined));
|
|
30
30
|
const specPath = dispatch(functions)(element);
|
|
31
31
|
this.element = this.toRefractedElement(specPath, element);
|
|
32
|
-
|
|
32
|
+
path.stop();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
export default AlternatingVisitor;
|
|
@@ -3,6 +3,7 @@
|
|
|
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");
|
|
7
8
|
var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
|
|
8
9
|
var _predicates = require("../../predicates.cjs");
|
|
@@ -41,27 +42,29 @@ class FixedFieldsVisitor extends _SpecificationVisitor.default {
|
|
|
41
42
|
this.specificationExtensionPredicate = specificationExtensionPredicate;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
ObjectElement(
|
|
45
|
+
ObjectElement(path) {
|
|
46
|
+
const objectElement = path.node;
|
|
45
47
|
const specPath = this.specPath(objectElement);
|
|
46
48
|
const fields = this.retrieveFixedFields(specPath);
|
|
47
49
|
|
|
48
50
|
// @ts-ignore
|
|
49
51
|
objectElement.forEach((value, key, memberElement) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
52
|
+
const keyValue = (0, _apidomCore.toValue)(key);
|
|
53
|
+
if ((0, _apidomDatamodel.isStringElement)(key) && fields.includes(keyValue) && !this.ignoredFields.includes(keyValue)) {
|
|
54
|
+
const fixedFieldElement = this.toRefractedElement([...specPath, 'fixedFields', keyValue], value);
|
|
55
|
+
const newMemberElement = new _apidomDatamodel.MemberElement((0, _apidomDatamodel.cloneDeep)(key), fixedFieldElement);
|
|
53
56
|
this.copyMetaAndAttributes(memberElement, newMemberElement);
|
|
54
57
|
newMemberElement.classes.push('fixed-field');
|
|
55
58
|
this.element.content.push(newMemberElement);
|
|
56
59
|
} else if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
|
|
57
60
|
const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
|
|
58
61
|
this.element.content.push(extensionElement);
|
|
59
|
-
} else if (!this.ignoredFields.includes(
|
|
60
|
-
this.element.content.push((0,
|
|
62
|
+
} else if (!this.ignoredFields.includes(keyValue)) {
|
|
63
|
+
this.element.content.push((0, _apidomDatamodel.cloneDeep)(memberElement));
|
|
61
64
|
}
|
|
62
65
|
});
|
|
63
66
|
this.copyMetaAndAttributes(objectElement, this.element);
|
|
64
|
-
|
|
67
|
+
path.stop();
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
70
|
var _default = exports.default = FixedFieldsVisitor;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { isStringElement, MemberElement,
|
|
1
|
+
import { isStringElement, MemberElement, cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
2
3
|
import SpecificationVisitor from "../SpecificationVisitor.mjs";
|
|
3
4
|
import { isOpenApiExtension } from "../../predicates.mjs";
|
|
4
5
|
/**
|
|
@@ -34,14 +35,16 @@ class FixedFieldsVisitor extends SpecificationVisitor {
|
|
|
34
35
|
this.specificationExtensionPredicate = specificationExtensionPredicate;
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
|
-
ObjectElement(
|
|
38
|
+
ObjectElement(path) {
|
|
39
|
+
const objectElement = path.node;
|
|
38
40
|
const specPath = this.specPath(objectElement);
|
|
39
41
|
const fields = this.retrieveFixedFields(specPath);
|
|
40
42
|
|
|
41
43
|
// @ts-ignore
|
|
42
44
|
objectElement.forEach((value, key, memberElement) => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
const keyValue = toValue(key);
|
|
46
|
+
if (isStringElement(key) && fields.includes(keyValue) && !this.ignoredFields.includes(keyValue)) {
|
|
47
|
+
const fixedFieldElement = this.toRefractedElement([...specPath, 'fixedFields', keyValue], value);
|
|
45
48
|
const newMemberElement = new MemberElement(cloneDeep(key), fixedFieldElement);
|
|
46
49
|
this.copyMetaAndAttributes(memberElement, newMemberElement);
|
|
47
50
|
newMemberElement.classes.push('fixed-field');
|
|
@@ -49,12 +52,12 @@ class FixedFieldsVisitor extends SpecificationVisitor {
|
|
|
49
52
|
} else if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
|
|
50
53
|
const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
|
|
51
54
|
this.element.content.push(extensionElement);
|
|
52
|
-
} else if (!this.ignoredFields.includes(
|
|
55
|
+
} else if (!this.ignoredFields.includes(keyValue)) {
|
|
53
56
|
this.element.content.push(cloneDeep(memberElement));
|
|
54
57
|
}
|
|
55
58
|
});
|
|
56
59
|
this.copyMetaAndAttributes(objectElement, this.element);
|
|
57
|
-
|
|
60
|
+
path.stop();
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
export default FixedFieldsVisitor;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.default = void 0;
|
|
5
|
+
exports.default = exports.MixedFieldsVisitorBase = void 0;
|
|
6
6
|
var _tsMixer = require("ts-mixer");
|
|
7
7
|
var _ramda = require("ramda");
|
|
8
8
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
@@ -13,9 +13,15 @@ var _PatternedFieldsVisitor = _interopRequireDefault(require("./PatternedFieldsV
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Base class for MixedFieldsVisitor combining FixedFieldsVisitor and PatternedFieldsVisitor.
|
|
16
17
|
* @public
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
const MixedFieldsVisitorBase = exports.MixedFieldsVisitorBase = (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _PatternedFieldsVisitor.default);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
class MixedFieldsVisitor extends MixedFieldsVisitorBase {
|
|
19
25
|
specPathFixedFields;
|
|
20
26
|
specPathPatternedFields;
|
|
21
27
|
constructor({
|
|
@@ -29,7 +35,8 @@ class MixedFieldsVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default
|
|
|
29
35
|
this.specPathFixedFields = specPathFixedFields;
|
|
30
36
|
this.specPathPatternedFields = specPathPatternedFields;
|
|
31
37
|
}
|
|
32
|
-
ObjectElement(
|
|
38
|
+
ObjectElement(path) {
|
|
39
|
+
const objectElement = path.node;
|
|
33
40
|
const {
|
|
34
41
|
specPath,
|
|
35
42
|
ignoredFields
|
|
@@ -40,10 +47,10 @@ class MixedFieldsVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default
|
|
|
40
47
|
// let FixedFieldsVisitor only process fixed fields and leave rest to PatternedFieldsVisitor
|
|
41
48
|
// @ts-ignore
|
|
42
49
|
this.ignoredFields = [...ignoredFields, ...(0, _ramda.difference)(objectElement.keys(), fixedFields)];
|
|
43
|
-
_FixedFieldsVisitor.default.prototype.ObjectElement.call(this,
|
|
50
|
+
_FixedFieldsVisitor.default.prototype.ObjectElement.call(this, path);
|
|
44
51
|
this.specPath = this.specPathPatternedFields;
|
|
45
52
|
this.ignoredFields = fixedFields;
|
|
46
|
-
_PatternedFieldsVisitor.default.prototype.ObjectElement.call(this,
|
|
53
|
+
_PatternedFieldsVisitor.default.prototype.ObjectElement.call(this, path);
|
|
47
54
|
|
|
48
55
|
// reorder this.element members by original objectElement keys
|
|
49
56
|
const objectElementKeys = objectElement.keys();
|
|
@@ -54,7 +61,7 @@ class MixedFieldsVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default
|
|
|
54
61
|
this.specPath = specPath;
|
|
55
62
|
throw e;
|
|
56
63
|
}
|
|
57
|
-
|
|
64
|
+
path.stop();
|
|
58
65
|
}
|
|
59
66
|
}
|
|
60
67
|
var _default = exports.default = MixedFieldsVisitor;
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { Mixin } from 'ts-mixer';
|
|
2
2
|
import { difference } from 'ramda';
|
|
3
|
-
import {
|
|
3
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
4
4
|
import FixedFieldsVisitor from "./FixedFieldsVisitor.mjs";
|
|
5
5
|
import PatternedFieldsVisitor from "./PatternedFieldsVisitor.mjs";
|
|
6
6
|
/**
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
|
+
* Base class for MixedFieldsVisitor combining FixedFieldsVisitor and PatternedFieldsVisitor.
|
|
10
11
|
* @public
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
|
+
export const MixedFieldsVisitorBase = Mixin(FixedFieldsVisitor, PatternedFieldsVisitor);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
class MixedFieldsVisitor extends MixedFieldsVisitorBase {
|
|
13
19
|
specPathFixedFields;
|
|
14
20
|
specPathPatternedFields;
|
|
15
21
|
constructor({
|
|
@@ -23,7 +29,8 @@ class MixedFieldsVisitor extends Mixin(FixedFieldsVisitor, PatternedFieldsVisito
|
|
|
23
29
|
this.specPathFixedFields = specPathFixedFields;
|
|
24
30
|
this.specPathPatternedFields = specPathPatternedFields;
|
|
25
31
|
}
|
|
26
|
-
ObjectElement(
|
|
32
|
+
ObjectElement(path) {
|
|
33
|
+
const objectElement = path.node;
|
|
27
34
|
const {
|
|
28
35
|
specPath,
|
|
29
36
|
ignoredFields
|
|
@@ -34,10 +41,10 @@ class MixedFieldsVisitor extends Mixin(FixedFieldsVisitor, PatternedFieldsVisito
|
|
|
34
41
|
// let FixedFieldsVisitor only process fixed fields and leave rest to PatternedFieldsVisitor
|
|
35
42
|
// @ts-ignore
|
|
36
43
|
this.ignoredFields = [...ignoredFields, ...difference(objectElement.keys(), fixedFields)];
|
|
37
|
-
FixedFieldsVisitor.prototype.ObjectElement.call(this,
|
|
44
|
+
FixedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
38
45
|
this.specPath = this.specPathPatternedFields;
|
|
39
46
|
this.ignoredFields = fixedFields;
|
|
40
|
-
PatternedFieldsVisitor.prototype.ObjectElement.call(this,
|
|
47
|
+
PatternedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
41
48
|
|
|
42
49
|
// reorder this.element members by original objectElement keys
|
|
43
50
|
const objectElementKeys = objectElement.keys();
|
|
@@ -48,7 +55,7 @@ class MixedFieldsVisitor extends Mixin(FixedFieldsVisitor, PatternedFieldsVisito
|
|
|
48
55
|
this.specPath = specPath;
|
|
49
56
|
throw e;
|
|
50
57
|
}
|
|
51
|
-
|
|
58
|
+
path.stop();
|
|
52
59
|
}
|
|
53
60
|
}
|
|
54
61
|
export default MixedFieldsVisitor;
|
|
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _ramda = require("ramda");
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
8
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
8
9
|
var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
|
|
9
10
|
var _predicates = require("../../predicates.cjs");
|
|
@@ -43,25 +44,27 @@ class PatternedFieldsVisitor extends _SpecificationVisitor.default {
|
|
|
43
44
|
this.specificationExtensionPredicate = specificationExtensionPredicate;
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
|
-
ObjectElement(
|
|
47
|
+
ObjectElement(path) {
|
|
48
|
+
const objectElement = path.node;
|
|
47
49
|
// @ts-ignore
|
|
48
50
|
objectElement.forEach((value, key, memberElement) => {
|
|
51
|
+
const keyValue = (0, _apidomCore.toValue)(key);
|
|
49
52
|
if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
|
|
50
53
|
const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
|
|
51
54
|
this.element.content.push(extensionElement);
|
|
52
|
-
} else if (!this.ignoredFields.includes(
|
|
55
|
+
} else if (!this.ignoredFields.includes(keyValue) && this.fieldPatternPredicate(keyValue)) {
|
|
53
56
|
const specPath = this.specPath(value);
|
|
54
57
|
const patternedFieldElement = this.toRefractedElement(specPath, value);
|
|
55
|
-
const newMemberElement = new
|
|
58
|
+
const newMemberElement = new _apidomDatamodel.MemberElement((0, _apidomDatamodel.cloneDeep)(key), patternedFieldElement);
|
|
56
59
|
this.copyMetaAndAttributes(memberElement, newMemberElement);
|
|
57
60
|
newMemberElement.classes.push('patterned-field');
|
|
58
61
|
this.element.content.push(newMemberElement);
|
|
59
|
-
} else if (!this.ignoredFields.includes(
|
|
60
|
-
this.element.content.push((0,
|
|
62
|
+
} else if (!this.ignoredFields.includes(keyValue)) {
|
|
63
|
+
this.element.content.push((0, _apidomDatamodel.cloneDeep)(memberElement));
|
|
61
64
|
}
|
|
62
65
|
});
|
|
63
66
|
this.copyMetaAndAttributes(objectElement, this.element);
|
|
64
|
-
|
|
67
|
+
path.stop();
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
70
|
var _default = exports.default = PatternedFieldsVisitor;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { F as stubFalse } from 'ramda';
|
|
2
|
-
import { MemberElement,
|
|
2
|
+
import { MemberElement, cloneDeep } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
3
4
|
import SpecificationVisitor from "../SpecificationVisitor.mjs";
|
|
4
5
|
import { isOpenApiExtension } from "../../predicates.mjs";
|
|
5
6
|
/**
|
|
@@ -37,25 +38,27 @@ class PatternedFieldsVisitor extends SpecificationVisitor {
|
|
|
37
38
|
this.specificationExtensionPredicate = specificationExtensionPredicate;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
ObjectElement(
|
|
41
|
+
ObjectElement(path) {
|
|
42
|
+
const objectElement = path.node;
|
|
41
43
|
// @ts-ignore
|
|
42
44
|
objectElement.forEach((value, key, memberElement) => {
|
|
45
|
+
const keyValue = toValue(key);
|
|
43
46
|
if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
|
|
44
47
|
const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
|
|
45
48
|
this.element.content.push(extensionElement);
|
|
46
|
-
} else if (!this.ignoredFields.includes(
|
|
49
|
+
} else if (!this.ignoredFields.includes(keyValue) && this.fieldPatternPredicate(keyValue)) {
|
|
47
50
|
const specPath = this.specPath(value);
|
|
48
51
|
const patternedFieldElement = this.toRefractedElement(specPath, value);
|
|
49
52
|
const newMemberElement = new MemberElement(cloneDeep(key), patternedFieldElement);
|
|
50
53
|
this.copyMetaAndAttributes(memberElement, newMemberElement);
|
|
51
54
|
newMemberElement.classes.push('patterned-field');
|
|
52
55
|
this.element.content.push(newMemberElement);
|
|
53
|
-
} else if (!this.ignoredFields.includes(
|
|
56
|
+
} else if (!this.ignoredFields.includes(keyValue)) {
|
|
54
57
|
this.element.content.push(cloneDeep(memberElement));
|
|
55
58
|
}
|
|
56
59
|
});
|
|
57
60
|
this.copyMetaAndAttributes(objectElement, this.element);
|
|
58
|
-
|
|
61
|
+
path.stop();
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
64
|
export default PatternedFieldsVisitor;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
3
|
exports.__esModule = true;
|
|
5
4
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
5
|
var _ramda = require("ramda");
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
|
+
var _bases = require("./bases.cjs");
|
|
11
8
|
/**
|
|
12
9
|
* @public
|
|
13
10
|
*/
|
|
@@ -15,10 +12,10 @@ var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"))
|
|
|
15
12
|
/**
|
|
16
13
|
* @public
|
|
17
14
|
*/
|
|
18
|
-
class ContentVisitor extends
|
|
15
|
+
class ContentVisitor extends _bases.BaseMapVisitor {
|
|
19
16
|
constructor(options) {
|
|
20
17
|
super(options);
|
|
21
|
-
this.element = new
|
|
18
|
+
this.element = new _apidomDatamodel.ObjectElement();
|
|
22
19
|
this.element.classes.push('content');
|
|
23
20
|
this.specPath = (0, _ramda.always)(['document', 'objects', 'MediaType']);
|
|
24
21
|
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { always } from 'ramda';
|
|
3
|
-
import { ObjectElement } from '@speclynx/apidom-
|
|
4
|
-
import
|
|
5
|
-
import FallbackVisitor from "../FallbackVisitor.mjs";
|
|
2
|
+
import { ObjectElement } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { BaseMapVisitor } from "./bases.mjs";
|
|
6
4
|
/**
|
|
7
5
|
* @public
|
|
8
6
|
*/
|
|
9
7
|
/**
|
|
10
8
|
* @public
|
|
11
9
|
*/
|
|
12
|
-
class ContentVisitor extends
|
|
10
|
+
class ContentVisitor extends BaseMapVisitor {
|
|
13
11
|
constructor(options) {
|
|
14
12
|
super(options);
|
|
15
13
|
this.element = new ObjectElement();
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
3
|
exports.__esModule = true;
|
|
5
4
|
exports.default = void 0;
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var _MapVisitor = _interopRequireDefault(require("../generics/MapVisitor.cjs"));
|
|
9
|
-
var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
|
|
5
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
|
+
var _bases = require("./bases.cjs");
|
|
10
7
|
var _predicates = require("../../predicates.cjs");
|
|
11
8
|
var _predicates2 = require("../../../predicates.cjs");
|
|
12
9
|
/**
|
|
@@ -16,22 +13,21 @@ var _predicates2 = require("../../../predicates.cjs");
|
|
|
16
13
|
/**
|
|
17
14
|
* @public
|
|
18
15
|
*/
|
|
19
|
-
class ExamplesVisitor extends
|
|
16
|
+
class ExamplesVisitor extends _bases.BaseMapVisitor {
|
|
20
17
|
constructor(options) {
|
|
21
18
|
super(options);
|
|
22
|
-
this.element = new
|
|
19
|
+
this.element = new _apidomDatamodel.ObjectElement();
|
|
23
20
|
this.element.classes.push('examples');
|
|
24
21
|
this.specPath = element => (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Example'];
|
|
25
22
|
this.canSupportSpecificationExtensions = true;
|
|
26
23
|
}
|
|
27
|
-
ObjectElement(
|
|
28
|
-
|
|
24
|
+
ObjectElement(path) {
|
|
25
|
+
_bases.BaseMapVisitor.prototype.ObjectElement.call(this, path);
|
|
29
26
|
|
|
30
27
|
// @ts-ignore
|
|
31
28
|
this.element.filter(_predicates2.isReferenceElement).forEach(referenceElement => {
|
|
32
|
-
referenceElement.
|
|
29
|
+
referenceElement.meta.set('referenced-element', 'example');
|
|
33
30
|
});
|
|
34
|
-
return result;
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
33
|
var _default = exports.default = ExamplesVisitor;
|