UNPKG

@ocap/statedb-fs

Version:
38 lines (37 loc) 1.3 kB
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 };