exthos
Version:
stream processing in nodejs using the power of golang
31 lines • 934 B
JavaScript
import merge from "lodash.merge";
let nanojq = {
get: (obj, path) => {
let dotKey = path;
let dotKeySteps = dotKey.length > 0 ? dotKey.split("_") : [];
return dotKeySteps.reduce((pv, cv) => {
return pv[cv];
}, obj);
},
set: (obj, path, val) => {
let toReturn = {};
let dotKey = path;
let dotKeySteps = dotKey.length > 0 ? dotKey.split("_") : [];
let tempConf = {};
let temp = tempConf;
dotKeySteps.forEach((dotKeyStep, idx) => {
temp = temp || {};
if (dotKeySteps.length - 1 === idx) {
temp[dotKeyStep] = val;
toReturn = merge({}, obj, tempConf);
}
else {
temp[dotKeyStep] = {};
temp = temp[dotKeyStep];
}
});
return toReturn;
},
};
export { nanojq };
//# sourceMappingURL=nanojq.js.map