Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LemmyNet/lemmy-js-client
A javascript / typescript http and websocket client and type system for Lemmy.
https://github.com/LemmyNet/lemmy-js-client
Last synced: 2 months ago
JSON representation
A javascript / typescript http and websocket client and type system for Lemmy.
- Host: GitHub
- URL: https://github.com/LemmyNet/lemmy-js-client
- Owner: LemmyNet
- License: agpl-3.0
- Created: 2020-08-19T17:31:19.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-15T08:21:40.000Z (3 months ago)
- Last Synced: 2024-10-18T17:48:47.501Z (3 months ago)
- Language: TypeScript
- Size: 1.25 MB
- Stars: 141
- Watchers: 11
- Forks: 57
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-lemmy - lemmy-js-client - js-client) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/LemmyNet/lemmy-js-client) (Projects / Libraries)
README
![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/LemmyNet/lemmy-js-client.svg)
[![GitHub issues](https://img.shields.io/github/issues-raw/LemmyNet/lemmy-js-client.svg)](https://github.com/LemmyNet/lemmy-js-client/issues)
[![License](https://img.shields.io/github/license/LemmyNet/lemmy-js-client.svg)](LICENSE)
![GitHub stars](https://img.shields.io/github/stars/LemmyNet/lemmy-js-client?style=social)# lemmy-js-client
A javascript / typescript http client and type system for [Lemmy](https://github.com/LemmyNet/lemmy).
## Installation
`pnpm install lemmy-js-client`
## Usage
### HTTP Client
[LemmyHttp docs](https://join-lemmy.org/api/classes/LemmyHttp.html)
```ts
import { LemmyHttp, Login } from "lemmy-js-client";// Build the client
const baseUrl = "https://lemmy.ml";
const client: LemmyHttp = new LemmyHttp(baseUrl);// Build the login form
const loginForm: Login = {
username_or_email: "my_name",
password: "my_pass",
};// Login and set the client headers with your jwt
const { jwt } = await client.login(loginForm);
client.setHeaders({ Authorization: `Bearer ${jwt}` });// Fetch top posts for the day
const getPostsForm: GetPosts = {
sort: "TopDay",
type_: "Local",
};
const posts = await client.getPosts(getPostsForm);
```## Development
Use `pnpm add` to develop and test changes locally:
```
pnpm add path/to/lemmy-js-client
```