ts-dot-prop
TypeScript utility to transform nested objects using a dot notation path.
Installation
npm install ts-dot-prop
Usage
import * as dot from 'ts-dot-prop';
const obj = {
foo: 'bar',
state: {
name: 'New York',
},
fruit: [
{
type: 'Apple',
color: 'red',
variety: [{ name: 'cox' }, { name: 'gala' }, { name: 'honeycrips' }],
},
{
type: 'Mango',
color: 'orange',
variety: [{ name: 'alice' }, { name: 'alphonso' }],
},
],
};
dot.get(obj, 'state.name');
dot.get(obj, 'fruit[0].type');
dot.get(obj, 'fruit[*].color');
dot.get(obj, 'fruit[*].variety[*].name');
dot.get(obj, 'state.capital');
dot.get(obj, 'state.population.total', 'not found');
dot.set(obj, 'state.name', 'Paris');
dot.set(obj, 'state.capital', 'Albany');
dot.set(obj, 'fruit[0].color', 'Green');
dot.set(obj, 'fruit[*].color', 'Yellow');
dot.has(obj, 'state.name');
dot.has(obj, 'fruit[0].type');
dot.remove(obj, 'state.name');
dot.remove(obj, 'fruit[0].color');
dot.paths(obj);