Instalasi
Core bersifat framework-agnostic, dan fitur Next.js serta RSocket hanya diimpor jika digunakan.
Instal npm
bash
npm i @byeolnaerim/typed-rx-http rxjsCore (independen framework)
ts
import {
createHttpClient,
createHeaderStore,
createCsrCache,
createSessionAuth,
HttpResponseError,
isHttpResponseError,
type ServiceArguments,
type CacheForService,
} from "@byeolnaerim/typed-rx-http";Permintaan HTTP umum, streaming NDJSON, HeaderStore, otentikasi sesi, dan cache CSR termasuk dalam entri utama. Core dapat digunakan tanpa Next.js.
Adaptor Next.js (opsional)
ts
import {
callApiSsrCache,
redirectToUnauthorizedOnServer401,
} from "@byeolnaerim/typed-rx-http/next";Adaptor RSocket (opsional)
Hanya proyek yang menggunakan RSocket yang perlu menginstal paket peer.
bash
npm i rsocket-core rsocket-types rsocket-websocket-clientts
import { createRSocketApi } from "@byeolnaerim/typed-rx-http/rsocket";
const api = createRSocketApi("ws://localhost:7000/rsocket", jwt);
api.mono<User>("user.findById", { id: 1 }).subscribe((user) => {
console.log(user);
});
api.stream<Notification>("notification.stream").subscribe((notification) => {
console.log(notification);
});OpenAPI/Swagger Auto Node Script (opsional)
Selain klien HTTP runtime, juga mencakup skrip Node yang menghasilkan tipe TypeScript dan file service dari OpenAPI/Swagger JSON. Fitur ini bersifat opsional dan tidak diperlukan untuk penggunaan Core, /next, /rsocket.
ts
import {
connectToSwaggerEventStream,
generateSwaggerFromHttp,
generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";