json-transforms
Version:
Provides a recursive, pattern-matching approach to transforming JSON data.
21 lines (19 loc) • 445 B
JavaScript
const identity = (json, runner) => {
if (typeof json !== 'object') {
return json;
} else if (Array.isArray(json)) {
return json.map(d => runner(d));
} else {
var out = {};
for (var prop in json) {
const value = json[prop];
if (Array.isArray(value)) {
out[prop] = value.map(d => runner(d));
} else {
out[prop] = runner(value);
}
}
return out;
}
};
export default identity;