@iss-ai/easy-web-store 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +214 -182
- package/lib/easy/EasyCookiesStore.d.ts +124 -0
- package/lib/{src/easy/DexieStore.d.ts → easy/EasyDexieStore.d.ts} +25 -26
- package/lib/easy/EasyIndexedDb.d.ts +2 -0
- package/lib/easy/EasyLocalStorage.d.ts +105 -0
- package/lib/easy/EasyMemoryStore.d.ts +91 -0
- package/lib/easy/EasySessionStorage.d.ts +105 -0
- package/lib/index.cjs.js +1 -1
- package/lib/index.d.ts +7 -0
- package/lib/index.esm.js +1 -1
- package/lib/index.min.js +1 -1
- package/lib/index.umd.js +1 -1
- package/lib/{src/interface → interface}/types.d.ts +18 -0
- package/lib/utils/Utils.d.ts +5 -0
- package/package.json +5 -1
- package/lib/src/index.d.ts +0 -2
|
@@ -10,8 +10,10 @@ export declare class EasyDexieDatabase<T extends IBase = any> extends Dexie {
|
|
|
10
10
|
/**
|
|
11
11
|
* 构造函数
|
|
12
12
|
* @param dbName 数据库名称
|
|
13
|
+
* @param tableName 表名称
|
|
14
|
+
* @param tableSchema 表模式定义(可选)
|
|
13
15
|
*/
|
|
14
|
-
constructor(dbName: string, tableName: string,
|
|
16
|
+
constructor(dbName: string, tableName: string, tableSchema?: string);
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* EasyDexieStore 类,基于 Dexie 实现 IEasyStore 接口
|
|
@@ -23,8 +25,9 @@ export declare class EasyDexieStore<T extends IBase = any> implements IEasyStore
|
|
|
23
25
|
private tableName;
|
|
24
26
|
/**
|
|
25
27
|
* 构造函数
|
|
26
|
-
* @param
|
|
27
|
-
* @param
|
|
28
|
+
* @param tableName 表名称
|
|
29
|
+
* @param dbName 数据库名称(默认为 'easy-store')
|
|
30
|
+
* @param tableSchema 表模式定义(可选)
|
|
28
31
|
*/
|
|
29
32
|
constructor(tableName?: string, dbName?: string, tableSchema?: string);
|
|
30
33
|
/**
|
|
@@ -32,11 +35,6 @@ export declare class EasyDexieStore<T extends IBase = any> implements IEasyStore
|
|
|
32
35
|
* @returns 数据表实例
|
|
33
36
|
*/
|
|
34
37
|
private getTable;
|
|
35
|
-
/**
|
|
36
|
-
* 生成唯一 ID
|
|
37
|
-
* @returns 时间戳格式的 ID
|
|
38
|
-
*/
|
|
39
|
-
private generateId;
|
|
40
38
|
/**
|
|
41
39
|
* 保存或更新单条数据
|
|
42
40
|
* @param data 要保存的数据
|
|
@@ -69,9 +67,10 @@ export declare class EasyDexieStore<T extends IBase = any> implements IEasyStore
|
|
|
69
67
|
getInfo(condition: Partial<T>): Promise<T | null>;
|
|
70
68
|
/**
|
|
71
69
|
* 根据条件更新信息
|
|
70
|
+
* 更新所有符合条件的数据
|
|
72
71
|
* @param data 要更新的数据
|
|
73
72
|
* @param condition 查询条件
|
|
74
|
-
* @returns Promise
|
|
73
|
+
* @returns Promise 返回更新后的第一条数据
|
|
75
74
|
*/
|
|
76
75
|
update(data: Record<string, any>, condition: Partial<T>): Promise<T | null>;
|
|
77
76
|
/**
|
|
@@ -91,11 +90,26 @@ export declare class EasyDexieStore<T extends IBase = any> implements IEasyStore
|
|
|
91
90
|
* @returns Promise 返回分页结果
|
|
92
91
|
*/
|
|
93
92
|
getPage(condition: IQueryCondition<T>): Promise<IPage<T>>;
|
|
93
|
+
/**
|
|
94
|
+
* 应用 where 条件到查询集合
|
|
95
|
+
* @param collection 当前查询集合
|
|
96
|
+
* @param where 查询条件
|
|
97
|
+
* @returns 应用条件后的查询集合
|
|
98
|
+
*/
|
|
99
|
+
private applyWhereConditions;
|
|
100
|
+
/**
|
|
101
|
+
* 应用复杂条件操作符
|
|
102
|
+
* @param collection 当前查询集合
|
|
103
|
+
* @param key 字段名
|
|
104
|
+
* @param condition 复杂条件
|
|
105
|
+
* @returns 应用条件后的查询集合
|
|
106
|
+
*/
|
|
107
|
+
private applyComplexCondition;
|
|
94
108
|
/**
|
|
95
109
|
* 应用排序规则
|
|
96
|
-
* @param
|
|
110
|
+
* @param collection 当前查询集合
|
|
97
111
|
* @param sort 排序规则
|
|
98
|
-
* @returns
|
|
112
|
+
* @returns 应用排序后的查询集合
|
|
99
113
|
*/
|
|
100
114
|
private applySort;
|
|
101
115
|
/**
|
|
@@ -105,21 +119,6 @@ export declare class EasyDexieStore<T extends IBase = any> implements IEasyStore
|
|
|
105
119
|
* @returns 只包含指定字段的数据
|
|
106
120
|
*/
|
|
107
121
|
private selectFields;
|
|
108
|
-
/**
|
|
109
|
-
* 检查数据是否匹配复杂条件
|
|
110
|
-
* @param item 数据项
|
|
111
|
-
* @param key 字段名
|
|
112
|
-
* @param value 查询值
|
|
113
|
-
* @returns 是否匹配
|
|
114
|
-
*/
|
|
115
|
-
private matchesCondition;
|
|
116
|
-
/**
|
|
117
|
-
* 检查数据是否匹配简单条件
|
|
118
|
-
* @param item 数据项
|
|
119
|
-
* @param condition 查询条件
|
|
120
|
-
* @returns 是否匹配
|
|
121
|
-
*/
|
|
122
|
-
private matchesConditionSimple;
|
|
123
122
|
/**
|
|
124
123
|
* 关闭数据库连接
|
|
125
124
|
*/
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { IBase, IEasyStore, IQueryCondition, IPage } from '../interface/types';
|
|
2
|
+
/**
|
|
3
|
+
* EasyLocalStorage 类,基于 localStorage 实现 IEasyStore 接口
|
|
4
|
+
* 数据持久化存储在 localStorage 中
|
|
5
|
+
* @template T 数据类型,必须继承 IBase 接口
|
|
6
|
+
*/
|
|
7
|
+
export declare class EasyLocalStorage<T extends IBase = any> implements IEasyStore<T> {
|
|
8
|
+
private storeName;
|
|
9
|
+
/**
|
|
10
|
+
* 构造函数
|
|
11
|
+
* @param storeName 存储名称
|
|
12
|
+
*/
|
|
13
|
+
constructor(storeName?: string);
|
|
14
|
+
/**
|
|
15
|
+
* 获取存储的键名
|
|
16
|
+
* @returns 存储键名
|
|
17
|
+
*/
|
|
18
|
+
private getStorageKey;
|
|
19
|
+
/**
|
|
20
|
+
* 从 localStorage 获取所有数据
|
|
21
|
+
* @returns 数据 Map
|
|
22
|
+
*/
|
|
23
|
+
private getAllData;
|
|
24
|
+
/**
|
|
25
|
+
* 将所有数据保存到 localStorage
|
|
26
|
+
* @param data 数据 Map
|
|
27
|
+
*/
|
|
28
|
+
private saveAllData;
|
|
29
|
+
/**
|
|
30
|
+
* 检查数据是否匹配条件
|
|
31
|
+
* @param item 数据项
|
|
32
|
+
* @param condition 查询条件
|
|
33
|
+
* @returns 是否匹配
|
|
34
|
+
*/
|
|
35
|
+
private matchesCondition;
|
|
36
|
+
/**
|
|
37
|
+
* 应用排序
|
|
38
|
+
* @param items 数据列表
|
|
39
|
+
* @param sort 排序规则
|
|
40
|
+
* @returns 排序后的列表
|
|
41
|
+
*/
|
|
42
|
+
private applySort;
|
|
43
|
+
/**
|
|
44
|
+
* 选择指定字段
|
|
45
|
+
* @param item 数据项
|
|
46
|
+
* @param fields 字段选择
|
|
47
|
+
* @returns 只包含指定字段的数据
|
|
48
|
+
*/
|
|
49
|
+
private selectFields;
|
|
50
|
+
/**
|
|
51
|
+
* 保存或更新单条数据
|
|
52
|
+
* @param data 要保存的数据
|
|
53
|
+
* @returns Promise 返回保存后的数据
|
|
54
|
+
*/
|
|
55
|
+
save(data: Omit<T, 'id'> | T): Promise<T>;
|
|
56
|
+
/**
|
|
57
|
+
* 批量保存或更新数据
|
|
58
|
+
* @param dataList 要保存的数据列表
|
|
59
|
+
* @returns Promise 返回保存后的数据列表
|
|
60
|
+
*/
|
|
61
|
+
saveList(dataList: Array<Omit<T, 'id'> | T>): Promise<T[]>;
|
|
62
|
+
/**
|
|
63
|
+
* 根据条件获取列表
|
|
64
|
+
* @param condition 查询条件
|
|
65
|
+
* @returns Promise 返回数据列表
|
|
66
|
+
*/
|
|
67
|
+
getList(condition?: IQueryCondition<T>): Promise<T[]>;
|
|
68
|
+
/**
|
|
69
|
+
* 根据条件删除数据
|
|
70
|
+
* @param condition 删除条件
|
|
71
|
+
* @returns Promise 返回删除的数量
|
|
72
|
+
*/
|
|
73
|
+
delete(condition: Partial<T>): Promise<number>;
|
|
74
|
+
/**
|
|
75
|
+
* 根据条件获取单条信息
|
|
76
|
+
* @param condition 查询条件
|
|
77
|
+
* @returns Promise 返回单条数据,不存在则返回 null
|
|
78
|
+
*/
|
|
79
|
+
getInfo(condition: Partial<T>): Promise<T | null>;
|
|
80
|
+
/**
|
|
81
|
+
* 根据条件更新信息
|
|
82
|
+
* 更新所有符合条件的数据
|
|
83
|
+
* @param data 要更新的数据
|
|
84
|
+
* @param condition 查询条件
|
|
85
|
+
* @returns Promise 返回更新后的第一条数据
|
|
86
|
+
*/
|
|
87
|
+
update(data: Record<string, any>, condition: Partial<T>): Promise<T | null>;
|
|
88
|
+
/**
|
|
89
|
+
* 根据条件统计数量
|
|
90
|
+
* @param condition 统计条件
|
|
91
|
+
* @returns Promise 返回符合条件的记录数
|
|
92
|
+
*/
|
|
93
|
+
count(condition: Partial<T>): Promise<number>;
|
|
94
|
+
/**
|
|
95
|
+
* 清空所有数据
|
|
96
|
+
* @returns Promise
|
|
97
|
+
*/
|
|
98
|
+
clear(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* 根据条件分页获取列表
|
|
101
|
+
* @param condition 查询条件和分页参数
|
|
102
|
+
* @returns Promise 返回分页结果
|
|
103
|
+
*/
|
|
104
|
+
getPage(condition: IQueryCondition<T>): Promise<IPage<T>>;
|
|
105
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { IBase, IEasyStore, IQueryCondition, IPage } from '../interface/types';
|
|
2
|
+
/**
|
|
3
|
+
* EasyMemoryStore 类,基于内存实现 IEasyStore 接口
|
|
4
|
+
* 数据存储在内存中,应用重启后数据会丢失
|
|
5
|
+
* @template T 数据类型,必须继承 IBase 接口
|
|
6
|
+
*/
|
|
7
|
+
export declare class EasyMemoryStore<T extends IBase = any> implements IEasyStore<T> {
|
|
8
|
+
private data;
|
|
9
|
+
private storeName;
|
|
10
|
+
/**
|
|
11
|
+
* 构造函数
|
|
12
|
+
* @param storeName 存储名称
|
|
13
|
+
*/
|
|
14
|
+
constructor(storeName?: string);
|
|
15
|
+
/**
|
|
16
|
+
* 检查数据是否匹配条件
|
|
17
|
+
* @param item 数据项
|
|
18
|
+
* @param condition 查询条件
|
|
19
|
+
* @returns 是否匹配
|
|
20
|
+
*/
|
|
21
|
+
private matchesCondition;
|
|
22
|
+
/**
|
|
23
|
+
* 应用排序
|
|
24
|
+
* @param items 数据列表
|
|
25
|
+
* @param sort 排序规则
|
|
26
|
+
* @returns 排序后的列表
|
|
27
|
+
*/
|
|
28
|
+
private applySort;
|
|
29
|
+
/**
|
|
30
|
+
* 选择指定字段
|
|
31
|
+
* @param item 数据项
|
|
32
|
+
* @param fields 字段选择
|
|
33
|
+
* @returns 只包含指定字段的数据
|
|
34
|
+
*/
|
|
35
|
+
private selectFields;
|
|
36
|
+
/**
|
|
37
|
+
* 保存或更新单条数据
|
|
38
|
+
* @param data 要保存的数据
|
|
39
|
+
* @returns Promise 返回保存后的数据
|
|
40
|
+
*/
|
|
41
|
+
save(data: Omit<T, 'id'> | T): Promise<T>;
|
|
42
|
+
/**
|
|
43
|
+
* 批量保存或更新数据
|
|
44
|
+
* @param dataList 要保存的数据列表
|
|
45
|
+
* @returns Promise 返回保存后的数据列表
|
|
46
|
+
*/
|
|
47
|
+
saveList(dataList: Array<Omit<T, 'id'> | T>): Promise<T[]>;
|
|
48
|
+
/**
|
|
49
|
+
* 根据条件获取列表
|
|
50
|
+
* @param condition 查询条件
|
|
51
|
+
* @returns Promise 返回数据列表
|
|
52
|
+
*/
|
|
53
|
+
getList(condition?: IQueryCondition<T>): Promise<T[]>;
|
|
54
|
+
/**
|
|
55
|
+
* 根据条件删除数据
|
|
56
|
+
* @param condition 删除条件
|
|
57
|
+
* @returns Promise 返回删除的数量
|
|
58
|
+
*/
|
|
59
|
+
delete(condition: Partial<T>): Promise<number>;
|
|
60
|
+
/**
|
|
61
|
+
* 根据条件获取单条信息
|
|
62
|
+
* @param condition 查询条件
|
|
63
|
+
* @returns Promise 返回单条数据,不存在则返回 null
|
|
64
|
+
*/
|
|
65
|
+
getInfo(condition: Partial<T>): Promise<T | null>;
|
|
66
|
+
/**
|
|
67
|
+
* 根据条件更新信息
|
|
68
|
+
* 更新所有符合条件的数据
|
|
69
|
+
* @param data 要更新的数据
|
|
70
|
+
* @param condition 查询条件
|
|
71
|
+
* @returns Promise 返回更新后的第一条数据
|
|
72
|
+
*/
|
|
73
|
+
update(data: Record<string, any>, condition: Partial<T>): Promise<T | null>;
|
|
74
|
+
/**
|
|
75
|
+
* 根据条件统计数量
|
|
76
|
+
* @param condition 统计条件
|
|
77
|
+
* @returns Promise 返回符合条件的记录数
|
|
78
|
+
*/
|
|
79
|
+
count(condition: Partial<T>): Promise<number>;
|
|
80
|
+
/**
|
|
81
|
+
* 清空所有数据
|
|
82
|
+
* @returns Promise
|
|
83
|
+
*/
|
|
84
|
+
clear(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* 根据条件分页获取列表
|
|
87
|
+
* @param condition 查询条件和分页参数
|
|
88
|
+
* @returns Promise 返回分页结果
|
|
89
|
+
*/
|
|
90
|
+
getPage(condition: IQueryCondition<T>): Promise<IPage<T>>;
|
|
91
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { IBase, IEasyStore, IQueryCondition, IPage } from '../interface/types';
|
|
2
|
+
/**
|
|
3
|
+
* EasySessionStorage 类,基于 sessionStorage 实现 IEasyStore 接口
|
|
4
|
+
* 数据存储在 sessionStorage 中,页面关闭后数据会丢失
|
|
5
|
+
* @template T 数据类型,必须继承 IBase 接口
|
|
6
|
+
*/
|
|
7
|
+
export declare class EasySessionStorage<T extends IBase = any> implements IEasyStore<T> {
|
|
8
|
+
private storeName;
|
|
9
|
+
/**
|
|
10
|
+
* 构造函数
|
|
11
|
+
* @param storeName 存储名称
|
|
12
|
+
*/
|
|
13
|
+
constructor(storeName?: string);
|
|
14
|
+
/**
|
|
15
|
+
* 获取存储的键名
|
|
16
|
+
* @returns 存储键名
|
|
17
|
+
*/
|
|
18
|
+
private getStorageKey;
|
|
19
|
+
/**
|
|
20
|
+
* 从 sessionStorage 获取所有数据
|
|
21
|
+
* @returns 数据 Map
|
|
22
|
+
*/
|
|
23
|
+
private getAllData;
|
|
24
|
+
/**
|
|
25
|
+
* 将所有数据保存到 sessionStorage
|
|
26
|
+
* @param data 数据 Map
|
|
27
|
+
*/
|
|
28
|
+
private saveAllData;
|
|
29
|
+
/**
|
|
30
|
+
* 检查数据是否匹配条件
|
|
31
|
+
* @param item 数据项
|
|
32
|
+
* @param condition 查询条件
|
|
33
|
+
* @returns 是否匹配
|
|
34
|
+
*/
|
|
35
|
+
private matchesCondition;
|
|
36
|
+
/**
|
|
37
|
+
* 应用排序
|
|
38
|
+
* @param items 数据列表
|
|
39
|
+
* @param sort 排序规则
|
|
40
|
+
* @returns 排序后的列表
|
|
41
|
+
*/
|
|
42
|
+
private applySort;
|
|
43
|
+
/**
|
|
44
|
+
* 选择指定字段
|
|
45
|
+
* @param item 数据项
|
|
46
|
+
* @param fields 字段选择
|
|
47
|
+
* @returns 只包含指定字段的数据
|
|
48
|
+
*/
|
|
49
|
+
private selectFields;
|
|
50
|
+
/**
|
|
51
|
+
* 保存或更新单条数据
|
|
52
|
+
* @param data 要保存的数据
|
|
53
|
+
* @returns Promise 返回保存后的数据
|
|
54
|
+
*/
|
|
55
|
+
save(data: Omit<T, 'id'> | T): Promise<T>;
|
|
56
|
+
/**
|
|
57
|
+
* 批量保存或更新数据
|
|
58
|
+
* @param dataList 要保存的数据列表
|
|
59
|
+
* @returns Promise 返回保存后的数据列表
|
|
60
|
+
*/
|
|
61
|
+
saveList(dataList: Array<Omit<T, 'id'> | T>): Promise<T[]>;
|
|
62
|
+
/**
|
|
63
|
+
* 根据条件获取列表
|
|
64
|
+
* @param condition 查询条件
|
|
65
|
+
* @returns Promise 返回数据列表
|
|
66
|
+
*/
|
|
67
|
+
getList(condition?: IQueryCondition<T>): Promise<T[]>;
|
|
68
|
+
/**
|
|
69
|
+
* 根据条件删除数据
|
|
70
|
+
* @param condition 删除条件
|
|
71
|
+
* @returns Promise 返回删除的数量
|
|
72
|
+
*/
|
|
73
|
+
delete(condition: Partial<T>): Promise<number>;
|
|
74
|
+
/**
|
|
75
|
+
* 根据条件获取单条信息
|
|
76
|
+
* @param condition 查询条件
|
|
77
|
+
* @returns Promise 返回单条数据,不存在则返回 null
|
|
78
|
+
*/
|
|
79
|
+
getInfo(condition: Partial<T>): Promise<T | null>;
|
|
80
|
+
/**
|
|
81
|
+
* 根据条件更新信息
|
|
82
|
+
* 更新所有符合条件的数据
|
|
83
|
+
* @param data 要更新的数据
|
|
84
|
+
* @param condition 查询条件
|
|
85
|
+
* @returns Promise 返回更新后的第一条数据
|
|
86
|
+
*/
|
|
87
|
+
update(data: Record<string, any>, condition: Partial<T>): Promise<T | null>;
|
|
88
|
+
/**
|
|
89
|
+
* 根据条件统计数量
|
|
90
|
+
* @param condition 统计条件
|
|
91
|
+
* @returns Promise 返回符合条件的记录数
|
|
92
|
+
*/
|
|
93
|
+
count(condition: Partial<T>): Promise<number>;
|
|
94
|
+
/**
|
|
95
|
+
* 清空所有数据
|
|
96
|
+
* @returns Promise
|
|
97
|
+
*/
|
|
98
|
+
clear(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* 根据条件分页获取列表
|
|
101
|
+
* @param condition 查询条件和分页参数
|
|
102
|
+
* @returns Promise 返回分页结果
|
|
103
|
+
*/
|
|
104
|
+
getPage(condition: IQueryCondition<T>): Promise<IPage<T>>;
|
|
105
|
+
}
|