การติดตั้ง

Core เป็น framework-agnostic และฟังก์ชันของ Next.js และ RSocket จะ import จุดเริ่มต้นแยกต่างหากเมื่อใช้งานเท่านั้น


ติดตั้ง npm

bash
npm i @byeolnaerim/typed-rx-http rxjs

Core (ไม่ขึ้นกับ framework)

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 จะรวมอยู่ในจุดเริ่มต้นหลัก สามารถใช้ Core ได้แม้ไม่ใช้ Next.js

Next.js adapter (เลือก)

ts
import {
  callApiSsrCache,
  redirectToUnauthorizedOnServer401,
} from "@byeolnaerim/typed-rx-http/next";

RSocket adapter (เลือก)

ติดตั้ง peer package เฉพาะในโปรเจกต์ที่ใช้ RSocket เท่านั้น

bash
npm i rsocket-core rsocket-types rsocket-websocket-client
ts
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 (เลือก)

นอกจาก runtime HTTP client ยังมี Node script ที่สร้าง TypeScript types และ service files จาก OpenAPI/Swagger JSON ฟังก์ชันนี้เป็นตัวเลือกและไม่จำเป็นสำหรับการใช้ Core, /next, /rsocket

ts
import {
  connectToSwaggerEventStream,
  generateSwaggerFromHttp,
  generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";