Installation
Core는 framework-agnostic이고, Next.js와 RSocket 기능은 사용하는 경우에만 별도 엔트리포인트를 import합니다.
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 streaming, HeaderStore, session auth와 CSR cache는 기본 엔트리포인트에 포함됩니다. Next.js를 사용하지 않아도 Core를 사용할 수 있습니다.
Next.js 어댑터 (선택)
ts
import {
callApiSsrCache,
redirectToUnauthorizedOnServer401,
} from "@byeolnaerim/typed-rx-http/next";RSocket 어댑터 (선택)
RSocket을 사용하는 프로젝트에서만 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 (선택)
런타임 HTTP client와 별도로 OpenAPI/Swagger JSON에서 TypeScript 타입과 service 파일을 생성하는 Node script도 포함되어 있습니다. 이 기능은 선택 사항이며 Core, /next, /rsocket 사용에 필요하지 않습니다.
ts
import {
connectToSwaggerEventStream,
generateSwaggerFromHttp,
generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";