UNPKG

kobp

Version:
31 lines 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.env = void 0; const lodash_1 = require("lodash"); function _env(envKey, defaultValue, src = process.env) { const val = src[`${envKey}`]; if ((0, lodash_1.isNil)(val)) { if (defaultValue === 'requiredString' || defaultValue === 'requiredNumber' || defaultValue === 'requiredBoolean') { throw new Error(`ENVIRONMENT "${envKey}" (${envKey.length}) is required but not yet defined.`); } return defaultValue; } if (defaultValue === 'requiredNumber' || typeof defaultValue === 'number') { const numberVal = +val; if (isNaN(numberVal)) { throw new Error(`ENVIRONMENT "${envKey}" (${envKey.length}) should be numeric value but provided as "${val}" (Not a Number).`); } return numberVal; } if (defaultValue === 'requiredBoolean' || typeof defaultValue === 'boolean') { const booleanVal = /^(yes|true|1)$/i.test(`${val}`); return booleanVal; } return val; } exports.env = { s: (envKey, defaultValue) => _env(envKey, typeof defaultValue === 'undefined' ? 'requiredString' : defaultValue), b: (envKey, defaultValue) => _env(envKey, typeof defaultValue === 'undefined' ? 'requiredBoolean' : defaultValue), n: (envKey, defaultValue) => _env(envKey, typeof defaultValue === 'undefined' ? 'requiredNumber' : defaultValue), }; //# sourceMappingURL=env.js.map