nanostores
Version:
A tiny (265 bytes) state manager for React/Preact/Vue/Svelte with many atomic tree-shakable stores
15 lines (13 loc) • 389 B
JavaScript
export function listenKeys($store, keys, listener) {
let keysSet = new Set(keys).add(undefined)
return $store.listen((value, oldValue, changed) => {
if (keysSet.has(changed)) {
listener(value, oldValue, changed)
}
})
}
export function subscribeKeys($store, keys, listener) {
let unbind = listenKeys($store, keys, listener)
listener($store.value)
return unbind
}