Skip to content

Commit ade92fc

Browse files
Merge pull request #14 from eugene-matvejev/v0.1.5.1
use node-object-field-resolver instead of custom functionality
2 parents e727d03 + 512ecb6 commit ade92fc

File tree

2 files changed

+7
-31
lines changed

2 files changed

+7
-31
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-parameter-handler",
3-
"version": "0.1.4",
3+
"version": "0.1.5",
44
"description": "build JSON files which can be used as settings",
55
"main": "index.js",
66
"repository": {
@@ -18,6 +18,7 @@
1818
"homepage": "https://github.com/explore-node-js/node.js-parameter-handler#readme",
1919
"dependencies": {
2020
"deepmerge": "^1.3.1",
21+
"node-object-field-resolver": "^0.1",
2122
"jsonfile": "^2.4.0"
2223
},
2324
"devDependencies": {

src/processor.js

+5-30
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
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

56
module.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

Comments
 (0)