@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.
@@ -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, tSchema?: 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 dbName 数据库名称
27
- * @param tableName 表名称(默认为 'store')
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 items 数据列表
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,2 @@
1
+ import { EasyDexieStore } from './EasyDexieStore';
2
+ export declare const EasyIndexedDb: typeof EasyDexieStore;
@@ -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
+ }