1.0.0 • Published 6 years ago

@teleology/observer v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

npm downloads total npm version npm license

@teleology/observer

A recursive, proxy-based observer for JS objects

Installation

npm install --save @teleology/observer

or

yarn add @teleology/observer

Usage

Example:

// es6+
import observer from '@teleology/observer'; 

// require
// const { default: observer } = require('@teleology/observer');

const account = {
  name: {
    firstName: 'chris',
    lastName: 'Sullivan',   
  }
};

const observedAccount = observer(account, (change) => {
  console.log('Changed', change);
});

observedAccount.name.firstName = 'Chris'; 
// Changed { prop: 'firstName', value: 'Chris', oldValue: 'chris' }

Change

KeyTypeDescription
valueanyThe value currently being set
oldValueanyThe value being replaced
propstringThe property key name

Notes

  • The original object is not modified
  • The returned proxy is observable, not the original object
  • Changes only occur when the value changes (redundancies are ignored)
1.0.0

6 years ago