Skip to content
Effect Days 2026 Get your ticket

Reply

14 exports Added in v1.0.0 Source

Guards

isReply

Added in v1.0.0 Source

Signature

declare function isReply(u: unknown): u is Reply<Any>

Models

Chunk

Added in v1.0.0 Source

Signature

declare class Chunk<R extends Rpc.Any> extends Readonly<{
readonly id: Snowflake;
readonly requestId: Snowflake;
readonly sequence: number;
readonly values: readonly [SuccessChunk<R>, SuccessChunk<R>];
}> & {
readonly _tag: "Chunk";
} & Pipeable {
constructor<R extends Any>(args: {
readonly id: Snowflake;
readonly requestId: Snowflake;
readonly sequence: number;
readonly values: readonly [SuccessChunk<R>, SuccessChunk<R>];
});
readonly [TypeId]: symbol;
static readonly schemaFromSelf: Schema<Chunk<never>>;
withRequestId(requestId: Snowflake): Chunk<R>;
static emptyFrom(requestId: Snowflake): Chunk<Any>;
static schema<R extends Any>(rpc: R): any;
}

ChunkEncoded interface

Added in v1.0.0 Source

Signature

interface ChunkEncoded<R extends Rpc.Any> {
readonly _tag: "Chunk";
readonly id: string;
readonly requestId: string;
readonly sequence: number;
readonly values: readonly [SuccessChunkEncoded<R>, SuccessChunkEncoded<R>];
}

Reply type

Added in v1.0.0 Source

Signature

type Reply<R extends Rpc.Any> = WithExit<R> | Chunk<R>

ReplyEncoded type

Added in v1.0.0 Source

Signature

type ReplyEncoded<R extends Rpc.Any> = WithExitEncoded<R> | ChunkEncoded<R>

Signature

declare class ReplyWithContext<R extends Rpc.Any> extends Readonly<{
readonly context: Context<Context<R>>;
readonly reply: Reply<R>;
readonly rpc: R;
}> & {
readonly _tag: "ReplyWithContext";
} & Pipeable {
constructor<R extends Any>(args: {
readonly context: Context<Context<R>>;
readonly reply: Reply<R>;
readonly rpc: R;
});
static fromDefect(options: {
readonly defect: unknown;
readonly id: Snowflake;
readonly requestId: Snowflake;
}): ReplyWithContext<any>;
static interrupt(options: {
readonly id: Snowflake;
readonly requestId: Snowflake;
}): ReplyWithContext<any>;
}

WithExit

Added in v1.0.0 Source

Signature

declare class WithExit<R extends Rpc.Any> extends Readonly<{
readonly exit: Exit<R>;
readonly id: Snowflake;
readonly requestId: Snowflake;
}> & {
readonly _tag: "WithExit";
} & Pipeable {
constructor<R extends Any>(args: {
readonly exit: Exit<R>;
readonly id: Snowflake;
readonly requestId: Snowflake;
});
readonly [TypeId]: symbol;
withRequestId(requestId: Snowflake): WithExit<R>;
static schema<R extends Any>(rpc: R): any;
}

WithExitEncoded interface

Added in v1.0.0 Source

Signature

interface WithExitEncoded<R extends Rpc.Any> {
readonly _tag: "WithExit";
readonly exit: ExitEncoded<R>;
readonly id: string;
readonly requestId: string;
}

Schemas

Encoded

Added in v1.0.0 Source

Signature

declare const Encoded: Union<readonly Array<Constraint>>

Reply

Added in v1.0.0 Source

Signature

declare const Reply: <R extends Any>(rpc: R) => any

Serialization / Deserialization

serialize

Added in v1.0.0 Source

Signature

declare function serialize<R extends Any>(self: ReplyWithContext<R>): Effect<ReplyEncoded<R>, MalformedMessage>

Signature

declare function serializeLastReceived<R extends Any>(self: OutgoingRequest<R>): Effect<Option<ReplyEncoded<R>>, MalformedMessage>

Type Ids

TypeId

Added in v1.0.0 Source

Signature

declare const TypeId: unique symbol

TypeId type

Added in v1.0.0 Source

Signature

type TypeId = typeof TypeId