@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
@@ -0,0 +1,17 @@
1
+ import { RxDBChange } from '../system/change.js';
2
+ import { SwitchVersionActions } from './VersionManager.interface.js';
3
+ import { VersionManager } from './VersionManager.js';
4
+ /**
5
+ * 计算切换分支所需的操作
6
+ * @param version
7
+ * @param branchId 要切换到的分支ID
8
+ * @returns 返回切换分支所需的操作序列
9
+ */
10
+ export declare const switch_branch_actions: (version: VersionManager, branchId: string) => Promise<SwitchVersionActions<import('../entity/entity.interface.js').EntityType>>;
11
+ /**
12
+ * 计算切换版本所需的操作
13
+ * @param changes 需要计算的 changes
14
+ * @param options
15
+ */
16
+ export declare const get_switch_version_actions: (changes: RxDBChange[], isPatch: boolean, actions?: SwitchVersionActions) => SwitchVersionActions;
17
+ //# sourceMappingURL=switch_branch_actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch_branch_actions.d.ts","sourceRoot":"","sources":["../../src/version/switch_branch_actions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAU,SAAS,cAAc,EAAE,UAAU,MAAM,sFA4EpF,CAAC;AAkBF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,UAAU,EAAE,EACrB,SAAS,OAAO,EAChB,UAAS,oBAIR,KACA,oBAqFF,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { VersionManager } from './VersionManager.js';
2
+ import { PullRepositoryOptions, PullRepositoryResult } from './pull-repository.js';
3
+ import { PushRepositoryOptions, PushRepositoryResult } from './push-repository.js';
4
+ /**
5
+ * 仓库同步选项
6
+ */
7
+ export interface SyncRepositoryOptions {
8
+ /**
9
+ * 同步方向
10
+ * @default 'sync'
11
+ */
12
+ direction?: 'pull' | 'push' | 'sync';
13
+ /**
14
+ * 拉取(pull)选项
15
+ */
16
+ pull?: PullRepositoryOptions;
17
+ /**
18
+ * 推送(push)选项
19
+ */
20
+ push?: PushRepositoryOptions;
21
+ }
22
+ /**
23
+ * 仓库同步结果
24
+ */
25
+ export interface SyncRepositoryResult {
26
+ /**
27
+ * Pull result
28
+ */
29
+ pullResult: PullRepositoryResult;
30
+ /**
31
+ * Push result
32
+ */
33
+ pushResult: PushRepositoryResult;
34
+ }
35
+ /**
36
+ * 同步一个仓库(先拉取再推送)
37
+ *
38
+ * @param vm - VersionManager 实例
39
+ * @param namespace - 实体命名空间
40
+ * @param entity - 实体名称
41
+ * @param options - 同步选项
42
+ * @returns 同步结果
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * // 同步 Todo 仓库(pull + push)
47
+ * const result = await syncRepository(vm, 'public', 'Todo');
48
+ *
49
+ * // 使用自定义选项同步
50
+ * const result = await syncRepository(vm, 'public', 'Todo', {
51
+ * pull: { limit: 500, fetchAll: true },
52
+ * push: { batchSize: 100 }
53
+ * });
54
+ * ```
55
+ */
56
+ export declare function syncRepository(vm: VersionManager, namespace: string, entity: string, options?: SyncRepositoryOptions): Promise<SyncRepositoryResult>;
57
+ //# sourceMappingURL=sync-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-repository.d.ts","sourceRoot":"","sources":["../../src/version/sync-repository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAkB,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAkB,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG7G;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAErC;;OAEG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAE7B;;OAEG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IAEjC;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,CAAC,CAyB/B"}
@@ -0,0 +1,145 @@
1
+ import { SyncOptions } from '../entity/metadata-options.interface.js';
2
+ import { EntityMetadata } from '../entity/metadata.interface.js';
3
+ /**
4
+ * Repository 同步类型
5
+ */
6
+ export type RepositorySyncType = 'full' | 'remote' | 'local' | 'none';
7
+ /**
8
+ * 获取实体的有效同步配置(支持全局配置回退)
9
+ *
10
+ * @param metadata - 实体元数据
11
+ * @param globalSync - 全局同步配置(可选)
12
+ * @returns 实体的有效同步配置,如果没有任何配置则返回 undefined
13
+ */
14
+ export declare function getSyncConfig(metadata: EntityMetadata, globalSync?: SyncOptions): SyncOptions | undefined;
15
+ /**
16
+ * 从 EntityMetadata 获取同步类型
17
+ *
18
+ * @param metadata - 实体元数据
19
+ * @param globalSync - 全局同步配置(可选,作为回退)
20
+ * @returns 同步类型
21
+ * @throws {RxDBError} 如果 sync.type === 'filter'(不支持)
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * // Full sync (双向同步)
26
+ * const metadata = {
27
+ * sync: {
28
+ * type: SyncType.Full,
29
+ * local: { adapter: 'sqlite' },
30
+ * remote: { adapter: 'supabase' }
31
+ * }
32
+ * };
33
+ * getSyncType(metadata); // 'full'
34
+ *
35
+ * // Remote only (只读远程)
36
+ * const metadata = {
37
+ * sync: {
38
+ * type: SyncType.None,
39
+ * remote: { adapter: 'supabase' }
40
+ * }
41
+ * };
42
+ * getSyncType(metadata); // 'remote'
43
+ *
44
+ * // Local only (只本地)
45
+ * const metadata = {
46
+ * sync: {
47
+ * type: SyncType.None,
48
+ * local: { adapter: 'sqlite' }
49
+ * }
50
+ * };
51
+ * getSyncType(metadata); // 'local'
52
+ *
53
+ * // No sync (系统表)
54
+ * const metadata = { sync: undefined };
55
+ * getSyncType(metadata); // 'none'
56
+ *
57
+ * // 使用全局配置回退
58
+ * const metadata = { sync: undefined };
59
+ * const globalSync = { type: SyncType.Full, local: {...}, remote: {...} };
60
+ * getSyncType(metadata, globalSync); // 'full'
61
+ * ```
62
+ */
63
+ export declare function getSyncType(metadata: EntityMetadata, globalSync?: SyncOptions): RepositorySyncType; /**
64
+ * 检查 repository 是否需要 pull
65
+ *
66
+ * @param metadata - 实体元数据
67
+ * @param globalSync - 全局同步配置(可选)
68
+ * @returns 是否需要 pull
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * needsPull(metadataFull); // true (full)
73
+ * needsPull(metadataRemote); // true (remote)
74
+ * needsPull(metadataLocal); // false (local)
75
+ * needsPull(metadataNone); // false (none)
76
+ * ```
77
+ */
78
+ export declare function needsPull(metadata: EntityMetadata, globalSync?: SyncOptions): boolean;
79
+ /**
80
+ * 检查 repository 是否需要 push
81
+ *
82
+ * @param metadata - 实体元数据
83
+ * @param globalSync - 全局同步配置(可选)
84
+ * @returns 是否需要 push
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * needsPush(metadataFull); // true (full)
89
+ * needsPush(metadataRemote); // false (remote)
90
+ * needsPush(metadataLocal); // true (local)
91
+ * needsPush(metadataNone); // false (none)
92
+ * ```
93
+ */
94
+ export declare function needsPush(metadata: EntityMetadata, globalSync?: SyncOptions): boolean;
95
+ /**
96
+ * 检查 repository 是否完全不同步
97
+ *
98
+ * @param metadata - 实体元数据
99
+ * @param globalSync - 全局同步配置(可选)
100
+ * @returns 是否不同步
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * isNoSync(metadataFull); // false
105
+ * isNoSync(metadataRemote); // false
106
+ * isNoSync(metadataLocal); // false
107
+ * isNoSync(metadataNone); // true (系统表)
108
+ * ```
109
+ */
110
+ export declare function isNoSync(metadata: EntityMetadata, globalSync?: SyncOptions): boolean;
111
+ /**
112
+ * 获取需要同步的 repository 列表
113
+ *
114
+ * @param entities - 实体元数据数组
115
+ * @param globalSync - 全局同步配置(可选)
116
+ * @returns 需要同步的实体列表
117
+ *
118
+ * @example
119
+ * ```ts
120
+ * const entities = [todoMetadata, userMetadata, systemMetadata];
121
+ * const syncable = getSyncableRepositories(entities);
122
+ * // 返回: [todoMetadata, userMetadata] (排除 systemMetadata)
123
+ * ```
124
+ */
125
+ export declare function getSyncableRepositories(entities: EntityMetadata[], globalSync?: SyncOptions): EntityMetadata[];
126
+ /**
127
+ * 按同步类型分组 repositories
128
+ *
129
+ * @param entities - 实体元数据数组
130
+ * @param globalSync - 全局同步配置(可选)
131
+ * @returns 按同步类型分组的实体
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * const grouped = groupBySyncType(entities);
136
+ * // 返回: {
137
+ * // full: [todoMetadata, commentMetadata],
138
+ * // remote: [userMetadata],
139
+ * // local: [draftMetadata],
140
+ * // none: [systemMetadata]
141
+ * // }
142
+ * ```
143
+ */
144
+ export declare function groupBySyncType(entities: EntityMetadata[], globalSync?: SyncOptions): Record<RepositorySyncType, EntityMetadata[]>;
145
+ //# sourceMappingURL=sync-type-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-type-utils.d.ts","sourceRoot":"","sources":["../../src/version/sync-type-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAY,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAEzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAsDlG,CAAC;;;;;;;;;;;;;;GAcC;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,CAGrF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,CAGrF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,CAGpF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,cAAc,EAAE,CAE9G;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EAAE,EAC1B,UAAU,CAAC,EAAE,WAAW,GACvB,MAAM,CAAC,kBAAkB,EAAE,cAAc,EAAE,CAAC,CAc9C"}
@@ -0,0 +1,70 @@
1
+ import { DependencyGraph, RepositoryIdentifier } from './dependency-graph.js';
2
+ /**
3
+ * 排序方向
4
+ */
5
+ export type SortDirection = 'pull' | 'push';
6
+ /**
7
+ * 拓扑排序
8
+ *
9
+ * @param graph - 依赖图
10
+ * @param direction - 排序方向
11
+ * - 'pull': 父实体在前(User -> Todo -> Comment)
12
+ * - 'push': 子实体在前(Comment -> Todo -> User)
13
+ * @returns 排序后的 repository 列表
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * // Pull 顺序(父在前)
18
+ * const pullOrder = topologicalSort(graph, 'pull');
19
+ * // 返回: [User, Todo, Comment]
20
+ *
21
+ * // Push 顺序(子在前)
22
+ * const pushOrder = topologicalSort(graph, 'push');
23
+ * // 返回: [Comment, Todo, User]
24
+ * ```
25
+ */
26
+ export declare function topologicalSort(graph: DependencyGraph, direction: SortDirection): RepositoryIdentifier[];
27
+ /**
28
+ * 拓扑排序(Pull 方向)
29
+ *
30
+ * 确保父实体在前,适用于 Pull 同步
31
+ *
32
+ * @param graph - 依赖图
33
+ * @returns 排序后的 repository 列表
34
+ */
35
+ export declare function topologicalSortForPull(graph: DependencyGraph): RepositoryIdentifier[];
36
+ /**
37
+ * 拓扑排序(Push 方向)
38
+ *
39
+ * 确保子实体在前,适用于 Push 同步
40
+ *
41
+ * @param graph - 依赖图
42
+ * @returns 排序后的 repository 列表
43
+ */
44
+ export declare function topologicalSortForPush(graph: DependencyGraph): RepositoryIdentifier[];
45
+ /**
46
+ * 过滤并排序指定的 repository 列表
47
+ *
48
+ * 从依赖图中只选择指定的 repositories,并按拓扑顺序排序
49
+ *
50
+ * @param graph - 完整依赖图
51
+ * @param repositories - 要排序的 repository 列表
52
+ * @param direction - 排序方向
53
+ * @returns 排序后的 repository 列表
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * // 只同步 Todo 和 Comment
58
+ * const filtered = filterAndSort(
59
+ * graph,
60
+ * [
61
+ * { namespace: 'public', entity: 'Todo' },
62
+ * { namespace: 'public', entity: 'Comment' }
63
+ * ],
64
+ * 'pull'
65
+ * );
66
+ * // 返回: [Todo, Comment](按依赖顺序)
67
+ * ```
68
+ */
69
+ export declare function filterAndSort(graph: DependencyGraph, repositories: RepositoryIdentifier[], direction: SortDirection): RepositoryIdentifier[];
70
+ //# sourceMappingURL=topological-sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topological-sort.d.ts","sourceRoot":"","sources":["../../src/version/topological-sort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,oBAAoB,EAAE,CA6CxG;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAErF;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAErF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,oBAAoB,EAAE,EACpC,SAAS,EAAE,aAAa,GACvB,oBAAoB,EAAE,CA8BxB"}
@@ -0,0 +1,4 @@
1
+ import { RxDBChange } from '../system/change.js';
2
+ import { RemoteChange } from '../system/system.interface.js';
3
+ export declare const remote_change_to_local: (remoteChange: RemoteChange[], base: Partial<RxDBChange>) => Omit<RxDBChange, "id" | "branch$">[];
4
+ //# sourceMappingURL=version.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.utils.d.ts","sourceRoot":"","sources":["../../src/version/version.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,eAAO,MAAM,sBAAsB,GACjC,cAAc,YAAY,EAAE,EAC5B,MAAM,OAAO,CAAC,UAAU,CAAC,KACxB,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,CAAC,EAUjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiao/rxdb",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -25,9 +25,10 @@
25
25
  ]
26
26
  },
27
27
  "dependencies": {
28
+ "object-hash": "^3.0.0",
28
29
  "rxjs": "^7.8.2",
29
- "type-fest": "^4.41.0",
30
+ "type-fest": "^5.3.1",
30
31
  "uuid": "^13.0.0",
31
- "@aiao/utils": "0.0.5"
32
+ "@aiao/utils": "0.0.7"
32
33
  }
33
34
  }
package/README.md DELETED
@@ -1 +0,0 @@
1
- # rxdb
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-metadata-options.interface.d.ts","sourceRoot":"","sources":["../../src/entity/entity-metadata-options.interface.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-metadata.interface.d.ts","sourceRoot":"","sources":["../../src/entity/entity-metadata.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAC1C,qBAAqB,EACrB,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,CACvD,GAAG;IACF,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAE/B;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD;;;OAGG;IACH,sBAAsB,EAAE,sBAAsB,EAAE,CAAC;IAEjD;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD;;OAEG;IACH,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAE3D;;;OAGG;IACH,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;IAE9C;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE3C;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC"}
@@ -1,49 +0,0 @@
1
- import { UpdatedBy } from '../rxdb.private.js';
2
- import { EntityType } from './entity.interface.js';
3
- /**
4
- * 实体变化接口
5
- * 描述实体属性的单次变更信息
6
- *
7
- * @interface EntityChange
8
- * @template T 实体类型
9
- * @template K 属性键类型,默认为实体的所有属性键
10
- * @template V 属性值类型,默认为对应属性的值类型
11
- */
12
- export interface EntityChange<T extends EntityType, K extends keyof T = keyof T, V = T[K]> {
13
- /**
14
- * 操作者
15
- * - `UPDATED_BY_USER`: 用户操作
16
- * - `UPDATED_BY_SYSTEM`: 系统操作
17
- * - uuid: 具体某个用户(待实现)
18
- */
19
- updatedBy: UpdatedBy;
20
- /**
21
- * 变化的属性
22
- */
23
- prop: K;
24
- /**
25
- * 变化前的值
26
- */
27
- oldValue: V;
28
- /**
29
- * 变化后的值
30
- */
31
- value: V;
32
- }
33
- /**
34
- * 创建实体代理对象
35
- *
36
- * 该函数通过JavaScript的Proxy机制创建实体的代理对象,用于:
37
- * 1. 跟踪实体属性的变更
38
- * 2. 记录变更的来源(用户或系统)
39
- * 3. 计算变更的差异并更新实体状态
40
- * 4. 批量处理连续的变更操作
41
- *
42
- * 代理对象会拦截属性设置操作,当属性值发生变化时:
43
- * - 记录变更信息(属性名、旧值、新值、变更来源)
44
- * - 标记实体状态为已修改
45
- * - 在下一个事件循环中计算差异并更新状态
46
- */
47
- declare const _default: <T extends EntityType>(entity: InstanceType<T>) => T;
48
- export default _default;
49
- //# sourceMappingURL=entity_proxy_helper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity_proxy_helper.d.ts","sourceRoot":"","sources":["../../src/entity/entity_proxy_helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAA8C,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;IAEZ;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;;;;;;GAaG;yBACa,CAAC,SAAS,UAAU,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAG,CAAC;AAAjE,wBA2EE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity_relation_helper.d.ts","sourceRoot":"","sources":["../../src/entity/entity_relation_helper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,UAAU,EAA8D,MAAM,uBAAuB,CAAC;AAG/G;;;;;;;;;GASG;yBACa,UAAU,sBAAsB,EAAE,YAAY,UAAU,EAAE,IAAI,aAAa;AAA3F,wBAyLE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate_many_to_many_entity.d.ts","sourceRoot":"","sources":["../../src/entity/generate_many_to_many_entity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAEjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,gCAAgC,CAAC;CAC5C;AAED;;;;;;;;;;GAUG;AACH;;;;;GAKG;yBACa,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAG,qBAAqB;AAAzF,wBAmCE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transition-metadata.d.ts","sourceRoot":"","sources":["../../src/entity/transition-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,qBAAqB,EAItB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAuB,cAAc,EAAsB,MAAM,gCAAgC,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAC7B,iBAAiB,qBAAqB,EACtC,UAAU,UAAU,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,KAC1F,cA+GF,CAAC"}
@@ -1,27 +0,0 @@
1
- import { EntityType } from '../entity/entity.interface.js';
2
- import { OrderBy } from './query-options.interface.js';
3
- import { RuleGroup } from './query.interface.js';
4
- /**
5
- * 判断是否是 RuleGroup
6
- */
7
- export declare const isRuleGroup: (value: unknown) => value is RuleGroup<any>;
8
- /**
9
- * 判断实体是否匹配规则组
10
- */
11
- export declare const isEntityMatchWhere: <T extends EntityType>(entity: T, ruleGroup: RuleGroup<T>) => boolean;
12
- /**
13
- * 判断 entity 是否影响排序后的结果中
14
- * @param entities 排序后的结果
15
- * @param entity 需要判断的实体
16
- * @param orderByArray 排序数组
17
- * @returns
18
- */
19
- export declare const isEntityEffectOrderBy: <T extends EntityType>(entity: T, result: T[], orderByArray: OrderBy<string>[]) => boolean | undefined;
20
- /**
21
- * 计算排序
22
- * @param result
23
- * @param orderByArray
24
- * @returns
25
- */
26
- export declare const calculateOrderBy: <T extends EntityType>(result: T[], orderBy: OrderBy<string>[]) => T[];
27
- //# sourceMappingURL=query.utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.utils.d.ts","sourceRoot":"","sources":["../../src/repository/query.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAQ,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAS,CAAC,GAAG,CAA2C,CAAC;AAmE/G;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,UAAU,EAAE,QAAQ,CAAC,EAAE,WAAW,SAAS,CAAC,CAAC,CAAC,YACpC,CAAC;AAkCxD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,UAAU,EACxD,QAAQ,CAAC,EACT,QAAQ,CAAC,EAAE,EACX,cAAc,OAAO,CAAC,MAAM,CAAC,EAAE,wBAgBhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,QAQ7F,CAAC"}
@@ -1,35 +0,0 @@
1
- import { BehaviorSubject, Observable } from 'rxjs';
2
- import { RxDB } from '../RxDB.js';
3
- import { EntityType } from '../entity/entity.interface.js';
4
- import { IRxDBAdapter, RestoreEntityOptions, RxDBAdapterLocalBase } from '../rxdb-adapter.js';
5
- /**
6
- * 版本管理
7
- */
8
- export declare class VersionManager {
9
- #private;
10
- readonly rxdb: RxDB;
11
- /**
12
- * 本地适配器
13
- */
14
- protected localAdapterSub: BehaviorSubject<string>;
15
- protected localAdapter$: Observable<IRxDBAdapter & RxDBAdapterLocalBase>;
16
- constructor(rxdb: RxDB);
17
- /**
18
- * 创建新分支
19
- * @param branchId 分支 id
20
- * @param fromChangeId 从哪个 changeId 创建新分支
21
- */
22
- createBranch(branchId: string, fromChangeId?: number): Promise<void>;
23
- /**
24
- * 切换分支
25
- * @param branchId
26
- */
27
- switchBranch(branchId: string): Promise<void>;
28
- /**
29
- * 恢复某个实体
30
- * @param entity
31
- * @param options
32
- */
33
- restoreEntity<T extends EntityType>(entity: InstanceType<T>, options: RestoreEntityOptions): Promise<InstanceType<T>>;
34
- }
35
- //# sourceMappingURL=VersionManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VersionManager.d.ts","sourceRoot":"","sources":["../../src/system/VersionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAIf,UAAU,EAIX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE9F;;GAEG;AACH,qBAAa,cAAc;;aAeG,IAAI,EAAE,IAAI;IAXtC;;OAEG;IACH,SAAS,CAAC,eAAe,0BAAmC;IAC5D,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,YAAY,GAAG,oBAAoB,CAAC,CAK/D;gBAEmB,IAAI,EAAE,IAAI;IAOtC;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,UAAU,EAChC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAG5B"}