Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ranfdev/deepobj

get, set, delete deep objects in javascript. Get the last object reference (~130 bytes)
https://github.com/ranfdev/deepobj

Last synced: 24 days ago
JSON representation

get, set, delete deep objects in javascript. Get the last object reference (~130 bytes)

Awesome Lists containing this project

README

        

# deepobj(action, obj, path)

Get, set, delete or do what you want with a deep object (it keeps the object reference).
inspired from [dlv](https://github.com/developit/dlv) and [dset](https://github.com/lukeed/dset/)

# Install:
```npm i @ranfdev/deepobj```

## Examples:

```
import deepobj from "@ranfdev/deepobj"
const objectToTest = {a: {b: {c: {d: 2}}}}

// define some basic actions

const get = (obj, prop) => obj[prop];
const set = n => (obj, prop) => (obj[prop] = n);

// You can do what you want, even deleting the nested object
const del = (obj, prop) => delete obj[prop];

// use them
deepobj(get, objectToTest, 'a.b.c.d') // 2
deepobj(set(10), objectToTest, 'e.f.g')

console.log(objectToTest.e.f.g) //10
```

## Why i made this

dlv only returns the value of the nested object. I needed a way to get the reference of the nested object