@hotmeshio/hotmesh
Version:
Serverless Workflow
37 lines (36 loc) • 1.91 kB
TypeScript
import { HSetOptions, KVSQLProviderTransaction, SetOptions, ZAddOptions } from '../../../../types/provider';
import type { KVSQL } from './kvsql';
export declare class KVTransaction implements KVSQLProviderTransaction {
private kvsql;
[key: string]: any;
private commands;
constructor(kvsql: KVSQL);
addCommand(sql: string, params: any[], returnType: string, transform?: (rows: any[]) => any): this;
set(key: string, value: string, options?: SetOptions): this;
setnx(key: string, value: string): this;
setnxex(key: string, value: string, expireSeconds: number): this;
get(key: string): this;
del(key: string): this;
expire(key: string, seconds: number): this;
hset(key: string, fields: Record<string, string>, options?: HSetOptions): this;
hget(key: string, field: string): this;
hdel(key: string, fields: string[]): this;
hmget(key: string, fields: string[]): this;
hgetall(key: string): this;
hincrbyfloat(key: string, field: string, increment: number): this;
hscan(key: string, cursor: string, count?: number): this;
lrange(key: string, start: number, end: number): this;
rpush(key: string, value: string | string[]): this;
lpush(key: string, value: string | string[]): this;
lpop(key: string): this;
lmove(source: string, destination: string, srcPosition: 'LEFT' | 'RIGHT', destPosition: 'LEFT' | 'RIGHT'): this;
zadd(key: string, score: number, member: string, options?: ZAddOptions): this;
zrange(key: string, start: number, stop: number): this;
zrangebyscore(key: string, min: number, max: number): this;
zrangebyscore_withscores(key: string, min: number, max: number): this;
zrem(key: string, member: string): this;
zrank(key: string, member: string): this;
scan(cursor: number, count?: number): this;
rename(oldKey: string, newKey: string): this;
exec(): Promise<any[]>;
}