Instalação
O Core é agnóstico em relação ao framework, e as funcionalidades do Next.js e RSocket são importadas apenas se utilizadas.
Instalação npm
bash
npm i @byeolnaerim/typed-rx-http rxjsCore (independente de framework)
ts
import {
createHttpClient,
createHeaderStore,
createCsrCache,
createSessionAuth,
HttpResponseError,
isHttpResponseError,
type ServiceArguments,
type CacheForService,
} from "@byeolnaerim/typed-rx-http";Requisições HTTP comuns, streaming NDJSON, HeaderStore, autenticação de sessão e cache CSR estão incluídos no ponto de entrada padrão. O Core pode ser usado mesmo sem o Next.js.
Adaptador Next.js (opcional)
ts
import {
callApiSsrCache,
redirectToUnauthorizedOnServer401,
} from "@byeolnaerim/typed-rx-http/next";Adaptador RSocket (opcional)
Instale pacotes peer apenas em projetos que utilizam 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);
});Script Node Auto OpenAPI/Swagger (opcional)
Além do cliente HTTP em tempo de execução, também inclui um script Node que gera tipos TypeScript e arquivos de serviço a partir de JSON OpenAPI/Swagger. Esta funcionalidade é opcional e não é necessária para o uso do Core, /next, /rsocket.
ts
import {
connectToSwaggerEventStream,
generateSwaggerFromHttp,
generateSwaggerFromFile,
} from "@byeolnaerim/typed-rx-http/auto-node-script/openapi";