Options
All
  • Public
  • Public/Protected
  • All
Menu

Simple interface for classes that can potentially handle a specific kind of data asynchronously.

Type parameters

  • TIn = void

  • TOut = void

Hierarchy

Implemented by

Index

Constructors

Methods

Constructors

constructor

  • Type parameters

    • TIn = void

    • TOut = void

    Returns 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 could potentially be handled.

    Returns Promise<void>

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

Abstract handle

  • handle(input: TIn): Promise<TOut>
  • Handles the given input. This should only be done if the canHandle function returned true. Therefore, consider using the handleSafe function instead.

    Parameters

    • input: TIn

      Input data that needs to be handled.

    Returns Promise<TOut>

    A promise resolving when the handling is finished. Return value depends on the given type.

handleSafe

  • handleSafe(input: TIn): Promise<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

    • input: TIn

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

    Returns Promise<TOut>

    A promise resolving if the input can be handled, rejecting with an Error if not. Return value depends on the given type.