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