Skip to content

Utility functions around nested object fields

License

Notifications You must be signed in to change notification settings

blackflux/object-fields

Repository files navigation

object-fields

Build Status Test Coverage Dependabot Status Dependencies NPM Downloads Semantic-Release Gardener

Utility functions around object paths

Install

$ npm i --save object-fields

Usage

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' }]

Methods

split

Takes a shortened input string and separates it into an array.

join

Takes array of selectors and shortens it into a string

getParents

Takes array of selectors and returns unique, true parents.

Retainer

Takes array of selectors and returns retain function. The retain function takes an object and removes non selected fields it.

Known Limitations

This package does not currently support escaping.