Comparing version
@@ -5,6 +5,8 @@ { | ||
"description": "Track environment variable usage", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"keywords": [], | ||
"dependencies": { | ||
"timshadel/simple-debug": "*" | ||
"timshadel/simple-debug": "*", | ||
"CamShaft/javascript-stacktrace": "patch-1", | ||
"CamShaft/require-component": "*" | ||
}, | ||
@@ -11,0 +13,0 @@ "development": {}, |
47
index.js
@@ -5,4 +5,7 @@ /** | ||
var debug = require("simple-debug")("envs"); | ||
require = require('require-component')(require); | ||
var debug = require('simple-debug')('envs') | ||
, stacktrace = require('stacktrace.js', 'stacktrace-js'); | ||
/** | ||
@@ -23,3 +26,3 @@ * Track the env var usages | ||
* | ||
* envs("MY_VAR", "this is a default"); | ||
* envs('MY_VAR', 'this is a default'); | ||
* | ||
@@ -38,6 +41,6 @@ * @param {String} name | ||
// Parse the stack | ||
var lineno = (new Error).stack.split("\n")[2].trim(); | ||
var lineno = stacktrace()[4].trim(); | ||
// Log it | ||
debug(lineno, name+"="+val); | ||
debug(lineno, name+'='+val); | ||
@@ -61,2 +64,38 @@ // Track the usages | ||
/** | ||
* Require a integer | ||
* | ||
* @param {String} | ||
* @param {Number} | ||
* @return {Number} | ||
*/ | ||
exports.int = function(name, defaultVal) { | ||
var val = exports(name, defaultVal); | ||
if (typeof val === 'number') return val; | ||
try { | ||
return parseInt(val); | ||
} catch (e) { | ||
return defaultVal; | ||
} | ||
}; | ||
/** | ||
* Require a float | ||
* | ||
* @param {String} | ||
* @param {Number} | ||
* @return {Number} | ||
*/ | ||
exports.float = function(name, defaultVal) { | ||
var val = exports(name, defaultVal); | ||
if (typeof val === 'number') return val; | ||
try { | ||
return parseFloat(val); | ||
} catch (e) { | ||
return defaultVal; | ||
} | ||
}; | ||
/** | ||
* Set defaults in the environment | ||
@@ -63,0 +102,0 @@ * |
{ | ||
"name": "envs", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"description": "Track environment variable usage", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "NODE_ENV=test mocha" | ||
"test": "NODE_ENV=test TEST_INT=123 TEST_FLOAT=123.123 mocha" | ||
}, | ||
@@ -20,3 +20,5 @@ "repository": { | ||
"dependencies": { | ||
"simple-debug": "~1.1.0" | ||
"simple-debug": "~1.1.0", | ||
"stacktrace-js": "~0.5.0", | ||
"require-component": "~0.1.0" | ||
}, | ||
@@ -23,0 +25,0 @@ "devDependencies": { |
@@ -28,2 +28,26 @@ /** | ||
}); | ||
it("should parse the integer", function() { | ||
envs.int("TEST_INT").should.equal(123); | ||
}); | ||
it("should parse a default", function() { | ||
envs.int("NONEXISTANT", "456").should.equal(456); | ||
}); | ||
it("should use a default", function() { | ||
envs.int("NONEXISTANT", 456).should.equal(456); | ||
}); | ||
it("should parse the float", function() { | ||
envs.float("TEST_FLOAT").should.equal(123.123); | ||
}); | ||
it("should parse a default", function() { | ||
envs.float("NONEXISTANT", "456.456").should.equal(456.456); | ||
}); | ||
it("should use a default", function() { | ||
envs.float("NONEXISTANT", 456.456).should.equal(456.456); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
5438
38.48%163
49.54%3
200%+ Added
+ Added
+ Added
+ Added