UNPKG

makit

Version:

Make in JavaScript done right!

48 lines (47 loc) 1.38 kB
import { FileSystem } from '../fs/file-system'; /** * 一个简易的 JSON 非关系性数据库。它的构成如下: * * * 一个 DataBase 对象由若干个 Document 构成 * * 一个 Document 由若干个 Property 构成 * * Note: sqlite 是各方面比较理想的替代品,但它有 Native Binding, * 能否成功安装会受网络、操作系统、Node 版本的影响,移植性不够。 */ export declare class DataBase { private readonly filepath; private readonly fs; private static instance; private data; private dirty; constructor(filepath: string, fs: FileSystem); /** * 查询文档属性 * * @param doc 文档名 * @param prop 属性名 * @param defaultValue 如果没有,则返回的默认值 */ query<T>(doc: string, prop: string, defaultValue?: T): any; /** * 写入文档属性 * * @param doc 文档名 * @param prop 属性名 * @param newValue 新的属性值 */ write<T>(doc: string, prop: string, newValue: T): any; /** * 清空文档的所有属性,或清空数据库 * * @param doc 文档名,如果不传则清空所有文档 */ clear(doc?: string): void; /** * 同步数据库到磁盘 * * @throws 文件写入错误 */ syncToDisk(): boolean; private readFromDisk; }