@asagijs/superjson-transformer
v0.1.0
Published
Superjson trasnformer for asagi.
Readme
@asagijs/superjson-transformer
SuperJSON transformer for Asagi.
Installation
npm install @asagijs/superjson-transformerUsage
Server
Register the transformer in the server options.
import { createApp, createServer } from "asagi";
import { superjsonTransformer } from "@asagijs/superjson-transformer";
const app = createApp();
const appRouter = createRouter([
app.get("/now").handle(async (c) => {
return c.json({ now: new Date() });
}),
]);
export default createServer(app, {
transformers: [superjsonTransformer],
});Client
Pass the transformer to the client factory.
import { createClient } from "asagi";
import { superjsonTransformer } from "@asagijs/superjson-transformer";
import type { AppRouter } from "./server";
const api = createClient<AppRouter, typeof superjsonTransformer>({
baseUrl: "http://localhost:3000",
transformer: superjsonTransformer,
});Now you can send and receive rich types like Date, Map, and Set.
const { data } = await api.now.$get();
console.log(data.now); // Date object