RpcClient
Client
Signature
type FromGroup<Group, E = never> = RpcClient<RpcGroup.Rpcs<Group>, E>;Signature
declare const make: <Rpcs extends Rpc.Any, Flatten extends boolean = false>(
group: RpcGroup.RpcGroup<Rpcs>,
options?: {
readonly disableTracing?: boolean;
readonly flatten?: Flatten;
readonly generateRequestId?: () => RequestId;
readonly spanAttributes?: Record<string, unknown>;
readonly spanPrefix?: string;
},
) => Effect.Effect<
Flatten extends true ? RpcClient.Flat<Rpcs, RpcClientError> : RpcClient<Rpcs, RpcClientError>,
never,
Protocol | Rpc.MiddlewareClient<Rpcs> | Scope.Scope
>;makeNoSerialization
Added in v1.0.0
Source
Signature
declare const makeNoSerialization: <Rpcs extends Rpc.Any, E, Flatten extends boolean = false>(
group: RpcGroup.RpcGroup<Rpcs>,
options: {
readonly disableTracing?: boolean;
readonly flatten?: Flatten;
readonly generateRequestId?: () => RequestId;
readonly onFromClient: (options: {
readonly context: Context.Context<never>;
readonly discard: boolean;
readonly message: FromClient<Rpcs>;
}) => Effect.Effect<void, E>;
readonly spanAttributes?: Record<string, unknown>;
readonly spanPrefix?: string;
readonly supportsAck?: boolean;
},
) => Effect.Effect<
{
readonly client: Flatten extends true ? RpcClient.Flat<Rpcs, E> : RpcClient<Rpcs, E>;
readonly write: (message: FromServer<Rpcs>) => Effect.Effect<void>;
},
never,
Scope.Scope | Rpc.MiddlewareClient<Rpcs>
>;Signature
type RpcClient<Rpcs extends Rpc.Any, E = never> = Schema.Simplify<
RpcClient.From<RpcClient.NonPrefixed<Rpcs>, E, ""> & {
[CurrentPrefix in RpcClient.Prefixes<Rpcs>]: RpcClient.From<
RpcClient.Prefixed<Rpcs, CurrentPrefix>,
E,
CurrentPrefix
>;
}
>;Headers
currentHeaders
Added in v1.0.0
Source
Signature
declare const currentHeaders: FiberRef.FiberRef<Headers.Headers>;withHeaders
Added in v1.0.0
Source
Signature
declare const withHeaders: {
(headers: Input): <A, E, R>(effect: Effect<A, E, R>) => Effect<A, E, R>;
<A, E, R>(effect: Effect<A, E, R>, headers: Input): Effect<A, E, R>;
};withHeadersEffect
Added in v1.0.0
Source
Signature
declare const withHeadersEffect: {
<E2, R2>(
headers: Effect<Input, E2, R2>,
): <A, E, R>(effect: Effect<A, E, R>) => Effect<A, E2 | E, R2 | R>;
<A, E, R, E2, R2>(
effect: Effect<A, E, R>,
headers: Effect<Input, E2, R2>,
): Effect<A, E | E2, R | R2>;
};Protocol
layerProtocolHttp
Added in v1.0.0
Source
Signature
declare function layerProtocolHttp(options: {
readonly transformClient?: <E, R>(client: With<E, R>) => With<E, R>;
readonly url: string;
}): Layer<Protocol, never, any>;layerProtocolSocket
Added in v1.0.0
Source
Signature
declare function layerProtocolSocket(options?: {
readonly retrySchedule?: Schedule<any, SocketError, never, never>;
readonly retryTransientErrors?: boolean;
}): Layer<Protocol, never, any>;layerProtocolWorker
Added in v1.0.0
Source
Signature
declare function layerProtocolWorker(
options:
| {
readonly concurrency?: number;
readonly size: number;
readonly targetUtilization?: number;
}
| {
readonly concurrency?: number;
readonly maxSize: number;
readonly minSize: number;
readonly targetUtilization?: number;
readonly timeToLive: DurationInput;
},
): Layer<Protocol, WorkerError, any>;makeProtocolHttp
Added in v1.0.0
Source
Signature
declare function makeProtocolHttp(client: HttpClient): Effect<any, never, RpcSerialization>;makeProtocolSocket
Added in v1.0.0
Source
Signature
declare function makeProtocolSocket(options?: {
readonly retrySchedule?: Schedule<any, SocketError, never, never>;
readonly retryTransientErrors?: boolean;
}): Effect<any, never, any>;makeProtocolWorker
Added in v1.0.0
Source
Signature
declare function makeProtocolWorker(
options:
| {
readonly concurrency?: number;
readonly size: number;
readonly targetUtilization?: number;
}
| {
readonly concurrency?: number;
readonly maxSize: number;
readonly minSize: number;
readonly targetUtilization?: number;
readonly timeToLive: DurationInput;
},
): Effect<any, WorkerError, any>;Signature
declare class Protocol extends any {
constructor();
static make: <EX, RX>(f: (write: any) => Effect<Omit<any, "run">, EX, RX>) => Effect<any, EX, RX>;
}