Fork me on GitHub

I have been iterating on new features of my subscriptions library (originally extracted from re-frame) and have some major additions: - support subscriptions that are just functions (defsub API), you can subscribe to the function directly and invoke them which will return the current value (no need to deref!) - support layer2 subscriptions that are Reagent Cursors getting rid of the needless re-running of all layer2 subs when app-db is swap!'d - Given a Fulcro component, automatically create subscriptions that will fulfill arbitrary EQL queries for that component (and any nested components). - recursive EQL joins can have an arbitrary transformation function and an arbitrary expansion function to easily pull only parts a component graph - this support works on top of any Clojure database with an entity API, in addition to working on the frontend cljs. - Performant react hooks integration, subscription arguments are memoized by default for you, all subscriptions used by a component are cached until the component is unmounted. - use react context so that you don't have to pass through your app-db to your entire component tree. check the cljdoc output for a more pleasant reading experience: Readme: EQL docs: React Hooks docs: My main motivation is constructing a library to be used with fulcro to allow for large scale cljs web application development, by combining the best parts of fulcro with those from re-frame. To test out this integration, I have a todomvc clone that uses fulcro for app-db, mutations, and transactions, helix for rendering and using the subscription hooks and pathom + datalevin for a backend, plus using malli function instrumentation in clj+cljs. Looking forward to hearing any thoughts or feedback!

👀 6
😍 4
awesome 4

@U05476190 thanks! (facepalm) fixed it