Effect ベースのパブリッシュ/サブスクライブ方式のイベントバス。インスタンスごとの PubSub チャネル(型付き + ワイルドカード)をプロセス全体の GlobalBus に橋渡しし、非 Effect な呼び出し元向けに Promise/コールバックのヘルパーを提供する。
Classes
Members
(static, constant) InstanceDisposed
インスタンスのバスがシャットダウンされる直前に発行されるイベント。インスタンスのディレクトリを伴う。
(static, constant) defaultLayer
明示的な Bus レイヤーが指定されない場合に使用されるデフォルトのレイヤー。
(static, constant) layer
Bus サービスを構築する Effect レイヤー。インスタンスごとの状態とパブリッシュ/サブスクライブ操作を含む。
Methods
(static) createID() → {string}
昇順の新しいイベント id を生成する。
Returns:
新規の "evt" 識別子。
- Type:
- string
(static) publish(def, properties, options) → {Promise.<void>}
非 Effect なコードからイベントをパブリッシュする(パブリッシュ完了時に解決する)。
Parameters:
| Name | Type | Description |
|---|---|---|
def | Object | チャネル/型を識別するイベント定義。 |
properties | Object | イベントのペイロードプロパティ。 |
options | Object | 任意の上書き設定。 |
Returns:
イベントがパブリッシュされると解決する。
- Type:
- Promise.<void>
(static) subscribe(def, callback) → {function}
非 Effect なコードから、単一のイベント型をコールバックでサブスクライブする。
Parameters:
| Name | Type | Description |
|---|---|---|
def | Object | 型付きチャネルを識別するイベント定義。 |
callback | function |
|
Returns:
サブスクライブ解除関数。
- Type:
- function
(static) subscribeAll(callback) → {function}
非 Effect なコードから、すべてのイベント型をコールバックでサブスクライブする。
Parameters:
| Name | Type | Description |
|---|---|---|
callback | function | パブリッシュされた各ペイロードとともに呼び出される。 |
Returns:
サブスクライブ解除関数。
- Type:
- function