internal-shared-types
v1.0.0
Published
Shared TypeScript types for Platoona tRPC API
Readme
@platoona/shared-types
Shared TypeScript types for Platoona tRPC API
Installation
npm install @platoona/shared-typesUsage
Basic tRPC Client Setup
import { createTRPCClient, httpBatchLink } from '@trpc/client'
import type { AppRouter } from '@platoona/shared-types'
const trpc = createTRPCClient<AppRouter>({
links: [
httpBatchLink({
url: 'http://localhost:8000/trpc',
}),
],
})
// Use the client
const result = await trpc.hello.query({ name: 'World' })
console.log(result.greeting) // "Hello World!"Type Usage
import type {
RouterInputs,
RouterOutputs,
HelloInput,
HelloOutput
} from '@platoona/shared-types'
// Input types
type HelloParams = HelloInput // { name?: string } | undefined
// Output types
type HelloResult = HelloOutput // { greeting: string; timestamp: string }
// All router inputs/outputs
type AllInputs = RouterInputs
type AllOutputs = RouterOutputsNext.js Integration
// lib/trpc.ts
import { createTRPCClient, httpBatchLink } from '@trpc/client'
import type { AppRouter } from '@platoona/shared-types'
export const api = createTRPCClient<AppRouter>({
links: [
httpBatchLink({
url: process.env.NEXT_PUBLIC_API_URL + '/trpc',
headers() {
return {
authorization: `Bearer ${getAuthToken()}`,
}
},
}),
],
})Available Types
AppRouter- Main router typeRouterInputs- All procedure input typesRouterOutputs- All procedure output typesHelloInput- Hello procedure input typeHelloOutput- Hello procedure output typeHealthOutput- Health procedure output type
Development
This package is automatically generated from the Platoona backend API.
To update types, modify the backend router and rebuild this package.
License
MIT
