@bpeak/store

Store is a simple state-based event emitter

Usage no npm install needed!

<script type="module">
  import bpeakStore from 'https://cdn.skypack.dev/@bpeak/store';
</script>

README

Store

Store is a simple state-based event emitter

Example

const store = new Store({
    names: ['kihyun', 'jihyung'],
    isMenuOpen: false,
})

store.on('names', () => {
    console.log(`names changed: ${store.get().names}`)
})

store.on('isMenuOpen', () => {
    console.log(`isMenuOpen changed: ${store.get().isMenuOpen}`)
})

store.set({
    names: ['kihyun', 'jihyung', 'iksu', 'dongeun'],
    isMenuOpen: true
})
>> output
names changed: ['kihyun', 'jihyung', 'iksu', 'dongeun']
isMenuOpen changed: true

Installation

npm install @bpeak/store
const Store = require('@bpeak/store');
const store = new Store();

UMD

<script src="https://unpkg.com/@bpeak/store"></script>
<script>
    const store = new Store();
</script>

ESM

<script type="module">
    import Store from 'https://unpkg.com/@bpeak/store/dist/index.esm.js'
    const store = new Store();
</script>

API

Licence

MIT