UNPKG

trpc-browser

Version:

tRPC adapters and links for everywhere in the browser

27 lines 1.28 kB
import type { TRPCClientOutgoingMessage, TRPCErrorResponse, TRPCRequest, TRPCResultMessage } from '@trpc/server/rpc'; export type TRPCChromeRequest = { trpc: TRPCRequest | TRPCClientOutgoingMessage; }; export type TRPCChromeSuccessResponse = { trpc: TRPCResultMessage<any>; }; export type TRPCChromeErrorResponse = { trpc: TRPCErrorResponse; }; export type TRPCChromeResponse = TRPCChromeSuccessResponse | TRPCChromeErrorResponse; export type TRPCChromeMessage = TRPCChromeRequest | TRPCChromeResponse; export type RelayedTRPCMessage = TRPCChromeMessage & { relayed?: true; }; export interface MinimalWindow extends Pick<Window, 'postMessage' | 'addEventListener' | 'removeEventListener'> { opener?: MinimalWindow; } export type MinimalPopupWindow = Pick<Window, 'postMessage' | 'closed'> & Partial<Pick<Window, 'addEventListener' | 'removeEventListener'>>; export interface MessengerMethods { postMessage: (message: TRPCChromeMessage) => void; addMessageListener: (listener: (message: TRPCChromeMessage) => void) => void; removeMessageListener: (listener: (message: TRPCChromeMessage) => void) => void; addCloseListener: (listener: () => void) => void; removeCloseListener: (listener: () => void) => void; } //# sourceMappingURL=index.d.ts.map