solid-state

Confidently maintain state and react to changes

Usage no npm install needed!

<script type="module">
  import solidState from 'https://cdn.skypack.dev/solid-state';
</script>

README

solid-state npm version Build Status

Triggers listener functions when your state changes

Install

$ npm install --save solid-state

Usage

var SS = require('solid-state')

var optionalInitialState = {}
var AppState = new SS(optionalInitialState)

// Called a function with a clone of the new state whenever state changes
var removeListener = AppState.addListener(function (currentState) {
  someRenderFunction(currentState)
})

// someRenderFunction gets called with {level: 9001}
AppState.set('level', 9001)

// someRenderFunction gets called with {level: 9001, {nested: {property: 'foo'}}
AppState.set('nested.property', 'foo')

AppState.set('will.get.deleted', true)
AppState.del('will');

// {level: 9001, {nested: {property: 'foo'}}
console.log(AppState.get())

// Overwrite the entire state by only providing a value
AppState.set({overwrite: 'state'})

// {overwrite: 'state'}
console.log(AppState.get())

// Stop listening for changes
removeListener()

License

(c) 2015 Chinedu Francis Nwafili. MIT License