Class ChainTrigger<T>

他のTriggerLikeに反応して発火するイベント通知機構。

Type Parameters

  • T

Hierarchy

Implements

Constructors

  • ChainTrigger のインスタンスを生成する。

    このインスタンスは、 chain がfireされたときに filter を実行し、真を返した場合に自身をfireする。

    Type Parameters

    • T

    Parameters

    • chain: TriggerLike<T>

      このインスタンスがfireするきっかけとなる TriggerLike

    • Optional filter: ChainTriggerFilterFunction<T>

      chain がfireされたときに実行される関数。省略された場合、または本関数の戻り値が真の場合、このインスタンスをfireする。

    • Optional filterOwner: unknown

      filter 呼び出し時に使われる this の値。

    Returns ChainTrigger<T>

Properties

_handlers: TriggerHandler<T>[]

登録されたすべてのハンドラ。

_isActivated: boolean

chainに実際にaddされているか否か。

chain: TriggerLike<T>

fireするきっかけとなる TriggerLike 。 この値は参照のためにのみ公開されている。外部から変更してはならない。

filter: null | ChainTriggerFilterFunction<T>

フィルタ。 chain がfireされたときに実行される。この関数が真を返した時のみ、このインスタンスはfireされる。

filterOwner: unknown

フィルタのオーナー。 filter の呼び出し時、 this として与えられる。

length: number

登録されているイベントハンドラの数。

Methods

  • Private

    Parameters

    Returns void

  • Private

    Parameters

    • args: T

    Returns void

  • このTriggerにハンドラを追加する。

    Parameters

    • func: HandlerFunction<T>

      ハンドラの関数

    • Optional owner: unknown

      ハンドラのオーナー。 func を呼び出す時に this として用いられる値

    Returns void

  • このTriggerにハンドラを追加する。

    Parameters

    Returns void

  • このTriggerにハンドラを追加する。 本メソッドにより追加されたハンドラは実行後に破棄される。

    Parameters

    • func: HandlerFunction<T>

      ハンドラの関数

    • Optional owner: unknown

      ハンドラのオーナー。 func を呼び出す時に this として用いられる値

    Returns void

  • このTriggerにハンドラを追加する。 本メソッドにより追加されたハンドラは実行後に破棄される。

    Parameters

    Returns void

  • 指定した条件に一致したハンドラが登録されているかを返す。 指定されなかった条件は、条件として無視される(登録時の値に関わらず一致するとみなされる)。

    Parameters

    • func: null | HandlerFunction<T>

      条件として用いるハンドラの関数

    • Optional owner: unknown

      条件として用いるハンドラのオーナー

    Returns boolean

  • 指定した条件に一致したハンドラが登録されているかを返す。 指定されなかった条件は、条件として無視される(登録時の値に関わらず一致するとみなされる)。

    Parameters

    Returns boolean

  • このTriggerを破棄する。

    Returns void

  • このTriggerが破棄されているかを返す。

    Returns boolean

  • このTriggerを発火する。

    登録された全ハンドラの関数を、引数 arg を与えて呼び出す。 呼び出し後、次のいずれかの条件を満たす全ハンドラの登録は解除される。

    • ハンドラが addOnce() で登録されていた場合
    • ハンドラが add() で登録される際に once: true オプションが与えられていた場合
    • ハンドラが Promise 以外の truthy な値を返した場合

    Parameters

    • arg: T

      ハンドラに与えられる引数

    Returns void

  • このTriggerにハンドラを追加する。

    Parameters

    Returns void

    Deprecated

    互換性のために残されている。代わりに add() を利用すべきである。

  • 関数が func であり、かつオーナーが owner であるハンドラを削除する。 同じ組み合わせで複数登録されている場合、一つだけ削除する。

    Parameters

    • func: HandlerFunction<T>

      削除条件として用いるハンドラの関数

    • Optional owner: unknown

      削除条件として用いるハンドラのオーナー。省略した場合、 undefined

    Returns void

  • 指定した条件に完全一致するハンドラを削除する。 同じ組み合わせで複数登録されている場合、一つだけ削除する。

    Parameters

    Returns void

  • 指定した条件に部分一致するハンドラを削除する。

    本メソッドは引数に与えた条件に一致したハンドラを全て削除する。 引数の条件を一部省略した場合、その値の内容が登録時と異なっていても対象のハンドラは削除される。 引数に与えた条件と完全に一致したハンドラのみを削除したい場合は this.remove() を用いる。 引数を省略した場合は全てのハンドラを削除する。

    Parameters

    Returns void

Generated using TypeDoc