Lista de operaciones estatales

El proveedor de estado dispone de operaciones de lista para almacenar el estado.

Empujar elementos al inicio de la lista

Utilizando un nombre de lista, puede añadir un elemento a una lista al principio.

Firma del método

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

Empujar elementos al principio de la lista

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

Empujar elementos al final de la lista

Utilizando un nombre de lista, puede añadir un elemento a una lista al final.

Firma del método

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

Empujar elementos al final de la lista

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

Insertar un elemento en posición relativa

Puede añadir un elemento a una lista antes o después de un elemento existente. La dirección before booleano se utiliza para decidir colocar el elemento antes de (true) o después (false) el pivot (el elemento existente).

Firma del método

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

Inserción relativa de un elemento

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

Sobrescribir el valor de un elemento en un índice específico

Puede sobrescribir el valor de un elemento en un índice específico. Es necesario que ya exista un valor en el índice position especificado.

Firma del método

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

Sobrescribir el valor de un elemento en un índice específico

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

Obtener un elemento en un índice específico

Puede obtener un elemento en un índice específico.

Firma del método

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

Obtener un elemento en un índice específico

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

Obtener la longitud de una lista

Utilizando un nombre de lista, puede obtener la longitud de la lista.

Firma del método

listLength(list: string)

Obtener la longitud de una lista

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

Obtener los elementos de una lista con un rango

Utilizando un nombre de lista y un rango, puede obtener los elementos del rango especificado.

Firma del método

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

Obtener los elementos de una lista con un rango

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

Eliminar elementos de la lista

Puede eliminar elementos de una lista especificando un valor. Opcionalmente, puede proporcionar un recuento para controlar cuántos elementos se eliminan si hay duplicados.

Firma del método

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

Eliminar elementos de la lista

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

Elementos emergentes al inicio de la lista

Puede extraer elementos del principio de una lista y hacer que se los devuelvan. Opcionalmente puede pasar un count para hacer saltar más de un elemento a la vez.

Firma del método

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

Elementos emergentes al principio de la lista

await state.listStartPop("list");

Elementos pop al final de la lista

Puede sacar elementos del final de una lista y hacer que se los devuelvan.

Firma del método

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

Elementos emergentes al final de la lista

await state.listEndPop("list");

Recortar una lista

Puede eliminar elementos de una lista especificando un intervalo. Los elementos eliminados no se le devolverá.

Firma del método

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

Recortar una lista

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