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

Properties

Methods

Constructors

constructor

Properties

Private Readonly handlers

handlers: AsyncHandler<TIn, TOut>[]

Methods

canHandle

  • canHandle(input: TIn): Promise<void>
  • Checks if the input data can be handled by this class. Throws an error if it can't handle the data.

    Parameters

    • input: TIn

      Input data that would be handled potentially.

    Returns Promise<void>

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

handle

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

handleSafe

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

    Parameters

    • data: TIn

      The data to handle.

    Returns Promise<undefined | TOut>

    The result of the handle function of the handler.