All files / kernel-store/src types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38                                                                           
export type KVStore = {
  get(key: string): string | undefined;
  getRequired(key: string): string;
  getNextKey(previousKey: string): string | undefined;
  set(key: string, value: string): void;
  delete(key: string): void;
};
 
export type KVPair = [string, string];
 
/**
 * A vat checkpoint is a tuple of two arrays describing the changes since the previous checkpoint:
 * - The first array contains updated key-value pairs.
 * - The second array contains deleted keys.
 */
export type VatCheckpoint = [KVPair[], string[]];
 
export type VatKVStore = KVStore & {
  checkpoint(): VatCheckpoint;
};
 
export type VatStore = {
  getKVData(): KVPair[];
  updateKVData(sets: KVPair[], deletes: string[]): void;
};
 
export type KernelDatabase = {
  kernelKVStore: KVStore;
  executeQuery(sql: string): Record<string, string>[];
  clear(): void;
  makeVatStore(vatID: string): VatStore;
  deleteVatStore(vatID: string): void;
  createSavepoint(name: string): void;
  rollbackSavepoint(name: string): void;
  releaseSavepoint(name: string): void;
  close(): void;
};