@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.
Files changed (187) hide show
  1. package/dist/RxDB.d.ts +118 -21
  2. package/dist/RxDB.d.ts.map +1 -1
  3. package/dist/RxDBError.d.ts.map +1 -1
  4. package/dist/entity/@Entity.d.ts +1 -1
  5. package/dist/entity/@Entity.d.ts.map +1 -1
  6. package/dist/entity/@TreeEntity.d.ts +2 -21
  7. package/dist/entity/@TreeEntity.d.ts.map +1 -1
  8. package/dist/entity/EntityBase.d.ts +59 -11
  9. package/dist/entity/EntityBase.d.ts.map +1 -1
  10. package/dist/entity/EntityManager.d.ts +18 -25
  11. package/dist/entity/EntityManager.d.ts.map +1 -1
  12. package/dist/entity/EntityStatus.d.ts +149 -107
  13. package/dist/entity/EntityStatus.d.ts.map +1 -1
  14. package/dist/entity/EntityStatus.interface.d.ts +59 -0
  15. package/dist/entity/EntityStatus.interface.d.ts.map +1 -0
  16. package/dist/entity/TreeEntityBase.d.ts +32 -5
  17. package/dist/entity/TreeEntityBase.d.ts.map +1 -1
  18. package/dist/entity/entity.interface.d.ts +23 -34
  19. package/dist/entity/entity.interface.d.ts.map +1 -1
  20. package/dist/entity/entity.utils.d.ts +23 -2
  21. package/dist/entity/entity.utils.d.ts.map +1 -1
  22. package/dist/entity/{generate_many_to_many_entity.d.ts → many_to_many_entity.d.ts} +3 -3
  23. package/dist/entity/many_to_many_entity.d.ts.map +1 -0
  24. package/dist/entity/{entity-metadata-options.interface.d.ts → metadata-options.interface.d.ts} +312 -35
  25. package/dist/entity/metadata-options.interface.d.ts.map +1 -0
  26. package/dist/entity/{transition-metadata.d.ts → metadata-transition.d.ts} +3 -3
  27. package/dist/entity/metadata-transition.d.ts.map +1 -0
  28. package/dist/entity/{entity-metadata.interface.d.ts → metadata.interface.d.ts} +8 -2
  29. package/dist/entity/metadata.interface.d.ts.map +1 -0
  30. package/dist/entity/metadata_cascade_default.d.ts +54 -0
  31. package/dist/entity/metadata_cascade_default.d.ts.map +1 -0
  32. package/dist/entity/proxy.d.ts +7 -0
  33. package/dist/entity/proxy.d.ts.map +1 -0
  34. package/dist/entity/{entity_relation_helper.d.ts → relation_helper.d.ts} +2 -2
  35. package/dist/entity/relation_helper.d.ts.map +1 -0
  36. package/dist/entity/tree-entity.interface.d.ts +5 -0
  37. package/dist/entity/tree-entity.interface.d.ts.map +1 -0
  38. package/dist/gateway/RxDBTabsGateway.d.ts +52 -0
  39. package/dist/gateway/RxDBTabsGateway.d.ts.map +1 -0
  40. package/dist/gateway/gateway.interface.d.ts +43 -0
  41. package/dist/gateway/gateway.interface.d.ts.map +1 -0
  42. package/dist/index.d.ts +19 -13
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +6579 -2876
  45. package/dist/query/entity_type_dependencies.d.ts +22 -0
  46. package/dist/query/entity_type_dependencies.d.ts.map +1 -0
  47. package/dist/query/merge-update-basic.d.ts +30 -0
  48. package/dist/query/merge-update-basic.d.ts.map +1 -0
  49. package/dist/query/merge-update-tree.d.ts +86 -0
  50. package/dist/query/merge-update-tree.d.ts.map +1 -0
  51. package/dist/query/merge-update.utils.d.ts +52 -0
  52. package/dist/query/merge-update.utils.d.ts.map +1 -0
  53. package/dist/query/merge_create.d.ts +19 -0
  54. package/dist/query/merge_create.d.ts.map +1 -0
  55. package/dist/query/merge_remove.d.ts +6 -0
  56. package/dist/query/merge_remove.d.ts.map +1 -0
  57. package/dist/query/merge_update.d.ts +24 -0
  58. package/dist/query/merge_update.d.ts.map +1 -0
  59. package/dist/query/need_refresh_create.d.ts +11 -0
  60. package/dist/query/need_refresh_create.d.ts.map +1 -0
  61. package/dist/query/need_refresh_remove.d.ts +6 -0
  62. package/dist/query/need_refresh_remove.d.ts.map +1 -0
  63. package/dist/query/need_refresh_update.d.ts +11 -0
  64. package/dist/query/need_refresh_update.d.ts.map +1 -0
  65. package/dist/query/query-matching.utils.d.ts +60 -0
  66. package/dist/query/query-matching.utils.d.ts.map +1 -0
  67. package/dist/query/query-relation.utils.d.ts +44 -0
  68. package/dist/query/query-relation.utils.d.ts.map +1 -0
  69. package/dist/query/query-rules-builder.d.ts +68 -0
  70. package/dist/query/query-rules-builder.d.ts.map +1 -0
  71. package/dist/query/query-tree.utils.d.ts +54 -0
  72. package/dist/query/query-tree.utils.d.ts.map +1 -0
  73. package/dist/repository/QueryManager.d.ts +69 -0
  74. package/dist/repository/QueryManager.d.ts.map +1 -0
  75. package/dist/repository/QueryManager.interface.d.ts +106 -0
  76. package/dist/repository/QueryManager.interface.d.ts.map +1 -0
  77. package/dist/repository/QueryTask.d.ts +150 -0
  78. package/dist/repository/QueryTask.d.ts.map +1 -0
  79. package/dist/repository/Repository.d.ts +38 -44
  80. package/dist/repository/Repository.d.ts.map +1 -1
  81. package/dist/repository/RepositoryBase.d.ts +8 -8
  82. package/dist/repository/RepositoryBase.d.ts.map +1 -1
  83. package/dist/repository/TreeRepository.d.ts +29 -4
  84. package/dist/repository/TreeRepository.d.ts.map +1 -1
  85. package/dist/repository/fingerprint.utils.d.ts +28 -0
  86. package/dist/repository/fingerprint.utils.d.ts.map +1 -0
  87. package/dist/repository/query-options.interface.d.ts +88 -16
  88. package/dist/repository/query-options.interface.d.ts.map +1 -1
  89. package/dist/repository/query.interface.d.ts +107 -37
  90. package/dist/repository/query.interface.d.ts.map +1 -1
  91. package/dist/repository/relation-query.interface.d.ts +20 -1
  92. package/dist/repository/relation-query.interface.d.ts.map +1 -1
  93. package/dist/repository/repository.interface.d.ts +4 -29
  94. package/dist/repository/repository.interface.d.ts.map +1 -1
  95. package/dist/repository/tree-repository.interface.d.ts +34 -30
  96. package/dist/repository/tree-repository.interface.d.ts.map +1 -1
  97. package/dist/rxdb-adapter.d.ts +100 -16
  98. package/dist/rxdb-adapter.d.ts.map +1 -1
  99. package/dist/rxdb-events.d.ts +335 -66
  100. package/dist/rxdb-events.d.ts.map +1 -1
  101. package/dist/rxdb-plugin.d.ts +2 -2
  102. package/dist/rxdb-plugin.d.ts.map +1 -1
  103. package/dist/rxdb-utils.d.ts +20 -9
  104. package/dist/rxdb-utils.d.ts.map +1 -1
  105. package/dist/rxdb.interface.d.ts +5 -9
  106. package/dist/rxdb.interface.d.ts.map +1 -1
  107. package/dist/rxdb.private.d.ts +7 -36
  108. package/dist/rxdb.private.d.ts.map +1 -1
  109. package/dist/schema/SchemaManager.d.ts +5 -4
  110. package/dist/schema/SchemaManager.d.ts.map +1 -1
  111. package/dist/system/branch.d.ts +124 -7
  112. package/dist/system/branch.d.ts.map +1 -1
  113. package/dist/system/change.d.ts +605 -33
  114. package/dist/system/change.d.ts.map +1 -1
  115. package/dist/system/migration.d.ts +61 -11
  116. package/dist/system/migration.d.ts.map +1 -1
  117. package/dist/system/repository-sync.d.ts +95 -0
  118. package/dist/system/repository-sync.d.ts.map +1 -0
  119. package/dist/system/system.interface.d.ts +25 -0
  120. package/dist/system/system.interface.d.ts.map +1 -0
  121. package/dist/system/types.d.ts +234 -139
  122. package/dist/system/types.d.ts.map +1 -1
  123. package/dist/system/types.local.d.ts +156 -0
  124. package/dist/system/types.local.d.ts.map +1 -0
  125. package/dist/system/types.remote.d.ts +103 -0
  126. package/dist/system/types.remote.d.ts.map +1 -0
  127. package/dist/version/HistoryManager.d.ts +238 -0
  128. package/dist/version/HistoryManager.d.ts.map +1 -0
  129. package/dist/version/LWWConflictResolver.d.ts +41 -0
  130. package/dist/version/LWWConflictResolver.d.ts.map +1 -0
  131. package/dist/version/VersionManager.d.ts +407 -0
  132. package/dist/version/VersionManager.d.ts.map +1 -0
  133. package/dist/version/VersionManager.interface.d.ts +428 -0
  134. package/dist/version/VersionManager.interface.d.ts.map +1 -0
  135. package/dist/version/VersionManager.utils.d.ts +14 -0
  136. package/dist/version/VersionManager.utils.d.ts.map +1 -0
  137. package/dist/version/bulk-sync.d.ts +97 -0
  138. package/dist/version/bulk-sync.d.ts.map +1 -0
  139. package/dist/version/check-repository-updates.d.ts +53 -0
  140. package/dist/version/check-repository-updates.d.ts.map +1 -0
  141. package/dist/version/compact-changes.d.ts +45 -0
  142. package/dist/version/compact-changes.d.ts.map +1 -0
  143. package/dist/version/conflict.d.ts +75 -0
  144. package/dist/version/conflict.d.ts.map +1 -0
  145. package/dist/version/create_branch.d.ts +13 -0
  146. package/dist/version/create_branch.d.ts.map +1 -0
  147. package/dist/version/dependency-graph.d.ts +132 -0
  148. package/dist/version/dependency-graph.d.ts.map +1 -0
  149. package/dist/version/find_switch_branch_step.d.ts +53 -0
  150. package/dist/version/find_switch_branch_step.d.ts.map +1 -0
  151. package/dist/version/get-all-repository-sync-status.d.ts +58 -0
  152. package/dist/version/get-all-repository-sync-status.d.ts.map +1 -0
  153. package/dist/version/get-repository-sync-status.d.ts +74 -0
  154. package/dist/version/get-repository-sync-status.d.ts.map +1 -0
  155. package/dist/version/pull-repository.d.ts +99 -0
  156. package/dist/version/pull-repository.d.ts.map +1 -0
  157. package/dist/version/pull.d.ts +11 -0
  158. package/dist/version/pull.d.ts.map +1 -0
  159. package/dist/version/push-repository.d.ts +93 -0
  160. package/dist/version/push-repository.d.ts.map +1 -0
  161. package/dist/version/push.d.ts +11 -0
  162. package/dist/version/push.d.ts.map +1 -0
  163. package/dist/version/remove_branch.d.ts +8 -0
  164. package/dist/version/remove_branch.d.ts.map +1 -0
  165. package/dist/version/switch_branch_actions.d.ts +17 -0
  166. package/dist/version/switch_branch_actions.d.ts.map +1 -0
  167. package/dist/version/sync-repository.d.ts +57 -0
  168. package/dist/version/sync-repository.d.ts.map +1 -0
  169. package/dist/version/sync-type-utils.d.ts +145 -0
  170. package/dist/version/sync-type-utils.d.ts.map +1 -0
  171. package/dist/version/topological-sort.d.ts +70 -0
  172. package/dist/version/topological-sort.d.ts.map +1 -0
  173. package/dist/version/version.utils.d.ts +4 -0
  174. package/dist/version/version.utils.d.ts.map +1 -0
  175. package/package.json +4 -3
  176. package/README.md +0 -1
  177. package/dist/entity/entity-metadata-options.interface.d.ts.map +0 -1
  178. package/dist/entity/entity-metadata.interface.d.ts.map +0 -1
  179. package/dist/entity/entity_proxy_helper.d.ts +0 -49
  180. package/dist/entity/entity_proxy_helper.d.ts.map +0 -1
  181. package/dist/entity/entity_relation_helper.d.ts.map +0 -1
  182. package/dist/entity/generate_many_to_many_entity.d.ts.map +0 -1
  183. package/dist/entity/transition-metadata.d.ts.map +0 -1
  184. package/dist/repository/query.utils.d.ts +0 -27
  185. package/dist/repository/query.utils.d.ts.map +0 -1
  186. package/dist/system/VersionManager.d.ts +0 -35
  187. package/dist/system/VersionManager.d.ts.map +0 -1
package/dist/RxDB.d.ts CHANGED
@@ -1,18 +1,66 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { EntityType } from './entity/entity.interface.js';
2
3
  import { EntityManager } from './entity/EntityManager.js';
3
- import { AdapterFactory, IRxDBAdapter, RxDBAdapters } from './rxdb-adapter.js';
4
+ import { EntityMetadata } from './entity/metadata.interface.js';
5
+ import { MergeQueryTaskCreateFn, MergeQueryTaskRemoveFn, MergeQueryTaskUpdateFn } from './repository/QueryManager.js';
6
+ import { Repository } from './repository/Repository.js';
7
+ import { AdapterFactory, IRxDBAdapter, RepositoryConstructor, RxDBAdapterLocalBase, RxDBAdapterRemoteBase, RxDBAdapters } from './rxdb-adapter.js';
4
8
  import { RxDBEvent, RxDBEventMap } from './rxdb-events.js';
5
9
  import { Plugin } from './rxdb-plugin.js';
6
10
  import { RxDBContext, RxDBOptions } from './rxdb.interface.js';
7
11
  import { SchemaManager } from './schema/SchemaManager.js';
8
- import { VersionManager } from './system/VersionManager.js';
12
+ import { RxDBBranch } from './system/branch.js';
13
+ import { RxDBChange } from './system/change.js';
14
+ import { RxDBMigration } from './system/migration.js';
15
+ import { VersionManager } from './version/VersionManager.js';
9
16
  type EventListener<T> = (event: T) => void;
10
- type RxDBConfig = RxDBOptions;
11
17
  /**
12
- * RxDB
18
+ * Repository 合并查询任务配置
19
+ */
20
+ interface MergeQueryTaskOptions {
21
+ create: MergeQueryTaskCreateFn;
22
+ update: MergeQueryTaskUpdateFn;
23
+ remove: MergeQueryTaskRemoveFn;
24
+ }
25
+ /**
26
+ * IRepositoryConfig 统一注册配置
27
+ * 合并 factory、class 和 merge operations 为单一配置对象
28
+ */
29
+ export interface IRepositoryConfig<RT extends Repository<any> = Repository<any>> {
30
+ /**
31
+ * Entity 生成器
32
+ * 用于根据 EntityMetadata 动态生成 Entity 类
33
+ * 用于生成中间表等场景
34
+ */
35
+ entityGenerator?: (metadata: EntityMetadata) => EntityType | EntityType[];
36
+ /**
37
+ * Repository 类构造函数
38
+ */
39
+ class: RepositoryConstructor<RT>;
40
+ /**
41
+ * 合并查询操作配置
42
+ */
43
+ mergeOperations: MergeQueryTaskOptions;
44
+ }
45
+ /**
46
+ * RxDB 是个单例对象,负责管理插件、适配器、事件以及上下文等全局功能
47
+ * 全局只能创建一个 RxDB 实例,所有 entity 都通过这个实例进行管理
48
+ * 所有 Entity 的 Class 也只能被注册一次
13
49
  */
14
50
  export declare class RxDB {
15
51
  #private;
52
+ /**
53
+ * 本地适配器
54
+ */
55
+ readonly localAdapter$: Observable<IRxDBAdapter & RxDBAdapterLocalBase>;
56
+ /**
57
+ * 远程适配器
58
+ */
59
+ readonly remoteAdapter$: Observable<IRxDBAdapter & RxDBAdapterRemoteBase>;
60
+ /**
61
+ * 连接状态 Observable
62
+ */
63
+ readonly connected$: Observable<boolean>;
16
64
  /**
17
65
  * Schema 管理
18
66
  */
@@ -30,50 +78,99 @@ export declare class RxDB {
30
78
  */
31
79
  get context(): RxDBContext;
32
80
  set context(context: RxDBContext);
33
- readonly options: RxDBConfig;
81
+ /**
82
+ * 获取首次连接时间
83
+ */
84
+ get firstConnectedAt(): Date | undefined;
85
+ /**
86
+ * 获取 RxDB 版本号
87
+ */
88
+ get version(): string;
89
+ get config(): RxDBOptions;
90
+ /**
91
+ * 构造函数
92
+ * @param options - RxDB 配置选项
93
+ */
34
94
  constructor(options: RxDBOptions);
35
95
  /**
36
- * 注册适配器
96
+ * 初始化 RxDB
37
97
  */
38
- adapter<K extends keyof RxDBAdapters>(adapterName: K, adapter: AdapterFactory): this;
98
+ init(): void;
39
99
  /**
40
- * 获取适配器
100
+ * 注册 Repository
101
+ * 统一接口,所有 repository 配置存储在 RxDB 中
102
+ *
103
+ * @param repositoryName - Repository 名称
104
+ * @param config - Repository 配置对象
41
105
  */
42
- getAdapter<K extends keyof RxDBAdapters>(adapterName: K): Observable<RxDBAdapters[K]>;
106
+ repository<RT extends Repository<any>>(repositoryName: string, config: IRepositoryConfig<RT>): this;
107
+ /**
108
+ * 注册 adapter
109
+ * @param adapterName - 适配器名称
110
+ * @param adapter - 适配器工厂函数
111
+ * @returns 返回 RxDB 实例,支持链式调用
112
+ */
113
+ adapter<K extends keyof RxDBAdapters>(adapterName: K, adapter: AdapterFactory): this;
43
114
  /**
44
115
  * 安装插件
116
+ * @param plugin - 插件构造函数
117
+ * @param options - 插件选项
118
+ * @returns 返回 RxDB 实例,支持链式调用
45
119
  */
46
120
  use<Options = any>(plugin: Plugin<Options>, options?: Options): this;
121
+ /**
122
+ * 获取适配器实例
123
+ * @param adapterName - 适配器名称
124
+ * @returns 返回适配器实例的 Promise
125
+ * @throws 当适配器未注册时抛出错误
126
+ */
127
+ getAdapter<K extends keyof RxDBAdapters>(adapterName: K): Promise<RxDBAdapters[K]>;
128
+ /**
129
+ * 获取 Repository 配置
130
+ *
131
+ * @param repositoryName - Repository 名称
132
+ * @returns Repository 配置对象,如果不存在返回 undefined
133
+ */
134
+ getRepositoryConfig(repositoryName: string): IRepositoryConfig<Repository<any, import('../packages/rxdb/src/index.ts').IRepository<any>>> | undefined;
47
135
  /**
48
136
  * 连接适配器
137
+ * @param adapterName - 适配器名称
138
+ * @returns 返回连接的适配器实例
49
139
  */
50
- connect<K extends keyof RxDBAdapters>(adapterName: K): Observable<IRxDBAdapter>;
140
+ connect<K extends keyof RxDBAdapters>(adapterName: K): Promise<RxDBAdapters[K]>;
51
141
  /**
52
- * 断开适配器
53
- * @param adapterName 适配器注册名称
142
+ * 断开适配器连接
143
+ * @param adapterName - 适配器名称
54
144
  */
55
- disconnect<K extends keyof RxDBAdapters>(adapterName: K): Observable<void>;
145
+ disconnect<K extends keyof RxDBAdapters>(adapterName: K): Promise<void>;
56
146
  /**
57
- * 断开所有适配器
147
+ * 断开所有适配器连接
58
148
  */
59
- disconnectAll(): Observable<void[]>;
149
+ disconnectAll(): Promise<void>;
60
150
  /**
61
151
  * 监听事件
62
- * @param type
63
- * @param listener
152
+ * @param type - 事件类型
153
+ * @param listener - 事件监听器函数
64
154
  */
65
155
  addEventListener<T extends keyof RxDBEventMap>(type: T, listener: EventListener<RxDBEventMap[T]>): void;
66
156
  /**
67
- * 移除事件
68
- * @param type
69
- * @param listener
157
+ * 移除事件监听器
158
+ * @param type - 事件类型
159
+ * @param listener - 要移除的事件监听器函数
70
160
  */
71
161
  removeEventListener<T extends keyof RxDBEventMap>(type: T, listener: EventListener<RxDBEventMap[T]>): void;
72
162
  /**
73
163
  * 派发事件
74
- * @param event
164
+ * @param event - 要派发的事件对象
75
165
  */
76
166
  dispatchEvent(event: RxDBEvent): void;
77
167
  }
168
+ declare module '../packages/rxdb/src/index.ts' {
169
+ interface RxDB {
170
+ RxDBChange: typeof RxDBChange;
171
+ RxDBBranch: typeof RxDBBranch;
172
+ RxDBMigration: typeof RxDBMigration;
173
+ }
174
+ }
78
175
  export {};
79
176
  //# sourceMappingURL=RxDB.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RxDB.d.ts","sourceRoot":"","sources":["../src/RxDB.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,UAAU,EAIX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAEL,SAAS,EACT,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAE3C,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B;;GAEG;AACH,qBAAa,IAAI;;IAkBf;;OAEG;IACH,SAAgB,aAAa,EAAG,aAAa,CAAC;IAE9C;;OAEG;IACH,SAAgB,aAAa,EAAG,aAAa,CAAC;IAE9C;;OAEG;IACH,SAAgB,cAAc,EAAG,cAAc,CAAC;IAEhD;;OAEG;IACH,IAAI,OAAO,IAGU,WAAW,CAD/B;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,EAE/B;IAED,SAAgB,OAAO,EAAE,UAAU,CAAC;gBAExB,OAAO,EAAE,WAAW;IA2BhC;;OAEG;IACI,OAAO,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAM3F;;OAEG;IACI,UAAU,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAsB5F;;OAEG;IACI,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO;IAWpE;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC;IAyBpD;;;OAGG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC;IAIvD;;OAEG;IACH,aAAa;IAMb;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvG;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAI1G;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAmBtC"}
1
+ {"version":3,"file":"RxDB.d.ts","sourceRoot":"","sources":["../src/RxDB.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RxDBError.d.ts","sourceRoot":"","sources":["../src/RxDBError.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAK5B"}
1
+ {"version":3,"file":"RxDBError.d.ts","sourceRoot":"","sources":["../src/RxDBError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAK5B"}
@@ -1,5 +1,5 @@
1
- import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
2
1
  import { AbstractEntityType, EntityType } from './entity.interface.js';
2
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
3
3
  /**
4
4
  * 实体装饰器
5
5
  * 用于将类标记为 RxDB 实体,并处理元数据、代理和生命周期
@@ -1 +1 @@
1
- {"version":3,"file":"@Entity.d.ts","sourceRoot":"","sources":["../../src/entity/@Entity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIvE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GAChB,iBAAiB,qBAAqB,MACtC,CAAC,SAAS,UAAU,GAAG,kBAAkB,EAAE,QAAQ,CAAC,KAAG,GAuCvD,CAAC"}
1
+ {"version":3,"file":"@Entity.d.ts","sourceRoot":"","sources":["../../src/entity/@Entity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GAChB,iBAAiB,qBAAqB,MACtC,CAAC,SAAS,UAAU,GAAG,kBAAkB,EAAE,QAAQ,CAAC,KAAG,GAuCvD,CAAC"}
@@ -1,26 +1,7 @@
1
- import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
1
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
2
2
  /**
3
3
  * 树形实体装饰器
4
4
  * 用于将类标记为树形结构实体,并处理树形特定的元数据
5
- *
6
- * 该装饰器基于基础的 Entity 装饰器,但添加了树形结构特定的处理:
7
- * 1. 设置默认仓库为 TreeRepository
8
- * 2. 处理树形结构特定的元数据
9
- * 3. 支持树形结构的查询和操作
10
- *
11
- * 树形实体通常包含以下关系:
12
- * - parent: 指向父节点的关系
13
- * - children: 指向子节点的关系集合
14
- *
15
- * @example
16
- * ```typescript
17
- * @TreeEntity({
18
- * name: 'Category',
19
- * treeType: 'adjacency-list'
20
- * })
21
- * class Category extends TreeAdjacencyListEntityBase {
22
- * }
23
- * ```
24
5
  */
25
- export declare const TreeEntity: (metadataOptions: EntityMetadataOptions) => <T extends import('@aiao/rxdb').EntityType | import('@aiao/rxdb').AbstractEntityType>(target: T) => any;
6
+ export declare const TreeEntity: (metadataOptions: EntityMetadataOptions) => <T extends import('../../packages/rxdb/src/index.ts').EntityType | import('../../packages/rxdb/src/index.ts').AbstractEntityType>(target: T) => any;
26
7
  //# sourceMappingURL=@TreeEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"@TreeEntity.d.ts","sourceRoot":"","sources":["../../src/entity/@TreeEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,GAAI,iBAAiB,qBAAqB,4GAUhE,CAAC"}
1
+ {"version":3,"file":"@TreeEntity.d.ts","sourceRoot":"","sources":["../../src/entity/@TreeEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,iBAAiB,qBAAqB,4GAchE,CAAC"}
@@ -1,5 +1,7 @@
1
- import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
1
+ import { Observable } from 'rxjs';
2
+ import { CountOptions, FindAllOptions, FindByCursorOptions, FindOneOptions, FindOneOrFailOptions, FindOptions } from '../repository/query-options.interface.js';
2
3
  import { IEntity, UUID } from './entity.interface.js';
4
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
3
5
  export declare const ENTITY_BASE_METADATA_OPTIONS: EntityMetadataOptions;
4
6
  /**
5
7
  * 实体基类装饰器配置
@@ -21,11 +23,6 @@ export declare abstract class EntityBase implements IEntity {
21
23
  * 实体创建或更新时自动设置为当前时间
22
24
  */
23
25
  readonly updatedAt: Date;
24
- /**
25
- * 删除时间
26
- * 实体被软删除时设置为当前时间,否则为null
27
- */
28
- readonly removedAt?: Date | null;
29
26
  /**
30
27
  * 创建者ID
31
28
  * 记录创建此实体的用户ID
@@ -37,16 +34,67 @@ export declare abstract class EntityBase implements IEntity {
37
34
  */
38
35
  readonly updatedBy?: UUID | null;
39
36
  /**
40
- * 删除者ID
41
- * 记录删除此实体的用户ID
37
+ * 根据 id 获取实体
38
+ * @param id - 实体的唯一标识符
39
+ * @returns Observable 包装的实体实例
40
+ */
41
+ static get: <T extends EntityBase>(this: new () => T, id: UUID) => Observable<T>;
42
+ /**
43
+ * 查找一个实体
44
+ * @param options - 查询选项,包含 where 条件
45
+ * @returns Observable 包装的实体实例或 null
46
+ */
47
+ static findOne: <T extends EntityBase>(this: new () => T, options: FindOneOptions<new () => T>) => Observable<T | null>;
48
+ /**
49
+ * 查找一个实体,查不到就抛出错误
50
+ * @param options - 查询选项,包含 where 条件
51
+ * @returns Observable 包装的实体实例
42
52
  */
43
- readonly removedBy?: UUID | null;
53
+ static findOneOrFail: <T extends EntityBase>(this: new () => T, options: FindOneOrFailOptions<new () => T>) => Observable<T>;
54
+ /**
55
+ * 查询多个实体
56
+ * @param options - 查询选项,包含 where 条件、limit、offset 等
57
+ * @returns Observable 包装的实体实例数组
58
+ */
59
+ static find: <T extends EntityBase>(this: new () => T, options: FindOptions<new () => T>) => Observable<T[]>;
60
+ /**
61
+ * 查询所有实体
62
+ * @param options - 查询选项,包含 where 条件和排序(不限制数量)
63
+ * @returns Observable 包装的实体实例数组
64
+ */
65
+ static findAll: <T extends EntityBase>(this: new () => T, options: FindAllOptions<new () => T>) => Observable<T[]>;
66
+ /**
67
+ * 通过游标进行分页查询
68
+ * @param options - 游标分页选项,包含 orderBy、before/after 游标
69
+ * @returns Observable 包装的实体实例数组
70
+ */
71
+ static findByCursor: <T extends EntityBase>(this: new () => T, options: FindByCursorOptions<new () => T>) => Observable<T[]>;
72
+ /**
73
+ * 查询实体数量
74
+ * @param options - 查询选项,包含 where 条件
75
+ * @returns Observable 包装的数量
76
+ */
77
+ static count: <T extends EntityBase>(this: new () => T, options: CountOptions<new () => T>) => Observable<number>;
78
+ /**
79
+ * 删除
80
+ */
81
+ remove: () => Promise<any>;
82
+ /**
83
+ * 重置数据
84
+ */
85
+ reset: () => void;
86
+ /**
87
+ * 保存
88
+ */
89
+ save: () => Promise<any>;
44
90
  /**
45
91
  * 实体基类构造函数
46
92
  * 子类会通过 Entity 装饰器增强此构造函数
47
93
  *
48
- * @param initData - 可选的初始化数据
94
+ * @param _initData - 可选的初始化数据
49
95
  */
50
- constructor(initData?: any);
96
+ constructor(_initData?: any);
97
+ }
98
+ export declare class Todo extends EntityBase {
51
99
  }
52
100
  //# sourceMappingURL=EntityBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/EntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,qBAAqB,EAAgB,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAO,MAAM,4BAA4B,EAAE,qBAiDjC,CAAC;AAEX;;;GAGG;AACH,8BAiBsB,UAAW,YAAW,OAAO;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAG,IAAI,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;;;OAKG;gBAES,QAAQ,CAAC,EAAE,GAAG;CAC3B"}
1
+ {"version":3,"file":"EntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/EntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAgB,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,4BAA4B,EAAE,qBAqCjC,CAAC;AAEX;;;GAGG;AACH,8BAiBsB,UAAW,YAAW,OAAO;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAG,IAAI,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;;OAIG;IACH,OAAe,GAAG,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;IAEzF;;;;OAIG;IACH,OAAe,OAAO,EAAE,CAAC,CAAC,SAAS,UAAU,EAC3C,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,KACjC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1B;;;;OAIG;IACH,OAAe,aAAa,EAAE,CAAC,CAAC,SAAS,UAAU,EACjD,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,KACvC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEnB;;;;OAIG;IACH,OAAe,IAAI,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErH;;;;OAIG;IACH,OAAe,OAAO,EAAE,CAAC,CAAC,SAAS,UAAU,EAC3C,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,KACjC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErB;;;;OAIG;IACH,OAAe,YAAY,EAAE,CAAC,CAAC,SAAS,UAAU,EAChD,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,KACtC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErB;;;;OAIG;IACH,OAAe,KAAK,EAAE,CAAC,CAAC,SAAS,UAAU,EACzC,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,KAC/B,UAAU,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACK,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC;;OAEG;IACK,KAAK,EAAE,MAAM,IAAI,CAAC;IAC1B;;OAEG;IACK,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC;;;;;OAKG;gBAES,SAAS,CAAC,EAAE,GAAG;CAG5B;AAED,qBAOa,IAAK,SAAQ,UAAU;CAAG"}
@@ -1,7 +1,8 @@
1
1
  import { Repository } from '../repository/Repository.js';
2
+ import { RxDBMutationsMap } from '../rxdb-adapter.js';
2
3
  import { RxDB } from '../RxDB.js';
3
- import { EntityStaticType, EntityType, RowId } from './entity.interface.js';
4
- import { EntityStatusOptions } from './EntityStatus.js';
4
+ import { EntityStaticType, EntityType, EntityUpdateData } from './entity.interface.js';
5
+ import { EntityStatusOptions } from './EntityStatus.interface.js';
5
6
  /**
6
7
  * 实体管理器
7
8
  *
@@ -29,6 +30,11 @@ export declare class EntityManager {
29
30
  * @param rxdb - RxDB实例,提供数据库访问和事件分发
30
31
  */
31
32
  constructor(rxdb: RxDB);
33
+ init(): void;
34
+ /**
35
+ * 清理所有缓存
36
+ */
37
+ cleanAllCache(): void;
32
38
  /**
33
39
  * 创建实体引用
34
40
  * 根据提供的数据创建或获取实体实例,并设置其状态
@@ -40,9 +46,7 @@ export declare class EntityManager {
40
46
  * @param [status] - 可选的实体状态配置
41
47
  * @returns 创建或获取的实体实例
42
48
  */
43
- createEntityRef<T extends EntityType>(EntityType: T, data: Partial<InstanceType<T>> & {
44
- id: EntityStaticType<T, 'idType'>;
45
- }, status?: EntityStatusOptions<T>): any;
49
+ createEntityRef<T extends EntityType>(EntityType: T, data: EntityUpdateData<T>, status?: EntityStatusOptions<T>): any;
46
50
  /**
47
51
  * 获取实体引用
48
52
  * 从缓存中获取指定ID的实体实例
@@ -50,16 +54,9 @@ export declare class EntityManager {
50
54
  * @template T 实体类型
51
55
  * @param EntityType - 实体类型
52
56
  * @param id - 实体ID
53
- * @returns 实体实例,如果不存在则返回undefined
57
+ * @returns 实体实例,如果不存在则返回 undefined
54
58
  */
55
59
  getEntityRef<T extends EntityType>(EntityType: T, id: EntityStaticType<T, 'idType'>): InstanceType<T> | undefined;
56
- /**
57
- * 根据数据库行ID获取实体
58
- * @param EntityType
59
- * @param rowId
60
- * @returns
61
- */
62
- getEntityByRowId<T extends EntityType>(EntityType: T, rowId: RowId): InstanceType<T> | undefined;
63
60
  /**
64
61
  * 检查实体是否在缓存中
65
62
  * 判断指定ID的实体是否已在缓存中初始化
@@ -67,7 +64,7 @@ export declare class EntityManager {
67
64
  * @template T 实体类型
68
65
  * @param EntityType - 实体类型
69
66
  * @param id - 实体ID
70
- * @returns 如果实体在缓存中存在则返回true
67
+ * @returns 如果实体在缓存中存在则返回 true
71
68
  */
72
69
  hasEntityRef<T extends EntityType>(EntityType: T, id: EntityStaticType<T, 'idType'>): boolean;
73
70
  /**
@@ -86,15 +83,6 @@ export declare class EntityManager {
86
83
  * @param entity - 要移除的实体实例
87
84
  */
88
85
  removeEntityCache<T extends EntityType>(entity: InstanceType<T>): void;
89
- /**
90
- * 更新实体的行ID映射
91
- * 建立数据库行ID到实体UUID的映射关系
92
- *
93
- * @template T 实体类型
94
- * @param entity - 实体实例
95
- * @param rowId - 数据库行ID
96
- */
97
- updateEntityRowId<T extends EntityType>(entity: InstanceType<T>, rowId: RowId): void;
98
86
  /**
99
87
  * 保存实体
100
88
  * 根据实体状态决定是创建新实体还是更新现有实体
@@ -110,13 +98,18 @@ export declare class EntityManager {
110
98
  * @param entities
111
99
  * @returns
112
100
  */
113
- saveMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<InstanceType<T>[]>;
101
+ saveMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<any[]>;
114
102
  /**
115
103
  * 批量删除
116
104
  * @param entities
117
105
  * @returns
118
106
  */
119
- removeMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<InstanceType<T>[]>;
107
+ removeMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<any[]>;
108
+ /**
109
+ * 批量修改实体(创建/更新/删除)
110
+ * @param options 批量修改选项
111
+ */
112
+ mutations(options: RxDBMutationsMap<any>): Promise<any[]>;
120
113
  /**
121
114
  * 删除实体
122
115
  * 从数据库中删除实体,并分发相关事件
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../src/entity/EntityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../src/entity/EntityManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKlE;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;;aAwBI,IAAI,EAAE,IAAI;IAVtC;;;;;;;;;OASG;gBACyB,IAAI,EAAE,IAAI;IAoBtC,IAAI;IA8DJ;;OAEG;IACH,aAAa;IAKb;;;;;;;;;;OAUG;IACH,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAc/G;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS;IAIjH;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO;IAI7F;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAI5D;;;;;;OAMG;IACH,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAI/D;;;;;;;;OAQG;IACG,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IA4BnF;;;;OAIG;IACG,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;IAShE;;;;OAIG;IACG,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;IAQlE;;;OAGG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAK9C;;;;;;;;OAQG;IACG,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMnF;;OAEG;IACG,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAOvD;;;;;;;;OAQG;IACG,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMnF;;;;;;;;OAQG;IACG,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAUnF;;;;;;;OAOG;IACH,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE;CA4DjF"}