in lib/painless-config.js [11:72]
(function () {
var config = {};
var fallbacks;
var fallbackLocation;
function findFallbacks() {
if (fallbackLocation !== undefined) {
return;
}
fallbackLocation = walkBack(process.cwd(), 'env.json');
}
function loadFallbacks() {
if (fallbacks !== undefined) {
return;
}
findFallbacks();
if (fallbackLocation === null) {
fallbacks = {};
return;
}
var fallbackData = fs.readFileSync(fallbackLocation, 'utf8');
fallbacks = JSON.parse(fallbackData);
}
function getEnvPath(env) {
return env.replace(/[_-]/g, '.');
}
config.get = function (variable) {
var value = process.env[variable];
if (value === undefined) {
loadFallbacks();
value = fallbacks[variable];
}
return value;
};
config.all = function () {
loadFallbacks();
var all = {};
for (var env in process.env) {
if (process.env.hasOwnProperty(env)) {
var envPath = getEnvPath(env);
objectPath.set(all, envPath, process.env[env]);
}
}
for (var fallbackEnv in fallbacks) {
var fallbackEnvPath = getEnvPath(fallbackEnv);
if (objectPath.get(all, fallbackEnvPath) === undefined) {
objectPath.set(all, fallbackEnvPath, fallbacks[fallbackEnv]);
}
}
return all;
};
module.exports = config;
})();