Befor generating

This commit is contained in:
marys
2026-06-01 13:17:37 +02:00
parent 3383f4bf4a
commit 1aa1b5f625
6756 changed files with 649946 additions and 1 deletions
+70
View File
@@ -0,0 +1,70 @@
const OperationTraitable = require('./operation-traitable');
const Message = require('./message');
const OperationTrait = require('./operation-trait');
const OperationSecurityRequirement = require('./operation-security-requirement');
/**
* Implements functions to deal with an Operation object.
* @class
* @alias module:@asyncapi/parser#Operation
* @extends OperationTraitable
* @returns {Operation}
*/
class Operation extends OperationTraitable {
/**
* @returns {boolean}
*/
hasMultipleMessages() {
if (this._json.message && this._json.message.oneOf && this._json.message.oneOf.length > 1) return true;
// eslint-disable-next-line sonarjs/prefer-single-boolean-return
if (!this._json.message) return false;
return false;
}
/**
* @returns {OperationTrait[]}
*/
traits() {
const traits = this._json['x-parser-original-traits'] || this._json.traits;
if (!traits) return [];
return traits.map(t => new OperationTrait(t));
}
/**
* @returns {boolean}
*/
hasTraits() {
return !!this._json['x-parser-original-traits'] || !!this._json.traits;
}
/**
* @returns {Message[]}
*/
messages() {
if (!this._json.message) return [];
if (this._json.message.oneOf) return this._json.message.oneOf.map(m => new Message(m));
return [new Message(this._json.message)];
}
/**
* @returns {Message}
*/
message(index) {
if (!this._json.message) return null;
if (this._json.message.oneOf && this._json.message.oneOf.length === 1) return new Message(this._json.message.oneOf[0]);
if (!this._json.message.oneOf) return new Message(this._json.message);
if (typeof index !== 'number') return null;
if (index > this._json.message.oneOf.length - 1) return null;
return new Message(this._json.message.oneOf[+index]);
}
/**
* @returns {OperationSecurityRequirement[]}
*/
security() {
if (!this._json.security) return null;
return this._json.security.map(sec => new OperationSecurityRequirement(sec));
}
}
module.exports = Operation;