From cbc44c82152e33a7a939f5eec384e747397dc39f Mon Sep 17 00:00:00 2001 From: Dominik Sigmund <dominik.sigmund@br.de> Date: Thu, 18 Jun 2020 14:14:24 +0200 Subject: [PATCH] Fixed deep keys --- index.js | 2 +- index.test.js | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index f0d11cd..049096b 100644 --- a/index.js +++ b/index.js @@ -41,7 +41,7 @@ module.exports = function() { let keys = objectDeepKeys(config) for (let index = 0; index < keys.length; index++) { const element = keys[index] - let env = process.env[element.toUpperCase().replace('.', '_')] + let env = process.env[element.toUpperCase().replace(/\./g, '_')] if (env) { env = (env == 'true') ? true : env env = (env == 'false') ? false : env diff --git a/index.test.js b/index.test.js index a0541ae..0a9c4bb 100644 --- a/index.test.js +++ b/index.test.js @@ -13,6 +13,11 @@ let jsonLocals = { setting:"localvalue", another: { more:"stuff" + }, + even: { + deeper: { + key: 'sodeep' + } } } @@ -54,6 +59,7 @@ describe('config', function() { process.env['SETTING'] = 'overwritten-by-env' process.env['ANOTHER_MORE'] = 'overwritten-by-env2' + process.env['EVEN_DEEPER_KEY'] = 'overwritten-by-env3' let config = new Config() @@ -62,6 +68,7 @@ describe('config', function() { expect(config.setting).toBe('overwritten-by-env') expect(config.another.more).toBe('overwritten-by-env2') + expect(config.even.deeper.key).toBe('overwritten-by-env3') expect(config.another.setting).toBe('avalue') }) }) -- GitLab