Compare commits

...

2 Commits

Author SHA1 Message Date
wobsoriano
4f7fbbe108 chore: release v0.10.2 2023-05-15 09:03:34 -07:00
wobsoriano
c32fdf7893 feat: allow providing a transform output type 2023-05-15 09:00:04 -07:00
3 changed files with 16 additions and 5 deletions

View File

@@ -3,7 +3,7 @@
"description": "End-to-end typesafe APIs in Nuxt applications.",
"type": "module",
"packageManager": "pnpm@7.32.4",
"version": "0.10.1",
"version": "0.10.2",
"license": "MIT",
"sideEffects": false,
"exports": {

View File

@@ -1,4 +1,13 @@
<script setup lang="ts">
import { TRPCClientError, TRPCClientErrorLike } from '@trpc/client'
import type { inferRouterOutputs } from '@trpc/server'
import type { AppRouter } from '@/server/trpc/routers'
type RouterOutput = inferRouterOutputs<AppRouter>
type GetTodosOutput = RouterOutput['todo']['getTodos']
type ErrorOutput = TRPCClientError<AppRouter>
const { $client } = useNuxtApp()
const addTodo = async () => {

View File

@@ -50,12 +50,14 @@ type DecorateProcedure<
> = TProcedure extends AnyQueryProcedure
? {
useQuery: <
TData = inferTransformedProcedureOutput<TProcedure>,
PickKeys extends KeysOf<TData> = KeysOf<TData>,
ResT = inferTransformedProcedureOutput<TProcedure>,
DataE = TRPCClientErrorLike<TProcedure>,
DataT = ResT,
PickKeys extends KeysOf<DataT> = KeysOf<DataT>,
>(
input: inferProcedureInput<TProcedure>,
opts?: AsyncDataOptions<TData, TData, PickKeys> & { trpc?: TRPCRequestOptions },
) => AsyncData<PickFrom<TData, PickKeys>, TRPCClientErrorLike<TProcedure>>,
opts?: AsyncDataOptions<ResT, DataT, PickKeys> & { trpc?: TRPCRequestOptions },
) => AsyncData<PickFrom<DataT, PickKeys>, DataE>,
query: Resolver<TProcedure>
} : TProcedure extends AnyMutationProcedure ? {
mutate: Resolver<TProcedure>