UNPKG

@trpc/client

Version:

The tRPC client library

69 lines • 2.29 kB
import { a as OperationResultEnvelope, d as TRPCClientError, n as Operation, u as TRPCLink } from "./types-DO-GCB2q.mjs"; import { AnyRouter, InferrableClientTypes } from "@trpc/server/unstable-core-do-not-import"; //#region src/links/loggerLink.d.ts type ConsoleEsque = { log: (...args: any[]) => void; error: (...args: any[]) => void; }; type EnableFnOptions<TRouter extends InferrableClientTypes> = { direction: 'down'; result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>; } | (Operation & { direction: 'up'; }); type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean; type LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation & ({ /** * Request result */ direction: 'down'; result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>; elapsedMs: number; } | { /** * Request was just initialized */ direction: 'up'; }); type LoggerLinkFn<TRouter extends AnyRouter> = (opts: LoggerLinkFnOptions<TRouter>) => void; type ColorMode = 'ansi' | 'css' | 'none'; /** * Options for {@link loggerLink}. * * @see https://trpc.io/docs/client/links/loggerLink#loggerlink-options */ interface LoggerLinkOptions<TRouter extends AnyRouter> { /** * Replaces the built-in logger. Called when a call starts and for each * result or error, so a subscription calls it for every event. */ logger?: LoggerLinkFn<TRouter>; /** * Decides whether to log a call. * @default () => true */ enabled?: EnabledFn<TRouter>; /** * The console the built-in logger writes to. */ console?: ConsoleEsque; /** * Color mode * @default typeof window === 'undefined' ? 'ansi' : 'css' */ colorMode?: ColorMode; /** * Include context in the log - defaults to false unless `colorMode` is 'css' */ withContext?: boolean; } /** * Logs each call when it starts, and each result or error it gets with the * time since the start. * * @see https://trpc.io/docs/client/links/loggerLink */ declare function loggerLink<TRouter extends AnyRouter = AnyRouter>(opts?: LoggerLinkOptions<TRouter>): TRPCLink<TRouter>; //#endregion export { loggerLink as n, LoggerLinkOptions as t }; //# sourceMappingURL=loggerLink-Daki_B65.d.mts.map