クラス: ServiceStore
定義: src/service/ServiceStore.ts:11
Service コンポーネントのストア。services/ を走査します。
サービスストアは最初にロードされるため、他のコンポーネントの onLoad
からもサービスを利用できます。ロード済みサービスは
container.services / this.services に名前で収束します。
拡張
コンストラクター
コンストラクター
new ServiceStore(): ServiceStore;
定義: src/service/ServiceStore.ts:14
戻り値
ServiceStore
上書き
プロパティ
base
readonly base: AbstractComponentClass<Service>;
定義: src/component/ComponentStore.ts:50
この種別のコンポーネントが継承する基底クラス。
継承元
container
readonly container: Container;
定義: src/component/ComponentStore.ts:56
コンテナ。レジストリへの登録時に割り当てられます。
継承元
logger
readonly logger: Logger;
定義: src/component/ComponentStore.ts:59
このストア用の子ロガー。登録時に割り当てられます。
継承元
name
readonly name: string;
定義: src/component/ComponentStore.ts:47
ストア名(= 自動探索ディレクトリ名)。
継承元
suffix
readonly suffix: string;
定義: src/component/ComponentStore.ts:53
クラス名から取り除く接尾辞(ComponentStoreOptions.suffix)。
継承元
アクセッサー
registry
署名を取得する
get registry(): Services;
定義: src/service/ServiceStore.ts:23
this.services.<名前> としてアクセスされる名前付きレジストリ。
実体はロード時に埋まる動的なマップで、型は利用者の Services
宣言マージが保証します。
戻り値
メソッド
applyOptions()
protected applyOptions(component, options): void;
定義: src/component/ComponentStore.ts:238
解決済みメタデータをインスタンスへ適用します — 種別固有フィールドの 割り当てと必須項目の検証はここで行います。ロード時に弾く場合は (ComponentLoadError を推奨)例外を投げてください。
パラメータ
component
options
戻り値
void
継承元
bind()
protected bind(service): void;
定義: src/service/ServiceStore.ts:41
ロード済みコンポーネントをランタイムへ配線します(例: リスナーの
イベント購読)。onLoad の後、ストアに追加された状態で呼ばれます。
パラメータ
service
戻り値
void
上書き
deriveName()
protected deriveName(className): string;
定義: src/service/ServiceStore.ts:32
サービス名は lowerCamelCase で導出します
(GuildSettingsService → guildSettings)。
オブジェクトのプロパティとして自然に参照できる形にするためです。
パラメータ
className
string
戻り値
string
上書き
load()
load(cls, location?): Promise<Service>;
定義: src/component/ComponentStore.ts:122
単一のコンポーネントクラスを構築・初期化・追加します。 同じクラスの二重ロードは既存インスタンスを返すだけで無害です。 別の クラスが既存の名前に解決された場合は ComponentLoadError を投げます。
パラメータ
cls
location?
string | null
戻り値
Promise<Service>
継承元
loadAll()
loadAll(baseDirectory): Promise<void>;
定義: src/component/ComponentStore.ts:95
この種別のすべてのコンポーネントをロードします: 先に明示登録分、
次に <baseDirectory>/<name> のファイル自動探索(baseDirectory 設定時)。
クライアント起動時にレジストリから呼ばれます。
パラメータ
baseDirectory
string | null
戻り値
Promise<void>
継承元
register()
register(...classes): this;
定義: src/component/ComponentStore.ts:77
コンポーネントクラスを明示登録します(ファイル自動探索の代替)。 ComponentStore.loadAll 前ならキューに積まれ、後なら即座に ロードされます(fire-and-forget — インスタンスを待つ場合は ComponentStore.load を使ってください)。
パラメータ
classes
...ComponentClass<Service>[]
戻り値
this
継承元
unbind()
protected unbind(service): void;
定義: src/service/ServiceStore.ts:45
ComponentStore.bind の逆操作。アンロード時に呼ばれます。
パラメータ
service
戻り値
void
上書き
unload()
unload(resolvable): Promise<Service>;
定義: src/component/ComponentStore.ts:200
コンポーネントを取り除きます(ComponentStore.unbind と onUnload を実行)。
パラメータ
resolvable
string | Service
戻り値
Promise<Service>
継承元
unloadAll()
unloadAll(): Promise<void>;
定義: src/component/ComponentStore.ts:217
このストアのすべてのコンポーネントをアンロードします(クライアント終了時に使用)。
戻り値
Promise<void>