ts-database
Version:
这是基于typesciprt的indexedDB的数据库的操作函数
60 lines (59 loc) • 1.53 kB
TypeScript
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>;
}