UNPKG

z-util-page

Version:
169 lines (168 loc) 4.16 kB
/** * @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>; }