Operaciones de estado de tabla
El proveedor de estado dispone de operaciones de tabla para almacenar el estado.
Establecer valores de tabla
Utilizando un nombre de tabla, puede almacenar pares clave-valor para recuperarlos posteriormente.
Firma del método
mapSet(table: string, keyValuePairs: any)
Ajuste de los valores de la tabla
const session = vcr.createSession();
const state = new State(session);
const customer = req.body.customer;
await state.mapSet("customers", { [customer.number]: JSON.stringify(customer) });
session = vcr.createSession()
state = State(session)
customer = body['customer']
number = customer['number']
await state.mapSet('customers', { number: customer })
Valores de la tabla de incrementos
Utilizando un nombre de tabla y una clave, puede incrementar su valor.
Firma del método
mapIncrement(table: string, key: string, increment: number)
Incremento de los valores de la tabla
const number = req.body.number;
await state.mapIncrement("customers", number, 1);
number = body['number']
await state.mapIncrement('customers', number, 1)
Obtener un valor de tabla
Utilizando un nombre de tabla y una clave, puede obtener un valor.
Firma del método
mapGetValue<T>(table: string, key: string)
Obtener un valor de tabla
const number = req.body.number;
const customer = await state.mapGetValue("customers", number);
number = body['number']
customer = await state.mapGetValue('customers', number)
Obtención de múltiples valores de tabla
Utilizando un nombre de tabla y una matriz de claves, puede obtener varios valores.
Firma del método
mapGetMultiple<T>(table: string, keys: string[])
Obtención de múltiples valores de tabla
const number = req.body.number;
const otherNumber = "447000000001";
const customers = await state.mapGetMultiple("customers", [number, otherNumber]);
number = body['number']
otherNumber = '447000000001'
customer = await state.mapGetMultiple('customers', [number, otherNumber])
Valores de la tabla de exploración
Proporcionando un patrón puede escanear una tabla, comenzando en un cursor especificado.
Firma del método
mapScan(table: string, cursor: string, pattern: string, count: number)
Valores de la tabla de exploración
const name = req.body.name;
await state.mapScan("customers", "0", name, 0);
name = body['name']
await state.mapScan('customers', '0', name, 0)
Obtener todos los valores de la tabla
Utilizando un nombre de tabla, puede obtener todos los valores almacenados.
Firma del método
mapGetValues<T>(table: string)
Obtener todos los valores de la tabla
const customers = await state.mapGetValues("customers");
customers = await state.mapGetValues('customers')
Conseguir una mesa
Utilizando un nombre de tabla, puede obtener la tabla completa.
Firma del método
mapGetAll<T>(table: string)
Conseguir una mesa
const customerNumberPairs = await state.mapGetAll("customers");
customerNumberPairs = await state.mapGetAll('customers')
Obtener la longitud de una tabla
Utilizando un nombre de tabla, puede obtener la longitud de la tabla.
Firma del método
mapLength<T>(table: string)
Obtener la longitud de una tabla
const tableLength = await state.mapLength("customers");
tableLength = await state.mapLength('customers')
Comprobar la existencia de una clave de tabla
Utilizando un nombre de tabla y una clave, puede comprobar si existe una clave en una tabla.
Firma del método
mapExists(table: string, key: string)
Comprobación de la existencia de una clave de tabla
const number = req.body.number;
const isExistingCustomer = await state.mapExists("customers", number);
number = body['number']
isExistingCustomer = await state.mapExists('customers', number)
Borrar valores de tabla
Utilizando un nombre de tabla y una lista de claves, puede eliminar un valor.
Firma del método
mapDelete(table: string, keys: string[])
Borrar valores de tabla
const number = req.body.number;
await state.mapDelete("customers", [number]);
number = body['number']
await state.mapDelete('customers', [number])
Borrar una tabla
Utilizando un nombre de tabla, puede eliminar toda la tabla.
Firma del método
delete(table: string)
Borrar una tabla
await state.delete("customers");
await state.delete('customers')