UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

37 lines (36 loc) 1.23 kB
export declare class PersistentStorage<T> { private readonly filePath; private readonly lock; constructor(filePath: string); readAll(): Promise<T>; writeAll(data: T): Promise<void>; set<K extends keyof T>(key: K, value: T[K]): Promise<void>; get<K extends keyof T>(key: K): Promise<T[K] | undefined>; transaction(transactionFn: (data: T) => T): Promise<void>; clear(): Promise<void>; } export declare class Lock { private readonly lockPath; private readonly sharedLockPath; private lockFd; private sharedLockCount; private exclusiveLockCount; constructor(lockPath: string); acquireShared(): Promise<void>; acquireExclusive(): Promise<void>; releaseShared(): Promise<void>; releaseExclusive(): Promise<void>; } export declare class MultiProcessKVStore<T = any> { private readonly storage; constructor(filePath: string); get(key: string): Promise<T | undefined>; set(key: string, value: T): Promise<void>; delete(key: string): Promise<void>; has(key: string): Promise<boolean>; keys(): Promise<string[]>; values(): Promise<T[]>; entries(): Promise<[string, T][]>; clear(): Promise<void>; size(): Promise<number>; }