@aiao/rxdb 0.0.7 → 0.0.9

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 (65) hide show
  1. package/dist/RxDB.d.ts +5 -0
  2. package/dist/RxDB.d.ts.map +1 -1
  3. package/dist/RxDBError.d.ts +7 -0
  4. package/dist/RxDBError.d.ts.map +1 -1
  5. package/dist/entity/@Entity.d.ts +1 -1
  6. package/dist/entity/@Entity.d.ts.map +1 -1
  7. package/dist/entity/@TreeEntity.d.ts +1 -1
  8. package/dist/entity/@TreeEntity.d.ts.map +1 -1
  9. package/dist/entity/EntityStatus.d.ts.map +1 -1
  10. package/dist/entity/EntityStatus.interface.d.ts +2 -2
  11. package/dist/entity/EntityStatus.interface.d.ts.map +1 -1
  12. package/dist/entity/entity.interface.d.ts +5 -0
  13. package/dist/entity/entity.interface.d.ts.map +1 -1
  14. package/dist/entity/entity.utils.d.ts +3 -3
  15. package/dist/entity/entity.utils.d.ts.map +1 -1
  16. package/dist/entity/metadata-options.interface.d.ts +62 -11
  17. package/dist/entity/metadata-options.interface.d.ts.map +1 -1
  18. package/dist/index.d.ts +5 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3375 -1904
  21. package/dist/repository/QueryCacheRepository.d.ts +222 -0
  22. package/dist/repository/QueryCacheRepository.d.ts.map +1 -0
  23. package/dist/repository/QueryManager.d.ts +6 -5
  24. package/dist/repository/QueryManager.d.ts.map +1 -1
  25. package/dist/repository/QueryTask.d.ts +8 -7
  26. package/dist/repository/QueryTask.d.ts.map +1 -1
  27. package/dist/repository/diff-metadata.d.ts +41 -0
  28. package/dist/repository/diff-metadata.d.ts.map +1 -0
  29. package/dist/repository/query-options.interface.d.ts +6 -6
  30. package/dist/repository/query-options.interface.d.ts.map +1 -1
  31. package/dist/repository/query.interface.d.ts +2 -2
  32. package/dist/repository/query.interface.d.ts.map +1 -1
  33. package/dist/repository/tree-repository.interface.d.ts +1 -1
  34. package/dist/repository/tree-repository.interface.d.ts.map +1 -1
  35. package/dist/rxdb-adapter.d.ts +97 -2
  36. package/dist/rxdb-adapter.d.ts.map +1 -1
  37. package/dist/rxdb-events.d.ts +10 -3
  38. package/dist/rxdb-events.d.ts.map +1 -1
  39. package/dist/system/branch.d.ts +4 -3
  40. package/dist/system/branch.d.ts.map +1 -1
  41. package/dist/system/change.d.ts +2 -2
  42. package/dist/system/change.d.ts.map +1 -1
  43. package/dist/system/{repository-sync.d.ts → sync.d.ts} +15 -13
  44. package/dist/system/sync.d.ts.map +1 -0
  45. package/dist/system/system.interface.d.ts +2 -2
  46. package/dist/system/system.interface.d.ts.map +1 -1
  47. package/dist/system/types.d.ts +19 -19
  48. package/dist/system/types.d.ts.map +1 -1
  49. package/dist/system/types.local.d.ts +17 -17
  50. package/dist/system/types.local.d.ts.map +1 -1
  51. package/dist/version/HistoryManager.d.ts.map +1 -1
  52. package/dist/version/VersionManager.d.ts +25 -0
  53. package/dist/version/VersionManager.d.ts.map +1 -1
  54. package/dist/version/VersionManager.interface.d.ts +1 -2
  55. package/dist/version/VersionManager.interface.d.ts.map +1 -1
  56. package/dist/version/check-repository-updates.d.ts.map +1 -1
  57. package/dist/version/cleanup-expired.d.ts +56 -0
  58. package/dist/version/cleanup-expired.d.ts.map +1 -0
  59. package/dist/version/pull-repository.d.ts +17 -0
  60. package/dist/version/pull-repository.d.ts.map +1 -1
  61. package/dist/version/push-repository.d.ts.map +1 -1
  62. package/dist/version/sync-type-utils.d.ts +11 -1
  63. package/dist/version/sync-type-utils.d.ts.map +1 -1
  64. package/package.json +5 -2
  65. package/dist/system/repository-sync.d.ts.map +0 -1
@@ -0,0 +1,222 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EntityType } from '../entity/entity.interface.js';
3
+ import { QueryCacheEntityMetadata } from '../entity/metadata-options.interface.js';
4
+ import { RuleGroup } from './query.interface.js';
5
+ /**
6
+ * QueryCache 实体约束接口
7
+ *
8
+ * 所有使用 QueryCache 同步策略的实体必须包含这两个字段
9
+ */
10
+ export interface QueryCacheEntity {
11
+ /** 实体唯一标识 */
12
+ id: string;
13
+ /** 最后更新时间 (ISO 8601 格式) */
14
+ updatedAt: string;
15
+ }
16
+ /**
17
+ * QueryCache 适配器接口(远程)
18
+ */
19
+ export interface QueryCacheRemoteAdapter {
20
+ /** 获取满足查询条件的实体元数据 */
21
+ fetchMetadata(entityName: string, query: RuleGroup<any>): Observable<QueryCacheEntityMetadata[]>;
22
+ /** 按 ID 批量获取完整数据 */
23
+ findByIds<T>(entityName: string, ids: string[]): Observable<T[]>;
24
+ /** 创建实体(可选 - 写操作需要) */
25
+ create?<T>(entityName: string, data: T): Observable<T>;
26
+ /** 更新实体(可选 - 写操作需要) */
27
+ update?<T>(entityName: string, id: string, data: Partial<T>): Observable<T>;
28
+ /** 删除实体(可选 - 写操作需要) */
29
+ delete?(entityName: string, ids: string | string[]): Observable<void>;
30
+ }
31
+ /**
32
+ * QueryCache 适配器接口(本地)
33
+ */
34
+ export interface QueryCacheLocalAdapter {
35
+ /** 获取指定 ID 的本地元数据 */
36
+ getMetadataByIds(entityName: string, ids: string[]): Observable<Map<string, string>>;
37
+ /** 批量写入/更新数据 */
38
+ upsertMany<T>(entityName: string, data: T[]): Observable<void>;
39
+ /** 批量删除数据 */
40
+ deleteByIds(entityName: string, ids: string[]): Observable<void>;
41
+ /** 按 ID 获取完整数据 */
42
+ findByIds?<T>(entityName: string, ids: string[]): Observable<T[]>;
43
+ /** 获取所有本地缓存数据(SWR 模式需要) */
44
+ findAll?<T>(entityName: string): Observable<T[]>;
45
+ }
46
+ /**
47
+ * 查询选项
48
+ */
49
+ export interface QueryCacheFindOptions<T> {
50
+ /** 查询条件 */
51
+ where: RuleGroup<T>;
52
+ /** 同步完成回调,用于获取性能统计信息 */
53
+ onSyncStats?: (stats: SyncStats) => void;
54
+ /**
55
+ * 本地缓存优先模式 (Stale-While-Revalidate)
56
+ *
57
+ * 当设置为 true 时:
58
+ * 1. 立即返回本地缓存数据(如果存在)
59
+ * 2. 后台异步验证并更新
60
+ * 3. 如果数据有变化,发射更新后的数据
61
+ *
62
+ * @default false
63
+ */
64
+ localCacheFirst?: boolean;
65
+ /**
66
+ * 离线降级模式
67
+ *
68
+ * 当设置为 true 时:
69
+ * - 网络错误时返回本地缓存数据
70
+ * - 如果没有本地缓存,抛出 NetworkOfflineError
71
+ *
72
+ * @default false
73
+ */
74
+ offlineFallback?: boolean;
75
+ }
76
+ /**
77
+ * 同步统计信息
78
+ */
79
+ export interface SyncStats {
80
+ /** 远程元数据数量 */
81
+ remoteCount: number;
82
+ /** 缺失数量(需要拉取) */
83
+ missingCount: number;
84
+ /** 过时数量(需要更新) */
85
+ staleCount: number;
86
+ /** 新鲜数量(无需同步) */
87
+ freshCount: number;
88
+ /** 孤儿数量(本地有远程无) */
89
+ orphanCount: number;
90
+ /** 实际拉取数量 */
91
+ pulledCount: number;
92
+ /** 耗时(毫秒) */
93
+ durationMs: number;
94
+ }
95
+ /**
96
+ * QueryCache 同步策略仓库
97
+ *
98
+ * @typeParam T - 实体类型
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * const repo = new QueryCacheRepository('Product', remoteAdapter, localAdapter);
103
+ *
104
+ * // 查询 - 自动增量同步
105
+ * const products = await firstValueFrom(repo.find({ where: { combinator: 'and', rules: [] } }));
106
+ *
107
+ * // 单个查询
108
+ * const product = await firstValueFrom(repo.findById('product-123'));
109
+ * ```
110
+ */
111
+ export declare class QueryCacheRepository<T extends EntityType = EntityType> {
112
+ #private;
113
+ private readonly remoteAdapter;
114
+ private readonly localAdapter;
115
+ /** 实体名称 */
116
+ readonly entityName: string;
117
+ constructor(entityName: string, remoteAdapter: QueryCacheRemoteAdapter, localAdapter: QueryCacheLocalAdapter);
118
+ /**
119
+ * 查询实体列表
120
+ *
121
+ * 执行 QueryCache 同步流程:
122
+ * 1. fetchMetadata → 获取远程元数据
123
+ * 2. getMetadataByIds → 获取本地元数据
124
+ * 3. diffMetadata → 对比得出需要拉取的 ID
125
+ * 4. findByIds → 只拉取 missing + stale
126
+ * 5. upsertMany → 写入本地缓存
127
+ * 6. 返回合并结果
128
+ *
129
+ * 当 `localCacheFirst: true` 时 (SWR 模式):
130
+ * 1. 立即返回本地缓存(如果有)
131
+ * 2. 后台执行上述同步流程
132
+ * 3. 如果数据有变化,发射更新后的结果
133
+ *
134
+ * @param options - 查询选项
135
+ * @returns Observable<InstanceType<T>[]>
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * repo.find({ where: { combinator: 'and', rules: [{ field: 'status', operator: 'eq', value: 'active' }] } })
140
+ * .subscribe(products => console.log(products));
141
+ *
142
+ * // SWR 模式
143
+ * repo.find({ where: { ... }, localCacheFirst: true })
144
+ * .subscribe(products => {
145
+ * // 第一次发射:本地缓存(立即)
146
+ * // 第二次发射:远程更新后数据(如果有变化)
147
+ * });
148
+ * ```
149
+ */
150
+ find(options: QueryCacheFindOptions<T>): Observable<InstanceType<T>[]>;
151
+ /**
152
+ * 按 ID 查询单个实体
153
+ *
154
+ * @param id - 实体 ID
155
+ * @returns Observable<InstanceType<T> | null>
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * repo.findById('product-123')
160
+ * .subscribe(product => console.log(product));
161
+ * ```
162
+ */
163
+ findById(id: string): Observable<InstanceType<T> | null>;
164
+ /**
165
+ * 创建实体
166
+ *
167
+ * 执行远程优先写入策略:
168
+ * 1. 写入远程数据库
169
+ * 2. 远程成功后,将返回数据缓存到本地
170
+ * 3. 返回服务器生成的完整实体(可能包含服务器生成的 id/updatedAt)
171
+ *
172
+ * @param data - 要创建的实体数据
173
+ * @returns Observable<InstanceType<T>> - 创建成功的实体
174
+ * @throws 远程写入失败时抛出错误,本地不写入
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * repo.create({ name: 'New Product', price: 99 })
179
+ * .subscribe(product => console.log('Created:', product.id));
180
+ * ```
181
+ */
182
+ create(data: Partial<InstanceType<T>>): Observable<InstanceType<T>>;
183
+ /**
184
+ * 更新实体
185
+ *
186
+ * 执行远程优先写入策略:
187
+ * 1. 更新远程数据库
188
+ * 2. 远程成功后,将返回数据缓存到本地(使用服务器返回的最新 updatedAt)
189
+ * 3. 返回更新后的完整实体
190
+ *
191
+ * @param id - 实体 ID
192
+ * @param data - 要更新的字段
193
+ * @returns Observable<InstanceType<T>> - 更新成功的实体
194
+ * @throws 远程更新失败时抛出错误,本地不更新
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * repo.update('product-123', { price: 199 })
199
+ * .subscribe(product => console.log('Updated:', product.updatedAt));
200
+ * ```
201
+ */
202
+ update(id: string, data: Partial<InstanceType<T>>): Observable<InstanceType<T>>;
203
+ /**
204
+ * 删除实体
205
+ *
206
+ * 执行远程优先写入策略:
207
+ * 1. 从远程数据库删除
208
+ * 2. 远程成功后,从本地缓存删除
209
+ *
210
+ * @param ids - 要删除的实体 ID 或 ID 数组
211
+ * @returns Observable<void>
212
+ * @throws 远程删除失败时抛出错误,本地不删除
213
+ *
214
+ * @example
215
+ * ```typescript
216
+ * repo.delete('product-123').subscribe(() => console.log('Deleted'));
217
+ * repo.delete(['p1', 'p2', 'p3']).subscribe(() => console.log('Batch deleted'));
218
+ * ```
219
+ */
220
+ delete(ids: string | string[]): Observable<void>;
221
+ }
222
+ //# sourceMappingURL=QueryCacheRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryCacheRepository.d.ts","sourceRoot":"","sources":["../../src/repository/QueryCacheRepository.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,13 @@ import { Observable } from 'rxjs';
2
2
  import { EntityType } from '../entity/entity.interface.js';
3
3
  import { RxDBEntityLocalCreatedEventData, RxDBEntityLocalRemovedEventData, RxDBEntityLocalUpdatedEventData } from '../rxdb-events.js';
4
4
  import { RxDB } from '../RxDB.js';
5
+ import { Fingerprint } from './fingerprint.utils.js';
5
6
  import { QueryOptions } from './QueryManager.interface.js';
6
7
  import { QueryTask } from './QueryTask.js';
7
8
  import { Repository } from './Repository.js';
8
- export type MergeQueryTaskCreateFn<T extends EntityType = any> = (task: QueryTask<T>, entities: RxDBEntityLocalCreatedEventData<T>[]) => void;
9
- export type MergeQueryTaskUpdateFn<T extends EntityType = any> = (task: QueryTask<T>, entities: RxDBEntityLocalUpdatedEventData<T>[]) => void;
10
- export type MergeQueryTaskRemoveFn<T extends EntityType = any> = (task: QueryTask<T>, entities: RxDBEntityLocalRemovedEventData<T>[]) => void;
9
+ export type MergeQueryTaskCreateFn<T extends EntityType = EntityType> = (task: QueryTask<T>, entities: RxDBEntityLocalCreatedEventData<T>[]) => void;
10
+ export type MergeQueryTaskUpdateFn<T extends EntityType = EntityType> = (task: QueryTask<T>, entities: RxDBEntityLocalUpdatedEventData<T>[]) => void;
11
+ export type MergeQueryTaskRemoveFn<T extends EntityType = EntityType> = (task: QueryTask<T>, entities: RxDBEntityLocalRemovedEventData<T>[]) => void;
11
12
  interface CreateTaskOptions<T extends EntityType, RT> {
12
13
  /**
13
14
  * 查询选项
@@ -20,7 +21,7 @@ interface CreateTaskOptions<T extends EntityType, RT> {
20
21
  /**
21
22
  * 结果指纹计算方法
22
23
  */
23
- getFingerprint: (result: any) => any[];
24
+ getFingerprint: (result: RT) => Fingerprint[];
24
25
  }
25
26
  /**
26
27
  * 查询缓存管理器
@@ -60,7 +61,7 @@ export declare class QueryManager<T extends EntityType> {
60
61
  * @param taskOptions 查询任务选项
61
62
  * @returns 查询任务对象,包含 result$ 用于订阅查询结果
62
63
  */
63
- createTask<RT = any>(taskOptions: CreateTaskOptions<T, RT>): QueryTask<T>;
64
+ createTask<RT = unknown>(taskOptions: CreateTaskOptions<T, RT>): QueryTask<T, RT>;
64
65
  registerMergeCreateFn(taskType: string, fn: MergeQueryTaskCreateFn<T>): void;
65
66
  registerMergeUpdateFn(taskType: string, fn: MergeQueryTaskUpdateFn<T>): void;
66
67
  registerMergeRemoveFn(taskType: string, fn: MergeQueryTaskRemoveFn<T>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryManager.d.ts","sourceRoot":"","sources":["../../src/repository/QueryManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAIhE,OAAO,EAOL,+BAA+B,EAE/B,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,IAAI,CAC/D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAAE,KAC3C,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,IAAI,CAC/D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAAE,KAC3C,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,IAAI,CAC/D,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAAE,KAC3C,IAAI,CAAC;AAEV,UAAU,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE;IAClD;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IACtD;;OAEG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU;;IAkB1C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI;IAC7B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAV9C;;;;;;OAMG;gBAEkB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAQ9C;;;;;;;;;;OAUG;IACI,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAehF,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAIrE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAIrE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;CAmKtE"}
1
+ {"version":3,"file":"QueryManager.d.ts","sourceRoot":"","sources":["../../src/repository/QueryManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAIhE,OAAO,EAOL,+BAA+B,EAE/B,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,CACtE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAAE,KAC3C,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,CACtE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAAE,KAC3C,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,CACtE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAAE,KAC3C,IAAI,CAAC;AAEV,UAAU,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE;IAClD;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IACtD;;OAEG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,WAAW,EAAE,CAAC;CAC/C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU;;IAkB1C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI;IAC7B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAV9C;;;;;;OAMG;gBAEkB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAQ9C;;;;;;;;;;OAUG;IACI,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IAexF,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAIrE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAIrE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;CAkKtE"}
@@ -2,11 +2,12 @@ import { Observable, Observer } from 'rxjs';
2
2
  import { EntityStaticType, EntityType } from '../entity/entity.interface.js';
3
3
  import { RxDBEntityLocalEventData } from '../rxdb-events.js';
4
4
  import { RxDB } from '../RxDB.js';
5
+ import { Fingerprint } from './fingerprint.utils.js';
5
6
  import { QueryOptions } from './QueryManager.interface.js';
6
7
  /**
7
8
  * 查询任务选项接口
8
9
  */
9
- export interface QueryTaskOptions<T extends EntityType> {
10
+ export interface QueryTaskOptions<T extends EntityType, RT> {
10
11
  /**
11
12
  * 缓存键
12
13
  */
@@ -18,7 +19,7 @@ export interface QueryTaskOptions<T extends EntityType> {
18
19
  /**
19
20
  * 查询执行函数
20
21
  */
21
- runner: () => Observable<any>;
22
+ runner: () => Observable<RT>;
22
23
  /**
23
24
  * 实体类型
24
25
  */
@@ -42,7 +43,7 @@ export interface QueryTaskOptions<T extends EntityType> {
42
43
  /**
43
44
  * 结果指纹计算方法
44
45
  */
45
- getFingerprint: (result: any) => any[];
46
+ getFingerprint: (result: RT) => Fingerprint[];
46
47
  }
47
48
  /**
48
49
  * 查询任务实现
@@ -53,7 +54,7 @@ export interface QueryTaskOptions<T extends EntityType> {
53
54
  * - 维护实体类型依赖关系
54
55
  * - 提供任务的首次运行和清理机制
55
56
  */
56
- export declare class QueryTask<T extends EntityType, RT = any> {
57
+ export declare class QueryTask<T extends EntityType, RT = unknown> {
57
58
  #private;
58
59
  private readonly runner;
59
60
  private readonly onClean;
@@ -61,7 +62,7 @@ export declare class QueryTask<T extends EntityType, RT = any> {
61
62
  * 观察者集合
62
63
  * 存储所有订阅此查询结果的观察者
63
64
  */
64
- readonly observers: Set<Observer<any>>;
65
+ readonly observers: Set<Observer<RT>>;
65
66
  readonly serialize: (data: RxDBEntityLocalEventData<T>) => InstanceType<T>;
66
67
  readonly cacheKey: string;
67
68
  readonly entityType: T;
@@ -117,13 +118,13 @@ export declare class QueryTask<T extends EntityType, RT = any> {
117
118
  /**
118
119
  * 结果指纹计算方法
119
120
  */
120
- getFingerprint: (result: any) => (string | number)[];
121
+ getFingerprint: (result: RT) => Fingerprint[];
121
122
  /**
122
123
  * 查询结果流
123
124
  * 通过 Observable 发送查询结果的响应式流
124
125
  */
125
126
  result$: Observable<RT>;
126
- constructor(opt: QueryTaskOptions<T>);
127
+ constructor(opt: QueryTaskOptions<T, RT>);
127
128
  /**
128
129
  * 清理任务资源
129
130
  */
@@ -1 +1 @@
1
- {"version":3,"file":"QueryTask.d.ts","sourceRoot":"","sources":["../../src/repository/QueryTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryTask.d.ts","sourceRoot":"","sources":["../../src/repository/QueryTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { QueryCacheEntityMetadata } from '../entity/metadata-options.interface.js';
2
+ /**
3
+ * Diff result containing categorized entity IDs
4
+ */
5
+ export interface DiffResult {
6
+ /** IDs that exist in remote but not in local - need to fetch */
7
+ missingIds: string[];
8
+ /** IDs that exist in both but local is outdated - need to update */
9
+ staleIds: string[];
10
+ /** IDs that exist in both and local is up-to-date - skip fetch */
11
+ freshIds: string[];
12
+ /** IDs that exist in local but not in remote result set - may be deleted or out of filter */
13
+ orphanIds: string[];
14
+ }
15
+ /**
16
+ * Compare remote metadata with local metadata to determine sync actions
17
+ *
18
+ * Uses ISO 8601 timestamp comparison for freshness detection.
19
+ * All updatedAt values MUST be ISO 8601 strings (e.g., "2024-01-12T08:30:00.000Z").
20
+ * Time complexity: O(n) where n = max(remote.length, local.size)
21
+ *
22
+ * @param remoteMetadata - Metadata from remote adapter (id + updatedAt as ISO 8601)
23
+ * @param localMetadata - Map of id → updatedAt (ISO 8601) from local adapter
24
+ * @returns DiffResult with categorized IDs
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const diff = diffMetadata(
29
+ * [{ id: '1', updatedAt: '2024-01-02T00:00:00Z' }],
30
+ * new Map([['1', '2024-01-01T00:00:00Z']])
31
+ * );
32
+ * // diff.staleIds = ['1'] - remote is newer
33
+ * ```
34
+ *
35
+ * @remarks
36
+ * - ISO 8601 strings are lexicographically comparable ("2024-01-02" > "2024-01-01")
37
+ * - For non-ISO timestamps, convert to Date objects before calling this function
38
+ * - Timezone information is preserved in ISO 8601 format
39
+ */
40
+ export declare function diffMetadata(remoteMetadata: QueryCacheEntityMetadata[], localMetadata: Map<string, string>): DiffResult;
41
+ //# sourceMappingURL=diff-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-metadata.d.ts","sourceRoot":"","sources":["../../src/repository/diff-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAC1B,cAAc,EAAE,wBAAwB,EAAE,EAC1C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,UAAU,CAwCZ"}
@@ -16,21 +16,21 @@ export interface OrderBy<T extends string = string> {
16
16
  /**
17
17
  * FindOne 查询选项
18
18
  */
19
- export interface FindOneOptions<T extends EntityType = any, U = RuleGroup<InstanceType<T>>, W extends string = string> {
19
+ export interface FindOneOptions<T extends EntityType = EntityType, U = RuleGroup<InstanceType<T>>, W extends string = string> {
20
20
  where: U;
21
21
  orderBy?: OrderBy<W>[];
22
22
  }
23
23
  /**
24
24
  * FindOneOrFail 查询选项
25
25
  */
26
- export interface FindOneOrFailOptions<T extends EntityType = any, U = RuleGroup<InstanceType<T>>, W extends string = string> {
26
+ export interface FindOneOrFailOptions<T extends EntityType = EntityType, U = RuleGroup<InstanceType<T>>, W extends string = string> {
27
27
  where: U;
28
28
  orderBy?: OrderBy<W>[];
29
29
  }
30
30
  /**
31
31
  * Find 查询选项
32
32
  */
33
- export interface FindOptions<T extends EntityType = any, U = RuleGroup<InstanceType<T>>, W extends string = string> {
33
+ export interface FindOptions<T extends EntityType = EntityType, U = RuleGroup<InstanceType<T>>, W extends string = string> {
34
34
  where: U;
35
35
  orderBy?: OrderBy<W>[];
36
36
  /**
@@ -47,7 +47,7 @@ export interface FindOptions<T extends EntityType = any, U = RuleGroup<InstanceT
47
47
  /**
48
48
  * FindByCursor 查询选项
49
49
  */
50
- export interface FindByCursorOptions<T extends EntityType = any, U = RuleGroup<InstanceType<T>>, W extends string = string> {
50
+ export interface FindByCursorOptions<T extends EntityType = EntityType, U = RuleGroup<InstanceType<T>>, W extends string = string> {
51
51
  where: U;
52
52
  /**
53
53
  * 排序条件
@@ -81,7 +81,7 @@ export interface FindByCursorOptions<T extends EntityType = any, U = RuleGroup<I
81
81
  /**
82
82
  * FindAll 查询选项
83
83
  */
84
- export interface FindAllOptions<T extends EntityType = any, U = RuleGroup<InstanceType<T>>, W extends string = string> {
84
+ export interface FindAllOptions<T extends EntityType = EntityType, U = RuleGroup<InstanceType<T>>, W extends string = string> {
85
85
  /**
86
86
  * 查询条件
87
87
  * 用于过滤查询结果
@@ -112,7 +112,7 @@ export interface FindAllOptions<T extends EntityType = any, U = RuleGroup<Instan
112
112
  /**
113
113
  * Count 查询选项
114
114
  */
115
- export interface CountOptions<T extends EntityType = any, U = RuleGroup<InstanceType<T>>> {
115
+ export interface CountOptions<T extends EntityType = EntityType, U = RuleGroup<InstanceType<T>>> {
116
116
  where: U;
117
117
  groupBy?: string[];
118
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-options.interface.d.ts","sourceRoot":"","sources":["../../src/repository/query-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAChD;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC;IAET;;OAEG;IACH,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IACnH,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,CAAC,SAAS,UAAU,GAAG,GAAG,EAC1B,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAChH,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,UAAU,GAAG,GAAG,EAC1B,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB,KAAK,EAAE,CAAC,CAAC;IAET;;;;;;;;;;OAUG;IACH,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAExB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IACnH;;;;;;;;;;;;;;OAcG;IACH,KAAK,EAAE,CAAC,CAAC;IAET;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtF,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB"}
1
+ {"version":3,"file":"query-options.interface.d.ts","sourceRoot":"","sources":["../../src/repository/query-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAChD;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC;IAET;;OAEG;IACH,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACnC,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB,KAAK,EAAE,CAAC,CAAC;IAET;;;;;;;;;;OAUG;IACH,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAExB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB;;;;;;;;;;;;;;OAcG;IACH,KAAK,EAAE,CAAC,CAAC;IAET;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7F,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB"}
@@ -95,7 +95,7 @@ interface RuleExists<T, K extends StringKey<T> = StringKey<T>> {
95
95
  /**
96
96
  * 查询规则
97
97
  */
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>;
98
+ export type Rule<T = Record<string, 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>;
99
99
  /**
100
100
  * 查询规则组(基础)
101
101
  * 用于生成的类型文件,可以组合出更多复杂的类型
@@ -107,7 +107,7 @@ export interface RuleGroupBase<T, K, RT> {
107
107
  /**
108
108
  * 查询规则组(自动计算类型)
109
109
  */
110
- export type RuleGroup<T = any, K extends StringKey<T> = StringKey<T>, RT = Rule<T, K, T[K]>> = RuleGroupBase<T, K, RT>;
110
+ export type RuleGroup<T = Record<string, any>, K extends StringKey<T> = StringKey<T>, RT = Rule<T, K, T[K]>> = RuleGroupBase<T, K, RT>;
111
111
  /**
112
112
  * 所有操作符
113
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query.interface.d.ts","sourceRoot":"","sources":["../../src/repository/query.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.interface.d.ts","sourceRoot":"","sources":["../../src/repository/query.interface.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { IRepository } from './repository.interface.js';
4
4
  /**
5
5
  * 树结构查询配置
6
6
  */
7
- export interface FindTreeOptions<T extends EntityType = any, WhereType = RuleGroup<InstanceType<T>>> {
7
+ export interface FindTreeOptions<T extends EntityType = EntityType, WhereType = RuleGroup<InstanceType<T>>> {
8
8
  /**
9
9
  * 查询的根实体 ID
10
10
  */
@@ -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,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"}
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,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxG;;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"}