While making todo.business, I found myself making many complex observations on a few Y.Map
s in order to keep my React updates more sparse. (Rather than just simply re-rendering the whole app when something changes.)
To solve this problem, I made yeeql
yeeql is a library that wraps a Y.Map
in a “Table” abstraction, where you can insert, update, delete and run queries.
Queries automatically update their results as the underlying Y.Map
changes, and provide observers for their results. You can use select
, filter
, sort
, and groupBy
.
You can use queries in React components so that they only update when the query changes.
Runtimes are also super good, with only the queries affected by a change send updates for those changes. If you haven’t select
a column, and that column updates, the query won’t update.
Anyways, please check it out and provide feedback! This library has been super useful to me, so hopefully it helps someone else develop a cool application!