A javascript / typescript http and websocket client and type system for Lemmy.
Find a file
Dessalines 36103fbca0
Add option types (#67)
* Testing some option types over the API.

* v0.17.0-rc.6

* Removing a few to better test.

* v0.17.0-rc.7

* Simpler again.

* v0.17.0-rc.8

* Trying swan.io boxed

* v0.17.0-rc.13

* Trying option-t

* v0.17.0-rc.14

* Adding rust-style Options using @sniptt/monads

- Also added serialization with class-transformer

* v0.17.0-rc.15

* Trying to fix encodeGetParams.

* v0.17.0-rc.16

* Trying to fix encodeGetParams 2.

* v0.17.0-rc.17

* Using init constructors.

* v0.17.0-rc.18

* v0.17.0-rc.19

* Add more type info.

* v0.17.0-rc.20

* Adding reflect-metadata

* v0.17.0-rc.21

* Adding type to siteview.site

* v0.17.0-rc.22

* Adding rest of nested types.

* v0.17.0-rc.23

* Adding toOption function.

* v0.17.0-rc.24

* Trying to fix send.

* v0.17.0-rc.25

* Try to stringify jsonres.

* v0.17.0-rc.26

* Try to stringify jsonres 2.

* v0.17.0-rc.27

* Adding toOption function.

* v0.17.0-rc.28

* Forgot to type a communityview.

* v0.17.0-rc.29

* Forgot to type a registrationapplicationview.

* v0.17.0-rc.30
2022-06-21 17:42:09 -04:00
.husky Upgrade deps (#23) 2021-07-19 10:11:44 -04:00
src Add option types (#67) 2022-06-21 17:42:09 -04:00
.drone.yml Trying to publish with npm token 24 2022-01-09 11:47:09 -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.js Upgrade deps 2 (#39) 2021-12-06 14:44:10 -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 Add option types (#67) 2022-06-21 17:42:09 -04:00
README.md Remove support / donate section. 2021-08-22 22:48:38 -04:00
tsconfig.json Add option types (#67) 2022-06-21 17:42:09 -04:00
yarn.lock Add option types (#67) 2022-06-21 17:42:09 -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.httpLogin(loginForm).jwt;