@aiao/rxdb 0.0.5 → 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 +118 -21
- package/dist/RxDB.d.ts.map +1 -1
- package/dist/RxDBError.d.ts.map +1 -1
- package/dist/entity/@Entity.d.ts +1 -1
- package/dist/entity/@Entity.d.ts.map +1 -1
- package/dist/entity/@TreeEntity.d.ts +2 -21
- package/dist/entity/@TreeEntity.d.ts.map +1 -1
- package/dist/entity/EntityBase.d.ts +59 -11
- package/dist/entity/EntityBase.d.ts.map +1 -1
- package/dist/entity/EntityManager.d.ts +18 -25
- package/dist/entity/EntityManager.d.ts.map +1 -1
- package/dist/entity/EntityStatus.d.ts +149 -107
- 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 +32 -5
- package/dist/entity/TreeEntityBase.d.ts.map +1 -1
- package/dist/entity/entity.interface.d.ts +23 -34
- package/dist/entity/entity.interface.d.ts.map +1 -1
- package/dist/entity/entity.utils.d.ts +23 -2
- package/dist/entity/entity.utils.d.ts.map +1 -1
- package/dist/entity/{generate_many_to_many_entity.d.ts → many_to_many_entity.d.ts} +3 -3
- package/dist/entity/many_to_many_entity.d.ts.map +1 -0
- package/dist/entity/{entity-metadata-options.interface.d.ts → metadata-options.interface.d.ts} +312 -35
- package/dist/entity/metadata-options.interface.d.ts.map +1 -0
- package/dist/entity/{transition-metadata.d.ts → metadata-transition.d.ts} +3 -3
- package/dist/entity/metadata-transition.d.ts.map +1 -0
- package/dist/entity/{entity-metadata.interface.d.ts → metadata.interface.d.ts} +8 -2
- package/dist/entity/metadata.interface.d.ts.map +1 -0
- 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 +7 -0
- package/dist/entity/proxy.d.ts.map +1 -0
- package/dist/entity/{entity_relation_helper.d.ts → relation_helper.d.ts} +2 -2
- package/dist/entity/relation_helper.d.ts.map +1 -0
- 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 +19 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6579 -2876
- package/dist/query/entity_type_dependencies.d.ts +22 -0
- package/dist/query/entity_type_dependencies.d.ts.map +1 -0
- 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 +19 -0
- package/dist/query/merge_create.d.ts.map +1 -0
- package/dist/query/merge_remove.d.ts +6 -0
- package/dist/query/merge_remove.d.ts.map +1 -0
- package/dist/query/merge_update.d.ts +24 -0
- package/dist/query/merge_update.d.ts.map +1 -0
- package/dist/query/need_refresh_create.d.ts +11 -0
- package/dist/query/need_refresh_create.d.ts.map +1 -0
- package/dist/query/need_refresh_remove.d.ts +6 -0
- package/dist/query/need_refresh_remove.d.ts.map +1 -0
- package/dist/query/need_refresh_update.d.ts +11 -0
- package/dist/query/need_refresh_update.d.ts.map +1 -0
- package/dist/query/query-matching.utils.d.ts +60 -0
- package/dist/query/query-matching.utils.d.ts.map +1 -0
- 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 +69 -0
- package/dist/repository/QueryManager.d.ts.map +1 -0
- package/dist/repository/QueryManager.interface.d.ts +106 -0
- package/dist/repository/QueryManager.interface.d.ts.map +1 -0
- package/dist/repository/QueryTask.d.ts +150 -0
- package/dist/repository/QueryTask.d.ts.map +1 -0
- package/dist/repository/Repository.d.ts +38 -44
- package/dist/repository/Repository.d.ts.map +1 -1
- package/dist/repository/RepositoryBase.d.ts +8 -8
- package/dist/repository/RepositoryBase.d.ts.map +1 -1
- package/dist/repository/TreeRepository.d.ts +29 -4
- 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 +88 -16
- package/dist/repository/query-options.interface.d.ts.map +1 -1
- package/dist/repository/query.interface.d.ts +107 -37
- package/dist/repository/query.interface.d.ts.map +1 -1
- package/dist/repository/relation-query.interface.d.ts +20 -1
- package/dist/repository/relation-query.interface.d.ts.map +1 -1
- package/dist/repository/repository.interface.d.ts +4 -29
- package/dist/repository/repository.interface.d.ts.map +1 -1
- package/dist/repository/tree-repository.interface.d.ts +34 -30
- package/dist/repository/tree-repository.interface.d.ts.map +1 -1
- package/dist/rxdb-adapter.d.ts +100 -16
- package/dist/rxdb-adapter.d.ts.map +1 -1
- package/dist/rxdb-events.d.ts +335 -66
- 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 +20 -9
- package/dist/rxdb-utils.d.ts.map +1 -1
- package/dist/rxdb.interface.d.ts +5 -9
- package/dist/rxdb.interface.d.ts.map +1 -1
- package/dist/rxdb.private.d.ts +7 -36
- package/dist/rxdb.private.d.ts.map +1 -1
- package/dist/schema/SchemaManager.d.ts +5 -4
- 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 -33
- 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 +234 -139
- 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 -3
- package/README.md +0 -1
- package/dist/entity/entity-metadata-options.interface.d.ts.map +0 -1
- package/dist/entity/entity-metadata.interface.d.ts.map +0 -1
- package/dist/entity/entity_proxy_helper.d.ts +0 -49
- package/dist/entity/entity_proxy_helper.d.ts.map +0 -1
- package/dist/entity/entity_relation_helper.d.ts.map +0 -1
- package/dist/entity/generate_many_to_many_entity.d.ts.map +0 -1
- package/dist/entity/transition-metadata.d.ts.map +0 -1
- package/dist/repository/query.utils.d.ts +0 -27
- package/dist/repository/query.utils.d.ts.map +0 -1
- package/dist/system/VersionManager.d.ts +0 -35
- package/dist/system/VersionManager.d.ts.map +0 -1
package/dist/rxdb-adapter.d.ts
CHANGED
|
@@ -1,20 +1,41 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
1
|
import { EntityType } from './entity/entity.interface.js';
|
|
3
2
|
import { IRepository } from './repository/repository.interface.js';
|
|
3
|
+
import { RepositoryBase } from './repository/RepositoryBase.js';
|
|
4
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
|
+
}
|
|
5
19
|
/**
|
|
6
20
|
* 事务回调函数
|
|
7
21
|
*/
|
|
8
22
|
export type TransactionFun = () => Promise<any>;
|
|
23
|
+
export interface SwitchBranchOptions {
|
|
24
|
+
branchId: string;
|
|
25
|
+
actions: SwitchVersionActions;
|
|
26
|
+
}
|
|
9
27
|
/**
|
|
10
28
|
* RxDB 数据库适配器接口
|
|
11
29
|
*/
|
|
12
30
|
export interface IRxDBAdapter {
|
|
31
|
+
/**
|
|
32
|
+
* 适配器名称
|
|
33
|
+
*/
|
|
13
34
|
readonly name: string;
|
|
14
35
|
/**
|
|
15
36
|
* 连接数据库
|
|
16
37
|
*/
|
|
17
|
-
connect():
|
|
38
|
+
connect(): Promise<IRxDBAdapter>;
|
|
18
39
|
/**
|
|
19
40
|
* 取消连接
|
|
20
41
|
*/
|
|
@@ -26,11 +47,7 @@ export interface IRxDBAdapter {
|
|
|
26
47
|
/**
|
|
27
48
|
* 获取仓库
|
|
28
49
|
*/
|
|
29
|
-
getRepository<T extends EntityType, RT extends IRepository<T>>(EntityType:
|
|
30
|
-
/**
|
|
31
|
-
* 创建 table
|
|
32
|
-
*/
|
|
33
|
-
createTables(EntityTypes: EntityType[], entities?: InstanceType<any>[]): Promise<boolean>;
|
|
50
|
+
getRepository<T extends EntityType, RT extends IRepository<T> = IRepository<T>>(EntityType: T): RT;
|
|
34
51
|
/**
|
|
35
52
|
* 保存多个实体
|
|
36
53
|
* @param entities
|
|
@@ -41,6 +58,11 @@ export interface IRxDBAdapter {
|
|
|
41
58
|
* @param entities
|
|
42
59
|
*/
|
|
43
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>[]>;
|
|
44
66
|
/**
|
|
45
67
|
* 判断 table 是否存在
|
|
46
68
|
*/
|
|
@@ -51,10 +73,19 @@ export interface IRxDBAdapter {
|
|
|
51
73
|
*/
|
|
52
74
|
export declare abstract class RxDBAdapterBase {
|
|
53
75
|
readonly rxdb: RxDB;
|
|
76
|
+
protected readonly repository_map: Map<string, RepositoryConstructor<any>>;
|
|
77
|
+
protected readonly repository_cache: Map<EntityType, IRepository<any>>;
|
|
54
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;
|
|
55
86
|
}
|
|
56
87
|
export interface RestoreEntityOptions {
|
|
57
|
-
|
|
88
|
+
changeId: string;
|
|
58
89
|
}
|
|
59
90
|
/**
|
|
60
91
|
* 数据库适配器基类(本地)
|
|
@@ -62,28 +93,81 @@ export interface RestoreEntityOptions {
|
|
|
62
93
|
export declare abstract class RxDBAdapterLocalBase extends RxDBAdapterBase {
|
|
63
94
|
/**
|
|
64
95
|
* 执行事务
|
|
96
|
+
* @param fun 事务回调函数
|
|
65
97
|
*/
|
|
66
98
|
abstract transaction(fun: TransactionFun): Promise<any>;
|
|
67
99
|
/**
|
|
68
|
-
*
|
|
100
|
+
* 创建 tables
|
|
101
|
+
* @param EntityTypes 的类型数组
|
|
102
|
+
* @param entities 可选的实体实例数组,用于初始化数据
|
|
69
103
|
*/
|
|
70
|
-
abstract
|
|
104
|
+
abstract createTables(EntityTypes: EntityType[], entities?: InstanceType<any>[]): Promise<boolean>;
|
|
71
105
|
/**
|
|
72
106
|
* 切换分支
|
|
73
|
-
* @param
|
|
107
|
+
* @param options 切换分支选项
|
|
74
108
|
*/
|
|
75
|
-
abstract switchBranch(
|
|
109
|
+
abstract switchBranch(options: SwitchBranchOptions): Promise<void>;
|
|
76
110
|
/**
|
|
77
|
-
*
|
|
78
|
-
* @param entity
|
|
79
|
-
* @param options
|
|
111
|
+
* 获取当前 RxDBChange 序列号
|
|
80
112
|
*/
|
|
81
|
-
abstract
|
|
113
|
+
abstract getRxDBChangeSequence(): Promise<number>;
|
|
114
|
+
/**
|
|
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)
|
|
127
|
+
*/
|
|
128
|
+
abstract mergeChanges(actions: SwitchVersionActions, localChanges?: Omit<RxDBChange, 'id'>[], disableTriggers?: boolean): Promise<void>;
|
|
82
129
|
}
|
|
83
130
|
/**
|
|
84
131
|
* 数据库适配器基类(远程)
|
|
85
132
|
*/
|
|
86
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>;
|
|
87
171
|
}
|
|
88
172
|
/**
|
|
89
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,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rxdb-adapter.d.ts","sourceRoot":"","sources":["../src/rxdb-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/rxdb-events.d.ts
CHANGED
|
@@ -1,113 +1,382 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EntityStaticType, EntityType } from './entity/entity.interface.js';
|
|
2
|
+
import { Conflict } from './version/conflict.js';
|
|
3
|
+
import { PullResult, PushResult } from './version/VersionManager.interface.js';
|
|
4
|
+
/** 本地实体初始化事件类型 */
|
|
5
|
+
export declare const ENTITY_LOCAL_NEW_EVENT = "ENTITY_LOCAL_NEW";
|
|
6
|
+
/** 本地实体创建事件类型 */
|
|
7
|
+
export declare const ENTITY_LOCAL_CREATE_EVENT = "ENTITY_LOCAL_CREATE";
|
|
8
|
+
/** 本地实体更新事件类型 */
|
|
9
|
+
export declare const ENTITY_LOCAL_UPDATE_EVENT = "ENTITY_LOCAL_UPDATE";
|
|
10
|
+
/** 本地实体删除事件类型 */
|
|
11
|
+
export declare const ENTITY_LOCAL_REMOVE_EVENT = "ENTITY_LOCAL_REMOVE";
|
|
12
|
+
/** 远程实体创建事件类型 */
|
|
13
|
+
export declare const ENTITY_REMOTE_CREATE_EVENT = "ENTITY_REMOTE_CREATE";
|
|
14
|
+
/** 远程实体更新事件类型 */
|
|
15
|
+
export declare const ENTITY_REMOTE_UPDATE_EVENT = "ENTITY_REMOTE_UPDATE";
|
|
16
|
+
/** 远程实体删除事件类型 */
|
|
17
|
+
export declare const ENTITY_REMOTE_REMOVE_EVENT = "ENTITY_REMOTE_REMOVE";
|
|
18
|
+
/** 事务开始事件类型 */
|
|
19
|
+
export declare const TRANSACTION_BEGIN = "TRANSACTION_BEGIN";
|
|
20
|
+
/** 事务提交事件类型 */
|
|
21
|
+
export declare const TRANSACTION_COMMIT = "TRANSACTION_COMMIT";
|
|
22
|
+
/** 事务回滚事件类型 */
|
|
23
|
+
export declare const TRANSACTION_ROLLBACK = "TRANSACTION_ROLLBACK";
|
|
24
|
+
/** 分支切换开始事件类型 */
|
|
25
|
+
export declare const SWITCH_BRANCH_BEGIN: "SWITCH_BRANCH_BEGIN";
|
|
26
|
+
/** 分支切换提交事件类型 */
|
|
27
|
+
export declare const SWITCH_BRANCH_COMMIT: "SWITCH_BRANCH_COMMIT";
|
|
28
|
+
/** 分支切换回滚事件类型 */
|
|
29
|
+
export declare const SWITCH_BRANCH_ROLLBACK: "SWITCH_BRANCH_ROLLBACK";
|
|
30
|
+
/** 同步开始事件类型 */
|
|
31
|
+
export declare const SYNC_BEGIN_EVENT: "SYNC_BEGIN";
|
|
32
|
+
/** 同步完成事件类型 */
|
|
33
|
+
export declare const SYNC_COMPLETE_EVENT: "SYNC_COMPLETE";
|
|
34
|
+
/** 同步错误事件类型 */
|
|
35
|
+
export declare const SYNC_ERROR_EVENT: "SYNC_ERROR";
|
|
36
|
+
/** 远程变更待处理事件类型 */
|
|
37
|
+
export declare const REMOTE_CHANGES_PENDING_EVENT: "REMOTE_CHANGES_PENDING";
|
|
38
|
+
/** 冲突检测事件类型 */
|
|
39
|
+
export declare const CONFLICT_DETECTED_EVENT: "CONFLICT_DETECTED";
|
|
40
|
+
/** 冲突待处理事件类型 */
|
|
41
|
+
export declare const CONFLICT_PENDING_EVENT: "CONFLICT_PENDING";
|
|
42
|
+
/** Repository 同步开始事件类型 */
|
|
43
|
+
export declare const REPOSITORY_SYNC_BEGIN_EVENT: "REPOSITORY_SYNC_BEGIN";
|
|
44
|
+
/** Repository 同步完成事件类型 */
|
|
45
|
+
export declare const REPOSITORY_SYNC_COMPLETE_EVENT: "REPOSITORY_SYNC_COMPLETE";
|
|
46
|
+
/** Repository 同步错误事件类型 */
|
|
47
|
+
export declare const REPOSITORY_SYNC_ERROR_EVENT: "REPOSITORY_SYNC_ERROR";
|
|
2
48
|
/**
|
|
3
|
-
* RxDB
|
|
49
|
+
* RxDB 实体事件数据基础接口
|
|
4
50
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
51
|
+
interface RxDBEntityLocalEventDataBase<T extends EntityType = EntityType> {
|
|
52
|
+
type: 'INSERT' | 'UPDATE' | 'DELETE' | 'NEW';
|
|
53
|
+
/** 命名空间 */
|
|
54
|
+
namespace: string;
|
|
55
|
+
/** 实体名称 */
|
|
56
|
+
entity: string;
|
|
57
|
+
/** 实体唯一标识符 */
|
|
58
|
+
id: EntityStaticType<T, 'idType'>;
|
|
59
|
+
/** 实体类型 */
|
|
60
|
+
entityType?: T;
|
|
61
|
+
/** 变更记录时间 */
|
|
62
|
+
recordAt: Date;
|
|
63
|
+
}
|
|
64
|
+
export interface RxDBEntityLocalNewEventData<T extends EntityType = EntityType> extends RxDBEntityLocalEventDataBase<T> {
|
|
65
|
+
patch: Readonly<Partial<InstanceType<T>>>;
|
|
66
|
+
inversePatch: null;
|
|
67
|
+
}
|
|
68
|
+
export interface RxDBEntityLocalCreatedEventData<T extends EntityType = EntityType> extends RxDBEntityLocalEventDataBase<T> {
|
|
69
|
+
patch: Readonly<InstanceType<T>>;
|
|
70
|
+
inversePatch: null;
|
|
71
|
+
}
|
|
72
|
+
export interface RxDBEntityLocalUpdatedEventData<T extends EntityType = EntityType> extends RxDBEntityLocalEventDataBase<T> {
|
|
73
|
+
patch: Readonly<Partial<InstanceType<T>>>;
|
|
74
|
+
inversePatch: Readonly<Partial<InstanceType<T>>>;
|
|
75
|
+
}
|
|
76
|
+
export interface RxDBEntityLocalRemovedEventData<T extends EntityType = EntityType> extends RxDBEntityLocalEventDataBase<T> {
|
|
77
|
+
patch: null;
|
|
78
|
+
inversePatch: Readonly<Partial<InstanceType<T>>>;
|
|
9
79
|
}
|
|
10
|
-
|
|
80
|
+
/** RxDB 实体本地事件数据联合类型 */
|
|
81
|
+
export type RxDBEntityLocalEventData<T extends EntityType = EntityType> = RxDBEntityLocalNewEventData<T> | RxDBEntityLocalCreatedEventData<T> | RxDBEntityLocalUpdatedEventData<T> | RxDBEntityLocalRemovedEventData<T>;
|
|
82
|
+
export interface RxDBEntityRemoteCreatedEventData<T extends EntityType = EntityType> extends RxDBEntityLocalEventDataBase<T> {
|
|
83
|
+
data: Readonly<InstanceType<T>>;
|
|
84
|
+
}
|
|
85
|
+
export interface RxDBEntityRemoteUpdatedEventData<T extends EntityType = EntityType> extends RxDBEntityLocalEventDataBase<T> {
|
|
86
|
+
data: Readonly<InstanceType<T>>;
|
|
87
|
+
}
|
|
88
|
+
export interface RxDBEntityRemoteRemovedEventData<T extends EntityType = EntityType> extends RxDBEntityLocalEventDataBase<T> {
|
|
89
|
+
data: Readonly<InstanceType<T>>;
|
|
90
|
+
}
|
|
91
|
+
/** RxDB 实体远程事件数据联合类型 */
|
|
92
|
+
export type RxDBEntityRemoteEventData<T extends EntityType = EntityType> = RxDBEntityRemoteCreatedEventData<T> | RxDBEntityRemoteUpdatedEventData<T> | RxDBEntityRemoteRemovedEventData<T>;
|
|
11
93
|
/**
|
|
12
|
-
*
|
|
94
|
+
* 本地实体初始化事件
|
|
95
|
+
*
|
|
96
|
+
* 当实体通过构造函数被实例化(new)时触发。
|
|
97
|
+
* 此时实体对象已创建但尚未持久化到数据库。
|
|
13
98
|
*/
|
|
14
|
-
export declare class
|
|
99
|
+
export declare class EntityLocalNewEvent {
|
|
100
|
+
readonly entities: RxDBEntityLocalNewEventData[];
|
|
15
101
|
type: string;
|
|
102
|
+
constructor(entities: RxDBEntityLocalNewEventData[]);
|
|
16
103
|
}
|
|
17
|
-
export declare const ENTITY_CREATE_EVENT = "ENTITY_CREATE";
|
|
18
104
|
/**
|
|
19
|
-
*
|
|
105
|
+
* 本地实体创建成功事件
|
|
106
|
+
*
|
|
107
|
+
* 当实体成功持久化到数据库时触发。
|
|
20
108
|
*/
|
|
21
|
-
export declare class
|
|
109
|
+
export declare class EntityLocalCreatedEvent {
|
|
110
|
+
readonly entities: RxDBEntityLocalCreatedEventData[];
|
|
22
111
|
type: string;
|
|
112
|
+
constructor(entities: RxDBEntityLocalCreatedEventData[]);
|
|
23
113
|
}
|
|
24
|
-
export declare const ENTITY_UPDATE_EVENT = "ENTITY_UPDATE";
|
|
25
114
|
/**
|
|
26
|
-
*
|
|
115
|
+
* 本地实体更新成功事件
|
|
116
|
+
*
|
|
117
|
+
* 当实体数据被更新到数据库时触发。
|
|
27
118
|
*/
|
|
28
|
-
export declare class
|
|
119
|
+
export declare class EntityLocalUpdatedEvent {
|
|
120
|
+
readonly entities: RxDBEntityLocalUpdatedEventData[];
|
|
29
121
|
type: string;
|
|
122
|
+
constructor(entities: RxDBEntityLocalUpdatedEventData[]);
|
|
30
123
|
}
|
|
31
|
-
export declare const ENTITY_REMOVE_EVENT = "ENTITY_REMOVE";
|
|
32
124
|
/**
|
|
33
|
-
*
|
|
125
|
+
* 本地实体删除成功事件
|
|
126
|
+
*
|
|
127
|
+
* 当实体从数据库中被成功删除时触发。
|
|
34
128
|
*/
|
|
35
|
-
export declare class
|
|
129
|
+
export declare class EntityLocalRemovedEvent {
|
|
130
|
+
readonly entities: RxDBEntityLocalRemovedEventData[];
|
|
36
131
|
type: string;
|
|
132
|
+
constructor(entities: RxDBEntityLocalRemovedEventData[]);
|
|
37
133
|
}
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
[
|
|
43
|
-
[ENTITY_CREATE_EVENT]: EntityCreateEvent;
|
|
44
|
-
[ENTITY_UPDATE_EVENT]: EntityUpdateEvent;
|
|
45
|
-
[ENTITY_REMOVE_EVENT]: EntityRemoveEvent;
|
|
134
|
+
/** 远程实体创建事件 */
|
|
135
|
+
export declare class EntityRemoteCreatedEvent {
|
|
136
|
+
readonly entities: RxDBEntityRemoteCreatedEventData[];
|
|
137
|
+
type: string;
|
|
138
|
+
constructor(entities: RxDBEntityRemoteCreatedEventData[]);
|
|
46
139
|
}
|
|
47
|
-
|
|
48
|
-
export declare
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
140
|
+
/** 远程实体更新事件 */
|
|
141
|
+
export declare class EntityRemoteUpdatedEvent {
|
|
142
|
+
readonly entities: RxDBEntityRemoteUpdatedEventData[];
|
|
143
|
+
type: string;
|
|
144
|
+
constructor(entities: RxDBEntityRemoteUpdatedEventData[]);
|
|
145
|
+
}
|
|
146
|
+
/** 远程实体删除事件 */
|
|
147
|
+
export declare class EntityRemoteRemovedEvent {
|
|
148
|
+
readonly entities: RxDBEntityRemoteRemovedEventData[];
|
|
149
|
+
type: string;
|
|
150
|
+
constructor(entities: RxDBEntityRemoteRemovedEventData[]);
|
|
151
|
+
}
|
|
152
|
+
/** 事务开始事件 */
|
|
53
153
|
export declare class TransactionBeginEvent {
|
|
54
154
|
type: string;
|
|
55
155
|
}
|
|
56
|
-
/**
|
|
57
|
-
* 事务 提交
|
|
58
|
-
*/
|
|
156
|
+
/** 事务提交事件 */
|
|
59
157
|
export declare class TransactionCommitEvent {
|
|
60
158
|
type: string;
|
|
61
159
|
}
|
|
62
|
-
/**
|
|
63
|
-
* 事务 回滚
|
|
64
|
-
*/
|
|
160
|
+
/** 事务回滚事件 */
|
|
65
161
|
export declare class TransactionRollbackEvent {
|
|
66
162
|
type: string;
|
|
67
163
|
}
|
|
68
|
-
|
|
69
|
-
export declare
|
|
70
|
-
|
|
164
|
+
/** 分支切换开始事件 */
|
|
165
|
+
export declare class SwitchBranchBeginEvent {
|
|
166
|
+
type: "SWITCH_BRANCH_BEGIN";
|
|
167
|
+
}
|
|
168
|
+
/** 分支切换提交事件 */
|
|
169
|
+
export declare class SwitchBranchCommitEvent {
|
|
170
|
+
type: "SWITCH_BRANCH_COMMIT";
|
|
171
|
+
}
|
|
172
|
+
/** 分支切换回滚事件 */
|
|
173
|
+
export declare class SwitchBranchRollbackEvent {
|
|
174
|
+
type: "SWITCH_BRANCH_ROLLBACK";
|
|
175
|
+
}
|
|
71
176
|
/**
|
|
72
|
-
*
|
|
177
|
+
* 同步方向
|
|
73
178
|
*/
|
|
74
|
-
export
|
|
75
|
-
|
|
76
|
-
|
|
179
|
+
export type SyncDirection = 'pull' | 'push';
|
|
180
|
+
/**
|
|
181
|
+
* 同步开始事件
|
|
182
|
+
*
|
|
183
|
+
* 当开始执行 pull() 或 push() 操作时触发
|
|
184
|
+
*/
|
|
185
|
+
export declare class SyncBeginEvent {
|
|
186
|
+
/** 同步方向 */
|
|
187
|
+
readonly direction: SyncDirection;
|
|
188
|
+
readonly type: "SYNC_BEGIN";
|
|
189
|
+
constructor(
|
|
190
|
+
/** 同步方向 */
|
|
191
|
+
direction: SyncDirection);
|
|
77
192
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
193
|
+
/**
|
|
194
|
+
* 同步完成事件
|
|
195
|
+
*
|
|
196
|
+
* 当 pull() 或 push() 操作成功完成时触发
|
|
197
|
+
*/
|
|
198
|
+
export declare class SyncCompleteEvent {
|
|
199
|
+
/** 同步方向 */
|
|
200
|
+
readonly direction: SyncDirection;
|
|
201
|
+
/** 同步结果 */
|
|
202
|
+
readonly result: PullResult | PushResult;
|
|
203
|
+
readonly type: "SYNC_COMPLETE";
|
|
204
|
+
constructor(
|
|
205
|
+
/** 同步方向 */
|
|
206
|
+
direction: SyncDirection,
|
|
207
|
+
/** 同步结果 */
|
|
208
|
+
result: PullResult | PushResult);
|
|
83
209
|
}
|
|
84
|
-
|
|
85
|
-
|
|
210
|
+
/**
|
|
211
|
+
* 同步错误事件
|
|
212
|
+
*
|
|
213
|
+
* 当 pull() 或 push() 操作失败时触发
|
|
214
|
+
*/
|
|
215
|
+
export declare class SyncErrorEvent {
|
|
216
|
+
/** 同步方向 */
|
|
217
|
+
readonly direction: SyncDirection;
|
|
218
|
+
/** 错误信息 */
|
|
219
|
+
readonly error: Error;
|
|
220
|
+
readonly type: "SYNC_ERROR";
|
|
221
|
+
constructor(
|
|
222
|
+
/** 同步方向 */
|
|
223
|
+
direction: SyncDirection,
|
|
224
|
+
/** 错误信息 */
|
|
225
|
+
error: Error);
|
|
86
226
|
}
|
|
87
|
-
|
|
88
|
-
|
|
227
|
+
/**
|
|
228
|
+
* 冲突检测事件
|
|
229
|
+
*
|
|
230
|
+
* 当 pull 时检测到本地未同步变更与远程变更冲突时触发
|
|
231
|
+
*/
|
|
232
|
+
export declare class ConflictDetectedEvent {
|
|
233
|
+
/** 发现的冲突列表 */
|
|
234
|
+
readonly conflicts: Conflict[];
|
|
235
|
+
/** 已自动解决的数量 */
|
|
236
|
+
readonly resolved: number;
|
|
237
|
+
/** 延迟处理的数量 */
|
|
238
|
+
readonly deferred: number;
|
|
239
|
+
readonly type: "CONFLICT_DETECTED";
|
|
240
|
+
constructor(
|
|
241
|
+
/** 发现的冲突列表 */
|
|
242
|
+
conflicts: Conflict[],
|
|
243
|
+
/** 已自动解决的数量 */
|
|
244
|
+
resolved: number,
|
|
245
|
+
/** 延迟处理的数量 */
|
|
246
|
+
deferred: number);
|
|
89
247
|
}
|
|
90
|
-
|
|
91
|
-
|
|
248
|
+
/**
|
|
249
|
+
* 冲突待处理事件
|
|
250
|
+
*
|
|
251
|
+
* 当有冲突解决结果为 DEFER 时触发
|
|
252
|
+
*/
|
|
253
|
+
export declare class ConflictPendingEvent {
|
|
254
|
+
/** 待处理的冲突列表 */
|
|
255
|
+
readonly conflicts: Conflict[];
|
|
256
|
+
readonly type: "CONFLICT_PENDING";
|
|
257
|
+
constructor(
|
|
258
|
+
/** 待处理的冲突列表 */
|
|
259
|
+
conflicts: Conflict[]);
|
|
92
260
|
}
|
|
93
261
|
/**
|
|
94
|
-
*
|
|
262
|
+
* Repository 同步方向
|
|
95
263
|
*/
|
|
264
|
+
export type RepositorySyncDirection = 'pull' | 'push' | 'sync';
|
|
265
|
+
/**
|
|
266
|
+
* Repository 同步开始事件
|
|
267
|
+
*
|
|
268
|
+
* 当开始执行 pullRepository(), pushRepository() 或 syncRepository() 时触发
|
|
269
|
+
*/
|
|
270
|
+
export declare class RepositorySyncBeginEvent {
|
|
271
|
+
/** 同步方向 */
|
|
272
|
+
readonly direction: RepositorySyncDirection;
|
|
273
|
+
/** 命名空间 */
|
|
274
|
+
readonly namespace: string;
|
|
275
|
+
/** 实体名称 */
|
|
276
|
+
readonly entity: string;
|
|
277
|
+
/** 是否包含关联实体 */
|
|
278
|
+
readonly includeRelated: boolean;
|
|
279
|
+
readonly type: "REPOSITORY_SYNC_BEGIN";
|
|
280
|
+
constructor(
|
|
281
|
+
/** 同步方向 */
|
|
282
|
+
direction: RepositorySyncDirection,
|
|
283
|
+
/** 命名空间 */
|
|
284
|
+
namespace: string,
|
|
285
|
+
/** 实体名称 */
|
|
286
|
+
entity: string,
|
|
287
|
+
/** 是否包含关联实体 */
|
|
288
|
+
includeRelated: boolean);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Repository 同步完成事件
|
|
292
|
+
*
|
|
293
|
+
* 当 repository 同步操作成功完成时触发
|
|
294
|
+
*/
|
|
295
|
+
export declare class RepositorySyncCompleteEvent {
|
|
296
|
+
/** 同步方向 */
|
|
297
|
+
readonly direction: RepositorySyncDirection;
|
|
298
|
+
/** 命名空间 */
|
|
299
|
+
readonly namespace: string;
|
|
300
|
+
/** 实体名称 */
|
|
301
|
+
readonly entity: string;
|
|
302
|
+
/** 同步结果统计 */
|
|
303
|
+
readonly result: {
|
|
304
|
+
pulled?: number;
|
|
305
|
+
pushed?: number;
|
|
306
|
+
compacted?: number;
|
|
307
|
+
failed?: number;
|
|
308
|
+
};
|
|
309
|
+
readonly type: "REPOSITORY_SYNC_COMPLETE";
|
|
310
|
+
constructor(
|
|
311
|
+
/** 同步方向 */
|
|
312
|
+
direction: RepositorySyncDirection,
|
|
313
|
+
/** 命名空间 */
|
|
314
|
+
namespace: string,
|
|
315
|
+
/** 实体名称 */
|
|
316
|
+
entity: string,
|
|
317
|
+
/** 同步结果统计 */
|
|
318
|
+
result: {
|
|
319
|
+
pulled?: number;
|
|
320
|
+
pushed?: number;
|
|
321
|
+
compacted?: number;
|
|
322
|
+
failed?: number;
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Repository 同步错误事件
|
|
327
|
+
*
|
|
328
|
+
* 当 repository 同步操作失败时触发
|
|
329
|
+
*/
|
|
330
|
+
export declare class RepositorySyncErrorEvent {
|
|
331
|
+
/** 同步方向 */
|
|
332
|
+
readonly direction: RepositorySyncDirection;
|
|
333
|
+
/** 命名空间 */
|
|
334
|
+
readonly namespace: string;
|
|
335
|
+
/** 实体名称 */
|
|
336
|
+
readonly entity: string;
|
|
337
|
+
/** 错误信息 */
|
|
338
|
+
readonly error: Error;
|
|
339
|
+
readonly type: "REPOSITORY_SYNC_ERROR";
|
|
340
|
+
constructor(
|
|
341
|
+
/** 同步方向 */
|
|
342
|
+
direction: RepositorySyncDirection,
|
|
343
|
+
/** 命名空间 */
|
|
344
|
+
namespace: string,
|
|
345
|
+
/** 实体名称 */
|
|
346
|
+
entity: string,
|
|
347
|
+
/** 错误信息 */
|
|
348
|
+
error: Error);
|
|
349
|
+
}
|
|
350
|
+
/** RxDB 实体事件映射接口 */
|
|
351
|
+
export interface RxDBEntityEventMap {
|
|
352
|
+
[ENTITY_LOCAL_NEW_EVENT]: EntityLocalNewEvent;
|
|
353
|
+
[ENTITY_LOCAL_CREATE_EVENT]: EntityLocalCreatedEvent;
|
|
354
|
+
[ENTITY_LOCAL_UPDATE_EVENT]: EntityLocalUpdatedEvent;
|
|
355
|
+
[ENTITY_LOCAL_REMOVE_EVENT]: EntityLocalRemovedEvent;
|
|
356
|
+
[ENTITY_REMOTE_CREATE_EVENT]: EntityRemoteCreatedEvent;
|
|
357
|
+
[ENTITY_REMOTE_UPDATE_EVENT]: EntityRemoteUpdatedEvent;
|
|
358
|
+
[ENTITY_REMOTE_REMOVE_EVENT]: EntityRemoteRemovedEvent;
|
|
359
|
+
}
|
|
360
|
+
/** RxDB 完整事件映射接口 */
|
|
96
361
|
export interface RxDBEventMap extends RxDBEntityEventMap {
|
|
97
362
|
[TRANSACTION_BEGIN]: TransactionBeginEvent;
|
|
98
363
|
[TRANSACTION_COMMIT]: TransactionCommitEvent;
|
|
99
364
|
[TRANSACTION_ROLLBACK]: TransactionRollbackEvent;
|
|
100
|
-
[
|
|
101
|
-
[
|
|
102
|
-
[
|
|
365
|
+
[SWITCH_BRANCH_BEGIN]: SwitchBranchBeginEvent;
|
|
366
|
+
[SWITCH_BRANCH_COMMIT]: SwitchBranchCommitEvent;
|
|
367
|
+
[SWITCH_BRANCH_ROLLBACK]: SwitchBranchRollbackEvent;
|
|
368
|
+
[SYNC_BEGIN_EVENT]: SyncBeginEvent;
|
|
369
|
+
[SYNC_COMPLETE_EVENT]: SyncCompleteEvent;
|
|
370
|
+
[SYNC_ERROR_EVENT]: SyncErrorEvent;
|
|
371
|
+
[CONFLICT_DETECTED_EVENT]: ConflictDetectedEvent;
|
|
372
|
+
[CONFLICT_PENDING_EVENT]: ConflictPendingEvent;
|
|
373
|
+
[REPOSITORY_SYNC_BEGIN_EVENT]: RepositorySyncBeginEvent;
|
|
374
|
+
[REPOSITORY_SYNC_COMPLETE_EVENT]: RepositorySyncCompleteEvent;
|
|
375
|
+
[REPOSITORY_SYNC_ERROR_EVENT]: RepositorySyncErrorEvent;
|
|
103
376
|
}
|
|
104
|
-
/**
|
|
105
|
-
* RxDB 实体事件
|
|
106
|
-
*/
|
|
377
|
+
/** RxDB 实体事件联合类型 */
|
|
107
378
|
export type RxDBEntityEvent = RxDBEntityEventMap[keyof RxDBEntityEventMap];
|
|
108
|
-
/**
|
|
109
|
-
* RxDB 事件
|
|
110
|
-
*/
|
|
379
|
+
/** RxDB 事件联合类型 */
|
|
111
380
|
export type RxDBEvent = RxDBEventMap[keyof RxDBEventMap];
|
|
112
381
|
export {};
|
|
113
382
|
//# sourceMappingURL=rxdb-events.d.ts.map
|