Files
fullstack-starter-SQLite/src/orpc/client.ts
imbytecat 7750b11fc7 feat: 升级依赖并集成 ORPC 与 TanStack Query
- 升级 `@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和名称字段的结构化数据模型。
2026-01-18 00:37:24 +08:00

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)