2020-08-19 13:29:37 -04:00
|
|
|
<div align="center">
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
[](https://github.com/LemmyNet/lemmy-js-client/issues)
|
|
|
|
|
[](LICENSE)
|
|
|
|
|

|
2023-01-04 12:05:41 -05:00
|
|
|
|
2020-08-19 13:29:37 -04:00
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
# lemmy-js-client
|
|
|
|
|
|
2023-06-21 11:40:11 -04:00
|
|
|
A javascript / typescript http client and type system for [Lemmy](https://github.com/LemmyNet/lemmy).
|
2020-08-19 13:29:37 -04:00
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
|
|
`yarn add lemmy-js-client`
|
|
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
2021-08-22 21:01:40 -04:00
|
|
|
### HTTP Client
|
|
|
|
|
|
2022-11-21 21:49:53 +01:00
|
|
|
[LemmyHttp docs](https://join-lemmy.org/api/classes/LemmyHttp.html)
|
2020-08-19 13:29:37 -04:00
|
|
|
|
2021-08-22 21:01:40 -04:00
|
|
|
```ts
|
2023-06-21 11:40:11 -04:00
|
|
|
import { LemmyHttp, Login } from 'lemmy-js-client';
|
2020-08-19 22:25:21 -04:00
|
|
|
|
2021-03-29 10:29:27 -04:00
|
|
|
let baseUrl = 'https://lemmy.ml';
|
2020-11-12 13:42:31 -06:00
|
|
|
let client: LemmyHttp = new LemmyHttp(baseUrl, headers?);
|
2023-06-21 11:40:11 -04:00
|
|
|
let loginForm: Login = {
|
|
|
|
|
username_or_email: "my_name",
|
|
|
|
|
password: "my_pass",
|
|
|
|
|
};
|
2023-03-17 11:33:57 -04:00
|
|
|
let jwt = await client.login(loginForm).jwt;
|
2020-08-19 22:25:21 -04:00
|
|
|
```
|
2023-01-04 12:05:41 -05:00
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
|
|
You can use [yalc](https://github.com/wclr/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
|
|
|
|
|
```
|