diff --git a/server/env.js b/server/env.js index d53e3e48..9d6cdaa5 100644 --- a/server/env.js +++ b/server/env.js @@ -8,12 +8,18 @@ const up = (a) => a.toUpperCase(); module.exports = parse; module.exports.bool = (name) => { const value = parse(name); - + if (value === 'true') return true; - + + if (value === '1') + return true; + if (value === 'false') return false; + + if (value === '0') + return false; }; function parse(name) { diff --git a/server/env.spec.js b/server/env.spec.js index e090f45a..9f55c8cd 100644 --- a/server/env.spec.js +++ b/server/env.spec.js @@ -29,3 +29,29 @@ test('cloudcmd: server: env: bool: snake_case', (t) => { t.ok(result); t.end(); }); + +test('cloudcmd: server: env: bool: number', (t) => { + const {cloudcmd_terminal} = process.env; + + process.env.CLOUDCMD_TERMINAL = '1'; + + const result = env.bool('terminal'); + + process.env.CLOUDCMD_TERMINAL = cloudcmd_terminal; + + t.ok(result); + t.end(); +}); + +test('cloudcmd: server: env: bool: number: 0', (t) => { + const {cloudcmd_terminal} = process.env; + + process.env.cloudcmd_terminal = '0'; + + const result = env.bool('terminal'); + + process.env.cloudcmd_terminal = cloudcmd_terminal; + + t.notOk(result); + t.end(); +});