@x5e/gink
Version:
an eventually consistent database
25 lines (24 loc) • 1.16 kB
TypeScript
import { Database } from "./Database";
import { Container } from "./Container";
import { Muid, AsOf, Meta } from "./typedefs";
export declare class Accumulator extends Container {
private constructor();
static get(database?: Database, muid?: Muid): Accumulator;
static create(database?: Database, meta?: Meta): Promise<Accumulator>;
addNumber(increment: number, meta?: Meta): Promise<Muid>;
getNumber(asOf?: AsOf): Promise<number>;
getBillionths(asOf?: AsOf): Promise<bigint>;
addBillionths(value: bigint, meta?: Meta): Promise<Muid>;
size(_asOf?: AsOf): Promise<number>;
clear(purge?: boolean, meta?: Meta): Promise<Muid>;
reset(toTime?: AsOf, _recurse?: any, meta?: Meta): Promise<void>;
/**
* Generates a JSON representation of the data in the box (the box itself is transparent).
* Mostly intended for demo/debug purposes.
* @param indent true to pretty print
* @param asOf effective time
* @param seen (internal use only! Prevent cycles from breaking things)
* @returns a JSON string
*/
toJson(_indent?: number | boolean, asOf?: AsOf, _seen?: Set<string>): Promise<string>;
}