Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SequenceHandler<TIn, TOut>

A composite handler that will try to run all supporting handlers sequentially and return the value of the last supported handler. The canHandle check of this handler will always succeed.

Type parameters

  • TIn = void

  • TOut = void

Hierarchy

Index

Constructors

constructor

Properties

Private Readonly handlers

handlers: AsyncHandler<TIn, TOut>[]

Methods

canHandle

  • canHandle(input: TIn): Promise<void>
  • Checks if the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.

    Parameters

    • input: TIn

      Input that could potentially be handled.

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

handle

  • handle(input: TIn): Promise<undefined | TOut>

handleSafe

  • handleSafe(input: TIn): Promise<undefined | TOut>
  • Helper function that first runs canHandle followed by handle. Throws the error of canHandle if the data cannot be handled, or returns the result of handle otherwise.

    Parameters

    • input: TIn

      Input data that will be handled if it can be handled.

    Returns Promise<undefined | TOut>

    A promise resolving if the input can be handled, rejecting with an Error if not.