@calf/helios
Version:
Helios module of Calf framework.
205 lines (204 loc) • 6.29 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HeliosConfig = void 0;
// Constants
var request_method_const_1 = require("../constants/request-method.const");
/**
* Helios config
* @description Helios configuration service
*/
var HeliosConfig = /** @class */ (function () {
/**
* Constructor
* @param config
*/
function HeliosConfig(config) {
// Assign values
this._host = config.host;
this._hostPath = config.hostPath || "";
this._port = config.port;
this._version = config.version;
this._defaultRequestMethod = config.defaultRequestMethod || request_method_const_1.HeliosRequestMethod.Get;
this._defaultCustomHeaders = config.defaultCustomHeaders || {};
this._ssl = !!config.ssl;
this._runtimeTimeout = config.runtimeTimeout;
this._debug = !!config.debug;
this._delayBetweenRequests = config.delayBetweenRequests || 0;
this._browseResponseLimit = config.browseResponseLimit || 1;
}
Object.defineProperty(HeliosConfig, "host", {
/**
* Host
* @description Helios host
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._host;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "hostPath", {
/**
* Host path
* @description Helios path from host
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._hostPath;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "port", {
/**
* Port
* @description Helios port
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._port;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "version", {
/**
* Version
* @description API version
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._version;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "defaultRequestMethod", {
/**
* Default request method
* @description Get default request method
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._defaultRequestMethod;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "defaultCustomHeaders", {
/**
* Default custom headers
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._defaultCustomHeaders;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "ssl", {
/**
* SSL
* @description Whether to use SSL
* connection
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._ssl;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "debug", {
/**
* Debug
* @description Whether to debug
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._debug;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "runtimeTimeout", {
/**
* Runtime timeout
* @description Timeout of runtime in ms
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._runtimeTimeout;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "delayBetweenRequests", {
/**
* Delay between requests
* @description Delay between requests in ms
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._delayBetweenRequests;
},
enumerable: false,
configurable: true
});
Object.defineProperty(HeliosConfig, "browseResponseLimit", {
/**
* Browse response limit
* @description Maximum browse response iterations
*/
get: function () {
// Ensure initialization
this.ensureInitialization();
// Return value
return this._instance._browseResponseLimit;
},
enumerable: false,
configurable: true
});
/**
* Initialize config
* @param config
*/
HeliosConfig.initialize = function (config) {
// Create instance
this._instance = new HeliosConfig(config);
};
/**
* Ensure initialization
*/
HeliosConfig.ensureInitialization = function () {
// Check if instance is set
if (this._instance) {
return;
}
// Throw error
throw new Error("[@calf/helios@HeliosConfig]: Configuration not initialized, did you forget to initialize?");
};
return HeliosConfig;
}());
exports.HeliosConfig = HeliosConfig;