11import {
22 httpBatchLink ,
3- createTRPCClient as internalCreateTRPCClient ,
3+ createTRPCProxyClient as internalCreateTRPCClient ,
44 type HTTPHeaders ,
55 type TRPCLink
66} from '@trpc/client' ;
7- import type { AnyTRPCRouter , TRPCCombinedDataTransformer } from '@trpc/server' ;
7+ import type { AnyRouter } from '@trpc/server' ;
88
99export type TRPCClientInit = { fetch ?: typeof window . fetch ; url : { origin : string } } ;
1010
11- type CreateTRPCClientOptions < Router extends AnyTRPCRouter > = (
11+ type CreateTRPCClientOptions < Router extends AnyRouter > = (
1212 | {
1313 links ?: never ;
1414
@@ -47,24 +47,19 @@ type CreateTRPCClientOptions<Router extends AnyTRPCRouter> = (
4747 * A function that transforms the data before transferring it.
4848 * @see https://trpc.io/docs/data-transformers
4949 */
50- transformer ?:
51- | {
52- serialize : ( object : any ) => any ;
53- deserialize : ( object : any ) => any ;
54- }
55- | TRPCCombinedDataTransformer ;
50+ transformer ?: Router [ '_def' ] [ '_config' ] [ 'transformer' ] ;
5651} ;
5752
5853/**
5954 * Create a tRPC client.
6055 * @see https://trpc.io/docs/vanilla
6156 */
62- export function createTRPCClient < Router extends AnyTRPCRouter > (
57+ export function createTRPCClient < Router extends AnyRouter > (
6358 { links, url = '/trpc' , transformer, init, headers } : CreateTRPCClientOptions < Router > = {
6459 url : '/trpc'
6560 }
6661) {
67- if ( links ) return internalCreateTRPCClient < Router > ( { links } ) ;
62+ if ( links ) return internalCreateTRPCClient < Router > ( { transformer , links } ) ;
6863
6964 if ( typeof window === 'undefined' && ! init ) {
7065 throw new Error (
@@ -73,13 +68,13 @@ export function createTRPCClient<Router extends AnyTRPCRouter>(
7368 }
7469
7570 return internalCreateTRPCClient < Router > ( {
71+ transformer,
7672 links : [
7773 httpBatchLink ( {
7874 url :
7975 typeof window === 'undefined' ? `${ init . url . origin } ${ url } ` : `${ location . origin } ${ url } ` ,
8076 fetch : typeof window === 'undefined' ? init . fetch : init ?. fetch ?? window . fetch ,
81- headers,
82- transformer
77+ headers
8378 } )
8479 ]
8580 } ) ;
0 commit comments