diff --git a/apidom/packages/apidom-ls/test/openapi-json-async.ts b/apidom/packages/apidom-ls/test/asyncapi-json.ts similarity index 99% rename from apidom/packages/apidom-ls/test/openapi-json-async.ts rename to apidom/packages/apidom-ls/test/asyncapi-json.ts index adca017e05..cebea151cc 100644 --- a/apidom/packages/apidom-ls/test/openapi-json-async.ts +++ b/apidom/packages/apidom-ls/test/asyncapi-json.ts @@ -394,8 +394,8 @@ describe('apidom-ls-async', function () { 1, 10, 9, - 35, - 64, + 22, + 0, 1, 12, 6, diff --git a/apidom/packages/apidom-ls/test/openapi-yaml-async.ts b/apidom/packages/apidom-ls/test/asyncapi-yaml.ts similarity index 99% rename from apidom/packages/apidom-ls/test/openapi-yaml-async.ts rename to apidom/packages/apidom-ls/test/asyncapi-yaml.ts index 7413917ff9..f00e000533 100644 --- a/apidom/packages/apidom-ls/test/openapi-yaml-async.ts +++ b/apidom/packages/apidom-ls/test/asyncapi-yaml.ts @@ -350,8 +350,8 @@ describe('apidom-ls-async-yaml', function () { 1, 8, 7, - 35, - 64, + 22, + 0, 1, 10, 4, diff --git a/apidom/packages/apidom-ns-asyncapi-2/src/elements/Operation.ts b/apidom/packages/apidom-ns-asyncapi-2/src/elements/Operation.ts index 9b0b5c61eb..2b9aeef0b9 100644 --- a/apidom/packages/apidom-ns-asyncapi-2/src/elements/Operation.ts +++ b/apidom/packages/apidom-ns-asyncapi-2/src/elements/Operation.ts @@ -4,6 +4,7 @@ import { ObjectElement, StringElement, ArrayElement } from 'apidom'; import TagsElement from './Tags'; import ExternalDocumentationElement from './ExternalDocumentation'; import OperationBindingsElement from './OperationBindings'; +import MessageElement from './Message'; import ReferenceElement from './Reference'; class Operation extends ObjectElement { @@ -68,11 +69,11 @@ class Operation extends ObjectElement { this.set('traits', traits); } - get message(): ArrayElement | undefined { + get message(): MessageElement | ReferenceElement | ObjectElement | undefined { return this.get('message'); } - set message(message: ArrayElement | undefined) { + set message(message: MessageElement | ReferenceElement | ObjectElement | undefined) { this.set('message', message); } } diff --git a/apidom/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/operation/MessageVisitor.ts b/apidom/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/operation/MessageVisitor.ts index 1231a2be3b..8c2f5530ea 100644 --- a/apidom/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/operation/MessageVisitor.ts +++ b/apidom/packages/apidom-ns-asyncapi-2/src/refractor/visitors/async-api-2/operation/MessageVisitor.ts @@ -1,31 +1,35 @@ import stampit from 'stampit'; -import { ArrayElement, Element, BREAK } from 'apidom'; +import { ObjectElement, ArrayElement, isArrayElement, BREAK } from 'apidom'; import SpecificationVisitor from '../../SpecificationVisitor'; import FallbackVisitor from '../../FallbackVisitor'; import { isReferenceLikeElement } from '../../../predicates'; const MessageVisitor = stampit(SpecificationVisitor, FallbackVisitor, { - init() { - this.element = new ArrayElement(); - this.element.classes.push('operation-message'); - }, methods: { - ArrayElement(arrayElement: ArrayElement) { - arrayElement.forEach((item: Element) => { - let element; + ObjectElement(objectElement: ObjectElement) { + if (isReferenceLikeElement(objectElement)) { + this.element = this.toRefractedElement(['document', 'objects', 'Reference'], objectElement); + } else if (isArrayElement(objectElement.get('oneOf'))) { + this.element = new ArrayElement(); + this.element.classes.push('operation-message'); + + objectElement.get('oneOf').forEach((item: ObjectElement) => { + let element; - if (isReferenceLikeElement(item)) { - element = this.toRefractedElement(['document', 'objects', 'Reference'], item); - element.setMetaProperty('referenced-element', 'message'); - } else { - element = this.toRefractedElement(['document', 'objects', 'Message'], item); - } + if (isReferenceLikeElement(item)) { + element = this.toRefractedElement(['document', 'objects', 'Reference'], item); + } else { + element = this.toRefractedElement(['document', 'objects', 'Message'], item); + } - this.element.push(element); - }); + this.element.push(element); + }); + } else { + this.element = this.toRefractedElement(['document', 'objects', 'Message'], objectElement); + } - this.copyMetaAndAttributes(arrayElement, this.element); + this.copyMetaAndAttributes(objectElement, this.element); return BREAK; }, diff --git a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap index 70e60943fc..1c2747778e 100644 --- a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap +++ b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/__snapshots__/index.ts.snap @@ -1916,718 +1916,556 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": "message" }, "value": { - "element": "array", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "operation-message" - } - ] - } - }, + "element": "message", "content": [ { - "element": "message", - "content": [ - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "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": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "object" } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "payload" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "object" + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "object" } - ] - } - }, - "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": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "object" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "properties" }, - { - "element": "member", + "value": { + "element": "object", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "json-schema-properties" } ] } }, - "content": { - "key": { - "element": "string", - "content": "properties" - }, - "value": { - "element": "object", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-schema-properties" + "content": "patterned-field" } ] } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "user" + }, + "value": { + "element": "reference", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "patterned-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "schema" } }, - "content": { - "key": { - "element": "string", - "content": "user" - }, - "value": { - "element": "reference", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "schema" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/schemas/user" - } - } + "content": "#/components/schemas/user" } - ] + } } - } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "signup" }, - { - "element": "member", + "value": { + "element": "reference", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "patterned-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "schema" } }, - "content": { - "key": { - "element": "string", - "content": "signup" - }, - "value": { - "element": "reference", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "schema" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/schemas/signup" - } - } + "content": "#/components/schemas/signup" } - ] + } } - } + ] } - ] + } } - } - } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" + ] } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" + }, + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "correlation id description" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "location" - }, - "value": { + "value": { + "element": "string", + "content": "correlation id description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "http://asyncapi.com/" + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "location" + }, + "value": { + "element": "string", + "content": "http://asyncapi.com/" } - ] + } } - }, - "content": { - "key": { - "element": "string", - "content": "schemaFormat" - }, - "value": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/vnd.aai.asyncapi;version=2.0.0" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemaFormat" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "contentType" - }, - "value": { + "value": { + "element": "string", + "content": "application/vnd.aai.asyncapi;version=2.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/json" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contentType" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { + "value": { + "element": "string", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "name of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "title" - }, - "value": { + "value": { + "element": "string", + "content": "name of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "title of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "summary" - }, - "value": { + "value": { + "element": "string", + "content": "title of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "summary of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "description" - }, - "value": { + "value": { + "element": "string", + "content": "summary of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "A longer description of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "value": { + "element": "string", + "content": "A longer description of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "tags" - }, - "value": { - "element": "tags", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", "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": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", "content": "fixed-field" } @@ -2637,11 +2475,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "description" + "content": "name" }, "value": { "element": "string", - "content": "description of message 1 external docs" + "content": "tag3" } } }, @@ -2661,39 +2499,14 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "url" + "content": "description" }, "value": { "element": "string", - "content": "https://example.com/message-1-external-docs" + "content": "description of tag3" } } - } - ] - } - } - }, - { - "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": { @@ -2710,10 +2523,10 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "kafka" + "content": "externalDocs" }, "value": { - "element": "kafkaMessageBinding", + "element": "externalDocumentation", "content": [ { "element": "member", @@ -2731,36 +2544,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "key" + "content": "description" }, "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": "string", + "content": "description of tag 3 external docs" } } }, @@ -2780,11 +2568,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "bindingVersion" + "content": "url" }, "value": { "element": "string", - "content": "0.1.0" + "content": "https://example.com/tag3" } } } @@ -2794,85 +2582,124 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re } ] } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "examples" - }, - "value": { - "element": "array", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "examples" + "content": "fixed-field" } ] } }, - "content": [ - { - "element": "object", - "content": [ - { - "element": "member", - "content": { - "key": { - "element": "string", - "content": "key" - }, - "value": { - "element": "string", - "content": "value" - } - } + "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" } ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/message-1-external-docs" } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "traits" - }, - "value": { - "element": "array", - "content": [ - { - "element": "messageTrait", + "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", @@ -2890,7 +2717,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "headers" + "content": "key" }, "value": { "element": "schema", @@ -2915,7 +2742,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re }, "value": { "element": "string", - "content": "object" + "content": "integer" } } } @@ -2939,378 +2766,389 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "correlationId" + "content": "bindingVersion" }, "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": "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", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "examples" + } + ] + } + }, + "content": [ + { + "element": "object", + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "key" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "schemaFormat" - }, - "value": { + "value": { + "element": "string", + "content": "value" + } + } + } + ] + } + ] + } + } + }, + { + "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": "application/vnd.aai.asyncapi;version=2.0.0" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "object" } - ] + } } - }, - "content": { - "key": { - "element": "string", - "content": "contentType" - }, - "value": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/json" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "description" + }, + "value": { + "element": "string", + "content": "correlation id description" } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" + } }, - "value": { - "element": "string", - "content": "name of the message trait" - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "location" + }, + "value": { + "element": "string", + "content": "http://asyncapi.com/" } - ] + } } - }, - "content": { - "key": { - "element": "string", - "content": "title" - }, - "value": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "title of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemaFormat" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "summary" - }, - "value": { + "value": { + "element": "string", + "content": "application/vnd.aai.asyncapi;version=2.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "summary of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contentType" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "description" - }, - "value": { + "value": { + "element": "string", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "A longer description of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "value": { + "element": "string", + "content": "name of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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" - } - } - } - ] - } - } - } - ] - } - ] + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] + "value": { + "element": "string", + "content": "title of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" } - }, - "content": { - "key": { + ] + } + }, + "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": "externalDocs" - }, - "value": { - "element": "externalDocumentation", + "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", @@ -3328,11 +3166,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "description" + "content": "name" }, "value": { "element": "string", - "content": "description of message 1 trait external docs" + "content": "tag4" } } }, @@ -3352,39 +3190,14 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "url" + "content": "description" }, "value": { "element": "string", - "content": "https://example.com/message-1-trait-external-docs" + "content": "description of tag4" } } - } - ] - } - } - }, - { - "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": { @@ -3401,10 +3214,10 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "kafka" + "content": "externalDocs" }, "value": { - "element": "kafkaMessageBinding", + "element": "externalDocumentation", "content": [ { "element": "member", @@ -3422,36 +3235,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "key" + "content": "description" }, "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": "string", + "content": "description of tag 4 external docs" } } }, @@ -3471,11 +3259,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "bindingVersion" + "content": "url" }, "value": { "element": "string", - "content": "0.1.0" + "content": "https://example.com/tag4" } } } @@ -3485,58 +3273,254 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re } ] } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "examples" + "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" + } + } }, - "value": { - "element": "array", - "content": [ - { - "element": "object", + { + "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": "a" + "content": "bindingVersion" }, "value": { "element": "string", - "content": "b" + "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": "object", + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "a" + }, + "value": { + "element": "string", + "content": "b" + } + } + } ] } - } + ] } - ] + } } ] } - } + ] } - ] + } } ] } @@ -4982,720 +4966,582 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": "message" }, "value": { - "element": "array", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "operation-message" - } - ] - } - }, + "element": "message", "content": [ { - "element": "message", - "content": [ - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "object" + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "object" } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "payload" - }, - "value": { - "element": "schema", - "content": [ - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "payload" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "type" - }, - "value": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "object" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "object" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "properties" }, - { - "element": "member", + "value": { + "element": "object", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "json-schema-properties" } ] } }, - "content": { - "key": { - "element": "string", - "content": "properties" - }, - "value": { - "element": "object", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-schema-properties" + "content": "patterned-field" } ] } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "user" + }, + "value": { + "element": "reference", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "patterned-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "schema" } }, - "content": { - "key": { - "element": "string", - "content": "user" - }, - "value": { - "element": "reference", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "schema" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/schemas/user" - } - } + "content": "#/components/schemas/user" } - ] + } } - } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "signup" }, - { - "element": "member", + "value": { + "element": "reference", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "patterned-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "schema" } }, - "content": { - "key": { - "element": "string", - "content": "signup" - }, - "value": { - "element": "reference", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "schema" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/schemas/signup" - } - } + "content": "#/components/schemas/signup" } - ] + } } - } + ] } - ] + } } - } - } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" + ] } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" + }, + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "correlation id description" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "location" - }, - "value": { + "value": { + "element": "string", + "content": "correlation id description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "http://asyncapi.com/" + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "location" + }, + "value": { + "element": "string", + "content": "http://asyncapi.com/" } - ] + } } - }, - "content": { - "key": { - "element": "string", - "content": "schemaFormat" - }, - "value": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/vnd.aai.asyncapi;version=2.0.0" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemaFormat" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "contentType" - }, - "value": { + "value": { + "element": "string", + "content": "application/vnd.aai.asyncapi;version=2.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/json" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contentType" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { + "value": { + "element": "string", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "name of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "title" - }, - "value": { + "value": { + "element": "string", + "content": "name of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "title of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "summary" - }, - "value": { + "value": { + "element": "string", + "content": "title of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "summary of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "description" - }, - "value": { + "value": { + "element": "string", + "content": "summary of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "A longer description of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "value": { + "element": "string", + "content": "A longer description of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "tags" - }, - "value": { - "element": "tags", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", "content": [ { - "element": "tag", - "content": [ - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "tag3" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "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" + "value": { + "element": "string", + "content": "tag3" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" } ] } @@ -5707,7 +5553,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re }, "value": { "element": "string", - "content": "description of message 1 external docs" + "content": "description of tag3" } } }, @@ -5727,59 +5573,10 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "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" + "content": "externalDocs" }, "value": { - "element": "kafkaMessageBinding", + "element": "externalDocumentation", "content": [ { "element": "member", @@ -5797,36 +5594,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "key" + "content": "description" }, "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": "string", + "content": "description of tag 3 external docs" } } }, @@ -5846,11 +5618,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "bindingVersion" + "content": "url" }, "value": { "element": "string", - "content": "0.1.0" + "content": "https://example.com/tag3" } } } @@ -5860,85 +5632,124 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re } ] } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "examples" - }, - "value": { - "element": "array", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "externalDocs" + }, + "value": { + "element": "externalDocumentation", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "examples" + "content": "fixed-field" } ] } }, - "content": [ - { - "element": "object", - "content": [ - { - "element": "member", - "content": { - "key": { - "element": "string", - "content": "key" - }, - "value": { - "element": "string", - "content": "value" - } - } + "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" } ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "url" + }, + "value": { + "element": "string", + "content": "https://example.com/message-1-external-docs" } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "traits" - }, - "value": { - "element": "array", - "content": [ - { - "element": "messageTrait", + "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", @@ -5956,7 +5767,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "headers" + "content": "key" }, "value": { "element": "schema", @@ -5981,7 +5792,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re }, "value": { "element": "string", - "content": "object" + "content": "integer" } } } @@ -6005,378 +5816,389 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "correlationId" + "content": "bindingVersion" }, "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": "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", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "examples" + } + ] + } + }, + "content": [ + { + "element": "object", + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "key" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "schemaFormat" - }, - "value": { + "value": { + "element": "string", + "content": "value" + } + } + } + ] + } + ] + } + } + }, + { + "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": "application/vnd.aai.asyncapi;version=2.0.0" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "object" } - ] + } } - }, - "content": { - "key": { - "element": "string", - "content": "contentType" - }, - "value": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/json" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "description" + }, + "value": { + "element": "string", + "content": "correlation id description" } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" + } }, - "value": { - "element": "string", - "content": "name of the message trait" - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "location" + }, + "value": { + "element": "string", + "content": "http://asyncapi.com/" } - ] + } } - }, - "content": { - "key": { - "element": "string", - "content": "title" - }, - "value": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "title of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemaFormat" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "summary" - }, - "value": { + "value": { + "element": "string", + "content": "application/vnd.aai.asyncapi;version=2.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "summary of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contentType" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "description" - }, - "value": { + "value": { + "element": "string", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "A longer description of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "value": { + "element": "string", + "content": "name of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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" - } - } - } - ] - } - } - } - ] - } - ] + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] + "value": { + "element": "string", + "content": "title of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" } - }, - "content": { - "key": { + ] + } + }, + "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": "externalDocs" - }, - "value": { - "element": "externalDocumentation", + "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", @@ -6394,11 +6216,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "description" + "content": "name" }, "value": { "element": "string", - "content": "description of message 1 trait external docs" + "content": "tag4" } } }, @@ -6418,39 +6240,14 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "url" + "content": "description" }, "value": { "element": "string", - "content": "https://example.com/message-1-trait-external-docs" + "content": "description of tag4" } } - } - ] - } - } - }, - { - "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": { @@ -6467,10 +6264,10 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "kafka" + "content": "externalDocs" }, "value": { - "element": "kafkaMessageBinding", + "element": "externalDocumentation", "content": [ { "element": "member", @@ -6488,36 +6285,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "key" + "content": "description" }, "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": "string", + "content": "description of tag 4 external docs" } } }, @@ -6537,11 +6309,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re "content": { "key": { "element": "string", - "content": "bindingVersion" + "content": "url" }, "value": { "element": "string", - "content": "0.1.0" + "content": "https://example.com/tag4" } } } @@ -6551,58 +6323,254 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.0.0 shape should re } ] } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "examples" + "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" + } + } }, - "value": { - "element": "array", - "content": [ - { - "element": "object", + { + "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": "a" + "content": "bindingVersion" }, "value": { "element": "string", - "content": "b" + "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": "object", + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "a" + }, + "value": { + "element": "string", + "content": "b" + } + } + } ] } - } + ] } - ] + } } ] } - } + ] } - ] + } } ] } @@ -10553,720 +10521,582 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": "message" }, "value": { - "element": "array", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "operation-message" - } - ] - } - }, + "element": "message", "content": [ { - "element": "message", - "content": [ - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "object" + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "object" } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "payload" - }, - "value": { - "element": "schema", - "content": [ - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "payload" + }, + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "type" - }, - "value": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "object" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "object" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "properties" }, - { - "element": "member", + "value": { + "element": "object", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "json-schema-properties" } ] } }, - "content": { - "key": { - "element": "string", - "content": "properties" - }, - "value": { - "element": "object", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-schema-properties" + "content": "patterned-field" } ] } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "user" + }, + "value": { + "element": "reference", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "patterned-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "schema" } }, - "content": { - "key": { - "element": "string", - "content": "user" - }, - "value": { - "element": "reference", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "schema" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/schemas/user" - } - } + "content": "#/components/schemas/user" } - ] + } } - } + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "patterned-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "signup" }, - { - "element": "member", + "value": { + "element": "reference", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "patterned-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "schema" } }, - "content": { - "key": { - "element": "string", - "content": "signup" - }, - "value": { - "element": "reference", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "schema" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/schemas/signup" - } - } + "content": "#/components/schemas/signup" } - ] + } } - } + ] } - ] + } } - } - } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" + ] } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "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": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" + }, + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "correlation id description" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "location" - }, - "value": { + "value": { + "element": "string", + "content": "correlation id description" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "http://asyncapi.com/" + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "location" + }, + "value": { + "element": "string", + "content": "http://asyncapi.com/" } - ] + } } - }, - "content": { - "key": { - "element": "string", - "content": "schemaFormat" - }, - "value": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/vnd.aai.asyncapi;version=2.0.0" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "schemaFormat" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "contentType" - }, - "value": { + "value": { + "element": "string", + "content": "application/vnd.aai.asyncapi;version=2.0.0" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "application/json" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "contentType" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { + "value": { + "element": "string", + "content": "application/json" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "name of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "title" - }, - "value": { + "value": { + "element": "string", + "content": "name of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "title of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "title" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "summary" - }, - "value": { + "value": { + "element": "string", + "content": "title of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "summary of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "description" - }, - "value": { + "value": { + "element": "string", + "content": "summary of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "A longer description of the message" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "description" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + "value": { + "element": "string", + "content": "A longer description of the message" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "tags" - }, - "value": { - "element": "tags", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "tags" + }, + "value": { + "element": "tags", + "content": [ + { + "element": "tag", "content": [ { - "element": "tag", - "content": [ - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "tag3" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "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" + "value": { + "element": "string", + "content": "tag3" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" } ] } @@ -11278,7 +11108,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re }, "value": { "element": "string", - "content": "description of message 1 external docs" + "content": "description of tag3" } } }, @@ -11298,59 +11128,10 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "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" + "content": "externalDocs" }, "value": { - "element": "kafkaMessageBinding", + "element": "externalDocumentation", "content": [ { "element": "member", @@ -11368,36 +11149,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "key" + "content": "description" }, "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": "string", + "content": "description of tag 3 external docs" } } }, @@ -11417,142 +11173,139 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "bindingVersion" + "content": "url" }, "value": { "element": "string", - "content": "0.1.0" + "content": "https://example.com/tag3" } } } ] } } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { + } + ] + } + ] + } + } + }, + { + "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": "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" - } - } - } - ] + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "description" + }, + "value": { + "element": "string", + "content": "description of message 1 external docs" } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "examples" + } }, - "value": { - "element": "array", + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "examples" + "content": "fixed-field" } ] } }, - "content": [ - { - "element": "object", + "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": "member", - "content": { - "key": { - "element": "string", - "content": "headers" - }, - "value": { - "element": "object" - } - } - }, + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "kafka" + }, + "value": { + "element": "kafkaMessageBinding", + "content": [ { "element": "member", "meta": { @@ -11569,35 +11322,37 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "payload" + "content": "key" }, "value": { - "element": "object" - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", + "element": "schema", "content": [ { - "element": "string", - "content": "fixed-field" + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" + } + } } ] } - }, - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { - "element": "string", - "content": "example name" - } } }, { @@ -11616,43 +11371,38 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "summary" + "content": "bindingVersion" }, "value": { "element": "string", - "content": "example summary" + "content": "0.1.0" } } } ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "traits" + } }, - "value": { - "element": "array", - "content": [ - { - "element": "messageTrait", + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "ibmmq" + }, + "value": { + "element": "ibmmqMessageBinding", "content": [ { "element": "member", @@ -11670,36 +11420,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "headers" + "content": "type" }, "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": "string", + "content": "jms" } } }, @@ -11719,378 +11444,459 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "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" + "content": "bindingVersion" }, "value": { "element": "string", - "content": "application/json" + "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", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "examples" + } + ] + } + }, + "content": [ + { + "element": "object", + "content": [ + { + "element": "member", + "content": { + "key": { + "element": "string", + "content": "headers" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "name" - }, - "value": { + "value": { + "element": "object" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "name of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "payload" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "title" - }, - "value": { + "value": { + "element": "object" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "title of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "name" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "summary" - }, - "value": { + "value": { + "element": "string", + "content": "example name" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "summary of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "summary" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] - } - }, - "content": { - "key": { - "element": "string", - "content": "description" - }, - "value": { + "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": "A longer description of the message trait" + "content": "fixed-field" } - } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "headers" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + "value": { + "element": "schema", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "object" } - ] + } } - }, - "content": { - "key": { + ] + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { "element": "string", - "content": "tags" - }, - "value": { - "element": "tags", - "content": [ - { - "element": "tag", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "correlationId" + }, + "value": { + "element": "correlationID", + "content": [ + { + "element": "member", + "meta": { + "classes": { + "element": "array", "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": "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": "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": "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" }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "fixed-field" - } - ] + "value": { + "element": "string", + "content": "title of the message trait" + } + } + }, + { + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" } - }, - "content": { - "key": { + ] + } + }, + "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": "externalDocs" - }, - "value": { - "element": "externalDocumentation", + "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", @@ -12108,11 +11914,11 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "description" + "content": "name" }, "value": { "element": "string", - "content": "description of message 1 trait external docs" + "content": "tag4" } } }, @@ -12132,39 +11938,14 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "url" + "content": "description" }, "value": { "element": "string", - "content": "https://example.com/message-1-trait-external-docs" + "content": "description of tag4" } } - } - ] - } - } - }, - { - "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": { @@ -12181,10 +11962,10 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": { "key": { "element": "string", - "content": "kafka" + "content": "externalDocs" }, "value": { - "element": "kafkaMessageBinding", + "element": "externalDocumentation", "content": [ { "element": "member", @@ -12202,209 +11983,380 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "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": { + "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": "integer" + "content": "fixed-field" } - } + ] } - ] - } - } - }, - { - "element": "member", - "meta": { - "classes": { - "element": "array", - "content": [ - { + }, + "content": { + "key": { "element": "string", - "content": "fixed-field" + "content": "type" + }, + "value": { + "element": "string", + "content": "integer" } - ] - } - }, - "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": "object", - "content": [ + } + }, { "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, "content": { "key": { "element": "string", - "content": "a" + "content": "bindingVersion" }, "value": { "element": "string", - "content": "b" + "content": "0.1.0" } } } ] } - ] + } } - } + ] } - ] + } }, { - "element": "messageTrait", - "content": [ - { - "element": "member", + "element": "member", + "meta": { + "classes": { + "element": "array", + "content": [ + { + "element": "string", + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "examples" + }, + "value": { + "element": "array", + "content": [ + { + "element": "object", + "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": "fixed-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "messageBindings" } }, - "content": { - "key": { - "element": "string", - "content": "bindings" - }, - "value": { - "element": "reference", + "content": [ + { + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "messageBindings" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } - }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/messageBindings/MessageBinding1" - } - } + }, + "content": "#/components/messageBindings/MessageBinding1" } - ] + } } - } + ] } - ] + } } ] } - } + ] } - ] + } } ] } @@ -13095,41 +13047,113 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": "message" }, "value": { - "element": "array", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "operation-message" - } - ] - } - }, + "element": "message", "content": [ { - "element": "message", - "content": [ - { - "element": "member", + "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": "fixed-field" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] + }, + "referenced-element": { + "element": "string", + "content": "messageBindings" } }, - "content": { - "key": { + "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": "bindings" - }, - "value": { + "content": "fixed-field" + } + ] + } + }, + "content": { + "key": { + "element": "string", + "content": "traits" + }, + "value": { + "element": "array", + "content": [ + { "element": "reference", "meta": { "classes": { @@ -13151,7 +13175,7 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re }, "referenced-element": { "element": "string", - "content": "messageBindings" + "content": "messageTrait" } }, "content": [ @@ -13186,103 +13210,15 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re ] } }, - "content": "#/components/messageBindings/MessageBinding1" + "content": "#/components/messageTraits/MessageTrait1" } } } ] } - } - }, - { - "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" - } - } - } - ] - } - ] - } - } + ] } - ] + } } ] } @@ -13727,81 +13663,61 @@ exports[`refractor given generic ApiDOM object in AsyncApi 2.1.0 shape should re "content": "message" }, "value": { - "element": "array", + "element": "reference", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "operation-message" + "content": "json-reference" + }, + { + "element": "string", + "content": "asyncapi-reference" + }, + { + "element": "string", + "content": "reference-element" } ] } }, "content": [ { - "element": "reference", + "element": "member", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "json-reference" - }, - { - "element": "string", - "content": "asyncapi-reference" - }, - { - "element": "string", - "content": "reference-element" + "content": "fixed-field" } ] - }, - "referenced-element": { - "element": "string", - "content": "message" } }, - "content": [ - { - "element": "member", + "content": { + "key": { + "element": "string", + "content": "$ref" + }, + "value": { + "element": "string", "meta": { "classes": { "element": "array", "content": [ { "element": "string", - "content": "fixed-field" + "content": "reference-value" } ] } }, - "content": { - "key": { - "element": "string", - "content": "$ref" - }, - "value": { - "element": "string", - "meta": { - "classes": { - "element": "array", - "content": [ - { - "element": "string", - "content": "reference-value" - } - ] - } - }, - "content": "#/components/messages/Message1" - } - } + "content": "#/components/messages/Message1" } - ] + } } ] } diff --git a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/__snapshots__/index.ts.snap b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/__snapshots__/index.ts.snap index f5f3735a89..9b3726fc99 100644 --- a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/__snapshots__/index.ts.snap +++ b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/__snapshots__/index.ts.snap @@ -17,23 +17,33 @@ exports[`refractor elements OperationElement given bindings field of type Refere (StringElement))))) `; -exports[`refractor elements OperationElement given message field contains list of type MessageElement should refract to semantic ApiDOM tree 1`] = ` +exports[`refractor elements OperationElement given message field of \`oneOf\` shape should refract to semantic ApiDOM tree 1`] = ` (OperationElement (MemberElement (StringElement) (ArrayElement - (MessageElement)))) + (MessageElement) + (ReferenceElement + (MemberElement + (StringElement) + (StringElement)))))) `; -exports[`refractor elements OperationElement given message field contains list of type ReferenceElement should refract to semantic ApiDOM tree 1`] = ` +exports[`refractor elements OperationElement given message field of type MessageElement should refract to semantic ApiDOM tree 1`] = ` (OperationElement (MemberElement (StringElement) - (ArrayElement - (ReferenceElement - (MemberElement - (StringElement) - (StringElement)))))) + (MessageElement))) +`; + +exports[`refractor elements OperationElement given message field of type ReferenceElement should refract to semantic ApiDOM tree 1`] = ` +(OperationElement + (MemberElement + (StringElement) + (ReferenceElement + (MemberElement + (StringElement) + (StringElement))))) `; exports[`refractor elements OperationElement given traits field contains list of type OperationTraitElement should refract to semantic ApiDOM tree 1`] = ` diff --git a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/index.ts b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/index.ts index 25b1c542a1..b771d820cf 100644 --- a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/index.ts +++ b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/elements/Operation/index.ts @@ -64,24 +64,32 @@ describe('refractor', function () { }); }); - context('given message field contains list of type MessageElement', function () { + context('given message field of type MessageElement', function () { specify('should refract to semantic ApiDOM tree', function () { const operationElement = OperationElement.refract({ - message: [{}], + message: {}, }); expect(sexprs(operationElement)).toMatchSnapshot(); }); }); - context('given message field contains list of type ReferenceElement', function () { + context('given message field of type ReferenceElement', function () { specify('should refract to semantic ApiDOM tree', function () { const operationElement = OperationElement.refract({ - message: [ - { - $ref: '#/path/to/message', - }, - ], + message: { $ref: '#/path/to/message' }, + }); + + expect(sexprs(operationElement)).toMatchSnapshot(); + }); + }); + + context('given message field of `oneOf` shape', function () { + specify('should refract to semantic ApiDOM tree', function () { + const operationElement = OperationElement.refract({ + message: { + oneOf: [{}, { $ref: '#/path/to/message' }], + }, }); expect(sexprs(operationElement)).toMatchSnapshot(); diff --git a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-0-0.json b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-0-0.json index 75cd2ea0a7..9004aa3e4c 100644 --- a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-0-0.json +++ b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-0-0.json @@ -104,97 +104,95 @@ } } ], - "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" - } + "message": { + "headers": { + "type": "object" + }, + "payload": { + "type": "object", + "properties": { + "user": { + "$ref": "#/components/schemas/user" + }, + "signup": { + "$ref": "#/components/schemas/signup" } - ], - "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" + } + }, + "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" } - }, - "examples": [{"key": "value"}], - "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" + } + ], + "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" + } + }, + "examples": [{"key": "value"}], + "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" } - }, - "examples": [{"a": "b"}] - } - ] - } - ], + } + ], + "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" + } + }, + "examples": [{"a": "b"}] + } + ] + }, "bindings": { "kafka": { "clientId": { @@ -278,97 +276,95 @@ } } ], - "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" - } + "message": { + "headers": { + "type": "object" + }, + "payload": { + "type": "object", + "properties": { + "user": { + "$ref": "#/components/schemas/user" + }, + "signup": { + "$ref": "#/components/schemas/signup" } - ], - "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" + } + }, + "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" } - }, - "examples": [{"key": "value"}], - "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" + } + ], + "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" + } + }, + "examples": [{"key": "value"}], + "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" } - }, - "examples": [{"a": "b"}] - } - ] - } - ], + } + ], + "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" + } + }, + "examples": [{"a": "b"}] + } + ] + }, "bindings": { "kafka": { "clientId": { diff --git a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-1-0.json b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-1-0.json index 577e6b916d..829dac8cd6 100644 --- a/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-1-0.json +++ b/apidom/packages/apidom-ns-asyncapi-2/test/refractor/fixtures/asyncapi-2-1-0.json @@ -108,111 +108,115 @@ } } ], - "message": [ - { - "headers": { - "type": "object" - }, - "payload": { - "type": "object", - "properties": { - "user": { - "$ref": "#/components/schemas/user" - }, - "signup": { - "$ref": "#/components/schemas/signup" - } + "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" - } + } + }, + "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" + } + ], + "externalDocs": { + "description": "description of message 1 external docs", + "url": "https://example.com/message-1-external-docs" + }, + "bindings": { + "kafka": { + "key": { + "type": "integer" }, - "ibmmq": { - "type": "jms", - "bindingVersion": "0.1.0" - } + "bindingVersion": "0.1.0" }, - "examples": [{ + "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" + } + ], + "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" } - }, - "examples": [{"a": "b"}] + } + ], + "externalDocs": { + "description": "description of message 1 trait external docs", + "url": "https://example.com/message-1-trait-external-docs" }, - { - "bindings": { - "$ref": "#/components/messageBindings/MessageBinding1" + "bindings": { + "kafka": { + "key": { + "type": "integer" + }, + "bindingVersion": "0.1.0" + } + }, + "examples": [ + { + "a": "b" } + ] + }, + { + "bindings": { + "$ref": "#/components/messageBindings/MessageBinding1" } - ] - } - ], + } + ] + }, "bindings": { "kafka": { "clientId": { @@ -250,16 +254,14 @@ "$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" } - ] - } - ] + "message": { + "bindings": { + "$ref": "#/components/messageBindings/MessageBinding1" + }, + "traits": [ + { "$ref": "#/components/messageTraits/MessageTrait1" } + ] + } }, "publish": { "operationId": "operation2", @@ -282,9 +284,7 @@ "traits": [ {"$ref": "#/components/operationTraits/OperationTrait1"} ], - "message": [ - {"$ref": "#/components/messages/Message1"} - ], + "message": { "$ref": "#/components/messages/Message1" }, "bindings": { "$ref": "#/components/operationBindings/OperationBinding1" } diff --git a/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json b/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json index 11eda69ce0..beba089352 100644 --- a/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json +++ b/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/dereferenced.json @@ -6,15 +6,13 @@ "subscribe": { "summary": "A user signed up.", "operationId": "emitUserSignUpEvent", - "message": [ - { - "name": "userSignedUp", - "title": "User signed up event", - "summary": "Inform about a new user", - "contentType": "application/json", - "payload": {} - } - ] + "message": { + "name": "userSignedUp", + "title": "User signed up event", + "summary": "Inform about a new user", + "contentType": "application/json", + "payload": {} + } } } }, diff --git a/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json b/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json index 5a0690ef7f..bcf9722340 100644 --- a/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json +++ b/apidom/packages/apidom-reference/test/dereference/strategies/asyncapi-2-0/message-object/fixtures/operation-object/root.json @@ -5,11 +5,9 @@ "subscribe": { "summary": "A user signed up.", "operationId": "emitUserSignUpEvent", - "message": [ - { - "$ref": "#/components/messages/UserSignedUp" - } - ] + "message": { + "$ref": "#/components/messages/UserSignedUp" + } } } },