@analogjs/trpc
Version:
Angular/Nitro-based tRPC integration
44 lines (43 loc) • 2.16 kB
TypeScript
import { AnyRouter, ClientDataTransformerOptions, CombinedDataTransformer, DataTransformerOptions, DefaultDataTransformer } from '@trpc/server';
import { Operation, TRPCLink, OperationContext, OperationLink, OperationResultObservable } from '@trpc/client';
export type TRPCType = 'query' | 'mutation';
export type UntypedClientProperties = 'links' | 'runtime' | 'requestId' | '$request' | 'query' | 'mutation';
export type IntersectionError<TKey extends string> = `The property '${TKey}' in your router collides with a built-in method, rename this router or procedure on your backend.`;
export interface TRPCRequestOptions {
/**
* Pass additional context to links
*/
context?: OperationContext;
}
export declare function createChain<TRouter extends AnyRouter, TInput = unknown, TOutput = unknown>(opts: {
links: OperationLink<TRouter, TInput, TOutput>[];
op: Operation<TInput>;
}): OperationResultObservable<TRouter, TOutput>;
export type CreateTRPCClientOptions<TRouter extends AnyRouter> = CreateTRPCClientBaseOptions<TRouter> & {
links: TRPCLink<TRouter>[];
};
export type CreateTRPCClientBaseOptions<TRouter extends AnyRouter> = TRouter['_def']['_config']['transformer'] extends DefaultDataTransformer ? {
/**
* Data transformer
*
* You must use the same transformer on the backend and frontend
* @link https://trpc.io/docs/data-transformers
**/
transformer?: 'You must set a transformer on the backend router';
} : TRouter['_def']['_config']['transformer'] extends DataTransformerOptions ? {
/**
* Data transformer
*
* You must use the same transformer on the backend and frontend
* @link https://trpc.io/docs/data-transformers
**/
transformer: TRouter['_def']['_config']['transformer'] extends CombinedDataTransformer ? DataTransformerOptions : TRouter['_def']['_config']['transformer'];
} : {
/**
* Data transformer
*
* You must use the same transformer on the backend and frontend
* @link https://trpc.io/docs/data-transformers
**/
transformer?: /** @deprecated **/ ClientDataTransformerOptions | CombinedDataTransformer;
};