json-processing
Version:
JSON Processing Tool
16 lines (15 loc) • 727 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jsonpath_1 = __importDefault(require("jsonpath"));
const lodash_1 = __importDefault(require("lodash"));
exports.default = (path, mapper = (v) => v) => (object) => process(path, object, mapper);
function process(path, object, mapper) {
if (lodash_1.default.isFunction(path))
return path(object);
if (lodash_1.default.isObject(path))
return lodash_1.default.mapValues(path, entry => process(entry, object, mapper));
return mapper(jsonpath_1.default.value(object, `$${path}`));
}