Comparing version
45
index.js
/** | ||
* Module dependencies | ||
*/ | ||
var debug = require("simple-debug")("envs"); | ||
@@ -9,5 +10,12 @@ | ||
*/ | ||
var usages = {}; | ||
/** | ||
* Save some global defaults | ||
*/ | ||
var defaults = {}; | ||
/** | ||
* Require an environment variable and track its usage | ||
@@ -21,5 +29,8 @@ * | ||
*/ | ||
exports = module.exports = function env(name, defaultVal) { | ||
// Get the value | ||
var val = process.env[name] || defaultVal; | ||
var val = typeof process !== 'undefined' | ||
? (process.env[name] || defaultVal || defaults[name]) | ||
: (defaults[name] || defaultVal); | ||
@@ -49,4 +60,36 @@ // Parse the stack | ||
/** | ||
* Set defaults in the environment | ||
* | ||
* @param {String|Object} name | ||
* @param {String} val | ||
* @api public | ||
*/ | ||
exports.set = function(name, val) { | ||
if (isObject(name)) { | ||
for (var key in name) { | ||
defaults[key] = name[key]; | ||
} | ||
return exports; | ||
} | ||
defaults[name] = val; | ||
return exports; | ||
}; | ||
/** | ||
* Check if `obj` is an object. | ||
* | ||
* @param {Object} obj | ||
* @return {Boolean} | ||
* @api private | ||
*/ | ||
function isObject(obj) { | ||
return obj === Object(obj); | ||
} | ||
/** | ||
* Expose the usages | ||
*/ | ||
exports.usages = usages; |
{ | ||
"name": "envs", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"description": "Track environment variable usage", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is not supported yet
3927
30.51%6
20%109
75.81%