RpcMiddleware
Client
layerClient
Added in v1.0.0
Source
Signature
declare function layerClient<Id, S, R, EX = never, RX = never>(
tag: Tag<Id, S>,
service: RpcMiddlewareClient<R> | Effect<RpcMiddlewareClient<R>, EX, RX>,
): Layer<ForClient<Id>, EX, R | Exclude<RX, Scope>>;Models
Signature
interface Any {
(options: {
readonly headers: Headers;
readonly next?: Effect<any, any, any>;
readonly payload: unknown;
readonly rpc: AnyWithProps;
}): Effect<any, any>;
}Signature
interface ForClient<Id> {
readonly _: typeof _;
readonly id: Id;
}RpcMiddleware interface
Added in v1.0.0
Source
Signature
interface RpcMiddleware<Provides, E> {
(options: {
readonly clientId: number;
readonly headers: Headers;
readonly payload: unknown;
readonly rpc: AnyWithProps;
}): Effect<Provides, E>;
}RpcMiddlewareClient interface
Added in v1.0.0
Source
Signature
interface RpcMiddlewareClient<R = never> {
(options: {
readonly request: Request<Any>;
readonly rpc: AnyWithProps;
}): Effect<Request<Any>, never, R>;
}RpcMiddlewareWrap interface
Added in v1.0.0
Source
Signature
interface RpcMiddlewareWrap<Provides, E> {
(options: {
readonly clientId: number;
readonly headers: Headers;
readonly next: Effect<SuccessValue, E, Provides>;
readonly payload: unknown;
readonly rpc: AnyWithProps;
}): Effect<SuccessValue, E>;
}SuccessValue interface
Added in v1.0.0
Source
Signature
interface SuccessValue {
readonly _: typeof _;
}Signature
interface TagClass<Self, Name extends string, Options> extends Base<
Self,
Name,
Options,
TagClass.Wrap<Options> extends true
? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Failure<Options>>
: RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>>
> {
constructor(_: never);
}TagClassAny interface
Added in v1.0.0
Source
Signature
interface TagClassAny extends Tag<any, any> {
readonly [TypeId]: typeof TypeId;
readonly failure: All;
readonly optional: boolean;
readonly provides?: any;
readonly requiredForClient: boolean;
readonly wrap: boolean;
}TagClassAnyWithProps interface
Added in v1.0.0
Source
Signature
interface TagClassAnyWithProps extends Tag<
any,
RpcMiddleware<any, any> | RpcMiddlewareWrap<any, any>
> {
readonly [TypeId]: typeof TypeId;
readonly failure: All;
readonly optional: boolean;
readonly provides?: any;
readonly requiredForClient: boolean;
readonly wrap: boolean;
}