@ocap/statedb-fs
Version:
OCAP statedb adapter that uses fs as backend
38 lines (37 loc) • 1.3 kB
text/typescript
import { StateDBTable } from "@ocap/statedb";
import { IBalanceTable, IOperationContext } from "@ocap/types";
import Lokijs from "lokijs";
//#region src/table/base.d.ts
interface FsTableOptions {
name: string;
dataDir: string;
uniqIndex: string | string[];
balanceTable?: IBalanceTable;
syncBalance?: boolean;
}
/**
* 文件系统表基类
* 使用 LokiJS + FSAdapter 作为底层存储
*/
declare class FsTable<T = unknown> extends StateDBTable<T> {
name: string;
dataDir: string;
collection: Lokijs.Collection | null;
balanceTable?: IBalanceTable;
syncBalance: boolean;
constructor({
name,
dataDir,
uniqIndex,
balanceTable,
syncBalance
}: FsTableOptions);
_create(key: string | Record<string, unknown>, attrs?: Partial<T>, _context?: IOperationContext): Promise<T>;
_get(key: string | Record<string, unknown>, _context?: IOperationContext): Promise<T | null>;
_history(_key?: string | Record<string, unknown>, _context?: IOperationContext): T[];
_update(key: string | Record<string, unknown>, updates: Partial<T>, _context?: IOperationContext): Promise<T>;
updateOrCreate(exist: unknown, state: Partial<T>, ctx?: IOperationContext): Promise<T>;
_reset(_context?: IOperationContext): void;
}
//#endregion
export { FsTable as default };