z-util-page
Version:
169 lines (168 loc) • 4.16 kB
TypeScript
/**
* @category indexedDB操作辅助类
*/
export declare class IDBHelper {
private dbRq?;
private version;
private name;
private upgradePromise;
private resetPromise;
/**
* 构造函数
* @param name 数据库名称
* @throws Error 数据库名称不能为空
* @returns IDBHelper实例
* ***
*/
constructor(name: string);
/**
* 获取数据库版本号
*/
private getVersion;
/**
* 检查连接状态
*/
private checkConnect;
/**
* 获取更新后的DB
*/
private updateDb;
/**
* 获取DB
*/
private getDb;
/**
* 创建表
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.createTable('tn');
* ```
* @param tableNameList 表名列表
* @param keyPath 主键
* @returns { Promise<boolean> }
* ***
*/
createTable(tableNameList: string[] | string, keyPath?: string): Promise<boolean>;
/**
* 删除表
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.deleteTable('tn');
* ```
* @param tableNameList 表名列表
* @returns { Promise<boolean> }
* ***
*/
deleteTable(tableNameList: string[] | string): Promise<boolean>;
/**
* 删除所有表
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.deleteAllTable();
* ```
* @returns { Promise<boolean> }
* ***
*/
deleteAllTable(): Promise<boolean>;
/**
* 获取所有表名
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.getAllTableName();
* ```
* @returns false 或 string[]
* ***
*/
getAllTableName(): Promise<false | DOMStringList>;
/**
* 增加/修改表中某行数据
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.setTableRow('tn', '你好!');
* ```
* @param tableName 表名
* @param data 数据
* @returns { Promise<boolean> }
* ***
*/
setTableRow(tableName: string, data: any): Promise<false | undefined>;
/**
* 获取表中某行数据
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.getTableRow('tn', 'key');
* ```
* @param tableName 表名
* @param key 键
* @returns { Promise<boolean> }
* ***
*/
getTableRow(tableName: string, key: string): Promise<unknown>;
/**
* 删除表中某行数据
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.deleteTableRow('tn', 'key');
* ```
* @param tableName 表名
* @param key 键
* @returns { Promise<boolean> }
* ***
*/
deleteTableRow(tableName: string, key: string): Promise<false | undefined>;
/**
* 获取表中所有数据
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.getAllTableRow('tn');
* ```
* @param tableName 表名
* @param range [范围](https://developer.mozilla.org/zh-CN/docs/Web/API/IDBKeyRange)
* @returns { Promise<any[]> }
* ***
*/
getAllTableRow(tableName: string, range?: IDBKeyRange): Promise<unknown>;
/**
* 获取表数据条数
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.getTableRowCount('tn');
* ```
* @param tableName 表名
* @param range [范围](https://developer.mozilla.org/zh-CN/docs/Web/API/IDBKeyRange)
* @returns { Promise<number> }
* ***
*/
getTableRowCount(tableName: string, range?: IDBKeyRange): Promise<unknown>;
/**
* 关闭数据库
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.close();
* ```
* @returns { Promise<boolean> }
* ***
*/
close(): Promise<false | undefined>;
/**
* 重置数据库
* @example
* ```ts
* const db = new IDBHelper('test');
* await db.reSet();
* ```
* @returns { Promise<boolean> }
* ***
*/
reSet(): Promise<false | Boolean>;
}