0.4.3 • Published 6 years ago

huntress v0.4.3

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

huntress

A mad method of observing deep object properties and getting callbacks for when they change. Awesome for simple state management.

import { Watcher as State } from 'huntress'

// start tracking changes to a user's username
State.track('user.username', (username) => {
  console.log('Username is:', username)
})

State.user = {name: 'Joe Bloggs'}
State.user.username = 'joe'
// LOG -- Username is: joe

State.user = {name: 'David', username: 'daveyjones'}
// LOG -- Username is: daveyjones

// -----

// even works with arrays
State.track('user.keys[1].name', (keyName) => {
  console.log('Second key name is:', keyName)
})

State.user.keys = [{name: 'foo'}]
State.user.keys.push({name: 'bar'})
// LOG -- Second key name is: bar

State.user.keys.push({name: 'baz'})
State.user.keys = [{name: 'wham'}, {name: 'bam'}]
// LOG -- Second key name is: bam
State.user.keys = []
// LOG -- Second key name is: undefined

Todo

  • Throw callbacks on delete calls
  • Parse strings like 'user.keys[0].name' instead of requiring an array of arguments 🤮
  • Be able to throw initial callbacks to get listeners up to speed
  • Document
  • Tests
0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.3.0-beta4

6 years ago

0.3.0-beta3

6 years ago

0.3.0-beta2

6 years ago

0.3.0-beta1

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.1

6 years ago

0.0.0

6 years ago