Unified typescript client for threadiverse APIs (Lemmy, Piefed, Mbin etc)
Warning
Early Development Stage: This project is under active development and may undergo significant API changes between versions. While v0, this project's design decisions will be guided by Voyager's usage.
- 🧙♂️ Automagic software detection via
.well-known - 📦 API support:
- ✅ Lemmy v0
⚠️ Lemmy v1 - in development⚠️ Piefed - partial, experimental- ❌ Mbin - no support yet (PRs welcome!)
- 🛑 Guaranteed response types via runtime Zod schema validation
- 🛡️ Strongly typed internally: Uses official software types (Swagger from Piefed,
lemmy-js-clientfrom Lemmy) to enforce compat layer type correctness
This project provides a ThreadiverseClient class which you can use similarly to lemmy-js-client's LemmyHttp class. For the most part, it should be a drop-in replacement.
pnpm i threadiverseimport { ThreadiverseClient } from "threadiverse";
const client = new ThreadiverseClient("https://lemmy.world");
const posts = await client.getPosts();