lemmy-js-client

GitHub tag (latest SemVer) GitHub issues License GitHub stars

lemmy-js-client

A javascript / typescript http client and type system for Lemmy.

pnpm install lemmy-js-client

LemmyHttp docs

import { LemmyHttp, Login } from "lemmy-js-client";

// Build the client
const baseUrl = "https://lemmy.ml";
const client: LemmyHttp = new LemmyHttp(baseUrl);

// Build the login form
const loginForm: Login = {
username_or_email: "my_name",
password: "my_pass",
};

// Login and set the client headers with your jwt
const { jwt } = await client.login(loginForm);
client.setHeaders({ Authorization: `Bearer ${jwt}` });

// Fetch top posts for the day
const getPostsForm: GetPosts = {
sort: "TopDay",
type_: "Local",
};
const posts = await client.getPosts(getPostsForm);

Use pnpm add to develop and test changes locally:

pnpm add path/to/lemmy-js-client

To generate OpenAPI docs, run pnpm tsoa

This creates two files:

  • redoc-static.html - A static html rendering of the OpenAPI docs.
  • tsoa_build/swagger.json - An OpenAPI / Swagger json file.

To contribute, check out the tsoa docs.