安裝
Core 是框架無關的,僅在使用 Next.js 和 RSocket 功能時導入單獨的入口點。
npm 安裝
bash
npm i @byeolnaerim/typed-rx-http rxjsCore (框架獨立)
ts
import {
createHttpClient,
createHeaderStore,
createCsrCache,
createSessionAuth,
HttpResponseError,
isHttpResponseError,
type ServiceArguments,
type CacheForService,
} from "@byeolnaerim/typed-rx-http";一般 HTTP 請求、NDJSON 流、HeaderStore、session auth 和 CSR 快取包含在基本入口中。即使不使用 Next.js 也可以使用 Core。
Next.js 適配器 (可選)
ts
import {
callApiSsrCache,
redirectToUnauthorizedOnServer401,
} from "@byeolnaerim/typed-rx-http/next";RSocket 適配器 (可選)
僅在使用 RSocket 的項目中安裝對等包。
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 自動 Node 腳本 (可選)
除了運行時 HTTP 客戶端外,還包含從 OpenAPI/Swagger JSON 生成 TypeScript 類型和服務文件的 Node 腳本。此功能是可選的,並不需要 Core、/next、/rsocket 的使用。
ts
import {
connectToSwaggerEventStream,
generateSwaggerFromHttp,
generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";