diff --git a/packages/apidom-ns-asyncapi-2/README.md b/packages/apidom-ns-asyncapi-2/README.md index aab46dec48..71feba23d0 100644 --- a/packages/apidom-ns-asyncapi-2/README.md +++ b/packages/apidom-ns-asyncapi-2/README.md @@ -4,6 +4,7 @@ - [AsyncAPI 2.0.0 specification](https://github.com/asyncapi/spec/blob/2.0.0/versions/2.0.0/asyncapi.md) - [AsyncAPI 2.1.0 specification](https://github.com/asyncapi/spec/blob/v2.1.0/spec/asyncapi.md) +- [AsyncAPI 2.2.0 specification](https://github.com/asyncapi/spec/blob/v2.2.0/spec/asyncapi.md) ## AsyncApi 2.x.y namespace @@ -122,7 +123,7 @@ const plugin = ({ predicates, namespace }) => ({ }, visitor: { InfoElement(infoElement) { - infoElement.version = '2.1.0'; + infoElement.version = '2.2.0'; }, }, post() { @@ -130,7 +131,7 @@ const plugin = ({ predicates, namespace }) => ({ }, }); -InfoElement.refract(objectElement, { plugins: [plugin] }); // => InfoElement({ title = 'my title', description = 'my description', version = '2.1.0' }) +InfoElement.refract(objectElement, { plugins: [plugin] }); // => InfoElement({ title = 'my title', description = 'my description', version = '2.2.0' }) ``` You can define as many plugins as needed to enhance the resulting namespaced ApiDOM structure. @@ -200,6 +201,13 @@ Only fully implemented specification objects should be checked here. - [x] [Operation Binding Object](https://github.com/asyncapi/bindings/blob/master/kafka/README.md#operation-binding-object) - [x] [Message Binding Object](https://github.com/asyncapi/bindings/blob/master/kafka/README.md#message-binding-object) +#### Anypoint MQ Bindings + +- [x] [Server Binding Object](https://github.com/asyncapi/bindings/tree/master/anypointmq#server-binding-object) +- [x] [Channel Binding Object](https://github.com/asyncapi/bindings/tree/master/anypointmq#channel-binding-object) +- [x] [Operation Binding Object](https://github.com/asyncapi/bindings/tree/master/anypointmq#operation-binding-object) +- [x] [Message Binding Object](https://github.com/asyncapi/bindings/tree/master/anypointmq#message-binding-object) + #### AMQP 0-9-1 Bindings - [x] [Server Binding Object](https://github.com/asyncapi/bindings/blob/master/amqp/README.md#server-binding-object) diff --git a/packages/apidom-ns-asyncapi-2/src/elements/ChannelBindings.ts b/packages/apidom-ns-asyncapi-2/src/elements/ChannelBindings.ts index 8abe90b919..c7e2ccbfe7 100644 --- a/packages/apidom-ns-asyncapi-2/src/elements/ChannelBindings.ts +++ b/packages/apidom-ns-asyncapi-2/src/elements/ChannelBindings.ts @@ -4,6 +4,7 @@ import { ObjectElement } from '@swagger-api/apidom-core'; import HttpChannelBindingElement from './bindings/http/HttpChannelBinding'; import WebSocketChannelBindingElement from './bindings/ws/WebSocketChannelBinding'; import KafkaChannelBindingElement from './bindings/kafka/KafkaChannelBinding'; +import AnypointmqChannelBindingElement from './bindings/anypointmq/AnypointmqChannelBinding'; import AmqpChannelBindingElement from './bindings/amqp/AmqpChannelBinding'; import Amqp1ChannelBindingElement from './bindings/amqp1/Amqp1ChannelBinding'; import MqttChannelBindingElement from './bindings/mqtt/MqttChannelBinding'; @@ -47,6 +48,14 @@ class ChannelBindings extends ObjectElement { this.set('kafka', kafka); } + get anypointmq(): AnypointmqChannelBindingElement | undefined { + return this.get('anypointmq'); + } + + set anypointmq(anypointmq: AnypointmqChannelBindingElement | undefined) { + this.set('anypointmq', anypointmq); + } + get amqp(): AmqpChannelBindingElement | undefined { return this.get('amqp'); } diff --git a/packages/apidom-ns-asyncapi-2/src/elements/ChannelItem.ts b/packages/apidom-ns-asyncapi-2/src/elements/ChannelItem.ts index 6448c3189a..ae5eb41c4d 100644 --- a/packages/apidom-ns-asyncapi-2/src/elements/ChannelItem.ts +++ b/packages/apidom-ns-asyncapi-2/src/elements/ChannelItem.ts @@ -1,5 +1,5 @@ import { Attributes, Meta } from 'minim'; -import { StringElement, ObjectElement } from '@swagger-api/apidom-core'; +import { StringElement, ObjectElement, ArrayElement } from '@swagger-api/apidom-core'; import OperationElement from './Operation'; import ParametersElement from './Parameters'; @@ -27,6 +27,14 @@ class ChannelItem extends ObjectElement { this.set('description', description); } + get servers(): ArrayElement { + return this.get('servers'); + } + + set servers(servers: ArrayElement) { + this.set('servers', servers); + } + get subscribe(): OperationElement { return this.get('subscribe'); } diff --git a/packages/apidom-ns-asyncapi-2/src/elements/MessageBindings.ts b/packages/apidom-ns-asyncapi-2/src/elements/MessageBindings.ts index 5d075a1cbb..c0d36f0459 100644 --- a/packages/apidom-ns-asyncapi-2/src/elements/MessageBindings.ts +++ b/packages/apidom-ns-asyncapi-2/src/elements/MessageBindings.ts @@ -4,6 +4,7 @@ import { ObjectElement } from '@swagger-api/apidom-core'; import HttpMessageBindingElement from './bindings/http/HttpMessageBinding'; import WebSocketMessageBindingElement from './bindings/ws/WebSocketMessageBinding'; import KafkaMessageBindingElement from './bindings/kafka/KafkaMessageBinding'; +import AnypointmqMessageBindingElement from './bindings/anypointmq/AnypointmqMessageBinding'; import AmqpMessageBindingElement from './bindings/amqp/AmqpMessageBinding'; import Amqp1MessageBindingElement from './bindings/amqp1/Amqp1MessageBinding'; import MqttMessageBindingElement from './bindings/mqtt/MqttMessageBinding'; @@ -47,6 +48,14 @@ class MessageBindings extends ObjectElement { this.set('kafka', kafka); } + get anypointmq(): AnypointmqMessageBindingElement | undefined { + return this.get('anypointmq'); + } + + set anypointmq(anypointmq: AnypointmqMessageBindingElement | undefined) { + this.set('anypointmq', anypointmq); + } + get amqp(): AmqpMessageBindingElement | undefined { return this.get('amqp'); } diff --git a/packages/apidom-ns-asyncapi-2/src/elements/MessageExample.ts b/packages/apidom-ns-asyncapi-2/src/elements/MessageExample.ts new file mode 100644 index 0000000000..9068a9ed7c --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/elements/MessageExample.ts @@ -0,0 +1,43 @@ +import { Attributes, Meta } from 'minim'; +import { StringElement, ObjectElement } from '@swagger-api/apidom-core'; + +class MessageExample extends ObjectElement { + constructor(content?: Record, meta?: Meta, attributes?: Attributes) { + super(content, meta, attributes); + this.element = 'messageExample'; + } + + get headers(): ObjectElement | undefined { + return this.get('headers'); + } + + set headers(headers: ObjectElement | undefined) { + this.set('headers', headers); + } + + get payload(): Element | undefined { + return this.get('payload'); + } + + set payload(payload: Element | undefined) { + this.set('payload', payload); + } + + get name(): StringElement { + return this.get('name'); + } + + set name(name: StringElement) { + this.set('name', name); + } + + get summary(): StringElement { + return this.get('summary'); + } + + set summary(summary: StringElement) { + this.set('summary', summary); + } +} + +export default MessageExample; diff --git a/packages/apidom-ns-asyncapi-2/src/elements/OperationBindings.ts b/packages/apidom-ns-asyncapi-2/src/elements/OperationBindings.ts index ca2e381422..93b4a7d144 100644 --- a/packages/apidom-ns-asyncapi-2/src/elements/OperationBindings.ts +++ b/packages/apidom-ns-asyncapi-2/src/elements/OperationBindings.ts @@ -4,6 +4,7 @@ import { ObjectElement } from '@swagger-api/apidom-core'; import HttpOperationBindingElement from './bindings/http/HttpOperationBinding'; import WebSocketOperationBindingElement from './bindings/ws/WebSocketOperationBinding'; import KafkaOperationBindingElement from './bindings/kafka/KafkaOperationBinding'; +import AnypointmqOperationBindingElement from './bindings/anypointmq/AnypointmqOperationBinding'; import AmqpOperationBindingElement from './bindings/amqp/AmqpOperationBinding'; import Amqp1OperationBindingElement from './bindings/amqp1/Amqp1OperationBinding'; import MqttOperationBindingElement from './bindings/mqtt/MqttOperationBinding'; @@ -46,6 +47,14 @@ class OperationBindings extends ObjectElement { this.set('kafka', kafka); } + get anypointmq(): AnypointmqOperationBindingElement | undefined { + return this.get('anypointmq'); + } + + set anypointmq(anypointmq: AnypointmqOperationBindingElement | undefined) { + this.set('anypointmq', anypointmq); + } + get amqp(): AmqpOperationBindingElement | undefined { return this.get('amqp'); } diff --git a/packages/apidom-ns-asyncapi-2/src/elements/ServerBindings.ts b/packages/apidom-ns-asyncapi-2/src/elements/ServerBindings.ts index ad7607dbfa..28d009035d 100644 --- a/packages/apidom-ns-asyncapi-2/src/elements/ServerBindings.ts +++ b/packages/apidom-ns-asyncapi-2/src/elements/ServerBindings.ts @@ -4,6 +4,7 @@ import { ObjectElement } from '@swagger-api/apidom-core'; import HttpServerBindingElement from './bindings/http/HttpServerBinding'; import WebSocketServerBindingElement from './bindings/ws/WebSocketServerBinding'; import KafkaServerBindingElement from './bindings/kafka/KafkaServerBinding'; +import AnypointmqServerBindingElement from './bindings/anypointmq/AnypointmqServerBinding'; import AmqpServerBindingElement from './bindings/amqp/AmqpServerBinding'; import Amqp1ServerBindingElement from './bindings/amqp1/Amqp1ServerBinding'; import MqttServerBindingElement from './bindings/mqtt/MqttServerBinding'; @@ -47,6 +48,14 @@ class ServerBindings extends ObjectElement { this.set('kafka', kafka); } + get anypointmq(): AnypointmqServerBindingElement | undefined { + return this.get('anypointmq'); + } + + set anypointmq(anypointmq: AnypointmqServerBindingElement | undefined) { + this.set('anypointmq', anypointmq); + } + get amqp(): AmqpServerBindingElement | undefined { return this.get('amqp'); } diff --git a/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqChannelBinding.ts b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqChannelBinding.ts new file mode 100644 index 0000000000..44d7fd50f0 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqChannelBinding.ts @@ -0,0 +1,35 @@ +import { Attributes, Meta, StringElement } from 'minim'; +import { ObjectElement } from '@swagger-api/apidom-core'; + +class AnypointmqChannelBinding extends ObjectElement { + constructor(content?: Record, meta?: Meta, attributes?: Attributes) { + super(content, meta, attributes); + this.element = 'anypointmqChannelBinding'; + } + + get destination(): StringElement { + return this.get('destination'); + } + + set destination(destination: StringElement) { + this.set('destination', destination); + } + + get destinationType(): StringElement { + return this.get('destinationType'); + } + + set destinationType(destinationType: StringElement) { + this.set('destinationType', destinationType); + } + + get bindingVersion(): StringElement { + return this.get('bindingVersion'); + } + + set bindingVersion(bindingVersion: StringElement) { + this.set('bindingVersion', bindingVersion); + } +} + +export default AnypointmqChannelBinding; diff --git a/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqMessageBinding.ts b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqMessageBinding.ts new file mode 100644 index 0000000000..e470f0da66 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqMessageBinding.ts @@ -0,0 +1,29 @@ +import { Attributes, Meta } from 'minim'; +import { ObjectElement, StringElement } from '@swagger-api/apidom-core'; + +import SchemaElement from '../../Schema'; + +class AnypointmqMessageBinding extends ObjectElement { + constructor(content?: Record, meta?: Meta, attributes?: Attributes) { + super(content, meta, attributes); + this.element = 'anypointmqMessageBinding'; + } + + get headers(): SchemaElement { + return this.get('headers'); + } + + set headers(headers: SchemaElement) { + this.set('headers', headers); + } + + get bindingVersion(): StringElement { + return this.get('bindingVersion'); + } + + set bindingVersion(bindingVersion: StringElement) { + this.set('bindingVersion', bindingVersion); + } +} + +export default AnypointmqMessageBinding; diff --git a/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqOperationBinding.ts b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqOperationBinding.ts new file mode 100644 index 0000000000..ceb884727e --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqOperationBinding.ts @@ -0,0 +1,11 @@ +import { Attributes, Meta } from 'minim'; +import { ObjectElement } from '@swagger-api/apidom-core'; + +class AnypointmqOperationBinding extends ObjectElement { + constructor(content?: Record, meta?: Meta, attributes?: Attributes) { + super(content, meta, attributes); + this.element = 'anypointmqOperationBinding'; + } +} + +export default AnypointmqOperationBinding; diff --git a/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqServerBinding.ts b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqServerBinding.ts new file mode 100644 index 0000000000..fd7fe1dd75 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/elements/bindings/anypointmq/AnypointmqServerBinding.ts @@ -0,0 +1,11 @@ +import { Attributes, Meta } from 'minim'; +import { ObjectElement } from '@swagger-api/apidom-core'; + +class AnypointmqServerBinding extends ObjectElement { + constructor(content?: Record, meta?: Meta, attributes?: Attributes) { + super(content, meta, attributes); + this.element = 'anypointmqServerBinding'; + } +} + +export default AnypointmqServerBinding; diff --git a/packages/apidom-ns-asyncapi-2/src/index.ts b/packages/apidom-ns-asyncapi-2/src/index.ts index 6bb954023b..e0af878d83 100644 --- a/packages/apidom-ns-asyncapi-2/src/index.ts +++ b/packages/apidom-ns-asyncapi-2/src/index.ts @@ -54,7 +54,7 @@ export { export { keyMap, getNodeType } from './traversal/visitor'; /** - * AsyncApi 2.0.0 | 2.1.0 specification elements. + * AsyncApi 2.0.0 | 2.1.0 | 2.2.0 specification elements. */ export { default as AsyncApi2Element } from './elements/AsyncApi2'; export { default as AsyncApiVersionElement } from './elements/AsyncApiVersion'; @@ -71,6 +71,7 @@ export { default as InfoElement } from './elements/Info'; export { default as LicenseElement } from './elements/License'; export { default as MessageElement } from './elements/Message'; export { default as MessageBindingsElement } from './elements/MessageBindings'; +export { default as MessageExampleElement } from './elements/MessageExample'; export { default as MessageTraitElement } from './elements/MessageTrait'; export { default as OAuthFlowElement } from './elements/OAuthFlow'; export { default as OAuthFlowsElement } from './elements/OAuthFlows'; @@ -122,6 +123,11 @@ export { default as KafkaChannelBindingElement } from './elements/bindings/kafka export { default as KafkaMessageBindingElement } from './elements/bindings/kafka/KafkaMessageBinding'; export { default as KafkaOperationBindingElement } from './elements/bindings/kafka/KafkaOperationBinding'; export { default as KafkaServerBindingElement } from './elements/bindings/kafka/KafkaServerBinding'; +// Anypoint MQ +export { default as AnypointmqChannelBindingElement } from './elements/bindings/anypointmq/AnypointmqChannelBinding'; +export { default as AnypointmqMessageBindingElement } from './elements/bindings/anypointmq/AnypointmqMessageBinding'; +export { default as AnypointmqOperationBindingElement } from './elements/bindings/anypointmq/AnypointmqOperationBinding'; +export { default as AnypointmqServerBindingElement } from './elements/bindings/anypointmq/AnypointmqServerBinding'; // Mercure export { default as MercureChannelBindingElement } from './elements/bindings/mercure/MercureChannelBinding'; export { default as MercureMessageBindingElement } from './elements/bindings/mercure/MercureMessageBinding'; diff --git a/packages/apidom-ns-asyncapi-2/src/namespace.ts b/packages/apidom-ns-asyncapi-2/src/namespace.ts index 35567173cc..0ff360e9ab 100644 --- a/packages/apidom-ns-asyncapi-2/src/namespace.ts +++ b/packages/apidom-ns-asyncapi-2/src/namespace.ts @@ -1,7 +1,7 @@ import { NamespacePluginOptions } from 'minim'; /** - * AsyncApi 2.0.0 | 2.1.0 specification elements. + * AsyncApi 2.0.0 | 2.1.0 | 2.2.0 specification elements. */ import AsyncApi2Element from './elements/AsyncApi2'; import AsyncApiVersionElement from './elements/AsyncApiVersion'; @@ -18,6 +18,7 @@ import InfoElement from './elements/Info'; import LicenseElement from './elements/License'; import MessageElement from './elements/Message'; import MessageBindingsElement from './elements/MessageBindings'; +import MessageExampleElement from './elements/MessageExample'; import MessageTraitElement from './elements/MessageTrait'; import OAuthFlowElement from './elements/OAuthFlow'; import OAuthFlowsElement from './elements/OAuthFlows'; @@ -68,6 +69,11 @@ import KafkaChannelBindingElement from './elements/bindings/kafka/KafkaChannelBi import KafkaMessageBindingElement from './elements/bindings/kafka/KafkaMessageBinding'; import KafkaOperationBindingElement from './elements/bindings/kafka/KafkaOperationBinding'; import KafkaServerBindingElement from './elements/bindings/kafka/KafkaServerBinding'; +// Anypoint MQ +import AnypointmqChannelBindingElement from './elements/bindings/anypointmq/AnypointmqChannelBinding'; +import AnypointmqMessageBindingElement from './elements/bindings/anypointmq/AnypointmqMessageBinding'; +import AnypointmqOperationBindingElement from './elements/bindings/anypointmq/AnypointmqOperationBinding'; +import AnypointmqServerBindingElement from './elements/bindings/anypointmq/AnypointmqServerBinding'; // Mercure import MercureChannelBindingElement from './elements/bindings/mercure/MercureChannelBinding'; import MercureMessageBindingElement from './elements/bindings/mercure/MercureMessageBinding'; @@ -119,7 +125,7 @@ const asyncApi2 = { const { base } = options; /** - * AsyncApi 2.0.0 | 2.1.0 specification elements. + * AsyncApi 2.0.0 | 2.1.0 | 2.2.0 specification elements. */ base.register('asyncApi2', AsyncApi2Element); base.register('asyncApiVersion', AsyncApiVersionElement); @@ -136,6 +142,7 @@ const asyncApi2 = { base.register('license', LicenseElement); base.register('message', MessageElement); base.register('messageBindings', MessageBindingsElement); + base.register('messageExample', MessageExampleElement); base.register('messageTrait', MessageTraitElement); base.register('oAuthFlow', OAuthFlowElement); base.register('oAuthFlows', OAuthFlowsElement); @@ -187,6 +194,11 @@ const asyncApi2 = { base.register('kafkaMessageBinding', KafkaMessageBindingElement); base.register('kafkaOperationBinding', KafkaOperationBindingElement); base.register('kafkaServerBinding', KafkaServerBindingElement); + // Anypoint MQ + base.register('anypointmqChannelBinding', AnypointmqChannelBindingElement); + base.register('anypointmqMessageBinding', AnypointmqMessageBindingElement); + base.register('anypointmqOperationBinding', AnypointmqOperationBindingElement); + base.register('anypointmqServerBinding', AnypointmqServerBindingElement); // Mercure base.register('mercureChannelBinding', MercureChannelBindingElement); base.register('mercureMessageBinding', MercureMessageBindingElement); diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/registration.ts b/packages/apidom-ns-asyncapi-2/src/refractor/registration.ts index f9a95de18b..901e94bca2 100644 --- a/packages/apidom-ns-asyncapi-2/src/refractor/registration.ts +++ b/packages/apidom-ns-asyncapi-2/src/refractor/registration.ts @@ -1,6 +1,6 @@ import { createRefractor } from './index'; /** - * AsyncApi 2.0.0 | 2.1.0 specification elements. + * AsyncApi 2.0.0 | 2.1.0 | 2.2.0 specification elements. */ import AsyncApi2Element from '../elements/AsyncApi2'; import AsyncApiVersionElement from '../elements/AsyncApiVersion'; @@ -17,6 +17,7 @@ import InfoElement from '../elements/Info'; import LicenseElement from '../elements/License'; import MessageElement from '../elements/Message'; import MessageBindingsElement from '../elements/MessageBindings'; +import MessageExampleElement from '../elements/MessageExample'; import MessageTraitElement from '../elements/MessageTrait'; import OAuthFlowElement from '../elements/OAuthFlow'; import OAuthFlowsElement from '../elements/OAuthFlows'; @@ -67,6 +68,11 @@ import KafkaChannelBindingElement from '../elements/bindings/kafka/KafkaChannelB import KafkaMessageBindingElement from '../elements/bindings/kafka/KafkaMessageBinding'; import KafkaOperationBindingElement from '../elements/bindings/kafka/KafkaOperationBinding'; import KafkaServerBindingElement from '../elements/bindings/kafka/KafkaServerBinding'; +// Anypoint MQ +import AnypointmqChannelBindingElement from '../elements/bindings/anypointmq/AnypointmqChannelBinding'; +import AnypointmqMessageBindingElement from '../elements/bindings/anypointmq/AnypointmqMessageBinding'; +import AnypointmqOperationBindingElement from '../elements/bindings/anypointmq/AnypointmqOperationBinding'; +import AnypointmqServerBindingElement from '../elements/bindings/anypointmq/AnypointmqServerBinding'; // Mercure import MercureChannelBindingElement from '../elements/bindings/mercure/MercureChannelBinding'; import MercureMessageBindingElement from '../elements/bindings/mercure/MercureMessageBinding'; @@ -114,7 +120,7 @@ import WebSocketOperationBindingElement from '../elements/bindings/ws/WebSocketO import WebSocketServerBindingElement from '../elements/bindings/ws/WebSocketServerBinding'; /** - * AsyncApi 2.0.0 | 2.1.0 specification elements. + * AsyncApi 2.0.0 | 2.1.0 | 2.2.0 specification elements. */ AsyncApi2Element.refract = createRefractor([ 'visitors', @@ -215,6 +221,13 @@ MessageBindingsElement.refract = createRefractor([ 'MessageBindings', '$visitor', ]); +MessageExampleElement.refract = createRefractor([ + 'visitors', + 'document', + 'objects', + 'MessageExample', + '$visitor', +]); MessageTraitElement.refract = createRefractor([ 'visitors', 'document', @@ -534,6 +547,43 @@ KafkaServerBindingElement.refract = createRefractor([ 'ServerBinding', '$visitor', ]); +// Anypoint MQ +AnypointmqChannelBindingElement.refract = createRefractor([ + 'visitors', + 'document', + 'objects', + 'bindings', + 'anypointmq', + 'ChannelBinding', + '$visitor', +]); +AnypointmqMessageBindingElement.refract = createRefractor([ + 'visitors', + 'document', + 'objects', + 'bindings', + 'anypointmq', + 'MessageBinding', + '$visitor', +]); +AnypointmqOperationBindingElement.refract = createRefractor([ + 'visitors', + 'document', + 'objects', + 'bindings', + 'anypointmq', + 'OperationBinding', + '$visitor', +]); +AnypointmqServerBindingElement.refract = createRefractor([ + 'visitors', + 'document', + 'objects', + 'bindings', + 'anypointmq', + 'ServerBinding', + '$visitor', +]); // Mercure MercureChannelBindingElement.refract = createRefractor([ 'visitors', diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/specification.ts b/packages/apidom-ns-asyncapi-2/src/refractor/specification.ts index a99c2a9326..75b1ee463d 100644 --- a/packages/apidom-ns-asyncapi-2/src/refractor/specification.ts +++ b/packages/apidom-ns-asyncapi-2/src/refractor/specification.ts @@ -1,7 +1,7 @@ import FallbackVisitor from './visitors/FallbackVisitor'; import SpecificationExtensionVisitor from './visitors/SpecificationExtensionVisitor'; /** - * AsyncApi 2.0.0 | 2.1.0 specification elements. + * AsyncApi 2.0.0 | 2.1.0 | 2.2.0 specification elements. */ import AsyncApi2Visitor from './visitors/async-api-2'; import AsyncApiVersionVisitor from './visitors/async-api-2/AsyncApiVersionVisitor'; @@ -130,8 +130,14 @@ import ChannelBindingsVisitor from './visitors/async-api-2/channel-bindings'; import ChannelItemVisitor from './visitors/async-api-2/channel-item'; import ChannelItem$RefVisitor from './visitors/async-api-2/channel-item/$RefVisitor'; import ChannelItemDescriptionVisitor from './visitors/async-api-2/channel-item/DescriptionVisitor'; +import ChannelItemServersVisitor from './visitors/async-api-2/channel-item/ServersVisitor'; import ChannelItemBindingsVisitor from './visitors/async-api-2/channel-item/BindingsVisitor'; import MessageBindingsVisitor from './visitors/async-api-2/message-bindings'; +import MessageExampleVisitor from './visitors/async-api-2/message-example'; +import MessageExampleHeadersVisitor from './visitors/async-api-2/message-example/HeadersVisitor'; +import MessageExamplePayloadVisitor from './visitors/async-api-2/message-example/PayloadVisitor'; +import MessageExampleNameVisitor from './visitors/async-api-2/message-example/NameVisitor'; +import MessageExampleSummaryVisitor from './visitors/async-api-2/message-example/SummaryVisitor'; import MessageTraitVisitor from './visitors/async-api-2/message-trait'; import MessageTraitHeadersVisitor from './visitors/async-api-2/message-trait/HeadersVisitor'; import MessageTraitCorrelationIdVisitor from './visitors/async-api-2/message-trait/CorrelationIdVisitor'; @@ -234,6 +240,15 @@ import KafkaMessageBindingBindingVersionVisitor from './visitors/async-api-2/bin import KafkaOperationBindingVisitor from './visitors/async-api-2/bindings/kafka/operation-binding'; import KafkaOperationBindingBindingVersionVisitor from './visitors/async-api-2/bindings/kafka/operation-binding/BindingVersionVisitor'; import KafkaServerBindingVisitor from './visitors/async-api-2/bindings/kafka/server-binding'; +// Anypoint MQ +import AnypointmqChannelBindingVisitor from './visitors/async-api-2/bindings/anypointmq/channel-binding'; +import AnypointmqChannelBindingDestinationVisitor from './visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationVisitor'; +import AnypointmqChannelBindingDestinationTypeVisitor from './visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationTypeVisitor'; +import AnypointmqChannelBindingBindingVersionVisitor from './visitors/async-api-2/bindings/anypointmq/channel-binding/BindingVersionVisitor'; +import AnypointmqMessageBindingVisitor from './visitors/async-api-2/bindings/anypointmq/message-binding'; +import AnypointmqMessageBindingBindingVersionVisitor from './visitors/async-api-2/bindings/anypointmq/message-binding/BindingVersionVisitor'; +import AnypointmqOperationBindingVisitor from './visitors/async-api-2/bindings/anypointmq/operation-binding'; +import AnypointmqServerBindingVisitor from './visitors/async-api-2/bindings/anypointmq/server-binding'; // Mercure import MercureChannelBindingVisitor from './visitors/async-api-2/bindings/mercure/channel-binding'; import MercureMessageBindingVisitor from './visitors/async-api-2/bindings/mercure/message-binding'; @@ -305,7 +320,7 @@ const specification = { document: { objects: { /** - * AsyncApi 2.0.0 | 2.1.0 specification elements. + * AsyncApi 2.0.0 | 2.1.0 | 2.2.0 specification elements. */ AsyncApi: { $visitor: AsyncApi2Visitor, @@ -410,6 +425,7 @@ const specification = { fixedFields: { $ref: ChannelItem$RefVisitor, description: ChannelItemDescriptionVisitor, + servers: ChannelItemServersVisitor, subscribe: { $ref: '#/visitors/document/objects/Operation', }, @@ -498,6 +514,15 @@ const specification = { examples: MessageTraitExamplesVisitor, }, }, + MessageExample: { + $visitor: MessageExampleVisitor, + fixedFields: { + headers: MessageExampleHeadersVisitor, + payload: MessageExamplePayloadVisitor, + name: MessageExampleNameVisitor, + summary: MessageExampleSummaryVisitor, + }, + }, Tags: { $visitor: TagsVisitor, }, @@ -664,6 +689,9 @@ const specification = { kafka: { $ref: '#/visitors/document/objects/bindings/kafka/ServerBinding', }, + anypointmq: { + $ref: '#/visitors/document/objects/bindings/anypointmq/ServerBinding', + }, amqp: { $ref: '#/visitors/document/objects/bindings/amqp/ServerBinding', }, @@ -725,6 +753,9 @@ const specification = { kafka: { $ref: '#/visitors/document/objects/bindings/kafka/ChannelBinding', }, + anypointmq: { + $ref: '#/visitors/document/objects/bindings/anypointmq/ChannelBinding', + }, amqp: { $ref: '#/visitors/document/objects/bindings/amqp/ChannelBinding', }, @@ -775,6 +806,9 @@ const specification = { kafka: { $ref: '#/visitors/document/objects/bindings/kafka/OperationBinding', }, + anypointmq: { + $ref: '#/visitors/document/objects/bindings/anypointmq/OperationBinding', + }, amqp: { $ref: '#/visitors/document/objects/bindings/amqp/OperationBinding', }, @@ -822,6 +856,9 @@ const specification = { kafka: { $ref: '#/visitors/document/objects/bindings/kafka/MessageBinding', }, + anypointmq: { + $ref: '#/visitors/document/objects/bindings/anypointmq/MessageBinding', + }, amqp: { $ref: '#/visitors/document/objects/bindings/amqp/MessageBinding', }, @@ -949,6 +986,31 @@ const specification = { }, }, }, + anypointmq: { + ServerBinding: { + $visitor: AnypointmqServerBindingVisitor, + }, + ChannelBinding: { + $visitor: AnypointmqChannelBindingVisitor, + fixedFields: { + destination: AnypointmqChannelBindingDestinationVisitor, + destinationType: AnypointmqChannelBindingDestinationTypeVisitor, + bindingVersion: AnypointmqChannelBindingBindingVersionVisitor, + }, + }, + OperationBinding: { + $visitor: AnypointmqOperationBindingVisitor, + }, + MessageBinding: { + $visitor: AnypointmqMessageBindingVisitor, + fixedFields: { + headers: { + $ref: '#/visitors/document/objects/Schema', + }, + bindingVersion: AnypointmqMessageBindingBindingVersionVisitor, + }, + }, + }, amqp: { ServerBinding: { $visitor: AmqpServerBindingVisitor, diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/BindingVersionVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/BindingVersionVisitor.ts new file mode 100644 index 0000000000..5f892877c6 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/BindingVersionVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../../../FallbackVisitor'; + +const BindingVersionVisitor = FallbackVisitor; + +export default BindingVersionVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationTypeVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationTypeVisitor.ts new file mode 100644 index 0000000000..4d2667fa3d --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationTypeVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../../../FallbackVisitor'; + +const DestinationTypeVisitor = FallbackVisitor; + +export default DestinationTypeVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationVisitor.ts new file mode 100644 index 0000000000..db9cf9cbe5 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/DestinationVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../../../FallbackVisitor'; + +const DestinationVisitor = FallbackVisitor; + +export default DestinationVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/index.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/index.ts new file mode 100644 index 0000000000..76f7d58d6f --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/channel-binding/index.ts @@ -0,0 +1,18 @@ +import stampit from 'stampit'; +import { always } from 'ramda'; + +import AnypointmqChannelBindingElement from '../../../../../../elements/bindings/anypointmq/AnypointmqChannelBinding'; +import FallbackVisitor from '../../../../FallbackVisitor'; +import FixedFieldsVisitor from '../../../../generics/FixedFieldsVisitor'; + +const AnypointmqChannelBindingVisitor = stampit(FixedFieldsVisitor, FallbackVisitor, { + props: { + specPath: always(['document', 'objects', 'bindings', 'anypointmq', 'ChannelBinding']), + canSupportSpecificationExtensions: false, + }, + init() { + this.element = new AnypointmqChannelBindingElement(); + }, +}); + +export default AnypointmqChannelBindingVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/message-binding/BindingVersionVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/message-binding/BindingVersionVisitor.ts new file mode 100644 index 0000000000..5f892877c6 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/message-binding/BindingVersionVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../../../FallbackVisitor'; + +const BindingVersionVisitor = FallbackVisitor; + +export default BindingVersionVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/message-binding/index.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/message-binding/index.ts new file mode 100644 index 0000000000..06554c8233 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/message-binding/index.ts @@ -0,0 +1,18 @@ +import stampit from 'stampit'; +import { always } from 'ramda'; + +import AnypointmqMessageBindingElement from '../../../../../../elements/bindings/anypointmq/AnypointmqMessageBinding'; +import FallbackVisitor from '../../../../FallbackVisitor'; +import FixedFieldsVisitor from '../../../../generics/FixedFieldsVisitor'; + +const AnypointmqMessageBindingVisitor = stampit(FixedFieldsVisitor, FallbackVisitor, { + props: { + specPath: always(['document', 'objects', 'bindings', 'anypointmq', 'MessageBinding']), + canSupportSpecificationExtensions: false, + }, + init() { + this.element = new AnypointmqMessageBindingElement(); + }, +}); + +export default AnypointmqMessageBindingVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/operation-binding/index.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/operation-binding/index.ts new file mode 100644 index 0000000000..64a06ae28d --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/operation-binding/index.ts @@ -0,0 +1,18 @@ +import stampit from 'stampit'; +import { always } from 'ramda'; + +import AnypointmqOperationBindingElement from '../../../../../../elements/bindings/anypointmq/AnypointmqOperationBinding'; +import FallbackVisitor from '../../../../FallbackVisitor'; +import FixedFieldsVisitor from '../../../../generics/FixedFieldsVisitor'; + +const AnypointmqOperationBindingVisitor = stampit(FixedFieldsVisitor, FallbackVisitor, { + props: { + specPath: always(['document', 'objects', 'bindings', 'anypointmq', 'OperationBinding']), + canSupportSpecificationExtensions: false, + }, + init() { + this.element = new AnypointmqOperationBindingElement(); + }, +}); + +export default AnypointmqOperationBindingVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/server-binding/index.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/server-binding/index.ts new file mode 100644 index 0000000000..3f55cfbf7c --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/bindings/anypointmq/server-binding/index.ts @@ -0,0 +1,18 @@ +import stampit from 'stampit'; +import { always } from 'ramda'; + +import AnypointmqServerBindingElement from '../../../../../../elements/bindings/anypointmq/AnypointmqServerBinding'; +import FallbackVisitor from '../../../../FallbackVisitor'; +import FixedFieldsVisitor from '../../../../generics/FixedFieldsVisitor'; + +const AnypointmqServerBindingVisitor = stampit(FixedFieldsVisitor, FallbackVisitor, { + props: { + specPath: always(['document', 'objects', 'bindings', 'anypointmq', 'ServerBinding']), + canSupportSpecificationExtensions: false, + }, + init() { + this.element = new AnypointmqServerBindingElement(); + }, +}); + +export default AnypointmqServerBindingVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/channel-item/ServersVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/channel-item/ServersVisitor.ts new file mode 100644 index 0000000000..1d697a12a8 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/channel-item/ServersVisitor.ts @@ -0,0 +1,31 @@ +import stampit from 'stampit'; +import { ArrayElement, Element, isStringElement, BREAK } from '@swagger-api/apidom-core'; + +import SpecificationVisitor from '../../SpecificationVisitor'; +import FallbackVisitor from '../../FallbackVisitor'; + +const ServersVisitor = stampit(SpecificationVisitor, FallbackVisitor, { + init() { + this.element = new ArrayElement(); + this.element.classes.push('channel-item-server-names-list'); + }, + methods: { + ArrayElement(arrayElement: ArrayElement) { + arrayElement.forEach((item: Element) => { + const element = item.clone(); + + if (isStringElement(element)) { + element.classes.push('server-name'); + } + + this.element.push(element); + }); + + this.copyMetaAndAttributes(arrayElement, this.element); + + return BREAK; + }, + }, +}); + +export default ServersVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/HeadersVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/HeadersVisitor.ts new file mode 100644 index 0000000000..fadf366088 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/HeadersVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../FallbackVisitor'; + +const HeadersVisitor = FallbackVisitor; + +export default HeadersVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/NameVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/NameVisitor.ts new file mode 100644 index 0000000000..859b4e3a14 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/NameVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../FallbackVisitor'; + +const NameVisitor = FallbackVisitor; + +export default NameVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/PayloadVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/PayloadVisitor.ts new file mode 100644 index 0000000000..ac70fab0bd --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/PayloadVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../FallbackVisitor'; + +const PayloadVisitor = FallbackVisitor; + +export default PayloadVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/SummaryVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/SummaryVisitor.ts new file mode 100644 index 0000000000..83fed07e9e --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/SummaryVisitor.ts @@ -0,0 +1,5 @@ +import FallbackVisitor from '../../FallbackVisitor'; + +const SummaryVisitor = FallbackVisitor; + +export default SummaryVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/index.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/index.ts new file mode 100644 index 0000000000..0ed67bd1f9 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-example/index.ts @@ -0,0 +1,18 @@ +import stampit from 'stampit'; +import { always } from 'ramda'; + +import MessageExampleElement from '../../../../elements/MessageExample'; +import FallbackVisitor from '../../FallbackVisitor'; +import FixedFieldsVisitor from '../../generics/FixedFieldsVisitor'; + +const MessageExampleVisitor = stampit(FixedFieldsVisitor, FallbackVisitor, { + props: { + specPath: always(['document', 'objects', 'MessageExample']), + canSupportSpecificationExtensions: true, + }, + init() { + this.element = new MessageExampleElement(); + }, +}); + +export default MessageExampleVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-trait/ExamplesVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-trait/ExamplesVisitor.ts index 2ede4fec37..54bd2bbde3 100644 --- a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-trait/ExamplesVisitor.ts +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message-trait/ExamplesVisitor.ts @@ -1,5 +1,32 @@ +import stampit from 'stampit'; +import { ArrayElement, Element, isObjectElement, BREAK } from '@swagger-api/apidom-core'; + +import SpecificationVisitor from '../../SpecificationVisitor'; import FallbackVisitor from '../../FallbackVisitor'; -const ExamplesVisitor = FallbackVisitor; +const ExamplesVisitor = stampit(SpecificationVisitor, FallbackVisitor, { + init() { + this.element = new ArrayElement(); + }, + methods: { + ArrayElement(arrayElement: ArrayElement) { + arrayElement.forEach((item: Element) => { + let element; + + if (isObjectElement(item)) { + element = this.toRefractedElement(['document', 'objects', 'MessageExample'], item); + } else { + element = item.clone(); + } + + this.element.push(element); + }); + + this.copyMetaAndAttributes(arrayElement, this.element); + + return BREAK; + }, + }, +}); export default ExamplesVisitor; diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/ExamplesVisitor.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/ExamplesVisitor.ts index d36b1e4d34..54bd2bbde3 100644 --- a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/ExamplesVisitor.ts +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/ExamplesVisitor.ts @@ -1,34 +1,22 @@ import stampit from 'stampit'; -import { - ArrayElement, - Element, - MemberElement, - isObjectElement, - BREAK, -} from '@swagger-api/apidom-core'; +import { ArrayElement, Element, isObjectElement, BREAK } from '@swagger-api/apidom-core'; +import SpecificationVisitor from '../../SpecificationVisitor'; import FallbackVisitor from '../../FallbackVisitor'; -const ExamplesVisitor = stampit(FallbackVisitor, { +const ExamplesVisitor = stampit(SpecificationVisitor, FallbackVisitor, { init() { this.element = new ArrayElement(); - this.element.classes.push('examples'); }, methods: { ArrayElement(arrayElement: ArrayElement) { - const fixedFields = ['payload', 'header', 'name', 'summary']; - arrayElement.forEach((item: Element) => { - const element = item.clone(); + let element; - // this object has no formal name/type so we're processing it in dynamic way here if (isObjectElement(item)) { - // @ts-ignore - element.forEach((value: Element, key: Element, member: MemberElement) => { - if (fixedFields.includes(key.toValue())) { - member.classes.push('fixed-field'); - } - }); + element = this.toRefractedElement(['document', 'objects', 'MessageExample'], item); + } else { + element = item.clone(); } this.element.push(element); diff --git a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/index.ts b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/index.ts index 7913cb5c2e..9a02e0cb1a 100644 --- a/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/index.ts +++ b/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/message/index.ts @@ -25,6 +25,9 @@ const MessageVisitor = stampit(FixedFieldsVisitor, FallbackVisitor, { 'application/vnd.aai.asyncapi;version=2.1.0', 'application/vnd.aai.asyncapi+json;version=2.1.0', 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0', ].includes(schemaFormat) && isObjectElement(payload) ) { diff --git a/packages/apidom-ns-asyncapi-2/src/traversal/visitor.ts b/packages/apidom-ns-asyncapi-2/src/traversal/visitor.ts index 29eb9af73e..0ea48ff815 100644 --- a/packages/apidom-ns-asyncapi-2/src/traversal/visitor.ts +++ b/packages/apidom-ns-asyncapi-2/src/traversal/visitor.ts @@ -77,6 +77,11 @@ export const keyMap = { KafkaMessageBindingElement: ['content'], KafkaOperationBindingElement: ['content'], KafkaServerBindingElement: ['content'], + // Anypoint MQ + AnypointmqChannelBindingElement: ['content'], + AnypointmqMessageBindingElement: ['content'], + AnypointmqOperationBindingElement: ['content'], + AnypointmqServerBindingElement: ['content'], // Mercure MercureChannelBindingElement: ['content'], MercureMessageBindingElement: ['content'], diff --git a/packages/apidom-ns-asyncapi-2/test/perf/visitor-shortcut.js b/packages/apidom-ns-asyncapi-2/test/perf/visitor-shortcut.js index a0a8934416..7ceca199ee 100644 --- a/packages/apidom-ns-asyncapi-2/test/perf/visitor-shortcut.js +++ b/packages/apidom-ns-asyncapi-2/test/perf/visitor-shortcut.js @@ -6,7 +6,7 @@ const { ObjectElement } = require('@swagger-api/apidom-core'); const { AsyncApi2Element } = require('../../src'); const genericObjectElement = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', info: { title: 'Webhook Example', version: '1.0.0', diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap index 1c2747778e..03c054f56f 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should refract to AsyncApi 2.0.0 Element 1`] = ` +exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should refract to AsyncApi2Element 1`] = ` { "element": "asyncApi2", "meta": { @@ -2802,20 +2802,9 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re }, "value": { "element": "array", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "examples" - } - ] - } - }, "content": [ { - "element": "object", + "element": "messageExample", "content": [ { "element": "member", @@ -3495,7 +3484,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "element": "array", "content": [ { - "element": "object", + "element": "messageExample", "content": [ { "element": "member", @@ -5852,20 +5841,9 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re }, "value": { "element": "array", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "examples" - } - ] - } - }, "content": [ { - "element": "object", + "element": "messageExample", "content": [ { "element": "member", @@ -6545,7 +6523,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "element": "array", "content": [ { - "element": "object", + "element": "messageExample", "content": [ { "element": "member", @@ -8497,7 +8475,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re } `; -exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should refract to AsyncApi 2.1.0 Element 1`] = ` +exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should refract to AsyncApi2Element 1`] = ` { "element": "asyncApi2", "meta": { @@ -11480,23 +11458,23 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re }, "value": { "element": "array", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "examples" - } - ] - } - }, "content": [ { - "element": "object", + "element": "messageExample", "content": [ { "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, "content": { "key": { "element": "string", @@ -12243,7 +12221,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "element": "array", "content": [ { - "element": "object", + "element": "messageExample", "content": [ { "element": "member", @@ -16170,3 +16148,8107 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re ] } `; + +exports[`refractor given generic ApiDOM object in AsyncApi 2.2.0 shape should refract to AsyncApi2Element 1`] = ` +{ + "element": "asyncApi2", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "api" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "asyncapi" + }, + "value": { + "element": "asyncApiVersion", + "content": "2.2.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "id" + }, + "value": { + "element": "identifier", + "content": "urn:com:smartylighting:streetlights:server" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "info" + }, + "value": { + "element": "info", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "info" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" + }, + "value": { + "element": "string", + "content": "AsyncAPI Sample App" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "version" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "version" + } + ] + } + }, + "content": "1.0.1" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "This is a sample server." + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "termsOfService" + }, + "value": { + "element": "string", + "content": "http://asyncapi.org/terms/" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contact" + }, + "value": { + "element": "contact", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "API Support" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "http://www.asyncapi.org/support" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "email" + }, + "value": { + "element": "string", + "content": "support@asyncapi.org" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "license" + }, + "value": { + "element": "license", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "Apache 2.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "servers" + }, + "value": { + "element": "servers", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "servers" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "production" + }, + "value": { + "element": "server", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "server-url" + } + ] + } + }, + "content": "{username}.gigantic-server.com" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "protocol" + }, + "value": { + "element": "string", + "content": "kafka" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "protocolVersion" + }, + "value": { + "element": "string", + "content": "1.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "Production server" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "variables" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "server-variables" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "username" + }, + "value": { + "element": "serverVariable", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "enum" + }, + "value": { + "element": "array", + "content": [ + { + "element": "string", + "content": "demo" + }, + { + "element": "string", + "content": "demo1" + }, + { + "element": "string", + "content": "demo2" + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "default" + }, + "value": { + "element": "string", + "content": "demo" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "This value is assigned by the service provider, in this example \`gigantic-server.com\`" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "examples" + }, + "value": { + "element": "array", + "content": [ + { + "element": "string", + "content": "demo" + }, + { + "element": "string", + "content": "demo1" + }, + { + "element": "string", + "content": "demo2" + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "security" + }, + "value": { + "element": "array", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "server-security" + } + ] + } + }, + "content": [ + { + "element": "securityRequirement", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "petstore_auth" + }, + "value": { + "element": "array", + "content": [ + { + "element": "string", + "content": "write:pets" + }, + { + "element": "string", + "content": "read:pets" + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "serverBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaServerBinding" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqServerBinding" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ibmmq" + }, + "value": { + "element": "ibmmqServerBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "groupId" + }, + "value": { + "element": "string", + "content": "PRODCLSTR1" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "0.1.0" + } + } + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "development" + }, + "value": { + "element": "server", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "server-url" + } + ] + } + }, + "content": "gigantic-server.com" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "protocol" + }, + "value": { + "element": "string", + "content": "kafka" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "serverBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/serverBindings/ServerBinding1" + } + } + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "defaultContentType" + }, + "value": { + "element": "defaultContentType", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "channels" + }, + "value": { + "element": "channels", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "user/signedup" + }, + "value": { + "element": "channelItem", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "This channel is used to exchange messages about users signing up" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "servers" + }, + "value": { + "element": "array", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "channel-item-server-names-list" + } + ] + } + }, + "content": [ + { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "server-name" + } + ] + } + }, + "content": "production" + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "subscribe" + }, + "value": { + "element": "operation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "operationId" + }, + "value": { + "element": "string", + "content": "operation1" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" + }, + "value": { + "element": "string", + "content": "A user signed up." + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "A user signed up description." + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "tag1" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag1" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag 1 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/tag1" + } + } + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of operation1 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/operation1-external-docs" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "traits" + }, + "value": { + "element": "array", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "operation-traits" + } + ] + } + }, + "content": [ + { + "element": "operationTrait", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "operationId" + }, + "value": { + "element": "string", + "content": "operation1" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" + }, + "value": { + "element": "string", + "content": "A user signed up." + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "A user signed up description." + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "tag2" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag2" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag 2 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/tag2" + } + } + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of operation1 trait external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/operation1-trait-external-docs" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "operationBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaOperationBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "clientId" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "groupId" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "0.1.0" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqOperationBinding" + } + } + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "message" + }, + "value": { + "element": "message", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "object" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "payload" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "object" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "properties" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-schema-properties" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "user" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "schema" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/schemas/user" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "signup" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "schema" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/schemas/signup" + } + } + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" + }, + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "correlation id description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "location" + }, + "value": { + "element": "string", + "content": "http://asyncapi.com/" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemaFormat" + }, + "value": { + "element": "string", + "content": "application/vnd.aai.asyncapi;version=2.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contentType" + }, + "value": { + "element": "string", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "name of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" + }, + "value": { + "element": "string", + "content": "title of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" + }, + "value": { + "element": "string", + "content": "summary of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "A longer description of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "tag3" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag3" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag 3 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/tag3" + } + } + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of message 1 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/message-1-external-docs" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "messageBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaMessageBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "key" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "0.1.0" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqMessageBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "schema" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "latest" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ibmmq" + }, + "value": { + "element": "ibmmqMessageBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "jms" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "0.1.0" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "examples" + }, + "value": { + "element": "array", + "content": [ + { + "element": "messageExample", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "object" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "payload" + }, + "value": { + "element": "object" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "example name" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" + }, + "value": { + "element": "string", + "content": "example summary" + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "traits" + }, + "value": { + "element": "array", + "content": [ + { + "element": "messageTrait", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "object" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" + }, + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "correlation id description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "location" + }, + "value": { + "element": "string", + "content": "http://asyncapi.com/" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemaFormat" + }, + "value": { + "element": "string", + "content": "application/vnd.aai.asyncapi;version=2.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contentType" + }, + "value": { + "element": "string", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "name of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" + }, + "value": { + "element": "string", + "content": "title of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" + }, + "value": { + "element": "string", + "content": "summary of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "A longer description of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "tag4" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag4" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag 4 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/tag4" + } + } + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of message 1 trait external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/message-1-trait-external-docs" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "messageBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaMessageBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "key" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "0.1.0" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqMessageBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "schema" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "latest" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "examples" + }, + "value": { + "element": "array", + "content": [ + { + "element": "messageExample", + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "a" + }, + "value": { + "element": "string", + "content": "b" + } + } + } + ] + } + ] + } + } + } + ] + }, + { + "element": "messageTrait", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "messageBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/messageBindings/MessageBinding1" + } + } + } + ] + } + } + } + ] + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "operationBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaOperationBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "clientId" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "groupId" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "0.1.0" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqOperationBinding" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "publish" + }, + "value": { + "element": "operation" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "parameters" + }, + "value": { + "element": "parameters", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "userId" + }, + "value": { + "element": "parameter", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "parameter description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schema" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "location" + }, + "value": { + "element": "string", + "content": "http://example.com" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "userIdRef" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "parameter" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/parameters/userId" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "channelBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaChannelBinding" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqChannelBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "destinationType" + }, + "value": { + "element": "string", + "content": "queue" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ibmmq" + }, + "value": { + "element": "ibmmqChannelBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "destinationType" + }, + "value": { + "element": "string", + "content": "topic" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindingVersion" + }, + "value": { + "element": "string", + "content": "0.1.0" + } + } + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "user/loggedout" + }, + "value": { + "element": "channelItem", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-element" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "https://outside.com/#/path/to/channelItem" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "This channel is used to exchange messages about users logging out" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "subscribe" + }, + "value": { + "element": "operation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "message" + }, + "value": { + "element": "message", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "messageBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/messageBindings/MessageBinding1" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "traits" + }, + "value": { + "element": "array", + "content": [ + { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "messageTrait" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/messageTraits/MessageTrait1" + } + } + } + ] + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "publish" + }, + "value": { + "element": "operation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "operationId" + }, + "value": { + "element": "string", + "content": "operation2" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" + }, + "value": { + "element": "string", + "content": "A user signed up." + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "A user signed up description." + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "tag5" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag5" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of tag 5 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/tag5" + } + } + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of operation2 external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/operation2-external-docs" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "traits" + }, + "value": { + "element": "array", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "operation-traits" + } + ] + } + }, + "content": [ + { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "operationTrait" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/operationTraits/OperationTrait1" + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "message" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/messages/Message1" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "operationBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/operationBindings/OperationBinding1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "parameters" + }, + "value": { + "element": "parameters", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "userId" + }, + "value": { + "element": "parameter", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "parameter description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schema" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "location" + }, + "value": { + "element": "string", + "content": "http://example.com" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "userIdRef" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "parameter" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/parameters/userId" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "bindings" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "channelBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/channelBindings/ChannelBinding1" + } + } + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "components" + }, + "value": { + "element": "components", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemas" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-schemas" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "Schema1" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "object" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "Schema2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "schema" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/schemas/Schema1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "messages" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-messages" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "Message1" + }, + "value": { + "element": "message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "Message2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "message" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/messages/Message1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "securitySchemes" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-security-schemes" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "SecurityScheme1" + }, + "value": { + "element": "securityScheme" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "SecurityScheme2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "securityScheme" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/securitySchemes/SecurityScheme1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "parameters" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-parameters" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "Parameter1" + }, + "value": { + "element": "parameter", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "parameter description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schema" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "location" + }, + "value": { + "element": "string", + "content": "http://example.com" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "Parameter2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "parameter" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/parameters/Parameter1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationIds" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-correlation-ids" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "CorrelationID1" + }, + "value": { + "element": "correlationID" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "CorrelationID2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "correlationID" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/correlationIds/CorrelationID1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "operationTraits" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-operation-traits" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "OperationTrait1" + }, + "value": { + "element": "operationTrait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "OperationTrait2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "operationTrait" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/operationTraits/OperationTrait1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "messageTraits" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-message-traits" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "MessageTrait1" + }, + "value": { + "element": "messageTrait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "MessageTrait2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "messageTrait" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/messageTraits/MessageTrait1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "serverBindings" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-server-bindings" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ServerBinding1" + }, + "value": { + "element": "serverBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaServerBinding" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqServerBinding" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ServerBinding2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "serverBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/serverBindings/ServerBinding1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "channelBindings" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-channel-bindings" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ChannelBinding1" + }, + "value": { + "element": "channelBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaChannelBinding" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqChannelBinding" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ChannelBinding2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "channelBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/channelBindings/ChannelBinding1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "operationBindings" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-operation-bindings" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "OperationBinding1" + }, + "value": { + "element": "operationBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaOperationBinding" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqOperationBinding" + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "OperationBinding2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "operationBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/operationBindings/OperationBinding1" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "messageBindings" + }, + "value": { + "element": "object", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "components-message-bindings" + } + ] + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "MessageBinding1" + }, + "value": { + "element": "messageBindings", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaMessageBinding" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "anypointmq" + }, + "value": { + "element": "anypointmqMessageBinding", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "schema" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "MessageBinding2" + }, + "value": { + "element": "reference", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" + } + ] + }, + "referenced-element": { + "element": "string", + "content": "messageBindings" + } + }, + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "reference-value" + } + ] + } + }, + "content": "#/components/messageBindings/MessageBinding1" + } + } + } + ] + } + } + } + ] + } + } + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" + }, + "value": { + "element": "string", + "content": "topLevelTag" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "topLevelTag description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of topLevelTag external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/topLevelTag" + } + } + } + ] + } + } + } + ] + } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" + }, + "value": { + "element": "string", + "content": "description of this document external docs" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/document" + } + } + } + ] + } + } + } + ] +} +`; diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/AsyncApiVersion/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/AsyncApiVersion/index.ts index ddec195549..74d0d7740a 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/AsyncApiVersion/index.ts +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/AsyncApiVersion/index.ts @@ -7,7 +7,7 @@ describe('refractor', function () { context('elements', function () { context('AsyncApiVersionElement', function () { specify('should refract to semantic ApiDOM tree', function () { - const asyncApiVersion = AsyncApiVersionElement.refract('2.1.0'); + const asyncApiVersion = AsyncApiVersionElement.refract('2.2.0'); expect(sexprs(asyncApiVersion)).toMatchSnapshot(); }); diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/__snapshots__/index.ts.snap index 133501eac6..130053abdf 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/__snapshots__/index.ts.snap @@ -11,6 +11,9 @@ exports[`refractor elements ChannelBindingsElement should refract to semantic Ap (MemberElement (StringElement) (KafkaChannelBindingElement)) + (MemberElement + (StringElement) + (AnypointmqChannelBindingElement)) (MemberElement (StringElement) (AmqpChannelBindingElement)) diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/index.ts index 1553973955..7a760de072 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/index.ts +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelBindings/index.ts @@ -11,6 +11,7 @@ describe('refractor', function () { http: {}, ws: {}, kafka: {}, + anypointmq: {}, amqp: {}, amqp1: {}, mqtt: {}, diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/__snapshots__/index.ts.snap index 1630d21c33..f25b9593aa 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/__snapshots__/index.ts.snap @@ -25,6 +25,11 @@ exports[`refractor elements ChannelItemElement should refract to semantic ApiDOM (MemberElement (StringElement) (StringElement)) + (MemberElement + (StringElement) + (ArrayElement + (StringElement) + (StringElement))) (MemberElement (StringElement) (OperationElement)) diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/index.ts index cb4ac98dc2..a26bab5eb0 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/index.ts +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ChannelItem/index.ts @@ -10,6 +10,7 @@ describe('refractor', function () { const channelItemElement = ChannelItemElement.refract({ $ref: '#/path/to/channel-item', description: 'channel-item-description', + servers: ['server1', 'server2'], subscribe: {}, publish: {}, parameters: {}, diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/Message/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/Message/__snapshots__/index.ts.snap index c097229c60..fba30e9dc3 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/Message/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/Message/__snapshots__/index.ts.snap @@ -29,7 +29,7 @@ exports[`refractor elements MessageElement should refract to semantic ApiDOM tre (MemberElement (StringElement) (ArrayElement - (ObjectElement + (MessageExampleElement (MemberElement (StringElement) (ObjectElement)) diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/__snapshots__/index.ts.snap index 3e12c76ede..75862d4589 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/__snapshots__/index.ts.snap @@ -11,6 +11,9 @@ exports[`refractor elements MessageBindingsElement should refract to semantic Ap (MemberElement (StringElement) (KafkaMessageBindingElement)) + (MemberElement + (StringElement) + (AnypointmqMessageBindingElement)) (MemberElement (StringElement) (AmqpMessageBindingElement)) diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/index.ts index 9dba50d5b4..f5370bcb94 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/index.ts +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageBindings/index.ts @@ -11,6 +11,7 @@ describe('refractor', function () { http: {}, ws: {}, kafka: {}, + anypointmq: {}, amqp: {}, amqp1: {}, mqtt: {}, diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageExample/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageExample/__snapshots__/index.ts.snap new file mode 100644 index 0000000000..4e0c68729e --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageExample/__snapshots__/index.ts.snap @@ -0,0 +1,20 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`refractor elements MessageExampleElement should refract to semantic ApiDOM tree 1`] = ` +(MessageExampleElement + (MemberElement + (StringElement) + (ObjectElement + (MemberElement + (StringElement) + (StringElement)))) + (MemberElement + (StringElement) + (StringElement)) + (MemberElement + (StringElement) + (StringElement)) + (MemberElement + (StringElement) + (StringElement))) +`; diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageExample/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageExample/index.ts new file mode 100644 index 0000000000..91a155d530 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageExample/index.ts @@ -0,0 +1,21 @@ +import { expect } from 'chai'; +import { sexprs } from '@swagger-api/apidom-core'; + +import { MessageExampleElement } from '../../../../src'; + +describe('refractor', function () { + context('elements', function () { + context('MessageExampleElement', function () { + specify('should refract to semantic ApiDOM tree', function () { + const messageExampleElement = MessageExampleElement.refract({ + headers: { 'Content-Type': 'application/json' }, + payload: '{"a":"b"}', + name: 'example name', + summary: 'example summary', + }); + + expect(sexprs(messageExampleElement)).toMatchSnapshot(); + }); + }); + }); +}); diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageTrait/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageTrait/__snapshots__/index.ts.snap index 5e191f1109..26e630795c 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageTrait/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/MessageTrait/__snapshots__/index.ts.snap @@ -29,7 +29,7 @@ exports[`refractor elements MessageTraitElement should refract to semantic ApiDO (MemberElement (StringElement) (ArrayElement - (ObjectElement + (MessageExampleElement (MemberElement (StringElement) (NumberElement)))))) diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/__snapshots__/index.ts.snap index 40e053cbc9..8ca9626be4 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/__snapshots__/index.ts.snap @@ -11,6 +11,9 @@ exports[`refractor elements OperationBindingsElement should refract to semantic (MemberElement (StringElement) (KafkaOperationBindingElement)) + (MemberElement + (StringElement) + (AnypointmqOperationBindingElement)) (MemberElement (StringElement) (AmqpOperationBindingElement)) diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/index.ts index fac99b66a6..f9491b3dd2 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/index.ts +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/OperationBindings/index.ts @@ -11,6 +11,7 @@ describe('refractor', function () { http: {}, ws: {}, kafka: {}, + anypointmq: {}, amqp: {}, amqp1: {}, mqtt: {}, diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/__snapshots__/index.ts.snap index 0ed69685ae..9430d32ebf 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/__snapshots__/index.ts.snap +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/__snapshots__/index.ts.snap @@ -11,6 +11,9 @@ exports[`refractor elements ServerBindingsElement should refract to semantic Api (MemberElement (StringElement) (KafkaServerBindingElement)) + (MemberElement + (StringElement) + (AnypointmqServerBindingElement)) (MemberElement (StringElement) (AmqpServerBindingElement)) diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/index.ts index 0dd9ab5dc7..05be5a91a8 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/index.ts +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/ServerBindings/index.ts @@ -11,6 +11,7 @@ describe('refractor', function () { http: {}, ws: {}, kafka: {}, + anypointmq: {}, amqp: {}, amqp1: {}, mqtt: {}, diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqChannelBinding/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqChannelBinding/__snapshots__/index.ts.snap new file mode 100644 index 0000000000..1a7879fe64 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqChannelBinding/__snapshots__/index.ts.snap @@ -0,0 +1,14 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`refractor elements AnypointmqChannelBindingElement should refract to semantic ApiDOM tree 1`] = ` +(AnypointmqChannelBindingElement + (MemberElement + (StringElement) + (StringElement)) + (MemberElement + (StringElement) + (StringElement)) + (MemberElement + (StringElement) + (StringElement))) +`; diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqChannelBinding/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqChannelBinding/index.ts new file mode 100644 index 0000000000..71d1cc9f9b --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqChannelBinding/index.ts @@ -0,0 +1,20 @@ +import { expect } from 'chai'; +import { sexprs } from '@swagger-api/apidom-core'; + +import { AnypointmqChannelBindingElement } from '../../../../../../src'; + +describe('refractor', function () { + context('elements', function () { + context('AnypointmqChannelBindingElement', function () { + specify('should refract to semantic ApiDOM tree', function () { + const anypointmqChannelBindingElement = AnypointmqChannelBindingElement.refract({ + destination: 'channel-name', + destinationType: 'queue', + bindingVersion: 'latest', + }); + + expect(sexprs(anypointmqChannelBindingElement)).toMatchSnapshot(); + }); + }); + }); +}); diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqMessageBinding/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqMessageBinding/__snapshots__/index.ts.snap new file mode 100644 index 0000000000..7ab279d147 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqMessageBinding/__snapshots__/index.ts.snap @@ -0,0 +1,11 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`refractor elements AnypointmqMessageBindingElement should refract to semantic ApiDOM tree 1`] = ` +(AnypointmqMessageBindingElement + (MemberElement + (StringElement) + (SchemaElement)) + (MemberElement + (StringElement) + (StringElement))) +`; diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqMessageBinding/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqMessageBinding/index.ts new file mode 100644 index 0000000000..1aa0db3131 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqMessageBinding/index.ts @@ -0,0 +1,19 @@ +import { expect } from 'chai'; +import { sexprs } from '@swagger-api/apidom-core'; + +import { AnypointmqMessageBindingElement } from '../../../../../../src'; + +describe('refractor', function () { + context('elements', function () { + context('AnypointmqMessageBindingElement', function () { + specify('should refract to semantic ApiDOM tree', function () { + const anypointmqMessageBindingElement = AnypointmqMessageBindingElement.refract({ + headers: {}, + bindingVersion: '0.1.0', + }); + + expect(sexprs(anypointmqMessageBindingElement)).toMatchSnapshot(); + }); + }); + }); +}); diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqOperationBinding/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqOperationBinding/__snapshots__/index.ts.snap new file mode 100644 index 0000000000..e0a098208f --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqOperationBinding/__snapshots__/index.ts.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`refractor elements AnypointmqOperationBindingElement should refract to semantic ApiDOM tree 1`] = `(AnypointmqOperationBindingElement)`; diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqOperationBinding/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqOperationBinding/index.ts new file mode 100644 index 0000000000..cb4ae52884 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqOperationBinding/index.ts @@ -0,0 +1,16 @@ +import { expect } from 'chai'; +import { sexprs } from '@swagger-api/apidom-core'; + +import { AnypointmqOperationBindingElement } from '../../../../../../src'; + +describe('refractor', function () { + context('elements', function () { + context('AnypointmqOperationBindingElement', function () { + specify('should refract to semantic ApiDOM tree', function () { + const anypointmqOperationBindingElement = AnypointmqOperationBindingElement.refract({}); + + expect(sexprs(anypointmqOperationBindingElement)).toMatchSnapshot(); + }); + }); + }); +}); diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqServerBinding/__snapshots__/index.ts.snap b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqServerBinding/__snapshots__/index.ts.snap new file mode 100644 index 0000000000..96bcf9ed8e --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqServerBinding/__snapshots__/index.ts.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`refractor elements AnypointmqServerBindingElement should refract to semantic ApiDOM tree 1`] = `(AnypointmqServerBindingElement)`; diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqServerBinding/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqServerBinding/index.ts new file mode 100644 index 0000000000..44b0a3318c --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/elements/bindings/anypointmq/AnypointmqServerBinding/index.ts @@ -0,0 +1,16 @@ +import { expect } from 'chai'; +import { sexprs } from '@swagger-api/apidom-core'; + +import { AnypointmqServerBindingElement } from '../../../../../../src'; + +describe('refractor', function () { + context('elements', function () { + context('AnypointmqServerBindingElement', function () { + specify('should refract to semantic ApiDOM tree', function () { + const anypointmqServerBindingElement = AnypointmqServerBindingElement.refract({}); + + expect(sexprs(anypointmqServerBindingElement)).toMatchSnapshot(); + }); + }); + }); +}); diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-2-0.json b/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-2-0.json new file mode 100644 index 0000000000..a3a5894833 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-2-0.json @@ -0,0 +1,428 @@ +{ + "asyncapi": "2.2.0", + "id": "urn:com:smartylighting:streetlights:server", + "info": { + "title": "AsyncAPI Sample App", + "version": "1.0.1", + "description": "This is a sample server.", + "termsOfService": "http://asyncapi.org/terms/", + "contact": { + "name": "API Support", + "url": "http://www.asyncapi.org/support", + "email": "support@asyncapi.org" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + }, + "servers": { + "production": { + "url": "{username}.gigantic-server.com", + "protocol": "kafka", + "protocolVersion": "1.0.0", + "description": "Production server", + "variables": { + "username": { + "enum": ["demo", "demo1", "demo2"], + "default": "demo", + "description": "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples": ["demo", "demo1", "demo2"] + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ], + "bindings": { + "kafka": {}, + "anypointmq": {}, + "ibmmq": { + "groupId": "PRODCLSTR1", + "bindingVersion": "0.1.0" + } + } + }, + "development": { + "url": "gigantic-server.com", + "protocol": "kafka", + "bindings": { + "$ref": "#/components/serverBindings/ServerBinding1" + } + } + }, + "defaultContentType": "application/json", + "channels": { + "user/signedup": { + "description": "This channel is used to exchange messages about users signing up", + "servers": ["production"], + "subscribe": { + "operationId": "operation1", + "summary": "A user signed up.", + "description": "A user signed up description.", + "tags": [ + { + "name": "tag1", + "description": "description of tag1", + "externalDocs": { + "description": "description of tag 1 external docs", + "url": "https://example.com/tag1" + } + } + ], + "externalDocs": { + "description": "description of operation1 external docs", + "url": "https://example.com/operation1-external-docs" + }, + "traits": [ + { + "operationId": "operation1", + "summary": "A user signed up.", + "description": "A user signed up description.", + "tags": [ + { + "name": "tag2", + "description": "description of tag2", + "externalDocs": { + "description": "description of tag 2 external docs", + "url": "https://example.com/tag2" + } + } + ], + "externalDocs": { + "description": "description of operation1 trait external docs", + "url": "https://example.com/operation1-trait-external-docs" + }, + "bindings": { + "kafka": { + "clientId": { + "type": "integer" + }, + "groupId": { + "type": "integer" + }, + "bindingVersion": "0.1.0" + }, + "anypointmq": {} + } + } + ], + "message": { + "headers": { + "type": "object" + }, + "payload": { + "type": "object", + "properties": { + "user": { + "$ref": "#/components/schemas/user" + }, + "signup": { + "$ref": "#/components/schemas/signup" + } + } + }, + "correlationId": { + "description": "correlation id description", + "location": "http://asyncapi.com/" + }, + "schemaFormat": "application/vnd.aai.asyncapi;version=2.0.0", + "contentType": "application/json", + "name": "name of the message", + "title": "title of the message", + "summary": "summary of the message", + "description": "A longer description of the message", + "tags": [ + { + "name": "tag3", + "description": "description of tag3", + "externalDocs": { + "description": "description of tag 3 external docs", + "url": "https://example.com/tag3" + } + } + ], + "externalDocs": { + "description": "description of message 1 external docs", + "url": "https://example.com/message-1-external-docs" + }, + "bindings": { + "kafka": { + "key": { + "type": "integer" + }, + "bindingVersion": "0.1.0" + }, + "anypointmq": { + "headers": {}, + "bindingVersion": "latest" + }, + "ibmmq": { + "type": "jms", + "bindingVersion": "0.1.0" + } + }, + "examples": [ + { + "headers": {}, + "payload": {}, + "name": "example name", + "summary": "example summary" + } + ], + "traits": [ + { + "headers": { + "type": "object" + }, + "correlationId": { + "description": "correlation id description", + "location": "http://asyncapi.com/" + }, + "schemaFormat": "application/vnd.aai.asyncapi;version=2.0.0", + "contentType": "application/json", + "name": "name of the message trait", + "title": "title of the message trait", + "summary": "summary of the message trait", + "description": "A longer description of the message trait", + "tags": [ + { + "name": "tag4", + "description": "description of tag4", + "externalDocs": { + "description": "description of tag 4 external docs", + "url": "https://example.com/tag4" + } + } + ], + "externalDocs": { + "description": "description of message 1 trait external docs", + "url": "https://example.com/message-1-trait-external-docs" + }, + "bindings": { + "kafka": { + "key": { + "type": "integer" + }, + "bindingVersion": "0.1.0" + }, + "anypointmq": { + "headers": {}, + "bindingVersion": "latest" + } + }, + "examples": [ + { + "a": "b" + } + ] + }, + { + "bindings": { + "$ref": "#/components/messageBindings/MessageBinding1" + } + } + ] + }, + "bindings": { + "kafka": { + "clientId": { + "type": "integer" + }, + "groupId": { + "type": "integer" + }, + "bindingVersion": "0.1.0" + }, + "anypointmq": {} + } + }, + "publish": {}, + "parameters": { + "userId": { + "description": "parameter description", + "schema": { + "type": "integer" + }, + "location": "http://example.com" + }, + "userIdRef": { + "$ref": "#/components/parameters/userId" + } + }, + "bindings": { + "kafka": {}, + "anypointmq": { + "destinationType": "queue" + }, + "ibmmq": { + "destinationType": "topic", + "bindingVersion": "0.1.0" + } + } + }, + "user/loggedout": { + "$ref": "https://outside.com/#/path/to/channelItem", + "description": "This channel is used to exchange messages about users logging out", + "subscribe": { + "message": { + "bindings": { + "$ref": "#/components/messageBindings/MessageBinding1" + }, + "traits": [ + { "$ref": "#/components/messageTraits/MessageTrait1" } + ] + } + }, + "publish": { + "operationId": "operation2", + "summary": "A user signed up.", + "description": "A user signed up description.", + "tags": [ + { + "name": "tag5", + "description": "description of tag5", + "externalDocs": { + "description": "description of tag 5 external docs", + "url": "https://example.com/tag5" + } + } + ], + "externalDocs": { + "description": "description of operation2 external docs", + "url": "https://example.com/operation2-external-docs" + }, + "traits": [ + {"$ref": "#/components/operationTraits/OperationTrait1"} + ], + "message": { "$ref": "#/components/messages/Message1" }, + "bindings": { + "$ref": "#/components/operationBindings/OperationBinding1" + } + }, + "parameters": { + "userId": { + "description": "parameter description", + "schema": { + "type": "integer" + }, + "location": "http://example.com" + }, + "userIdRef": { + "$ref": "#/components/parameters/userId" + } + }, + "bindings": { + "$ref": "#/components/channelBindings/ChannelBinding1" + } + } + }, + "components": { + "schemas": { + "Schema1": { + "type": "object" + }, + "Schema2": { + "$ref": "#/components/schemas/Schema1" + } + }, + "messages": { + "Message1": {}, + "Message2": { + "$ref": "#/components/messages/Message1" + } + }, + "securitySchemes": { + "SecurityScheme1": {}, + "SecurityScheme2": { + "$ref": "#/components/securitySchemes/SecurityScheme1" + } + }, + "parameters": { + "Parameter1": { + "description": "parameter description", + "schema": { + "type": "integer" + }, + "location": "http://example.com" + }, + "Parameter2": { + "$ref": "#/components/parameters/Parameter1" + } + }, + "correlationIds": { + "CorrelationID1": {}, + "CorrelationID2": { + "$ref": "#/components/correlationIds/CorrelationID1" + } + }, + "operationTraits": { + "OperationTrait1": {}, + "OperationTrait2": { + "$ref": "#/components/operationTraits/OperationTrait1" + } + }, + "messageTraits": { + "MessageTrait1": {}, + "MessageTrait2": { + "$ref": "#/components/messageTraits/MessageTrait1" + } + }, + "serverBindings": { + "ServerBinding1": { + "kafka": {}, + "anypointmq": {} + }, + "ServerBinding2": { + "$ref": "#/components/serverBindings/ServerBinding1" + } + }, + "channelBindings": { + "ChannelBinding1": { + "kafka": {}, + "anypointmq": {} + }, + "ChannelBinding2": { + "$ref": "#/components/channelBindings/ChannelBinding1" + } + }, + "operationBindings": { + "OperationBinding1": { + "kafka": {}, + "anypointmq": {} + }, + "OperationBinding2": { + "$ref": "#/components/operationBindings/OperationBinding1" + } + }, + "messageBindings": { + "MessageBinding1": { + "kafka": {}, + "anypointmq": { + "headers": {} + } + }, + "MessageBinding2": { + "$ref": "#/components/messageBindings/MessageBinding1" + } + } + }, + "tags": [ + { + "name": "topLevelTag", + "description": "topLevelTag description", + "externalDocs": { + "description": "description of topLevelTag external docs", + "url": "https://example.com/topLevelTag" + } + } + ], + "externalDocs": { + "description": "description of this document external docs", + "url": "https://example.com/document" + } +} diff --git a/packages/apidom-ns-asyncapi-2/test/refractor/index.ts b/packages/apidom-ns-asyncapi-2/test/refractor/index.ts index 2bc587e5f7..32bea55e30 100644 --- a/packages/apidom-ns-asyncapi-2/test/refractor/index.ts +++ b/packages/apidom-ns-asyncapi-2/test/refractor/index.ts @@ -9,7 +9,7 @@ import { AsyncApi2Element, AsyncApiVersionElement, isAsyncApiVersionElement } fr describe('refractor', function () { context('given generic ApiDOM object in AsyncApi 2.0.0 shape', function () { - specify('should refract to AsyncApi 2.0.0 Element', function () { + specify('should refract to AsyncApi2Element', function () { const asyncApiString = fs .readFileSync(path.join(__dirname, 'fixtures', 'asyncapi-2-0-0.json')) .toString(); @@ -22,7 +22,7 @@ describe('refractor', function () { }); context('given generic ApiDOM object in AsyncApi 2.1.0 shape', function () { - specify('should refract to AsyncApi 2.1.0 Element', function () { + specify('should refract to AsyncApi2Element', function () { const asyncApiString = fs .readFileSync(path.join(__dirname, 'fixtures', 'asyncapi-2-1-0.json')) .toString(); @@ -34,6 +34,19 @@ describe('refractor', function () { }); }); + context('given generic ApiDOM object in AsyncApi 2.2.0 shape', function () { + specify('should refract to AsyncApi2Element', function () { + const asyncApiString = fs + .readFileSync(path.join(__dirname, 'fixtures', 'asyncapi-2-2-0.json')) + .toString(); + const asyncApiPojo = JSON.parse(asyncApiString); + const genericObjectElement = new ObjectElement(asyncApiPojo); + const asyncApiElement = AsyncApi2Element.refract(genericObjectElement); + + expect(asyncApiElement).toMatchSnapshot(); + }); + }); + context('supports plugins', function () { let plugin1Spec: any; let plugin2Spec: any; @@ -78,7 +91,7 @@ describe('refractor', function () { context('plugin', function () { specify('should be called with toolbox object', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -89,7 +102,7 @@ describe('refractor', function () { specify('should have predicates in toolbox object', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -100,7 +113,7 @@ describe('refractor', function () { specify('should have namespace in toolbox object', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -113,7 +126,7 @@ describe('refractor', function () { context('pre hook', function () { specify('should call it once', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -124,7 +137,7 @@ describe('refractor', function () { specify('should call it before other plugin pre hook', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -135,7 +148,7 @@ describe('refractor', function () { specify('should call it before visiting', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -149,7 +162,7 @@ describe('refractor', function () { context('post hook', function () { specify('should call it once', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -160,7 +173,7 @@ describe('refractor', function () { specify('should call it before other plugin post hook', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -171,7 +184,7 @@ describe('refractor', function () { specify('should call it after visiting', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -185,7 +198,7 @@ describe('refractor', function () { context('visitor', function () { specify('should be called once', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -197,7 +210,7 @@ describe('refractor', function () { specify('should be called in proper order', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -213,7 +226,7 @@ describe('refractor', function () { context('first plugin', function () { specify('should receive arguments', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -224,7 +237,7 @@ describe('refractor', function () { specify('should receive node as first argument', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -237,7 +250,7 @@ describe('refractor', function () { specify('should augment asyncapi version', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); const asyncApiElement = AsyncApi2Element.refract(genericObject, { plugins: [plugin1], @@ -250,7 +263,7 @@ describe('refractor', function () { context('second plugin', function () { specify('should receive arguments', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -261,7 +274,7 @@ describe('refractor', function () { specify('should receive node as first argument', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], @@ -274,7 +287,7 @@ describe('refractor', function () { specify('should append metadata to asyncapi version', function () { const genericObject = new ObjectElement({ - asyncapi: '2.1.0', + asyncapi: '2.2.0', }); const asyncApiElement = AsyncApi2Element.refract(genericObject, { plugins: [plugin1, plugin2], diff --git a/packages/apidom-parser-adapter-asyncapi-json-2/README.md b/packages/apidom-parser-adapter-asyncapi-json-2/README.md index 0a2d07a36b..11637e8cfd 100644 --- a/packages/apidom-parser-adapter-asyncapi-json-2/README.md +++ b/packages/apidom-parser-adapter-asyncapi-json-2/README.md @@ -4,6 +4,7 @@ - [AsyncAPI 2.0.0 specification](https://github.com/asyncapi/spec/blob/2.0.0/versions/2.0.0/asyncapi.md) - [AsyncAPI 2.1.0 specification](https://github.com/asyncapi/spec/blob/v2.1.0/spec/asyncapi.md) +- [AsyncAPI 2.2.0 specification](https://github.com/asyncapi/spec/blob/v2.2.0/spec/asyncapi.md) Under the hood this adapter uses [@swagger-api/apidom-parser-adapter-json](https://github.com/swagger-api/apidom/tree/master/packages/apidom-parser-adapter-json) to parse a source string into generic ApiDOM in [base ApiDOM namespace](https://github.com/swagger-api/apidom/tree/master/packages/apidom#base-namespace) @@ -24,6 +25,8 @@ Defines list of media types that this parser adapter recognizes. 'application/vnd.aai.asyncapi+json;version=2.0.0', 'application/vnd.aai.asyncapi;version=2.1.0', 'application/vnd.aai.asyncapi+json;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', ] ``` @@ -62,10 +65,11 @@ import { parse, detect } from '@swagger-api/apidom-parser-adapter-asyncapi-json- // detecting await detect('{"asyncapi": "2.0.0"}'); // => true await detect('{"asyncapi": "2.1.0"}'); // => true +await detect('{"asyncapi": "2.2.0"}'); // => true await detect('test'); // => false // parsing -const parseResult = await parse('{"asyncapi": "2.1.0"}', { sourceMap: true }); +const parseResult = await parse('{"asyncapi": "2.2.0"}', { sourceMap: true }); ``` ### Indirect usage @@ -80,5 +84,5 @@ const parser = ApiDOMParser(); parser.use(asyncApiJsonAdapter); -const parseResult = await parser.parse('{"asyncapi": "2.1.0"}', { mediaType: asyncApiJsonAdapter.mediaTypes[2] }); +const parseResult = await parser.parse('{"asyncapi": "2.2.0"}', { mediaType: asyncApiJsonAdapter.mediaTypes[2] }); ``` diff --git a/packages/apidom-parser-adapter-asyncapi-json-2/src/adapter.ts b/packages/apidom-parser-adapter-asyncapi-json-2/src/adapter.ts index 8c4bb908e0..1be8f5c48c 100644 --- a/packages/apidom-parser-adapter-asyncapi-json-2/src/adapter.ts +++ b/packages/apidom-parser-adapter-asyncapi-json-2/src/adapter.ts @@ -9,6 +9,8 @@ export const mediaTypes = [ 'application/vnd.aai.asyncapi+json;version=2.0.0', 'application/vnd.aai.asyncapi;version=2.1.0', 'application/vnd.aai.asyncapi+json;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', ]; export const detect = (source: string): boolean => diff --git a/packages/apidom-parser-adapter-asyncapi-json-2/test/fixtures/sample-api.json b/packages/apidom-parser-adapter-asyncapi-json-2/test/fixtures/sample-api.json index 2cc22e4530..1a1e71ca7e 100644 --- a/packages/apidom-parser-adapter-asyncapi-json-2/test/fixtures/sample-api.json +++ b/packages/apidom-parser-adapter-asyncapi-json-2/test/fixtures/sample-api.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "id": "urn:com:smartylighting:streetlights:server", "info": { "title": "AsyncAPI Sample App", diff --git a/packages/apidom-parser-adapter-asyncapi-json-2/test/perf/fixtures/asyncapi.json b/packages/apidom-parser-adapter-asyncapi-json-2/test/perf/fixtures/asyncapi.json index a8a61fad6b..470d5b9cca 100644 --- a/packages/apidom-parser-adapter-asyncapi-json-2/test/perf/fixtures/asyncapi.json +++ b/packages/apidom-parser-adapter-asyncapi-json-2/test/perf/fixtures/asyncapi.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "id": "urn:com:gitter:streaming:api", "info": { "title": "Gitter Streaming API", diff --git a/packages/apidom-parser-adapter-asyncapi-yaml-2/README.md b/packages/apidom-parser-adapter-asyncapi-yaml-2/README.md index ddce4f1a7f..eba2424fc6 100644 --- a/packages/apidom-parser-adapter-asyncapi-yaml-2/README.md +++ b/packages/apidom-parser-adapter-asyncapi-yaml-2/README.md @@ -4,6 +4,7 @@ - [AsyncAPI 2.0.0 specification](https://github.com/asyncapi/spec/blob/2.0.0/versions/2.0.0/asyncapi.md) - [AsyncAPI 2.1.0 specification](https://github.com/asyncapi/spec/blob/v2.1.0/spec/asyncapi.md) +- [AsyncAPI 2.2.0 specification](https://github.com/asyncapi/spec/blob/v2.2.0/spec/asyncapi.md) Under the hood this adapter uses [@swagger-api/apidom-parser-adapter-yaml-1-2](https://github.com/swagger-api/apidom/tree/master/packages/apidom-parser-adapter-yaml-1-2) to parse a source string into generic ApiDOM in [base ApiDOM namespace](https://github.com/swagger-api/apidom/tree/master/packages/apidom#base-namespace) @@ -24,6 +25,8 @@ Defines list of media types that this parser adapter recognizes. 'application/vnd.aai.asyncapi+yaml;version=2.0.0', 'application/vnd.aai.asyncapi;version=2.1.0', 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0', ] ``` @@ -62,10 +65,11 @@ import { parse, detect } from '@swagger-api/apidom-parser-adapter-asyncapi-yaml- // detecting await detect('asyncapi: 2.0.0'); // => true await detect('asyncapi: 2.1.0'); // => true +await detect('asyncapi: 2.2.0'); // => true await detect('test'); // => false // parsing -const parseResult = await parse('asyncapi: 2.1.0', { sourceMap: true }); +const parseResult = await parse('asyncapi: 2.2.0', { sourceMap: true }); ``` ### Indirect usage @@ -80,5 +84,5 @@ const parser = ApiDOMParser(); parser.use(asyncApiYamlAdapter); -const parseResult = await parser.parse('asyncapi: 2.1.0', { mediaType: asyncApiYamlAdapter.mediaTypes[2] }); +const parseResult = await parser.parse('asyncapi: 2.2.0', { mediaType: asyncApiYamlAdapter.mediaTypes[2] }); ``` diff --git a/packages/apidom-parser-adapter-asyncapi-yaml-2/src/adapter.ts b/packages/apidom-parser-adapter-asyncapi-yaml-2/src/adapter.ts index fab6bd7cd3..e932cbc12f 100644 --- a/packages/apidom-parser-adapter-asyncapi-yaml-2/src/adapter.ts +++ b/packages/apidom-parser-adapter-asyncapi-yaml-2/src/adapter.ts @@ -9,6 +9,8 @@ export const mediaTypes = [ 'application/vnd.aai.asyncapi+yaml;version=2.0.0', 'application/vnd.aai.asyncapi;version=2.1.0', 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0', ]; export const detect = (source: string): boolean => diff --git a/packages/apidom-parser-adapter-asyncapi-yaml-2/test/fixtures/sample-api.yaml b/packages/apidom-parser-adapter-asyncapi-yaml-2/test/fixtures/sample-api.yaml index f67ff62041..4dfcb986c4 100644 --- a/packages/apidom-parser-adapter-asyncapi-yaml-2/test/fixtures/sample-api.yaml +++ b/packages/apidom-parser-adapter-asyncapi-yaml-2/test/fixtures/sample-api.yaml @@ -1,5 +1,5 @@ --- -asyncapi: 2.1.0 +asyncapi: 2.2.0 id: urn:com:smartylighting:streetlights:server info: title: AsyncAPI Sample App diff --git a/packages/apidom-playground/src/playground/components/left-pane/EditorControls.jsx b/packages/apidom-playground/src/playground/components/left-pane/EditorControls.jsx index 689d30fd49..f71af9cbc9 100644 --- a/packages/apidom-playground/src/playground/components/left-pane/EditorControls.jsx +++ b/packages/apidom-playground/src/playground/components/left-pane/EditorControls.jsx @@ -121,6 +121,15 @@ const EditorControls = () => { application/vnd.aai.asyncapi+yaml;version=2.1.0 + + application/vnd.aai.asyncapi;version=2.2.0 + + + application/vnd.aai.asyncapi+json;version=2.2.0 + + + application/vnd.aai.asyncapi+yaml;version=2.2.0 + diff --git a/packages/apidom-reference/README.md b/packages/apidom-reference/README.md index 747db1d4c0..b111086d31 100644 --- a/packages/apidom-reference/README.md +++ b/packages/apidom-reference/README.md @@ -96,8 +96,10 @@ Supported media types are: [ 'application/vnd.aai.asyncapi;version=2.0.0', 'application/vnd.aai.asyncapi+json;version=2.0.0', - 'application/vnd.aai.asyncapi;version=2.1.0', - 'application/vnd.aai.asyncapi+json;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', ] ``` @@ -113,8 +115,8 @@ Supported media types are: [ 'application/vnd.aai.asyncapi;version=2.0.0', 'application/vnd.aai.asyncapi+yaml;version=2.0.0', - 'application/vnd.aai.asyncapi;version=2.1.0', - 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0', ] ``` @@ -697,9 +699,9 @@ Supported media types: 'application/vnd.aai.asyncapi;version=2.0.0', 'application/vnd.aai.asyncapi+json;version=2.0.0', 'application/vnd.aai.asyncapi+yaml;version=2.0.0', - 'application/vnd.aai.asyncapi;version=2.1.0', - 'application/vnd.aai.asyncapi+json;version=2.1.0', - 'application/vnd.aai.asyncapi+yaml;version=2.1.0' + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0' ] ``` @@ -966,9 +968,9 @@ Supported media types: 'application/vnd.aai.asyncapi;version=2.0.0', 'application/vnd.aai.asyncapi+json;version=2.0.0', 'application/vnd.aai.asyncapi+yaml;version=2.0.0', - 'application/vnd.aai.asyncapi;version=2.1.0', - 'application/vnd.aai.asyncapi+json;version=2.1.0', - 'application/vnd.aai.asyncapi+yaml;version=2.1.0' + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0' ] ``` diff --git a/packages/apidom-reference/src/dereference/strategies/asyncapi-2/index.ts b/packages/apidom-reference/src/dereference/strategies/asyncapi-2/index.ts index 2dc09f551b..805f40ea90 100644 --- a/packages/apidom-reference/src/dereference/strategies/asyncapi-2/index.ts +++ b/packages/apidom-reference/src/dereference/strategies/asyncapi-2/index.ts @@ -37,6 +37,9 @@ const AsyncApi2DereferenceStrategy: stampit.Stamp = stampi 'application/vnd.aai.asyncapi;version=2.1.0', 'application/vnd.aai.asyncapi+json;version=2.1.0', 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0', ].includes(file.mediaType); } diff --git a/packages/apidom-reference/src/resolve/strategies/asyncapi-2/index.ts b/packages/apidom-reference/src/resolve/strategies/asyncapi-2/index.ts index 2d5af6d129..8ec2c1aeed 100644 --- a/packages/apidom-reference/src/resolve/strategies/asyncapi-2/index.ts +++ b/packages/apidom-reference/src/resolve/strategies/asyncapi-2/index.ts @@ -34,6 +34,9 @@ const AsyncApi2ResolveStrategy: stampit.Stamp = stampit(Resolv 'application/vnd.aai.asyncapi;version=2.1.0', 'application/vnd.aai.asyncapi+json;version=2.1.0', 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + 'application/vnd.aai.asyncapi;version=2.2.0', + 'application/vnd.aai.asyncapi+json;version=2.2.0', + 'application/vnd.aai.asyncapi+yaml;version=2.2.0', ].includes(file.mediaType); } diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/dereferenced.json index 1f3a26235e..5da7c22c66 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 1 description" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/root.json index 53d3a73fb8..c0b79bfc9a 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/additional-fields/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/channelItem2", diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json index 60c5c19956..b466961c0b 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-internal-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-internal-circular/root.json index de5c2343d9..aad5a2af65 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-internal-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-internal-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json index 5cd618cc5f..8b7e8d6b3b 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 3 description" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json index 056ec43813..301aadb957 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex1.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json index 5ff84f9462..c2586ee066 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item description" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json index 60c5c19956..b466961c0b 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json index 455f8bab2f..12cf896316 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json index 60c5c19956..b466961c0b 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json index 056ec43813..301aadb957 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex1.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-internal-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-internal-circular/root.json index 858d7b5113..3d33b52eed 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-internal-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-internal-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json index 5104729e5e..e1cbdf8d0a 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 2 description" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json index 6d50c66297..6d22e1748a 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/dereferenced.json index e49ebd5aa1..69075a6646 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 3 description" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/root.json index 30a9ec17ee..368a4ce8d1 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-indirections/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json index c9f77a00f1..f70413a84a 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 2 description" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json index 1224a62819..91062790c3 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json index 199ba5c04f..d6d2beecb0 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "invalid-pointer" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json index 056ec43813..301aadb957 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex1.json#/channelItem2" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json index 7db4fe8837..90470d82c1 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/invalid-pointer" diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/index.ts b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/index.ts index 6a0b16a832..08fe9df791 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/index.ts +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/channel-item-object/index.ts @@ -19,7 +19,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -33,7 +33,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -47,7 +47,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -61,7 +61,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -75,7 +75,7 @@ describe('dereference', function () { specify('should not dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, resolve: { external: false }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -90,7 +90,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -104,7 +104,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -120,7 +120,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -137,7 +137,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, dereference: { maxDepth: 1 }, }); assert.fail('should throw MaximumDereferenceDepthError'); @@ -157,7 +157,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -174,7 +174,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -191,7 +191,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -208,7 +208,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -225,7 +225,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json index beba089352..9186e8b9a2 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "user/signedup": { "subscribe": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json index bcf9722340..cd8793552c 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "user/signedup": { "subscribe": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/index.ts b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/index.ts index 9cc76fd599..477cc9ce57 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/index.ts +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/index.ts @@ -17,7 +17,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/dereferenced.json index 1016f54848..b92dd32af3 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/root.json index 90e343c45b..12d194dcab 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/additional-ignored-props/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json index 5170b2e552..0d918bb39d 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json index bb86cd5730..7463119983 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/cycle-internal/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/cycle-internal/root.json index 6fd8ecf953..8849b5e246 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/cycle-internal/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/cycle-internal/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "schemas": { "User": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json index 91f59da00f..a5dbc58c8c 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json index 2ba1875272..8f5fbb20a3 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json index 609514fa4b..1b88b43632 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json index 0e25367926..daf527e9ce 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json index 609514fa4b..1b88b43632 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json index 91f59da00f..a5dbc58c8c 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json index 4a34150291..49e40dbc74 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json index 65e3a0f423..9f3fd5a5b2 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json index 005c782830..834046561d 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json index f3c752cff6..aaaff93cc4 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json index 1016f54848..b92dd32af3 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json index 65e3a0f423..9f3fd5a5b2 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json index cc3554a22d..f9e4143a67 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json index 5e90dc3148..6a47e644f7 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json index 843e5092eb..9544514442 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json index 0e25367926..daf527e9ce 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/dereferenced.json index b71affb9fd..4c779fe82f 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "messages": { "UserSignedUp": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/root.json index c9f770a5e6..db42b04535 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/referencing-schema-object/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "messages": { "UserSignedUp": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/dereferenced.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/dereferenced.json index 68d3d0d232..58e1051c0d 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/dereferenced.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/root.json index 0e25367926..daf527e9ce 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/refset-as-option/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json index 91f59da00f..a5dbc58c8c 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/index.ts b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/index.ts index 3b365b3053..fb8332b7cb 100644 --- a/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/index.ts +++ b/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/reference-object/index.ts @@ -24,7 +24,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -34,7 +34,7 @@ describe('dereference', function () { specify('should apply semantics to external fragment', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const dereferenced = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const fragment = evaluate('/0/components/parameters/externalRef', dereferenced); @@ -46,7 +46,7 @@ describe('dereference', function () { async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const dereferenced = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const fragment = evaluate('/0/components/parameters/userId', dereferenced); @@ -64,7 +64,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -78,7 +78,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -92,7 +92,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -102,7 +102,7 @@ describe('dereference', function () { specify('should apply semantics to eventual external fragment', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const dereferenced = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const fragment = evaluate('/0/components/parameters/externalRef', dereferenced); @@ -116,7 +116,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -130,7 +130,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const dereferenced = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const parent = evaluate('/0/components/schemas/User/properties/parent', dereferenced); const cyclicParent = evaluate( @@ -148,7 +148,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, resolve: { external: false }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -164,7 +164,7 @@ describe('dereference', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, DereferenceError); @@ -179,7 +179,7 @@ describe('dereference', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, DereferenceError); @@ -194,7 +194,7 @@ describe('dereference', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, DereferenceError); @@ -209,7 +209,7 @@ describe('dereference', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, DereferenceError); @@ -224,7 +224,7 @@ describe('dereference', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, DereferenceError); @@ -239,7 +239,7 @@ describe('dereference', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, DereferenceError); @@ -253,7 +253,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -267,7 +267,7 @@ describe('dereference', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -283,7 +283,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, dereference: { maxDepth: 2 }, }); assert.fail('should throw MaximumDereferenceDepthError'); @@ -303,7 +303,7 @@ describe('dereference', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, resolve: { maxDepth: 2 }, }); assert.fail('should throw MaximumResolverDepthError'); @@ -320,7 +320,7 @@ describe('dereference', function () { const fixturePath = path.join(__dirname, 'fixtures', 'refset-as-option'); const uri = path.join(fixturePath, 'root.json'); const refSet = await resolve(uri, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const actual = await dereference(uri, { dereference: { refSet } }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); diff --git a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/fixtures/sample-api.json b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/fixtures/sample-api.json index 2cc22e4530..1a1e71ca7e 100644 --- a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/fixtures/sample-api.json +++ b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/fixtures/sample-api.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "id": "urn:com:smartylighting:streetlights:server", "info": { "title": "AsyncAPI Sample App", diff --git a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/index.ts b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/index.ts index ded8589ac9..f38ed5451b 100644 --- a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/index.ts +++ b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-json-2-0/index.ts @@ -15,11 +15,11 @@ describe('parsers', function () { specify('should return true', function () { const file1 = File({ uri: '/path/to/asyncapi.json', - mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0', }); const file2 = File({ uri: '/path/to/asyncapi.json', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiJson2Parser(); @@ -45,7 +45,7 @@ describe('parsers', function () { specify('should return false', function () { const file = File({ uri: '/path/to/asyncapi.yaml', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiJson2Parser(); @@ -57,7 +57,7 @@ describe('parsers', function () { specify('should return false', function () { const file = File({ uri: '/path/to/asyncapi', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiJson2Parser(); @@ -67,14 +67,14 @@ describe('parsers', function () { }); context('parse', function () { - context('given AsyncApi 2.1.0 JSON data', function () { + context('given AsyncApi 2.2.0 JSON data', function () { specify('should return parse result', async function () { const url = path.join(__dirname, 'fixtures', 'sample-api.json'); const data = fs.readFileSync(url).toString(); const file = File({ url, data, - mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0', }); const parser = AsyncApiJson2Parser(); const parseResult = await parser.parse(file); @@ -83,14 +83,14 @@ describe('parsers', function () { }); }); - context('given AsyncApi 2.1.0 JSON data as buffer', function () { + context('given AsyncApi 2.2.0 JSON data as buffer', function () { specify('should return parse result', async function () { const url = path.join(__dirname, 'fixtures', 'sample-api.json'); const data = fs.readFileSync(url); const file = File({ url, data, - mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0', }); const parser = AsyncApiJson2Parser(); const parseResult = await parser.parse(file); @@ -99,13 +99,13 @@ describe('parsers', function () { }); }); - context('given data that is not an AsyncApi 2.1.0 JSON data', function () { + context('given data that is not an AsyncApi 2.2.0 JSON data', function () { specify('should throw ParserError', async function () { try { const file = File({ uri: '/path/to/file.json', data: 1, - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiJson2Parser(); await parser.parse(file); @@ -123,7 +123,7 @@ describe('parsers', function () { const file = File({ uri: '/path/to/file.json', data: '', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiJson2Parser(); const parseResult = await parser.parse(file); @@ -141,7 +141,7 @@ describe('parsers', function () { const file = File({ url, data, - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiJson2Parser({ sourceMap: true }); const parseResult = await parser.parse(file); @@ -157,7 +157,7 @@ describe('parsers', function () { const file = File({ url, data, - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiJson2Parser({ sourceMap: false }); const parseResult = await parser.parse(file); diff --git a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/fixtures/sample-api.yaml b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/fixtures/sample-api.yaml index f67ff62041..4dfcb986c4 100644 --- a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/fixtures/sample-api.yaml +++ b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/fixtures/sample-api.yaml @@ -1,5 +1,5 @@ --- -asyncapi: 2.1.0 +asyncapi: 2.2.0 id: urn:com:smartylighting:streetlights:server info: title: AsyncAPI Sample App diff --git a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/index.ts b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/index.ts index 70e4595dbc..29ba66341a 100644 --- a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/index.ts +++ b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-asyncapi-yaml-2-0/index.ts @@ -15,11 +15,11 @@ describe('parsers', function () { specify('should return true', function () { const file1 = File({ uri: '/path/to/asyncapi.yaml', - mediaType: 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi+yaml;version=2.2.0', }); const file2 = File({ uri: '/path/to/asyncapi.yaml', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser(); @@ -46,11 +46,11 @@ describe('parsers', function () { specify('should return true', function () { const file1 = File({ uri: '/path/to/asyncapi.yml', - mediaType: 'application/vnd.aai.asyncapi+yaml;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi+yaml;version=2.2.0', }); const file2 = File({ uri: '/path/to/asyncapi.yml', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser(); @@ -76,7 +76,7 @@ describe('parsers', function () { specify('should return false', function () { const file = File({ uri: '/path/to/asyncapi.txt', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser(); @@ -88,7 +88,7 @@ describe('parsers', function () { specify('should return false', function () { const file = File({ uri: '/path/to/asyncapi', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser(); @@ -98,11 +98,11 @@ describe('parsers', function () { }); context('parse', function () { - context('given AsyncApi 2.1.0 YAML data', function () { + context('given AsyncApi 2.2.0 YAML data', function () { specify('should return parse result', async function () { const url = path.join(__dirname, 'fixtures', 'sample-api.yaml'); const data = fs.readFileSync(url).toString(); - const file = File({ url, data, mediaType: 'application/vnd.aai.asyncapi;version=2.1.0' }); + const file = File({ url, data, mediaType: 'application/vnd.aai.asyncapi;version=2.2.0' }); const parser = AsyncApiYaml2Parser(); const parseResult = await parser.parse(file); @@ -110,11 +110,11 @@ describe('parsers', function () { }); }); - context('given AsyncApi 2.1.0 YAML data as buffer', function () { + context('given AsyncApi 2.2.0 YAML data as buffer', function () { specify('should return parse result', async function () { const url = path.join(__dirname, 'fixtures', 'sample-api.yaml'); const data = fs.readFileSync(url); - const file = File({ url, data, mediaType: 'application/vnd.aai.asyncapi;version=2.1.0' }); + const file = File({ url, data, mediaType: 'application/vnd.aai.asyncapi;version=2.2.0' }); const parser = AsyncApiYaml2Parser(); const parseResult = await parser.parse(file); @@ -122,13 +122,13 @@ describe('parsers', function () { }); }); - context('given data that is not an AsyncApi 2.1.0 YAML data', function () { + context('given data that is not an AsyncApi 2.2.0 YAML data', function () { specify('should throw ParserError', async function () { try { const file = File({ uri: '/path/to/file.yaml', data: 1, - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser(); await parser.parse(file); @@ -146,7 +146,7 @@ describe('parsers', function () { const file = File({ uri: '/path/to/file.yaml', data: '', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser(); const parsceResult = await parser.parse(file); @@ -164,7 +164,7 @@ describe('parsers', function () { const file = File({ url, data, - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser({ sourceMap: true }); const parseResult = await parser.parse(file); @@ -180,7 +180,7 @@ describe('parsers', function () { const file = File({ url, data, - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = AsyncApiYaml2Parser({ sourceMap: false }); const parseResult = await parser.parse(file); diff --git a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-json-3-1/index.ts b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-json-3-1/index.ts index 53654c6961..f1a4ffd91b 100644 --- a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-json-3-1/index.ts +++ b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-json-3-1/index.ts @@ -32,7 +32,7 @@ describe('parsers', function () { specify('should return false', function () { const file = File({ uri: '/path/to/openapi.json', - mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0', }); const parser = OpenApiJson3_1Parser(); diff --git a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-yaml-3-1/index.ts b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-yaml-3-1/index.ts index 43866605ca..d328e9ad82 100644 --- a/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-yaml-3-1/index.ts +++ b/packages/apidom-reference/test/parse/parsers/apidom-reference-parser-openapi-yaml-3-1/index.ts @@ -32,7 +32,7 @@ describe('parsers', function () { specify('should return false', function () { const file = File({ uri: '/path/to/openapi.yaml', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = OpenApiYaml3_1Parser(); @@ -63,7 +63,7 @@ describe('parsers', function () { specify('should return false', function () { const file = File({ uri: '/path/to/openapi.yaml', - mediaType: 'application/vnd.aai.asyncapi;version=2.1.0', + mediaType: 'application/vnd.aai.asyncapi;version=2.2.0', }); const parser = OpenApiYaml3_1Parser(); diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json index 60c5c19956..b466961c0b 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/direct-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json index 5cd618cc5f..8b7e8d6b3b 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 3 description" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json index 056ec43813..301aadb957 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-indirections/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex1.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json index 5ff84f9462..c2586ee066 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item description" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json index 60c5c19956..b466961c0b 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/external-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json index 455f8bab2f..12cf896316 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json index 60c5c19956..b466961c0b 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/ignore-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json index 056ec43813..301aadb957 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/indirect-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex1.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json index 5104729e5e..e1cbdf8d0a 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 2 description" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json index 6d50c66297..6d22e1748a 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json index c9f77a00f1..f70413a84a 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "description": "channel item 2 description" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json index 1224a62819..91062790c3 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/internal-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json index 199ba5c04f..d6d2beecb0 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/invalid-pointer/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "invalid-pointer" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json index 056ec43813..301aadb957 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/max-depth/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "./ex1.json#/channelItem2" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json index 7db4fe8837..90470d82c1 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/fixtures/unresolvable-channel-item/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "channels": { "channelItem1": { "$ref": "#/channels/invalid-pointer" diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/index.ts b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/index.ts index 616f4ff26e..160186df41 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/index.ts +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/channel-item-object/index.ts @@ -16,10 +16,10 @@ describe('resolve', function () { context('given $ref field pointing externally only', function () { const fixturePath = path.join(rootFixturePath, 'external-only'); - specify('should dereference', async function () { + specify('should resolve', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -33,7 +33,7 @@ describe('resolve', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -47,7 +47,7 @@ describe('resolve', function () { specify('should not dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, resolve: { external: false }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -62,7 +62,7 @@ describe('resolve', function () { specify('should dereference', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const actual = await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); const expected = loadJsonFile(path.join(fixturePath, 'dereferenced.json')); @@ -78,7 +78,7 @@ describe('resolve', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -95,7 +95,7 @@ describe('resolve', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, dereference: { maxDepth: 1 }, }); assert.fail('should throw MaximumDereferenceDepthError'); @@ -115,7 +115,7 @@ describe('resolve', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -132,7 +132,7 @@ describe('resolve', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { @@ -149,7 +149,7 @@ describe('resolve', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.fail('should throw DereferenceError'); } catch (e) { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json index 5170b2e552..0d918bb39d 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json index bb86cd5730..7463119983 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json index 91f59da00f..a5dbc58c8c 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json index 2ba1875272..8f5fbb20a3 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/direct-internal-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json index 609514fa4b..1b88b43632 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json index 0e25367926..daf527e9ce 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-indirections/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json index 609514fa4b..1b88b43632 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json index 91f59da00f..a5dbc58c8c 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/external-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json index 4a34150291..49e40dbc74 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json index 65e3a0f423..9f3fd5a5b2 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/ignore-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json index 005c782830..834046561d 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-external-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json index f3c752cff6..aaaff93cc4 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/indirect-internal-circular/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json index 1016f54848..b92dd32af3 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json index 65e3a0f423..9f3fd5a5b2 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-external/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json index cc3554a22d..f9e4143a67 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/dereferenced.json @@ -1,6 +1,6 @@ [ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json index 5e90dc3148..6a47e644f7 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/internal-only/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json index 843e5092eb..9544514442 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/invalid-pointer/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "userId": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json index 0e25367926..daf527e9ce 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/max-depth/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json index 91f59da00f..a5dbc58c8c 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/fixtures/unresolvable-reference/root.json @@ -1,5 +1,5 @@ { - "asyncapi": "2.1.0", + "asyncapi": "2.2.0", "components": { "parameters": { "externalRef": { diff --git a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/index.ts b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/index.ts index b09f75ddb0..b204ef2a10 100644 --- a/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/index.ts +++ b/packages/apidom-reference/test/resolve/strategies/asyncapi-2-0/reference-object/index.ts @@ -21,7 +21,7 @@ describe('resolve', function () { specify('should resolve', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const refSet = await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.strictEqual(refSet.size, 2); @@ -34,7 +34,7 @@ describe('resolve', function () { specify('should resolve', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const refSet = await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.strictEqual(refSet.size, 1); @@ -47,7 +47,7 @@ describe('resolve', function () { specify('should resolve', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const refSet = await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.strictEqual(refSet.size, 2); @@ -60,7 +60,7 @@ describe('resolve', function () { specify('should resolve', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const refSet = await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.strictEqual(refSet.size, 4); @@ -73,7 +73,7 @@ describe('resolve', function () { specify('should resolve', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const refSet = await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, resolve: { external: false }, }); @@ -88,7 +88,7 @@ describe('resolve', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, ResolverError); @@ -103,7 +103,7 @@ describe('resolve', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, ResolverError); @@ -118,7 +118,7 @@ describe('resolve', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, ResolverError); @@ -133,7 +133,7 @@ describe('resolve', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, ResolverError); @@ -148,7 +148,7 @@ describe('resolve', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, ResolverError); @@ -163,7 +163,7 @@ describe('resolve', function () { const rootFilePath = path.join(fixturePath, 'root.json'); try { await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); } catch (e) { assert.instanceOf(e, ResolverError); @@ -177,7 +177,7 @@ describe('resolve', function () { specify('should resolve', async function () { const rootFilePath = path.join(fixturePath, 'root.json'); const refSet = await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, }); assert.strictEqual(refSet.size, 2); @@ -192,7 +192,7 @@ describe('resolve', function () { try { await dereference(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, dereference: { maxDepth: 2 }, }); assert.fail('should throw MaximumDereferenceDepthError'); @@ -212,7 +212,7 @@ describe('resolve', function () { try { await resolve(rootFilePath, { - parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.1.0' }, + parse: { mediaType: 'application/vnd.aai.asyncapi+json;version=2.2.0' }, resolve: { maxDepth: 2 }, }); assert.fail('should throw MaximumResolverDepthError');