motion
Version:
motion - moving development forward
28 lines (22 loc) • 627 B
JavaScript
Object.defineProperty(exports, '__esModule', {
value: true
});
var PATH_DELIMITER = '.';
function lens(data, path) {
var p = path.split(PATH_DELIMITER);
var segment = p.shift();
if (!segment) {
return data;
}
var t = getType(data);
if (t === 'Array' && data[integer(segment)]) {
return lens(data[integer(segment)], p.join(PATH_DELIMITER));
} else if (t === 'Object' && data[segment]) {
return lens(data[segment], p.join(PATH_DELIMITER));
}
}
exports.default = lens;
function integer(string) {
return parseInt(string, 10);
}
module.exports = exports.default;