@aiao/rxdb 0.0.6 → 0.0.7
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/dist/RxDB.d.ts +116 -18
- package/dist/RxDB.d.ts.map +1 -1
- package/dist/entity/@TreeEntity.d.ts.map +1 -1
- package/dist/entity/EntityBase.d.ts +58 -10
- package/dist/entity/EntityBase.d.ts.map +1 -1
- package/dist/entity/EntityManager.d.ts +16 -5
- package/dist/entity/EntityManager.d.ts.map +1 -1
- package/dist/entity/EntityStatus.d.ts +145 -87
- package/dist/entity/EntityStatus.d.ts.map +1 -1
- package/dist/entity/EntityStatus.interface.d.ts +59 -0
- package/dist/entity/EntityStatus.interface.d.ts.map +1 -0
- package/dist/entity/TreeEntityBase.d.ts +31 -4
- package/dist/entity/TreeEntityBase.d.ts.map +1 -1
- package/dist/entity/entity.interface.d.ts +16 -15
- package/dist/entity/entity.interface.d.ts.map +1 -1
- package/dist/entity/entity.utils.d.ts +21 -0
- package/dist/entity/entity.utils.d.ts.map +1 -1
- package/dist/entity/many_to_many_entity.d.ts.map +1 -1
- package/dist/entity/metadata-options.interface.d.ts +276 -39
- package/dist/entity/metadata-options.interface.d.ts.map +1 -1
- package/dist/entity/{transition-metadata.d.ts → metadata-transition.d.ts} +1 -1
- package/dist/entity/metadata-transition.d.ts.map +1 -0
- package/dist/entity/metadata.interface.d.ts +6 -0
- package/dist/entity/metadata.interface.d.ts.map +1 -1
- package/dist/entity/metadata_cascade_default.d.ts +54 -0
- package/dist/entity/metadata_cascade_default.d.ts.map +1 -0
- package/dist/entity/proxy.d.ts.map +1 -1
- package/dist/entity/relation_helper.d.ts.map +1 -1
- package/dist/entity/tree-entity.interface.d.ts +5 -0
- package/dist/entity/tree-entity.interface.d.ts.map +1 -0
- package/dist/gateway/RxDBTabsGateway.d.ts +52 -0
- package/dist/gateway/RxDBTabsGateway.d.ts.map +1 -0
- package/dist/gateway/gateway.interface.d.ts +43 -0
- package/dist/gateway/gateway.interface.d.ts.map +1 -0
- package/dist/index.d.ts +17 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5786 -1897
- package/dist/query/entity_type_dependencies.d.ts +3 -2
- package/dist/query/entity_type_dependencies.d.ts.map +1 -1
- package/dist/query/merge-update-basic.d.ts +30 -0
- package/dist/query/merge-update-basic.d.ts.map +1 -0
- package/dist/query/merge-update-tree.d.ts +86 -0
- package/dist/query/merge-update-tree.d.ts.map +1 -0
- package/dist/query/merge-update.utils.d.ts +52 -0
- package/dist/query/merge-update.utils.d.ts.map +1 -0
- package/dist/query/merge_create.d.ts +2 -2
- package/dist/query/merge_create.d.ts.map +1 -1
- package/dist/query/merge_remove.d.ts +2 -15
- package/dist/query/merge_remove.d.ts.map +1 -1
- package/dist/query/merge_update.d.ts +2 -2
- package/dist/query/merge_update.d.ts.map +1 -1
- package/dist/query/need_refresh_create.d.ts +4 -4
- package/dist/query/need_refresh_create.d.ts.map +1 -1
- package/dist/query/need_refresh_remove.d.ts +2 -2
- package/dist/query/need_refresh_remove.d.ts.map +1 -1
- package/dist/query/need_refresh_update.d.ts +4 -4
- package/dist/query/need_refresh_update.d.ts.map +1 -1
- package/dist/query/query-matching.utils.d.ts +18 -2
- package/dist/query/query-matching.utils.d.ts.map +1 -1
- package/dist/query/query-relation.utils.d.ts +44 -0
- package/dist/query/query-relation.utils.d.ts.map +1 -0
- package/dist/query/query-rules-builder.d.ts +68 -0
- package/dist/query/query-rules-builder.d.ts.map +1 -0
- package/dist/query/query-tree.utils.d.ts +54 -0
- package/dist/query/query-tree.utils.d.ts.map +1 -0
- package/dist/repository/QueryManager.d.ts +23 -1
- package/dist/repository/QueryManager.d.ts.map +1 -1
- package/dist/repository/QueryTask.d.ts +42 -5
- package/dist/repository/QueryTask.d.ts.map +1 -1
- package/dist/repository/Repository.d.ts +24 -35
- package/dist/repository/Repository.d.ts.map +1 -1
- package/dist/repository/RepositoryBase.d.ts +5 -3
- package/dist/repository/RepositoryBase.d.ts.map +1 -1
- package/dist/repository/TreeRepository.d.ts +28 -1
- package/dist/repository/TreeRepository.d.ts.map +1 -1
- package/dist/repository/fingerprint.utils.d.ts +28 -0
- package/dist/repository/fingerprint.utils.d.ts.map +1 -0
- package/dist/repository/query-options.interface.d.ts +50 -19
- package/dist/repository/query-options.interface.d.ts.map +1 -1
- package/dist/repository/query.interface.d.ts +70 -25
- package/dist/repository/query.interface.d.ts.map +1 -1
- package/dist/repository/relation-query.interface.d.ts +19 -0
- package/dist/repository/relation-query.interface.d.ts.map +1 -1
- package/dist/repository/repository.interface.d.ts +5 -8
- package/dist/repository/repository.interface.d.ts.map +1 -1
- package/dist/repository/tree-repository.interface.d.ts +29 -2
- package/dist/repository/tree-repository.interface.d.ts.map +1 -1
- package/dist/rxdb-adapter.d.ts +96 -14
- package/dist/rxdb-adapter.d.ts.map +1 -1
- package/dist/rxdb-events.d.ts +309 -172
- package/dist/rxdb-events.d.ts.map +1 -1
- package/dist/rxdb-plugin.d.ts +2 -2
- package/dist/rxdb-plugin.d.ts.map +1 -1
- package/dist/rxdb-utils.d.ts +15 -8
- package/dist/rxdb-utils.d.ts.map +1 -1
- package/dist/rxdb.interface.d.ts +4 -0
- package/dist/rxdb.interface.d.ts.map +1 -1
- package/dist/rxdb.private.d.ts +5 -0
- package/dist/rxdb.private.d.ts.map +1 -1
- package/dist/schema/SchemaManager.d.ts +1 -0
- package/dist/schema/SchemaManager.d.ts.map +1 -1
- package/dist/system/branch.d.ts +124 -7
- package/dist/system/branch.d.ts.map +1 -1
- package/dist/system/change.d.ts +605 -30
- package/dist/system/change.d.ts.map +1 -1
- package/dist/system/migration.d.ts +61 -11
- package/dist/system/migration.d.ts.map +1 -1
- package/dist/system/repository-sync.d.ts +95 -0
- package/dist/system/repository-sync.d.ts.map +1 -0
- package/dist/system/system.interface.d.ts +25 -0
- package/dist/system/system.interface.d.ts.map +1 -0
- package/dist/system/types.d.ts +233 -120
- package/dist/system/types.d.ts.map +1 -1
- package/dist/system/types.local.d.ts +156 -0
- package/dist/system/types.local.d.ts.map +1 -0
- package/dist/system/types.remote.d.ts +103 -0
- package/dist/system/types.remote.d.ts.map +1 -0
- package/dist/version/HistoryManager.d.ts +238 -0
- package/dist/version/HistoryManager.d.ts.map +1 -0
- package/dist/version/LWWConflictResolver.d.ts +41 -0
- package/dist/version/LWWConflictResolver.d.ts.map +1 -0
- package/dist/version/VersionManager.d.ts +407 -0
- package/dist/version/VersionManager.d.ts.map +1 -0
- package/dist/version/VersionManager.interface.d.ts +428 -0
- package/dist/version/VersionManager.interface.d.ts.map +1 -0
- package/dist/version/VersionManager.utils.d.ts +14 -0
- package/dist/version/VersionManager.utils.d.ts.map +1 -0
- package/dist/version/bulk-sync.d.ts +97 -0
- package/dist/version/bulk-sync.d.ts.map +1 -0
- package/dist/version/check-repository-updates.d.ts +53 -0
- package/dist/version/check-repository-updates.d.ts.map +1 -0
- package/dist/version/compact-changes.d.ts +45 -0
- package/dist/version/compact-changes.d.ts.map +1 -0
- package/dist/version/conflict.d.ts +75 -0
- package/dist/version/conflict.d.ts.map +1 -0
- package/dist/version/create_branch.d.ts +13 -0
- package/dist/version/create_branch.d.ts.map +1 -0
- package/dist/version/dependency-graph.d.ts +132 -0
- package/dist/version/dependency-graph.d.ts.map +1 -0
- package/dist/version/find_switch_branch_step.d.ts +53 -0
- package/dist/version/find_switch_branch_step.d.ts.map +1 -0
- package/dist/version/get-all-repository-sync-status.d.ts +58 -0
- package/dist/version/get-all-repository-sync-status.d.ts.map +1 -0
- package/dist/version/get-repository-sync-status.d.ts +74 -0
- package/dist/version/get-repository-sync-status.d.ts.map +1 -0
- package/dist/version/pull-repository.d.ts +99 -0
- package/dist/version/pull-repository.d.ts.map +1 -0
- package/dist/version/pull.d.ts +11 -0
- package/dist/version/pull.d.ts.map +1 -0
- package/dist/version/push-repository.d.ts +93 -0
- package/dist/version/push-repository.d.ts.map +1 -0
- package/dist/version/push.d.ts +11 -0
- package/dist/version/push.d.ts.map +1 -0
- package/dist/version/remove_branch.d.ts +8 -0
- package/dist/version/remove_branch.d.ts.map +1 -0
- package/dist/version/switch_branch_actions.d.ts +17 -0
- package/dist/version/switch_branch_actions.d.ts.map +1 -0
- package/dist/version/sync-repository.d.ts +57 -0
- package/dist/version/sync-repository.d.ts.map +1 -0
- package/dist/version/sync-type-utils.d.ts +145 -0
- package/dist/version/sync-type-utils.d.ts.map +1 -0
- package/dist/version/topological-sort.d.ts +70 -0
- package/dist/version/topological-sort.d.ts.map +1 -0
- package/dist/version/version.utils.d.ts +4 -0
- package/dist/version/version.utils.d.ts.map +1 -0
- package/package.json +4 -4
- package/README.md +0 -1
- package/dist/entity/@GraphEntity.d.ts +0 -8
- package/dist/entity/@GraphEntity.d.ts.map +0 -1
- package/dist/entity/GraphEntityBase.d.ts +0 -10
- package/dist/entity/GraphEntityBase.d.ts.map +0 -1
- package/dist/entity/graph_edge_entity.d.ts +0 -5
- package/dist/entity/graph_edge_entity.d.ts.map +0 -1
- package/dist/entity/transition-metadata.d.ts.map +0 -1
- package/dist/system/VersionManager.d.ts +0 -35
- package/dist/system/VersionManager.d.ts.map +0 -1
|
@@ -1,57 +1,101 @@
|
|
|
1
|
-
import { SetNonNullable } from 'type-fest';
|
|
2
1
|
import { RxDBContext } from '../rxdb.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* 字符串类型的键
|
|
4
|
+
*/
|
|
5
|
+
type StringKey<T> = keyof T & string;
|
|
3
6
|
/**
|
|
4
7
|
* 判断相等
|
|
5
8
|
*/
|
|
6
|
-
interface RuleEqualNullable<T, K extends
|
|
9
|
+
interface RuleEqualNullable<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> {
|
|
7
10
|
field: K;
|
|
8
11
|
operator: '=' | '!=';
|
|
9
|
-
value: VT
|
|
12
|
+
value: Exclude<VT, undefined>;
|
|
10
13
|
}
|
|
11
14
|
/**
|
|
12
15
|
* 字符串比较
|
|
13
16
|
*/
|
|
14
|
-
interface RuleStringNonNullable<T, K extends
|
|
17
|
+
interface RuleStringNonNullable<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> {
|
|
15
18
|
field: K;
|
|
16
19
|
operator: '<' | '>' | '<=' | '>=' | 'contains' | 'notContains' | 'startsWith' | 'notStartsWith' | 'endsWith' | 'notEndsWith';
|
|
17
|
-
value:
|
|
20
|
+
value: Exclude<VT, undefined | null>;
|
|
18
21
|
}
|
|
19
22
|
/**
|
|
20
23
|
* 数值比较
|
|
21
24
|
*/
|
|
22
|
-
interface RuleNumberNonNullable<T, K extends
|
|
25
|
+
interface RuleNumberNonNullable<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> {
|
|
23
26
|
field: K;
|
|
24
27
|
operator: '<' | '>' | '<=' | '>=';
|
|
25
|
-
value:
|
|
28
|
+
value: Exclude<VT, undefined | null>;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* in
|
|
29
32
|
*/
|
|
30
|
-
interface RuleIn<T, K extends
|
|
33
|
+
interface RuleIn<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> {
|
|
31
34
|
field: K;
|
|
32
35
|
operator: 'in' | 'notIn';
|
|
33
|
-
value:
|
|
36
|
+
value: Exclude<VT, undefined | null>[];
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* between
|
|
37
40
|
*/
|
|
38
|
-
interface RuleBetween<T, K extends
|
|
41
|
+
interface RuleBetween<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> {
|
|
39
42
|
field: K;
|
|
40
43
|
operator: 'between' | 'notBetween';
|
|
41
|
-
value: [
|
|
44
|
+
value: [Exclude<VT, undefined | null>, Exclude<VT, undefined | null>];
|
|
42
45
|
}
|
|
43
46
|
/**
|
|
44
47
|
* 数值比较
|
|
45
48
|
*/
|
|
46
|
-
interface RuleJSONSimple<T, K extends
|
|
49
|
+
interface RuleJSONSimple<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> {
|
|
47
50
|
field: K;
|
|
48
51
|
operator: 'contains' | 'notContains';
|
|
49
|
-
value:
|
|
52
|
+
value: Exclude<VT, undefined | null>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* EXISTS / NOT EXISTS
|
|
56
|
+
* 用于查询关系字段是否存在满足条件的关联实体
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* // 基础用法 - 查询有子菜单的菜单
|
|
60
|
+
* { field: 'children', operator: 'exists' }
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* // 带条件 - 查询有激活状态子菜单的菜单
|
|
64
|
+
* {
|
|
65
|
+
* field: 'children',
|
|
66
|
+
* operator: 'exists',
|
|
67
|
+
* where: {
|
|
68
|
+
* combinator: 'and',
|
|
69
|
+
* rules: [{ field: 'active', operator: '=', value: true }]
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
*/
|
|
73
|
+
interface RuleExists<T, K extends StringKey<T> = StringKey<T>> {
|
|
74
|
+
/**
|
|
75
|
+
* 关系字段名
|
|
76
|
+
* 必须是实体上定义的关系字段(通过 @Relation 装饰器)
|
|
77
|
+
*/
|
|
78
|
+
field: K;
|
|
79
|
+
/**
|
|
80
|
+
* EXISTS 操作符
|
|
81
|
+
*/
|
|
82
|
+
operator: 'exists' | 'notExists';
|
|
83
|
+
/**
|
|
84
|
+
* 子查询条件(可选)
|
|
85
|
+
* 用于过滤关联实体
|
|
86
|
+
*
|
|
87
|
+
* 类型自动推断:
|
|
88
|
+
* - 1:N 关系: T[K] extends Array<infer U> ? U : never
|
|
89
|
+
* - N:1 关系: T[K]
|
|
90
|
+
* - 1:1 关系: T[K]
|
|
91
|
+
* - N:M 关系: T[K] extends Array<infer U> ? U : never
|
|
92
|
+
*/
|
|
93
|
+
where?: RuleGroup<T[K] extends Array<infer U> ? U : T[K]>;
|
|
50
94
|
}
|
|
51
95
|
/**
|
|
52
96
|
* 查询规则
|
|
53
97
|
*/
|
|
54
|
-
export type Rule<T = any, K extends
|
|
98
|
+
export type Rule<T = any, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleEqualNullable<T, K, VT> | RuleStringNonNullable<T, K, VT> | RuleNumberNonNullable<T, K, VT> | RuleIn<T, K, VT> | RuleBetween<T, K, VT> | RuleJSONSimple<T, K, VT> | RuleExists<T, K>;
|
|
55
99
|
/**
|
|
56
100
|
* 查询规则组(基础)
|
|
57
101
|
* 用于生成的类型文件,可以组合出更多复杂的类型
|
|
@@ -63,11 +107,11 @@ export interface RuleGroupBase<T, K, RT> {
|
|
|
63
107
|
/**
|
|
64
108
|
* 查询规则组(自动计算类型)
|
|
65
109
|
*/
|
|
66
|
-
export type RuleGroup<T = any, K extends
|
|
110
|
+
export type RuleGroup<T = any, K extends StringKey<T> = StringKey<T>, RT = Rule<T, K, T[K]>> = RuleGroupBase<T, K, RT>;
|
|
67
111
|
/**
|
|
68
112
|
* 所有操作符
|
|
69
113
|
*/
|
|
70
|
-
export type OperatorName = '=' | '!=' | '<' | '>' | '<=' | '>=' | 'contains' | 'notContains' | 'startsWith' | 'notStartsWith' | 'endsWith' | 'notEndsWith' | 'null' | 'notNull' | 'in' | 'notIn' | 'between' | 'notBetween';
|
|
114
|
+
export type OperatorName = '=' | '!=' | '<' | '>' | '<=' | '>=' | 'contains' | 'notContains' | 'startsWith' | 'notStartsWith' | 'endsWith' | 'notEndsWith' | 'null' | 'notNull' | 'in' | 'notIn' | 'between' | 'notBetween' | 'exists' | 'notExists';
|
|
71
115
|
/**
|
|
72
116
|
* 查询上下文
|
|
73
117
|
*/
|
|
@@ -84,42 +128,43 @@ export interface IMutationContext extends RxDBContext {
|
|
|
84
128
|
* 自定义更新时间
|
|
85
129
|
*/
|
|
86
130
|
updatedAt?: Date;
|
|
131
|
+
createdAt?: Date;
|
|
87
132
|
}
|
|
88
133
|
/**
|
|
89
134
|
* UUID
|
|
90
135
|
*/
|
|
91
|
-
export type UUIDRules<T, K extends
|
|
136
|
+
export type UUIDRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleEqualNullable<T, K, VT> | RuleIn<T, K, VT>;
|
|
92
137
|
/**
|
|
93
138
|
* string
|
|
94
139
|
*/
|
|
95
|
-
export type StringRules<T, K extends
|
|
140
|
+
export type StringRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleEqualNullable<T, K, VT> | RuleStringNonNullable<T, K, VT> | RuleIn<T, K, VT> | RuleBetween<T, K, VT>;
|
|
96
141
|
/**
|
|
97
142
|
* number
|
|
98
143
|
*/
|
|
99
|
-
export type NumberRules<T, K extends
|
|
144
|
+
export type NumberRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleEqualNullable<T, K, VT> | RuleNumberNonNullable<T, K, VT> | RuleIn<T, K, VT> | RuleBetween<T, K, VT>;
|
|
100
145
|
/**
|
|
101
146
|
* integer
|
|
102
147
|
*/
|
|
103
|
-
export type IntegerRules<T, K extends
|
|
148
|
+
export type IntegerRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleEqualNullable<T, K, VT> | RuleNumberNonNullable<T, K, VT> | RuleIn<T, K, VT> | RuleBetween<T, K, VT>;
|
|
104
149
|
/**
|
|
105
150
|
* Boolean
|
|
106
151
|
*/
|
|
107
|
-
export type BooleanRules<T, K extends
|
|
152
|
+
export type BooleanRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleEqualNullable<T, K, VT>;
|
|
108
153
|
/**
|
|
109
154
|
* Date
|
|
110
155
|
*/
|
|
111
|
-
export type DateRules<T, K extends
|
|
156
|
+
export type DateRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleEqualNullable<T, K, VT> | RuleNumberNonNullable<T, K, VT> | RuleIn<T, K, VT> | RuleBetween<T, K, VT>;
|
|
112
157
|
/**
|
|
113
158
|
* stringArray
|
|
114
159
|
*/
|
|
115
|
-
export type StringArrayRules<T, K extends
|
|
160
|
+
export type StringArrayRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleIn<T, K, VT>;
|
|
116
161
|
/**
|
|
117
162
|
* numberArray
|
|
118
163
|
*/
|
|
119
|
-
export type NumberArrayRules<T, K extends
|
|
164
|
+
export type NumberArrayRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleIn<T, K, VT>;
|
|
120
165
|
/**
|
|
121
166
|
* keyValue
|
|
122
167
|
*/
|
|
123
|
-
export type KeyValueRules<T, K extends
|
|
168
|
+
export type KeyValueRules<T, K extends StringKey<T> = StringKey<T>, VT = T[K]> = RuleJSONSimple<T, K, VT>;
|
|
124
169
|
export {};
|
|
125
170
|
//# sourceMappingURL=query.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.interface.d.ts","sourceRoot":"","sources":["../../src/repository/query.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"query.interface.d.ts","sourceRoot":"","sources":["../../src/repository/query.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,5 +59,24 @@ export type RelationBooleanRules<K, VT> = RuleEqualNullable<K, VT>;
|
|
|
59
59
|
* Date
|
|
60
60
|
*/
|
|
61
61
|
export type RelationDateRules<K, VT> = RuleEqualNullable<K, VT> | RuleNumberNonNullable<K, VT> | RuleIn<K, VT> | RuleBetween<K, VT>;
|
|
62
|
+
/**
|
|
63
|
+
* EXISTS / NOT EXISTS
|
|
64
|
+
* 用于查询关系字段是否存在满足条件的关联实体
|
|
65
|
+
* @example
|
|
66
|
+
* // 查询有子菜单的菜单
|
|
67
|
+
* { field: 'children', operator: 'exists' }
|
|
68
|
+
* // 查询有激活状态子菜单的菜单
|
|
69
|
+
* { field: 'children', operator: 'exists', where: { rules: [{ field: 'active', operator: '=', value: true }] } }
|
|
70
|
+
*/
|
|
71
|
+
interface RuleExists<K extends string, SubRG> {
|
|
72
|
+
field: K;
|
|
73
|
+
operator: 'exists' | 'notExists';
|
|
74
|
+
where?: SubRG;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Relation EXISTS Rules
|
|
78
|
+
* SubRG 类型参数应为关联实体的 RuleGroup 类型
|
|
79
|
+
*/
|
|
80
|
+
export type RelationExistsRules<K extends string, SubRG> = RuleExists<K, SubRG>;
|
|
62
81
|
export {};
|
|
63
82
|
//# sourceMappingURL=relation-query.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-query.interface.d.ts","sourceRoot":"","sources":["../../src/repository/relation-query.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C;;GAEG;AACH,UAAU,iBAAiB,CAAC,CAAC,EAAE,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC;CACX;AAED;;GAEG;AACH,UAAU,qBAAqB,CAAC,CAAC,EAAE,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EACJ,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,UAAU,GACV,aAAa,GACb,YAAY,GACZ,eAAe,GACf,UAAU,GACV,aAAa,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,qBAAqB,CAAC,CAAC,EAAE,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,MAAM,CAAC,CAAC,EAAE,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC;IACzB,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,UAAU,WAAW,CAAC,CAAC,EAAE,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAC;IACnC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,EAAE,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,EAAE,IACjC,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,GACxB,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,GAC5B,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GACb,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,EAAE,IACjC,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,GACxB,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,GAC5B,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GACb,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,EAAE,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,EAAE,IAC/B,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,GACxB,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,GAC5B,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GACb,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"relation-query.interface.d.ts","sourceRoot":"","sources":["../../src/repository/relation-query.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import { EntityType } from '../entity/entity.interface.js';
|
|
2
|
-
import { CountOptions, FindOptions } from './query-options.interface.js';
|
|
1
|
+
import { EntityStaticType, EntityType } from '../entity/entity.interface.js';
|
|
3
2
|
/**
|
|
4
3
|
* 数据仓库管理接口
|
|
5
4
|
*/
|
|
6
5
|
export interface IRepository<T extends EntityType> {
|
|
7
6
|
/**
|
|
8
7
|
* 查询多个实体
|
|
9
|
-
* @param
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options 查询选项
|
|
11
9
|
*/
|
|
12
|
-
find(options:
|
|
10
|
+
find(options: EntityStaticType<T, 'findOptions'>): Promise<InstanceType<T>[]>;
|
|
13
11
|
/**
|
|
14
12
|
* 查询实体数量
|
|
15
|
-
* @param
|
|
16
|
-
* @param options
|
|
13
|
+
* @param options 查询选项
|
|
17
14
|
*/
|
|
18
|
-
count(options:
|
|
15
|
+
count(options: EntityStaticType<T, 'countOptions'>): Promise<number>;
|
|
19
16
|
/**
|
|
20
17
|
* 创建实体
|
|
21
18
|
* @param entity
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.interface.d.ts","sourceRoot":"","sources":["../../src/repository/repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"repository.interface.d.ts","sourceRoot":"","sources":["../../src/repository/repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,UAAU;IAC/C;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE9E;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErE;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3F;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3D;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB;;OAEG;IACH,MAAM,WAAW;IAEjB;;OAEG;IACH,OAAO,YAAY;IAEnB;;OAEG;IACH,KAAK,UAAU;CAChB"}
|
|
@@ -8,14 +8,27 @@ export interface FindTreeOptions<T extends EntityType = any, WhereType = RuleGro
|
|
|
8
8
|
/**
|
|
9
9
|
* 查询的根实体 ID
|
|
10
10
|
*/
|
|
11
|
-
entityId?: EntityStaticType<T, 'idType'
|
|
11
|
+
entityId?: EntityStaticType<T, 'idType'> | null;
|
|
12
12
|
/**
|
|
13
13
|
* 查询条件
|
|
14
14
|
*/
|
|
15
15
|
where?: WhereType;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* 查询级别(包含当前节点)
|
|
18
|
+
* - 0: 当前节点 1,parentId 为 null 是查询所有根节点,2,parentId=xxx 时只有当前节点
|
|
19
|
+
* - 1: 当前节点 + 直接子节点(1 层深度)
|
|
20
|
+
* - 2: 当前节点 + 子节点 + 孙子节点(2 层深度)
|
|
21
|
+
* - n: 查询到第 n 层深度
|
|
18
22
|
* @default 0
|
|
23
|
+
* Maximum: 100
|
|
24
|
+
*
|
|
25
|
+
* 注意:层级数包含当前节点本身
|
|
26
|
+
* 例如 level=1 会返回:当前节点 + 其直接子节点
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* - 当 level 未提供时,默认 0
|
|
30
|
+
* - 当 level < 0 时,会被规范化为 0
|
|
31
|
+
* - 当 level > 100 时,会被限制为 100
|
|
19
32
|
*/
|
|
20
33
|
level?: number;
|
|
21
34
|
}
|
|
@@ -25,18 +38,32 @@ export interface FindTreeOptions<T extends EntityType = any, WhereType = RuleGro
|
|
|
25
38
|
export interface ITreeRepository<T extends EntityType> extends IRepository<T> {
|
|
26
39
|
/**
|
|
27
40
|
* 查询子孙实体
|
|
41
|
+
*
|
|
42
|
+
* @remarks
|
|
43
|
+
* - 指定 entityId 时:包含当前节点 + 子孙节点
|
|
44
|
+
* - 不指定 entityId 时:返回所有根节点及其子孙
|
|
28
45
|
*/
|
|
29
46
|
findDescendants(options: FindTreeOptions<T>): Promise<InstanceType<T>[]>;
|
|
30
47
|
/**
|
|
31
48
|
* 查询子孙实体数量
|
|
49
|
+
*
|
|
50
|
+
* @remarks
|
|
51
|
+
* - 指定 entityId 时:**不包含当前节点**,只统计后代数量
|
|
52
|
+
* - 不指定 entityId 时:统计所有根节点及其后代的总数
|
|
32
53
|
*/
|
|
33
54
|
countDescendants(options: FindTreeOptions<T>): Promise<number>;
|
|
34
55
|
/**
|
|
35
56
|
* 查询祖先节点
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* 指定 entityId 时:包含当前节点 + 祖先节点
|
|
36
60
|
*/
|
|
37
61
|
findAncestors(options: FindTreeOptions<T>): Promise<InstanceType<T>[]>;
|
|
38
62
|
/**
|
|
39
63
|
* 查询祖先节点数量
|
|
64
|
+
*
|
|
65
|
+
* @remarks
|
|
66
|
+
* 指定 entityId 时:**不包含当前节点**,只统计祖先数量
|
|
40
67
|
*/
|
|
41
68
|
countAncestors(options: FindTreeOptions<T>): Promise<number>;
|
|
42
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-repository.interface.d.ts","sourceRoot":"","sources":["../../src/repository/tree-repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjG;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tree-repository.interface.d.ts","sourceRoot":"","sources":["../../src/repository/tree-repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjG;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC3E;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEzE;;;;;;OAMG;IACH,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D"}
|
package/dist/rxdb-adapter.d.ts
CHANGED
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
import { EntityType } from './entity/entity.interface.js';
|
|
2
2
|
import { IRepository } from './repository/repository.interface.js';
|
|
3
|
+
import { RepositoryBase } from './repository/RepositoryBase.js';
|
|
3
4
|
import { RxDB } from './RxDB.js';
|
|
5
|
+
import { RxDBChange } from './system/change.js';
|
|
6
|
+
import { RemoteChange } from './system/system.interface.js';
|
|
7
|
+
import { SwitchVersionActions } from './version/VersionManager.interface.js';
|
|
8
|
+
/**
|
|
9
|
+
* 仓库构造函数类型
|
|
10
|
+
* 确保注册的仓库是可实例化的具体类,而不是抽象类
|
|
11
|
+
* 支持带有额外泛型参数的仓库
|
|
12
|
+
*/
|
|
13
|
+
export type RepositoryConstructor<T extends RepositoryBase<any>> = new (...args: any[]) => T;
|
|
14
|
+
export interface RxDBMutationsMap<T extends EntityType = any> {
|
|
15
|
+
create: Map<T, Set<InstanceType<T>>>;
|
|
16
|
+
remove: Map<T, Set<InstanceType<T>>>;
|
|
17
|
+
update: Map<T, Set<InstanceType<T>>>;
|
|
18
|
+
}
|
|
4
19
|
/**
|
|
5
20
|
* 事务回调函数
|
|
6
21
|
*/
|
|
7
22
|
export type TransactionFun = () => Promise<any>;
|
|
23
|
+
export interface SwitchBranchOptions {
|
|
24
|
+
branchId: string;
|
|
25
|
+
actions: SwitchVersionActions;
|
|
26
|
+
}
|
|
8
27
|
/**
|
|
9
28
|
* RxDB 数据库适配器接口
|
|
10
29
|
*/
|
|
@@ -28,11 +47,7 @@ export interface IRxDBAdapter {
|
|
|
28
47
|
/**
|
|
29
48
|
* 获取仓库
|
|
30
49
|
*/
|
|
31
|
-
getRepository<T extends EntityType, RT extends IRepository<T>>(EntityType:
|
|
32
|
-
/**
|
|
33
|
-
* 创建 table
|
|
34
|
-
*/
|
|
35
|
-
createTables(EntityTypes: EntityType[], entities?: InstanceType<any>[]): Promise<boolean>;
|
|
50
|
+
getRepository<T extends EntityType, RT extends IRepository<T> = IRepository<T>>(EntityType: T): RT;
|
|
36
51
|
/**
|
|
37
52
|
* 保存多个实体
|
|
38
53
|
* @param entities
|
|
@@ -43,6 +58,11 @@ export interface IRxDBAdapter {
|
|
|
43
58
|
* @param entities
|
|
44
59
|
*/
|
|
45
60
|
removeMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<InstanceType<T>[]>;
|
|
61
|
+
/**
|
|
62
|
+
* 批量修改实体(创建/更新/删除)
|
|
63
|
+
* @param options 批量修改选项
|
|
64
|
+
*/
|
|
65
|
+
mutations<T extends EntityType>(options: RxDBMutationsMap<T>): Promise<InstanceType<T>[]>;
|
|
46
66
|
/**
|
|
47
67
|
* 判断 table 是否存在
|
|
48
68
|
*/
|
|
@@ -53,10 +73,19 @@ export interface IRxDBAdapter {
|
|
|
53
73
|
*/
|
|
54
74
|
export declare abstract class RxDBAdapterBase {
|
|
55
75
|
readonly rxdb: RxDB;
|
|
76
|
+
protected readonly repository_map: Map<string, RepositoryConstructor<any>>;
|
|
77
|
+
protected readonly repository_cache: Map<EntityType, IRepository<any>>;
|
|
56
78
|
constructor(rxdb: RxDB);
|
|
79
|
+
abstract getRepository<T extends EntityType, RT extends IRepository<T> = IRepository<T>>(EntityType: T): RT;
|
|
80
|
+
/**
|
|
81
|
+
* 注册适配器的仓库
|
|
82
|
+
* @param repositoryName
|
|
83
|
+
* @param RepositoryClass
|
|
84
|
+
*/
|
|
85
|
+
protected repository<RT extends RepositoryBase<any>>(repositoryName: string, RepositoryClass: RepositoryConstructor<RT>): void;
|
|
57
86
|
}
|
|
58
87
|
export interface RestoreEntityOptions {
|
|
59
|
-
|
|
88
|
+
changeId: string;
|
|
60
89
|
}
|
|
61
90
|
/**
|
|
62
91
|
* 数据库适配器基类(本地)
|
|
@@ -64,28 +93,81 @@ export interface RestoreEntityOptions {
|
|
|
64
93
|
export declare abstract class RxDBAdapterLocalBase extends RxDBAdapterBase {
|
|
65
94
|
/**
|
|
66
95
|
* 执行事务
|
|
96
|
+
* @param fun 事务回调函数
|
|
67
97
|
*/
|
|
68
98
|
abstract transaction(fun: TransactionFun): Promise<any>;
|
|
69
99
|
/**
|
|
70
|
-
*
|
|
100
|
+
* 创建 tables
|
|
101
|
+
* @param EntityTypes 的类型数组
|
|
102
|
+
* @param entities 可选的实体实例数组,用于初始化数据
|
|
71
103
|
*/
|
|
72
|
-
abstract
|
|
104
|
+
abstract createTables(EntityTypes: EntityType[], entities?: InstanceType<any>[]): Promise<boolean>;
|
|
73
105
|
/**
|
|
74
106
|
* 切换分支
|
|
75
|
-
* @param
|
|
107
|
+
* @param options 切换分支选项
|
|
108
|
+
*/
|
|
109
|
+
abstract switchBranch(options: SwitchBranchOptions): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* 获取当前 RxDBChange 序列号
|
|
76
112
|
*/
|
|
77
|
-
abstract
|
|
113
|
+
abstract getRxDBChangeSequence(): Promise<number>;
|
|
78
114
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
115
|
+
* 应用压缩后的变更到本地实体表
|
|
116
|
+
*
|
|
117
|
+
* 实现策略(SQLite):
|
|
118
|
+
* 1. 将 actions 转换为 SQL 操作
|
|
119
|
+
* 2. 在事务中:
|
|
120
|
+
* a) 执行 SQL 操作实体表(INSERT/UPDATE/DELETE)
|
|
121
|
+
* b) 批量插入 localChanges 到 RxDBChange 表(用于历史追踪)
|
|
122
|
+
* 3. 发送本地事件通知 UI 更新
|
|
123
|
+
*
|
|
124
|
+
* @param actions - 压缩后的变更操作集合(从远程 pull 来的)
|
|
125
|
+
* @param localChanges - 需要保存到本地 RxDBChange 表的记录(可选)
|
|
126
|
+
* @param disableTriggers - 是否禁用触发器(用于 pull 等操作,避免创建 RxDBChange)
|
|
82
127
|
*/
|
|
83
|
-
abstract
|
|
128
|
+
abstract mergeChanges(actions: SwitchVersionActions, localChanges?: Omit<RxDBChange, 'id'>[], disableTriggers?: boolean): Promise<void>;
|
|
84
129
|
}
|
|
85
130
|
/**
|
|
86
131
|
* 数据库适配器基类(远程)
|
|
87
132
|
*/
|
|
88
133
|
export declare abstract class RxDBAdapterRemoteBase extends RxDBAdapterBase {
|
|
134
|
+
/**
|
|
135
|
+
* 从远程拉取变更记录
|
|
136
|
+
*
|
|
137
|
+
* @param sinceId - 拉取此 ID 之后的变更(不包含该 ID)
|
|
138
|
+
* @param limit - 最大拉取数量
|
|
139
|
+
* @param repositoryFilter - 可选的实体过滤列表(用于 repository-level sync)
|
|
140
|
+
* @returns 变更记录数组,按 id ASC 排序
|
|
141
|
+
*/
|
|
142
|
+
abstract pullChanges(sinceId: number, limit?: number, repositoryFilter?: string[]): Promise<RemoteChange[]>;
|
|
143
|
+
/**
|
|
144
|
+
* 获取远程变更数量(轻量级,不下载数据)
|
|
145
|
+
*
|
|
146
|
+
* 此方法只查询远程有多少新变更,不返回实际数据。
|
|
147
|
+
* 用于实现 checkRepositoryUpdates() 功能,节省带宽。
|
|
148
|
+
*
|
|
149
|
+
* @param sinceId - 起始 changeId(不包含该 ID)
|
|
150
|
+
* @param repositoryFilter - 可选的实体过滤列表
|
|
151
|
+
* @returns 变更数量和最新 changeId
|
|
152
|
+
*/
|
|
153
|
+
abstract getChangeCount(sinceId: number, repositoryFilter?: string[]): Promise<{
|
|
154
|
+
count: number;
|
|
155
|
+
latestChangeId: number;
|
|
156
|
+
}>;
|
|
157
|
+
/**
|
|
158
|
+
* 应用压缩后的变更到远程实体表
|
|
159
|
+
*
|
|
160
|
+
* 实现策略(Supabase):
|
|
161
|
+
* 1. 将 actions (Map) 转换为 RemoteChange 记录
|
|
162
|
+
* 2. 在事务中:
|
|
163
|
+
* a) 写入远程 RemoteChange 表(用于其他客户端 pull)
|
|
164
|
+
* b) 直接操作远程实体表(INSERT/UPDATE/DELETE)
|
|
165
|
+
*
|
|
166
|
+
* @param actions - 压缩后的变更操作集合(从本地 push 来的)
|
|
167
|
+
* @param clientId - 客户端唯一标识(用于去重)
|
|
168
|
+
* @returns 创建的远程 RxDBChange 的最大 ID(用于更新 lastPullRemoteChangeId)
|
|
169
|
+
*/
|
|
170
|
+
abstract mergeChanges(actions: SwitchVersionActions): Promise<number | void>;
|
|
89
171
|
}
|
|
90
172
|
/**
|
|
91
173
|
* 适配器基础配置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rxdb-adapter.d.ts","sourceRoot":"","sources":["../src/rxdb-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"rxdb-adapter.d.ts","sourceRoot":"","sources":["../src/rxdb-adapter.ts"],"names":[],"mappings":"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"}
|