インストール
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タイプとサービスファイルを生成するノードスクリプトも含まれています。この機能はオプションであり、Core、/next、/rsocketの使用には必要ありません。
ts
import {
connectToSwaggerEventStream,
generateSwaggerFromHttp,
generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";