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;}