doesdev / heedful

Observe nested changes on (almost) anything

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

heedful

Observe nested changes on (almost) anything

install

$ npm install --save heedful

usage

import { takeHeed } from 'heedful'

const onChange = (changeData) => console.log(JSON.stringify(changeData, null, 2))

const baseObject = { child: { array: [{ nested: 'deep' }] } }
const observed = takeHeed(baseObject, { onChange })

observed.child.array[0].mad = 'deep'
/* LOGGED TO CONSOLE
{
  "property": "mad",
  "target": {
    "child": {
      "array": [
        {
          "nested": "deep",
          "mad": "deep"
        }
      ]
    }
  },
  "source": {
    "nested": "deep",
    "mad": "deep"
  },
  "chain": [
    "child",
    "array",
    "0",
    "mad"
  ]
}
*/

License

MIT © Andrew Carpenter

About

Observe nested changes on (almost) anything


Languages

Language:JavaScript 100.0%