I made a cool SQL-like library on top of Y.js

While making todo.business, I found myself making many complex observations on a few Y.Maps 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!

3 Likes

Nice! Looks very nice!!!