getenv
Advanced tools
Comparing version 0.5.0 to 0.6.0
@@ -14,3 +14,3 @@ var util = require("util"); | ||
if (fallbacksDisabled) { | ||
throw new Error('GetEnv.DisabledFallbacks: ' + varName + ' relying on fallback ' + | ||
throw new Error('GetEnv.DisabledFallbacks: ' + varName + ' relying on fallback ' + | ||
'when fallbacks have been disabled'); | ||
@@ -54,4 +54,17 @@ } | ||
return (value === 'true'); | ||
return (value === 'true') | ||
}, | ||
boolish: function(value) { | ||
try { | ||
return convert.bool(value) | ||
} | ||
catch(err) { | ||
var isBool = (value === '1' || value === '0'); | ||
if (!isBool) { | ||
throw new Error('GetEnv.NoBoolean: ' + value + ' is not a boolean.'); | ||
} | ||
return (value === '1'); | ||
} | ||
}, | ||
url: url.parse | ||
@@ -58,0 +71,0 @@ }; |
@@ -11,3 +11,3 @@ { | ||
], | ||
"version": "0.5.0", | ||
"version": "0.6.0", | ||
"homepage": "https://github.com/ctavan/node-getenv", | ||
@@ -14,0 +14,0 @@ "repository": { |
@@ -81,4 +81,8 @@ # getenv | ||
Return as boolean. | ||
Return as boolean. Only allows true/false as valid values. | ||
### env.boolish(name, [fallback]) | ||
Return as boolean. Allows true/false/1/0 as valid values. | ||
### env.array(name, [type], [fallback]) | ||
@@ -124,2 +128,5 @@ | ||
### v0.6.0 | ||
- Added getenv.boolish() support. | ||
### v0.5.0 | ||
@@ -126,0 +133,0 @@ - Add getenv.url() support. |
@@ -224,3 +224,38 @@ var assert = require('assert'); | ||
tests['getenv.boolish() valid input'] = function() { | ||
var data = [{ | ||
varName: 'TEST_GETENV_FALSE', | ||
expected: false | ||
}, { | ||
varName: 'TEST_GETENV_TRUE', | ||
expected: true | ||
}, { | ||
varName: 'TEST_GETENV_NOT_REALLY_FALSE', | ||
expected: false | ||
}, { | ||
varName: 'TEST_GETENV_NOT_REALLY_TRUE', | ||
expected: true | ||
}]; | ||
data.forEach(function(item) { | ||
var boolVar = getenv.boolish(item.varName); | ||
assert.strictEqual(boolVar, item.expected); | ||
}); | ||
}; | ||
tests['getenv.boolish() invalid input'] = function() { | ||
var data = [ | ||
{ varName: 'TEST_GETENV_STRING' }, | ||
{ varName: 'TEST_GETENV_EMPTY_STRING' } | ||
]; | ||
data.forEach(function(item) { | ||
assert.throws(function() { | ||
var boolVar = getenv.boolish(item.varName); | ||
}); | ||
}); | ||
}; | ||
tests['getenv.bool() nonexistent variable'] = function() { | ||
@@ -227,0 +262,0 @@ assert.throws(function() { |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 35 instances in 1 package
22635
585
156
80