安装
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、会话认证和 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 自动节点脚本(可选)
除了运行时 HTTP 客户端外,还包括从 OpenAPI/Swagger JSON 生成 TypeScript 类型和服务文件的 Node 脚本。此功能是可选的,不需要 Core、/next、/rsocket。
ts
import {
connectToSwaggerEventStream,
generateSwaggerFromHttp,
generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";