@dot-event/store

dot-event store

Usage no npm install needed!

<script type="module">
  import dotEventStore from 'https://cdn.skypack.dev/@dot-event/store';
</script>

README

@dot-event/store

dot-event immutable store

that's us

Install

npm install dot-event @dot-event/store

Setup

const dot = require("dot-event")()
require("@dot-event/store")(dot)

Usage

dot.set("prop", "prop2", "some value")
dot.get("prop", "prop2") // "some value"
dot.merge("prop", { prop3: "another value" })
dot.get("prop") // { prop2: "some value", prop3: "another value" }
dot.delete("prop")
dot.get() // {}

Listen to store changes

Use dot.on or dot.any on the store event id:

dot.on("store", "prop", () => {})

Queued update

Pass a function to dot.set for atomic operations:

dot.set("counter", value => (value || 0) + 1)

Raw state

The raw state object is available at dot.state.store.

Credit

Some of the immutability features were borrowed from debitoor/dot-prop-immutable.