container.ts
Version:
Modular application framework
94 lines • 3.72 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, "__esModule", { value: true });
var lodash_1 = require("lodash");
var error_1 = require("../lib/error");
/** Environment error codes. */
var EEnvironmentError;
(function (EEnvironmentError) {
EEnvironmentError["Get"] = "EnvironmentError.Get";
})(EEnvironmentError = exports.EEnvironmentError || (exports.EEnvironmentError = {}));
/** Environment error class. */
var EnvironmentError = /** @class */ (function (_super) {
__extends(EnvironmentError, _super);
function EnvironmentError(code, cause, context) {
return _super.call(this, { name: "EnvironmentError", value: __assign({ code: code }, context) }, cause) || this;
}
return EnvironmentError;
}(error_1.ErrorChain));
exports.EnvironmentError = EnvironmentError;
/** Environment variables class. */
var Environment = /** @class */ (function () {
function Environment() {
var variables = [];
for (var _i = 0; _i < arguments.length; _i++) {
variables[_i] = arguments[_i];
}
this.variables = lodash_1.assign.apply(void 0, __spreadArrays([{}], variables));
}
/** Returns a copy of environment. */
Environment.prototype.copy = function () {
var variables = [];
for (var _i = 0; _i < arguments.length; _i++) {
variables[_i] = arguments[_i];
}
return new Environment(lodash_1.assign.apply(void 0, __spreadArrays([{}, this.variables], variables)));
};
/** Returns true if environment variable key is set. */
Environment.prototype.has = function (key) {
return lodash_1.has(this.variables, key);
};
/**
* Get an environment variable value, or default value.
* Throws EnvironmentError if value is undefined and no default value provided.
*/
Environment.prototype.get = function (key, orDefault) {
if (this.variables[key] != null) {
return this.variables[key];
}
else if (orDefault != null) {
return orDefault;
}
else {
throw new EnvironmentError(EEnvironmentError.Get, undefined, { key: key });
}
};
/** Set an environment variable value. */
Environment.prototype.set = function (key, value) {
this.variables[key] = value;
return this;
};
return Environment;
}());
exports.Environment = Environment;
//# sourceMappingURL=environment.js.map