1- let fs = require ( 'fs' ) ,
2- deepmerge = require ( 'deepmerge' ) ,
3- File = require ( './file' ) ;
1+ const fs = require ( 'fs' ) ;
2+ const deepmerge = require ( 'deepmerge' ) ;
3+ const File = require ( './file' ) ;
4+ const overwriteFieldValue = require ( 'node-object-field-resolver' ) ;
45
56module . exports = class Processor {
67 constructor ( config , cwd ) {
@@ -66,7 +67,7 @@ module.exports = class Processor {
6667 let envVariable = envMapping [ abstractPath ] ,
6768 value = this . constructor . getEnvironmentValue ( envVariable ) ;
6869
69- this . constructor . overwriteObjectFieldValue ( abstractPath , value , object )
70+ overwriteFieldValue ( abstractPath , value , object ) ;
7071 }
7172
7273 return object ;
@@ -79,30 +80,4 @@ module.exports = class Processor {
7980 static getMergedData ( data , overwrittenData ) {
8081 return deepmerge ( data , overwrittenData ) ;
8182 }
82-
83- static overwriteObjectFieldValue ( abstractPath , value , object , delimiter ) {
84- if ( undefined === value ) {
85- return ;
86- }
87-
88- delimiter = undefined !== delimiter ? delimiter : '.' ;
89-
90- let indexes = abstractPath . split ( delimiter ) ,
91- lastPartIndex = indexes . length - 1 ;
92-
93- for ( let i = 0 ; i <= lastPartIndex ; i ++ ) {
94- let index = indexes [ i ] ;
95-
96- if ( i === lastPartIndex ) {
97- object [ index ] = value ;
98- break ;
99- }
100-
101- if ( undefined === object [ index ] ) {
102- object [ index ] = { } ;
103- }
104-
105- object = object [ index ] ;
106- }
107- }
10883} ;
0 commit comments