リスト州の業務

ステート・プロバイダーは、ステートを保存するためのリスト操作を持っている。

リスト開始時に要素をプッシュする

リスト名を使えば、リストの最初に要素を追加することができる。

メソッド署名

listPrepend<T>(list: string, value: T)

リストの先頭で要素をプッシュする

await state.listPrepend("list", "bar");

リストの最後に要素をプッシュする

リスト名を使って、リストの最後に要素を追加することができる。

メソッド署名

listAppend<T>(list: string, value: T)

リスト末尾の要素をプッシュする

await state.listAppend("list", "foo");

相対位置に要素を挿入する

既存の要素の前または後に要素をリストに追加することができます。この場合 before ブール値は、要素を前(true)または(falseを参照)。 pivot 値(既存の要素)。

メソッド署名

listInsert<T>(list: string, before: boolean, pivot: T, value: T)

相対的な要素の挿入

await state.listInsert('list', false, 'foo', 'bar');

特定のインデックスの要素の値を上書きする

特定のインデックスにある要素の値を上書きすることができます。にはすでに値がある必要があります。 position を指定した。

メソッド署名

listSet<T>(list: string, position: number, value: T)

特定のインデックスの要素の値を上書きする

await state.listSet('list', 0, 'foo');

特定のインデックスの要素を取得する

特定のインデックスの要素を取得することができる。

メソッド署名

listIndex<T>(list: string, position: number)

特定のインデックスで要素を取得する

const element = await state.listIndex('list', 0);

リストの長さを取得する

リスト名を使えば、リストの長さを知ることができる。

メソッド署名

listLength(list: string)

リストの長さの取得

const listLength = await state.listLength("list");

範囲指定でリストの要素を取得する

リスト名と範囲を使用すると、指定した範囲の要素を取得できます。

メソッド署名

listRange<T>(list: string, startPos: number, endPos: number)

範囲指定でリストの要素を取得する

const elements = await state.listRange("list", 0, 2);

リスト要素の削除

値を指定することで、リストから要素を削除することができます。オプションでカウントを指定すると、要素が重複している場合にいくつ削除するかを制御できます。

メソッド署名

listRemove<T>(list: string, value: T, count?: number)

リスト要素の削除

await state.listRemove('list', 'foo');

リスト開始時のポップ・エレメント

リストの先頭から要素をポップ・アンド・リターンすることができる。オプションで count を使えば、一度に複数の要素をポップできる。

メソッド署名

listStartPop<T>(list: string, count?: number)

リストの先頭で要素をポップする

await state.listStartPop("list");

リスト末尾のポップ・エレメント

リストの末尾から要素をポップ・アンド・リターンすることができる。

メソッド署名

listEndPop<T>(list: string, count?: number)

リスト末尾で要素をポップする

await state.listEndPop("list");

リストをトリミングする

範囲を指定してリストから要素を削除することができます。削除された要素 にはなりません。 返却される。

メソッド署名

listTrim<T>(list: string, startPos: number, endPos: number)

リストのトリミング

await state.listTrim("list", 0, 1);