1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
function particle(value) { let val = value; let subs = [] return { get value() {return val;}, subscribe(fn) { subs.push(fn) }, set value(_val) { val = _val for (let i=0; i<subs.length; ++i) { subs[i](val) } } } } export {particle}