Dex TypeScript SDK 1.30.0
    Preparing search index...

    Class Channel<T>

    Defines a typed, durable singleton message stream owned by a Flow.

    Type Parameters

    • T

      Type of every published value.

    Index

    Constructors

    • Creates a Channel definition.

      Type Parameters

      • T

      Parameters

      • name: string

        Non-empty name without /, unique within the Flow.

      • codec: Codec<T>

        Element codec.

      Returns Channel<T>

    Properties

    codec: Codec<T>

    Element codec.

    name: string

    Non-empty name without /, unique within the Flow.

    Methods

    • Creates a condition requiring at least count values.

      Parameters

      • count: number

        Inclusive non-negative lower bound.

      • OptionalconditionId: string

        Optional stable condition identifier.

      Returns Condition

      A condition without an upper bound.

    • Creates a non-blocking condition consuming up to count queued values. When its surrounding Wait completes, it consumes values queued then; an empty queue yields none.

      Parameters

      • count: number

        Inclusive non-negative upper bound.

      • OptionalconditionId: string

        Optional stable condition identifier.

      Returns Condition

      A condition without a positive lower bound.

    • Stages best-effort deletion of one pending message from a handler.

      Parameters

      • context: Context

        Current Step, timeout-handler, or RPC Context.

      • messageId: string

        Non-empty server-assigned message ID.

      Returns void

    • Finds one message in the loaded pending snapshot.

      Parameters

      • context: Context

        Current Step, timeout-handler, or RPC Context.

      • messageId: string

        Server-assigned message ID.

      Returns ChannelMessage<T> | undefined

      The matching message, or undefined when absent from the snapshot.

    • Creates a condition consuming exactly count values.

      Parameters

      • count: number

        Required non-negative count.

      • OptionalconditionId: string

        Optional stable condition identifier.

      Returns Condition

      A condition with equal lower and upper bounds.

    • Creates a condition consuming exactly one value.

      Parameters

      • OptionalconditionId: string

        Optional stable condition identifier.

      Returns Condition

      An exact-one Channel condition.

    • Returns the loaded pending-message snapshot in FIFO order.

      Parameters

      • context: Context

        Current Step, timeout-handler, or RPC Context.

      Returns readonly ChannelMessage<T>[]

      Immutable pending message IDs and decoded values.

      ChannelMessagesNotLoadedError when this handler did not load the Channel's messages.

    • Stages one value to append with the current decision.

      Parameters

      • context: Context

        Current Step or RPC Context.

      • value: T

        Typed value to append.

      Returns void

    • Creates a bounded condition for queued Channel values. Dex waits only for atLeast, then consumes currently queued values up to atMost. Omitting atLeast makes the condition complete immediately.

      Parameters

      • OptionalatLeast: number

        Optional inclusive lower bound.

      • OptionalatMost: number

        Optional inclusive upper bound.

      • OptionalconditionId: string

        Optional stable condition identifier.

      Returns Condition

      A validated Channel condition.

    • Returns values selected by this Step's satisfied condition.

      Parameters

      • context: Context

        Current Step Context.

      Returns readonly T[]

      Ordered values, or an empty array when this Channel was not selected.

    • Returns the current queued value count.

      Parameters

      • context: Context

        Current Step or RPC Context.

      Returns number

      Non-negative queued value count.