التثبيت
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 streaming، HeaderStore، مصادقة الجلسة وCSR cache في نقطة الدخول الأساسية. يمكن استخدام Core حتى بدون Next.js.
محول Next.js (اختياري)
ts
import {
callApiSsrCache,
redirectToUnauthorizedOnServer401,
} from "@byeolnaerim/typed-rx-http/next";محول RSocket (اختياري)
تثبيت حزمة peer فقط في المشاريع التي تستخدم 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 Auto Node Script (اختياري)
يتضمن نص Node الذي ينشئ أنواع TypeScript وملفات الخدمة من OpenAPI/Swagger JSON بشكل منفصل عن عميل HTTP في وقت التشغيل. هذه الميزة اختيارية ولا تتطلب استخدام Core أو /next أو /rsocket.
ts
import {
connectToSwaggerEventStream,
generateSwaggerFromHttp,
generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";