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' ) ;
4
5
5
6
module . exports = class Processor {
6
7
constructor ( config , cwd ) {
@@ -66,7 +67,7 @@ module.exports = class Processor {
66
67
let envVariable = envMapping [ abstractPath ] ,
67
68
value = this . constructor . getEnvironmentValue ( envVariable ) ;
68
69
69
- this . constructor . overwriteObjectFieldValue ( abstractPath , value , object )
70
+ overwriteFieldValue ( abstractPath , value , object ) ;
70
71
}
71
72
72
73
return object ;
@@ -79,30 +80,4 @@ module.exports = class Processor {
79
80
static getMergedData ( data , overwrittenData ) {
80
81
return deepmerge ( data , overwrittenData ) ;
81
82
}
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
- }
108
83
} ;
0 commit comments