Skip to content

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;