Utility functions around object paths
$ npm i --save object-fields
import {
split, join, getParents, Retainer
} from 'object-fields';
split('data(file1,file2)');
// => ["data.file1", "data.file2"]
join(['data', 'data']);
// => "data"
join(['path.to.thing', 'path.to.other.thing']);
// => "path.to(thing,other.thing)"
getParents(['child', 'parent.child', 'grandparent.parent.child']);
// => ['parent', 'grandparent', 'grandparent.parent']
const data = [{ id: 1, name: 'one' }, { id: 2, name: 'two' }];
const retain = Retainer(['name']);
retain(data); // updates data in place
// data => [{ name: 'one' }, { name: 'two' }]
Takes a shortened input string and separates it into an array.
Takes array of selectors and shortens it into a string
Takes array of selectors and returns unique, true parents.
Takes array of selectors and returns retain function. The retain function takes an object and removes non selected fields it.
This package does not currently support escaping.