providence
Version:
Reference a sub-structure of any data structure
26 lines (20 loc) • 518 B
JavaScript
/**
* utils.js
*/
;
var Immutable = require('immutable');
var Iterable = Immutable.Iterable;
module.exports = {
valToPath: valToPath,
newPath: newPath,
listToKeyPath: listToKeyPath
};
function valToPath(val) {
return Array.isArray(val) ? val : Iterable.isIterable(val) ? val.toArray() : [val];
}
function newPath(head, tail) {
return head.concat(listToKeyPath(tail));
}
function listToKeyPath(list) {
return Array.isArray(list) ? list : Immutable.Iterable(list).toArray();
}