const { mix } = require('./utils'); const Base = require('./base'); const MixinDescription = require('../mixins/description'); const MixinTags = require('../mixins/tags'); const MixinExternalDocs = require('../mixins/external-docs'); const MixinBindings = require('../mixins/bindings'); const MixinSpecificationExtensions = require('../mixins/specification-extensions'); /** * Implements functions to deal with the common properties Operation and OperationTrait object have. * @class * @alias module:@asyncapi/parser#OperationTraitable * @extends Base * @mixes MixinDescription * @mixes MixinTags * @mixes MixinExternalDocs * @mixes MixinBindings * @mixes MixinSpecificationExtensions * @returns {OperationTraitable} */ class OperationTraitable extends Base { /** * @returns {string} */ id() { return this._json.operationId; } /** * @returns {string} */ summary() { return this._json.summary; } } module.exports = mix(OperationTraitable, MixinDescription, MixinTags, MixinExternalDocs, MixinBindings, MixinSpecificationExtensions);