UNPKG

container.ts

Version:
94 lines 3.72 kB
"use strict"; 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