Skip to content

Commit

Permalink
truthyEnv
Browse files Browse the repository at this point in the history
  • Loading branch information
orthagonal committed Oct 11, 2018
1 parent d058468 commit c540a1a
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 1 deletion.
2 changes: 2 additions & 0 deletions lib/confi.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ const parseDir = require('parse-dir');
const ms = require('ms');
const envExists = require('./exists');
const truthy = require('./truthy.js');
const truthyEnv = require('./truthyEnv.js');
const readFile = require('./readFile');
const getEnvOrFile = require('./getEnvOrFile');
const getEnv = require('./getEnv');
Expand Down Expand Up @@ -82,6 +83,7 @@ const load = async(options) => {
envExists,
ms,
truthy,
truthyEnv,
readFile,
getEnvOrFile,
getEnv,
Expand Down
7 changes: 7 additions & 0 deletions lib/truthyEnv.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = function(val, defaultVal = false) {
const result = process.env[val];
if (result === undefined || result === null) {
return defaultVal;
}
return (result === '1' || result === true || result === 'true');
};
23 changes: 22 additions & 1 deletion test/test-helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ const confi = require('../');
const path = require('path');

//t.runOnly = true;

t.test('envExists helper', async (assert) => {
process.env.TEST_VARIABLE = 'a test variable';
process.env.TEST_VARIABLE2 = 1;
Expand Down Expand Up @@ -224,3 +223,25 @@ t.test('hasValue helper', async (assert) => {
});
assert.end();
});

t.test('includes truthyEnv helper', async (assert) => {
process.env.VAR1 = '1';
process.env.VAR2 = 'true';
process.env.VAR3 = true;
process.env.VAR4 = 'false';
const config = await confi({
config: {
var1: '{{truthyEnv("VAR1", false)}}',
var2: '{{truthyEnv("VAR2", false)}}',
var3: '{{truthyEnv("VAR3", false)}}',
var4: '{{truthyEnv("VAR4", false)}}',
undef: '{{truthyEnv("UNDEF", "not defined")}}',
}
});
assert.equal(config.var1, true);
assert.equal(config.var2, true);
assert.equal(config.var3, true);
assert.equal(config.var4, false);
assert.equal(config.undef, 'not defined');
assert.end();
});

0 comments on commit c540a1a

Please sign in to comment.