simmutable

2.1.0 • Public • Published

simmutable

A simple immutable store.

How to use

const createStore = require('simmutable')

const store = createStore()

store.get() // {}

store.set({a: 1})
store.get() // {a: 1}

store.clear()
store.get() // {}

Api

config

Currently there is only one config variable

store.config.shouldFreeze = true

By default the store will ensure that all objects and nested objects are frozen in the store. Turning this off will not automatically unfreeze the store. It is suggested that you only change this prior to doing any work with the store.

get()

store.get() will return the current value of the store.

set()

store.set(valueToMerge) Will merge the object passed in, into the current store. If the valueToMerge won't actually change any value in the store, no changes are actually made to the store. The change event will still be emitted. When valueToMerge has n nested objects, it will determine what values actually changed, and ensure only those values, and their parents all the way up to the root are changed. This makes it much easier to determine from the root whether or not any changes were actually made to the store.

clear()

store.clear() will reset the store to it's initial value of {}. This will emit a change event.

EventEmitter

The store implements the prototype of an event emitter and will emit a change event any time the store is changed either by calling clear() or set()

Readme

Keywords

Package Sidebar

Install

npm i simmutable

Weekly Downloads

5

Version

2.1.0

License

MIT

Unpacked Size

6.25 kB

Total Files

4

Last publish

Collaborators

  • shichongrui