A javascript / typescript http and websocket client and type system for Lemmy.
Find a file
SleeplessOne1917 360196c8ae
feat: add image upload method to http client (#108)
* feat: add image upload method to http client

* fix: Make files optional on UploadImageResponse

* fix: Fix comment typo

* fix: replace loose equals with strict equals

* fix: Remove useless awaits

* fix: Add explicit return types to image upload helper functions

* fix: Include client headers in image upload request

* fix: Change type of uploadImage arg to File | Buffer instead of Blob | Buffer

* doc: Add doc string

* refactor: Switch to using cross-fetch instead of node-fetch v3

* chore: remove unnecessary asyncs
2023-03-22 14:33:54 -04:00
.husky Upgrade deps (#23) 2021-07-19 10:11:44 -04:00
src feat: add image upload method to http client (#108) 2023-03-22 14:33:54 -04: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 feat: add image upload method to http client (#108) 2023-03-22 14:33:54 -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