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
+76
View File
@@ -0,0 +1,76 @@
const { createMapOfType, getMapValueOfType, mix } = require('./utils');
const Base = require('./base');
const ServerVariable = require('./server-variable');
const ServerSecurityRequirement = require('./server-security-requirement');
const MixinDescription = require('../mixins/description');
const MixinBindings = require('../mixins/bindings');
const MixinSpecificationExtensions = require('../mixins/specification-extensions');
const MixinTags = require('../mixins/tags');
/**
* Implements functions to deal with a Server object.
* @class
* @alias module:@asyncapi/parser#Server
* @extends Base
* @mixes MixinDescription
* @mixes MixinBindings
* @mixes MixinSpecificationExtensions
* @mixes MixinTags
* @returns {Server}
*/
class Server extends Base {
/**
* @returns {string}
*/
url() {
return this._json.url;
}
/**
* @returns {string}
*/
protocol() {
return this._json.protocol;
}
/**
* @returns {string}
*/
protocolVersion() {
return this._json.protocolVersion;
}
/**
* @returns {Object<string, ServerVariable>}
*/
variables() {
return createMapOfType(this._json.variables, ServerVariable);
}
/**
* @param {string} name - Name of the server variable.
* @returns {ServerVariable}
*/
variable(name) {
return getMapValueOfType(this._json.variables, name, ServerVariable);
}
/**
* @returns {boolean}
*/
hasVariables() {
return !!this._json.variables;
}
/**
* @returns {ServerSecurityRequirement[]}
*/
security() {
if (!this._json.security) return null;
return this._json.security.map(sec => new ServerSecurityRequirement(sec));
}
}
module.exports = mix(Server, MixinDescription, MixinBindings, MixinSpecificationExtensions, MixinTags);