derivablejs
derivablejs copied to clipboard
Functional Reactive State for JavaScript and TypeScript
[S.js](https://github.com/adamhaile/S) is incredibly fast for fan_out and waterfall, but slower for other benchmarks. That's interesting.
1.0
Hi there! How close is a 1.0 release? I have a few days to spare, so if there is something I can do to help, let me know! I'll start...
Now we have a lot of ways to do transaction. I'd like to figure out is there a use case in transact/transaction functions over atomic/atomically? /cc @ds300 @andreypopp
Would be good to describe real world examples for all transaction types
I cant declare function, that returns promise to [Derivable](https://ds300.github.io/derivablejs/#derivable-Derivable). Reason is next: [Minimal exmaple in playground](https://www.typescriptlang.org/play/#src=interface%20Some%20%7B%0D%0A%20%20then(callback)%3B%0D%0A%7D%0D%0A%0D%0Aasync%20function%20foo()%3A%20Promise%3CSome%3E%20%7B%0D%0A%20%20return%20null%3B%0D%0A%7D%0D%0A%0D%0Aasync%20function%20ok()%3A%20Promise%3Cnumber%3E%20%7B%0D%0A%20%20return%2042%3B%0D%0A%7D) interface Some { then(callback); } // Error: the return type of an async function...
Reactors are like people—like almost any animal, actually—in that they are born and then they die, and during this time they can be either awake or asleep. When they are...
May be add some (not all) related projects to readme? Or describe, why and where derivablejs is better of them: atom-like: [js-atom](https://github.com/cjohansen/js-atom), [$mol_atom](https://github.com/nin-jin/mol), [$jin_atom](https://github.com/nin-jin/pms-jin/) mobx-like: [mobx](https://github.com/mobxjs/mobx), [cellx](https://github.com/Riim/cellx), [matreshka](https://matreshka.io/) rxjs-like streams:...
First case: ``` js const a = atom({p: 1}) const c = a.derive(o => o) .withEquality((oldObj, newObj) => { console.log(oldObj, newObj) return oldObj === newObj }) c.react((cObj) => { //...
Consider this code: ``` a = atom(5) d = derivation(() => a.get() + 1) d.get() ``` A side effect of `d.get()` is setting `a._children[0]` to point to `d`. When I'm...