Files
seastem-electronjs/src/orpc/client.ts
imbytecat debb47a60e refactor: 简化客户端创建逻辑并明确泛型类型
- 更新客户端创建逻辑,明确指定泛型类型并简化导出方式。
2026-01-18 03:22:23 +08:00

27 lines
819 B
TypeScript

import { createORPCClient } from '@orpc/client'
import { RPCLink } from '@orpc/client/fetch'
import { createRouterClient, type RouterClient } from '@orpc/server'
import { createTanstackQueryUtils } from '@orpc/tanstack-query'
import { createIsomorphicFn } from '@tanstack/react-start'
import { getRequestHeaders } from '@tanstack/react-start/server'
import { router } from './router'
const getORPCClient = createIsomorphicFn()
.server(() =>
createRouterClient(router, {
context: () => ({
headers: getRequestHeaders(),
}),
}),
)
.client(() => {
const link = new RPCLink({
url: `${window.location.origin}/api/rpc`,
})
return createORPCClient<RouterClient<typeof router>>(link)
})
const client = getORPCClient()
export const orpc = createTanstackQueryUtils(client)