A javascript / typescript http and websocket client and type system for Lemmy.
Find a file
2023-05-10 11:02:37 -04:00
.husky Upgrade deps (#23) 2021-07-19 10:11:44 -04:00
src Adding support for federated instances. Fixes #115 2023-05-10 11:00:58 -04:00
.eslintrc.json Upgrade deps 2 (#39) 2021-12-06 14:44:10 -05: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 Add woodpecker (#110) 2023-03-27 12:19:19 -04:00
copy_generated_types_from_lemmy.sh Adding bindings from rust. Fixes #113 (#114) 2023-05-02 17:15:36 -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 v0.17.2-rc.12 2023-05-10 11:02:37 -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 feat: add image upload method to http client (#108) 2023-03-22 14:33:54 -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