Files
nats-python/openapi_templete/node_modules/@asyncapi/parser/lib/models/server-variable.js
T
2026-06-01 13:17:37 +02:00

64 lines
1.2 KiB
JavaScript

const { mix } = require('./utils');
const Base = require('./base');
const MixinDescription = require('../mixins/description');
const MixinSpecificationExtensions = require('../mixins/specification-extensions');
/**
* Implements functions to deal with a ServerVariable object.
* @class
* @alias module:@asyncapi/parser#ServerVariable
* @extends Base
* @mixes MixinDescription
* @mixes MixinSpecificationExtensions
* @returns {ServerVariable}
*/
class ServerVariable extends Base {
/**
* @returns {any[]}
*/
allowedValues() {
return this._json.enum;
}
/**
* @param {string} name - Name of the variable.
* @returns {boolean}
*/
allows(name) {
if (this._json.enum === undefined) return true;
return this._json.enum.includes(name);
}
/**
* @returns {boolean}
*/
hasAllowedValues() {
return this._json.enum !== undefined;
}
/**
* @returns {string}
*/
defaultValue() {
return this._json.default;
}
/**
* @returns {boolean}
*/
hasDefaultValue() {
return this._json.default !== undefined;
}
/**
* @returns {string[]}
*/
examples() {
return this._json.examples;
}
}
module.exports = mix(ServerVariable, MixinDescription, MixinSpecificationExtensions);