UNPKG

providence

Version:

Reference a sub-structure of any data structure

26 lines (20 loc) 518 B
/** * utils.js */ 'use strict'; 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(); }