An XTDB TypeScript Client Library (xtdb-ts)

Hey folks! In the vein of the above, my opinion was “yes, more client libraries!”, so I threw together a TypeScript client to the XTDB REST API.

As a Clojurist I enjoy using XTDB from the tools I have access to, but the REST API is a tempting surface to offer to teams that I work with that aren’t quite ready to migrate to Clojure themselves.

The entire API surface is wrapped and works, except the POST /_xtdb/query API which is very EDN-dependent (but you can query with the GET /_xtdb/query API just fine).

I’m adding tests now to more thoroughly validate – and I’ll aim to add a nicer TypeScript API surface (maybe fluent builders?) for query and transaction building.

If anyone has any use for this I would love to hear about it – and additions are welcome.

One thing I’ll point out to folks interested in doing the same – the HTTP API documentation and OpenAPI docs are really clear – so it’s really straightforward to throw a library together! I didn’t end up doing so much, but you can also reference the official remote API client to see how that does things!

3 Likes

Thanks for creating this, @tekacs! You’ll have to excuse the automated spam detection in Discourse throwing your post out. Most of us were on holiday the past week or two and didn’t see. Sorry about that!