just the bare necessities of state management.
Hotlink it from
import valoo from 'https://unpkg.com/valoo' // create an observable value: const num = valoo(42) // subscribe to value changes: const off = num.on( v => console.log(v) ) // unsubscribe that listener: off() // set the value, invoking any listeners: num(43) // get the current value: num() // 43
valoo-lite.mjs: lighter 120b version, but doesn't support unsubscribing.
valoo-original.mjs: v1-compatible, with subscribe handled via overloading.
The idea here was first implemented in Mithril. I believe the subscription mechanism is new though.
Apache-2.0. Copyright 2018 Google LLC.