UNPKG

@orpc/client

Version:

<div align="center"> <image align="center" src="https://orpc.unnoq.com/logo.webp" width=280 alt="oRPC logo" /> </div>

92 lines (86 loc) 4.31 kB
import { b as ClientContext, c as ClientOptions, f as HTTPMethod } from './client.BOYsZIRq.mjs'; import { e as StandardLinkCodec, b as StandardLinkOptions, d as StandardLink, f as StandardLinkClient } from './client.Bwgm6dgk.mjs'; import { Segment, Value, Promisable } from '@orpc/shared'; import { StandardHeaders, StandardRequest, StandardLazyResponse } from '@orpc/standard-server'; declare const STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES: { readonly BIGINT: 0; readonly DATE: 1; readonly NAN: 2; readonly UNDEFINED: 3; readonly URL: 4; readonly REGEXP: 5; readonly SET: 6; readonly MAP: 7; }; type StandardRPCJsonSerializedMetaItem = readonly [type: number, ...path: Segment[]]; type StandardRPCJsonSerialized = [json: unknown, meta: StandardRPCJsonSerializedMetaItem[], maps: Segment[][], blobs: Blob[]]; interface StandardRPCCustomJsonSerializer { type: number; condition(data: unknown): boolean; serialize(data: any): unknown; deserialize(serialized: any): unknown; } interface StandardRPCJsonSerializerOptions { customJsonSerializers?: readonly StandardRPCCustomJsonSerializer[]; } declare class StandardRPCJsonSerializer { private readonly customSerializers; constructor(options?: StandardRPCJsonSerializerOptions); serialize(data: unknown, segments?: Segment[], meta?: StandardRPCJsonSerializedMetaItem[], maps?: Segment[][], blobs?: Blob[]): StandardRPCJsonSerialized; deserialize(json: unknown, meta: readonly StandardRPCJsonSerializedMetaItem[]): unknown; deserialize(json: unknown, meta: readonly StandardRPCJsonSerializedMetaItem[], maps: readonly Segment[][], getBlob: (index: number) => Blob): unknown; } declare class StandardRPCSerializer { #private; private readonly jsonSerializer; constructor(jsonSerializer: StandardRPCJsonSerializer); serialize(data: unknown): object; deserialize(data: unknown): unknown; } interface StandardRPCLinkCodecOptions<T extends ClientContext> { /** * Base url for all requests. */ url: Value<Promisable<string | URL>, [options: ClientOptions<T>, path: readonly string[], input: unknown]>; /** * The maximum length of the URL. * * @default 2083 */ maxUrlLength?: Value<Promisable<number>, [options: ClientOptions<T>, path: readonly string[], input: unknown]>; /** * The method used to make the request. * * @default 'POST' */ method?: Value<Promisable<Exclude<HTTPMethod, 'HEAD'>>, [options: ClientOptions<T>, path: readonly string[], input: unknown]>; /** * The method to use when the payload cannot safely pass to the server with method return from method function. * GET is not allowed, it's very dangerous. * * @default 'POST' */ fallbackMethod?: Exclude<HTTPMethod, 'HEAD' | 'GET'>; /** * Inject headers to the request. */ headers?: Value<Promisable<StandardHeaders>, [options: ClientOptions<T>, path: readonly string[], input: unknown]>; } declare class StandardRPCLinkCodec<T extends ClientContext> implements StandardLinkCodec<T> { private readonly serializer; private readonly baseUrl; private readonly maxUrlLength; private readonly fallbackMethod; private readonly expectedMethod; private readonly headers; constructor(serializer: StandardRPCSerializer, options: StandardRPCLinkCodecOptions<T>); encode(path: readonly string[], input: unknown, options: ClientOptions<T>): Promise<StandardRequest>; decode(response: StandardLazyResponse): Promise<unknown>; } interface StandardRPCLinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, StandardRPCLinkCodecOptions<T>, StandardRPCJsonSerializerOptions { } declare class StandardRPCLink<T extends ClientContext> extends StandardLink<T> { constructor(linkClient: StandardLinkClient<T>, options: StandardRPCLinkOptions<T>); } export { STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES as S, StandardRPCJsonSerializer as e, StandardRPCLink as g, StandardRPCLinkCodec as i, StandardRPCSerializer as j }; export type { StandardRPCJsonSerializedMetaItem as a, StandardRPCJsonSerialized as b, StandardRPCCustomJsonSerializer as c, StandardRPCJsonSerializerOptions as d, StandardRPCLinkOptions as f, StandardRPCLinkCodecOptions as h };