forked from imbytecat/fullstack-starter
- 升级 `@orpc` 相关依赖至 1.13.4 版本并更新 `@tanstack/react-router` 等核心库至 1.151.0 版本,同时引入新依赖 `@standard-schema/spec`、`cookie`、`openapi-types`、`radash` 和 `type-fest`。 - 升级 TanStack React Router 及相关依赖至 1.151.0 版本,并添加 Orpc 相关客户端、服务器和 React Query 集成依赖。 - 创建支持服务端和客户端的 ORPC 客户端实例,并集成 TanStack Query 工具以实现数据查询功能。 - 添加路由模块以导出待办事项相关的操作函数。 - 添加待办事项列表和添加待办事项的路由接口,支持输入验证和数据操作。 - 添加待办事项数据校验模式,定义包含唯一ID和名称字段的结构化数据模型。
28 lines
890 B
TypeScript
28 lines
890 B
TypeScript
import { createORPCClient } from '@orpc/client'
|
|
import { RPCLink } from '@orpc/client/fetch'
|
|
import type { RouterClient } from '@orpc/server'
|
|
import { createRouterClient } 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 '@/orpc/router'
|
|
|
|
const getORPCClient = createIsomorphicFn()
|
|
.server(() =>
|
|
createRouterClient(router, {
|
|
context: () => ({
|
|
headers: getRequestHeaders(),
|
|
}),
|
|
}),
|
|
)
|
|
.client((): RouterClient<typeof router> => {
|
|
const link = new RPCLink({
|
|
url: `${window.location.origin}/api/rpc`,
|
|
})
|
|
return createORPCClient(link)
|
|
})
|
|
|
|
export const client: RouterClient<typeof router> = getORPCClient()
|
|
|
|
export const orpc = createTanstackQueryUtils(client)
|