object-fields

Utility functions around nested object fields

Usage no npm install needed!

<script type="module">
  import objectFields from 'https://cdn.skypack.dev/object-fields';
</script>

README

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

const objectFields = require('object-fields');

objectFields.split('data(file1,file2)');
// => ["data.file1", "data.file2"]
objectFields.join(['data', 'data']);
// => "data"
objectFields.join(['path.to.thing', 'path.to.other.thing']);
// => "path.to(thing,other.thing)"
objectFields.getParents(['child', 'parent.child', 'grandparent.parent.child']);
// => ['parent', 'grandparent', 'grandparent.parent']

const data = [{ id: 1, name: 'one' }, { id: 2, name: 'two' }];
const retain = objectFields.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.