@jovian/type-tools
Version:
TypeTools is a Typescript library for providing extensible tooling runtime validations and type helpers.
37 lines • 1.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.envVar = exports.getApplicationProfile = exports.setApplicationProfile = exports.APP = exports.globalRoot = void 0;
var env_util_1 = require("../util/env.util");
exports.globalRoot = env_util_1.isNodeJs ? process : window;
var applicationTarget = {
PROFILE: (env_util_1.isNodeJs && process.env.APPLICATION_PROFILE) ? process.env.APPLICATION_PROFILE : 'test',
};
if (!exports.globalRoot.APP) {
exports.globalRoot.APP = applicationTarget;
}
exports.APP = new Proxy(exports.globalRoot.APP, {});
function setApplicationProfile(newProfile) {
exports.globalRoot.APP.PROFILE = newProfile;
}
exports.setApplicationProfile = setApplicationProfile;
function getApplicationProfile() {
return exports.globalRoot.APP.PROFILE;
}
exports.getApplicationProfile = getApplicationProfile;
function envVar(envVar, defaultValue) {
if (defaultValue === null || defaultValue === undefined) {
return process.env[envVar] ? process.env[envVar] : defaultValue;
}
if (typeof defaultValue === 'number') {
return process.env[envVar] ? parseInt(process.env[envVar], 10) : defaultValue;
}
if (typeof defaultValue === 'boolean') {
return process.env[envVar] ? (['true', 'yes', '1', 'on', 'enable', 'enabled'].indexOf(process.env[envVar].toLocaleLowerCase()) >= 0) : defaultValue;
}
else if (typeof defaultValue === 'object') {
return process.env[envVar] ? JSON.parse(process.env[envVar]) : defaultValue;
}
return process.env[envVar] ? process.env[envVar] : defaultValue;
}
exports.envVar = envVar;
//# sourceMappingURL=env.profile.js.map
;