UNPKG

ts-database

Version:

这是基于typesciprt的indexedDB的数据库的操作函数

60 lines (59 loc) 1.53 kB
import { DBDatabaseEvent, IDatabaseModules } from './type'; export interface IDBDatabaseWhereOptions<T = Record<string, unknown>> { key?: IDBValidKey | IDBKeyRange; index?: keyof T; like?: Record<string, string | number>; attributes: Array<keyof T>; limit?: number; } export declare class DBDatabaseModule { private databaseEvent; private dbDatabaseStore; private dataModule; constructor(dbDatabaseStore: IDBObjectStore, dataModule: IDatabaseModules, event?: DBDatabaseEvent); /** * 事件处理 */ private handleDatabaseEvent; /** * 批量更新与写入 * @param datas * @returns */ bulkCreate<T>(datas: T[]): Promise<Event[]>; /** * 数据更新 * @param data * @returns */ update<T>(data: T): Promise<any>; /** * 批量拉取 */ findAll<T = unknown>(options?: Omit<IDBDatabaseWhereOptions<T>, 'like'>): Promise<Array<T>>; /** * * 通过关键词来批量拉取 * * 全部遍历一次 */ findAllLike<T = any>(options?: Pick<IDBDatabaseWhereOptions, 'limit' | 'like' | 'attributes'>): Promise<T[]>; /** * 通过主键查找 * @returns */ findByPk<T = Object>(key: IDBDatabaseWhereOptions['key']): Promise<T>; /** * 清空表 */ clear(): Promise<void>; /** * 获取表长度 * @returns */ count(): Promise<number>; /** * 删除 */ destory(key: IDBValidKey | IDBKeyRange): Promise<void>; }