A javascript / typescript http and websocket client and type system for Lemmy.
Find a file
2023-01-04 12:03:49 -05:00
.husky Upgrade deps (#23) 2021-07-19 10:11:44 -04:00
src Removing monads. Fixes #98 (#99) 2023-01-04 11:29:06 -05:00
.drone.yml Add class instantiation in readme. (#95) 2022-12-11 12:00:05 -05: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
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.0-rc.61 2023-01-04 11:30:18 -05:00
README.md Adding development instructions. Fixes #101 2023-01-04 12:03:49 -05:00
tsconfig.json Removing monads. Fixes #98 (#99) 2023-01-04 11:29:06 -05:00
yarn.lock Removing monads. Fixes #98 (#99) 2023-01-04 11:29:06 -05: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.httpLogin(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