A client library for Feliday
360196c8ae
* 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 |
||
---|---|---|
.husky | ||
src | ||
.drone.yml | ||
.eslintrc.json | ||
.gitignore | ||
.prettierrc.json | ||
deploy.sh | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
lemmy-js-client
A javascript / typescript http and websocket client and type system for Lemmy.
Installation
yarn add lemmy-js-client
Usage
Websocket Client
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
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