A javascript / typescript http and websocket client and type system for Lemmy.
Find a file
2023-05-29 19:00:47 -04:00
.github Adding sleeplessone1917 to codeowners 2023-05-15 15:23:45 -04:00
.husky Upgrade deps (#23) 2021-07-19 10:11:44 -04:00
src Better error wrapping. 2023-05-29 19:00:47 -04:00
.eslintrc.json Make script for adding types to index (#118) 2023-05-11 13:10:28 -04:00
.gitignore Adding typedoc, and code comments. Fixes #29 (#30) 2021-08-22 21:01:40 -04:00
.prettierrc.json Add community language (#85) 2022-12-19 10:57:02 -05:00
.woodpecker.yml Upgrading deps (#117) 2023-05-10 11:15:51 -04:00
copy_generated_types_from_lemmy.sh Remove bigints (#121) 2023-05-15 15:41:44 -04:00
deploy.sh Adding new version to deploy. 2021-01-20 10:35:12 -05:00
LICENSE Initial commit. 2020-08-19 13:29:37 -04:00
package.json Better error wrapping. 2023-05-29 19:00:47 -04:00
putTypesInIndex.js Make script for adding types to index (#118) 2023-05-11 13:10:28 -04:00
README.md docs: Fix incorrect code sample in README (#109) 2023-03-17 11:33:57 -04:00
tsconfig.json feat: add image upload method to http client (#108) 2023-03-22 14:33:54 -04:00
yarn.lock Upgrading deps (#117) 2023-05-10 11:15:51 -04:00

GitHub tag (latest SemVer) GitHub issues License GitHub stars

lemmy-js-client

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

Installation

yarn add lemmy-js-client

Usage

Websocket Client

LemmyWebsocket docs

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

let client: LemmyWebsocket = new LemmyWebsocket();

let form: Login = {
  username_or_email: "my_email@email.tld",
  password: "my_pass",
};

this.ws.send(client.login(form));

HTTP Client

LemmyHttp docs

import { LemmyHttp } from 'lemmy-js-client';

let baseUrl = 'https://lemmy.ml';
let client: LemmyHttp = new LemmyHttp(baseUrl, headers?);
let jwt = await client.login(loginForm).jwt;

Development

You can use yalc to develop and test changes locally:

yarn global add yalc

# Go to lemmy-js-client dir
yalc publish --push

# Go to your client dir
yalc add lemmy-js-client

# To do updates, go back to the lemmy-js-client dir
# This also updates it, in every dir you've added it.
yalc publish --push