@aiao/rxdb 0.0.5 → 0.0.6

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 (107) hide show
  1. package/dist/RxDB.d.ts +5 -6
  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/@GraphEntity.d.ts +8 -0
  7. package/dist/entity/@GraphEntity.d.ts.map +1 -0
  8. package/dist/entity/@TreeEntity.d.ts +2 -21
  9. package/dist/entity/@TreeEntity.d.ts.map +1 -1
  10. package/dist/entity/EntityBase.d.ts +1 -1
  11. package/dist/entity/EntityBase.d.ts.map +1 -1
  12. package/dist/entity/EntityManager.d.ts +2 -20
  13. package/dist/entity/EntityManager.d.ts.map +1 -1
  14. package/dist/entity/EntityStatus.d.ts +9 -25
  15. package/dist/entity/EntityStatus.d.ts.map +1 -1
  16. package/dist/entity/GraphEntityBase.d.ts +10 -0
  17. package/dist/entity/GraphEntityBase.d.ts.map +1 -0
  18. package/dist/entity/TreeEntityBase.d.ts +2 -2
  19. package/dist/entity/TreeEntityBase.d.ts.map +1 -1
  20. package/dist/entity/entity.interface.d.ts +8 -20
  21. package/dist/entity/entity.interface.d.ts.map +1 -1
  22. package/dist/entity/entity.utils.d.ts +2 -2
  23. package/dist/entity/entity.utils.d.ts.map +1 -1
  24. package/dist/entity/graph_edge_entity.d.ts +5 -0
  25. package/dist/entity/graph_edge_entity.d.ts.map +1 -0
  26. package/dist/entity/{generate_many_to_many_entity.d.ts → many_to_many_entity.d.ts} +3 -3
  27. package/dist/entity/many_to_many_entity.d.ts.map +1 -0
  28. package/dist/entity/{entity-metadata-options.interface.d.ts → metadata-options.interface.d.ts} +67 -27
  29. package/dist/entity/metadata-options.interface.d.ts.map +1 -0
  30. package/dist/entity/{entity-metadata.interface.d.ts → metadata.interface.d.ts} +2 -2
  31. package/dist/entity/metadata.interface.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/transition-metadata.d.ts +2 -2
  37. package/dist/entity/transition-metadata.d.ts.map +1 -1
  38. package/dist/index.d.ts +5 -4
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2193 -2379
  41. package/dist/query/entity_type_dependencies.d.ts +21 -0
  42. package/dist/query/entity_type_dependencies.d.ts.map +1 -0
  43. package/dist/query/merge_create.d.ts +19 -0
  44. package/dist/query/merge_create.d.ts.map +1 -0
  45. package/dist/query/merge_remove.d.ts +19 -0
  46. package/dist/query/merge_remove.d.ts.map +1 -0
  47. package/dist/query/merge_update.d.ts +24 -0
  48. package/dist/query/merge_update.d.ts.map +1 -0
  49. package/dist/query/need_refresh_create.d.ts +11 -0
  50. package/dist/query/need_refresh_create.d.ts.map +1 -0
  51. package/dist/query/need_refresh_remove.d.ts +6 -0
  52. package/dist/query/need_refresh_remove.d.ts.map +1 -0
  53. package/dist/query/need_refresh_update.d.ts +11 -0
  54. package/dist/query/need_refresh_update.d.ts.map +1 -0
  55. package/dist/query/query-matching.utils.d.ts +44 -0
  56. package/dist/query/query-matching.utils.d.ts.map +1 -0
  57. package/dist/repository/QueryManager.d.ts +47 -0
  58. package/dist/repository/QueryManager.d.ts.map +1 -0
  59. package/dist/repository/QueryManager.interface.d.ts +106 -0
  60. package/dist/repository/QueryManager.interface.d.ts.map +1 -0
  61. package/dist/repository/QueryTask.d.ts +113 -0
  62. package/dist/repository/QueryTask.d.ts.map +1 -0
  63. package/dist/repository/Repository.d.ts +27 -22
  64. package/dist/repository/Repository.d.ts.map +1 -1
  65. package/dist/repository/RepositoryBase.d.ts +5 -7
  66. package/dist/repository/RepositoryBase.d.ts.map +1 -1
  67. package/dist/repository/TreeRepository.d.ts +2 -4
  68. package/dist/repository/TreeRepository.d.ts.map +1 -1
  69. package/dist/repository/query-options.interface.d.ts +41 -0
  70. package/dist/repository/query-options.interface.d.ts.map +1 -1
  71. package/dist/repository/query.interface.d.ts +52 -27
  72. package/dist/repository/query.interface.d.ts.map +1 -1
  73. package/dist/repository/relation-query.interface.d.ts +1 -1
  74. package/dist/repository/relation-query.interface.d.ts.map +1 -1
  75. package/dist/repository/repository.interface.d.ts +4 -26
  76. package/dist/repository/repository.interface.d.ts.map +1 -1
  77. package/dist/repository/tree-repository.interface.d.ts +6 -29
  78. package/dist/repository/tree-repository.interface.d.ts.map +1 -1
  79. package/dist/rxdb-adapter.d.ts +4 -2
  80. package/dist/rxdb-adapter.d.ts.map +1 -1
  81. package/dist/rxdb-events.d.ts +184 -52
  82. package/dist/rxdb-events.d.ts.map +1 -1
  83. package/dist/rxdb-utils.d.ts +5 -1
  84. package/dist/rxdb-utils.d.ts.map +1 -1
  85. package/dist/rxdb.interface.d.ts +1 -9
  86. package/dist/rxdb.interface.d.ts.map +1 -1
  87. package/dist/rxdb.private.d.ts +2 -36
  88. package/dist/rxdb.private.d.ts.map +1 -1
  89. package/dist/schema/SchemaManager.d.ts +4 -4
  90. package/dist/schema/SchemaManager.d.ts.map +1 -1
  91. package/dist/system/VersionManager.d.ts +1 -1
  92. package/dist/system/VersionManager.d.ts.map +1 -1
  93. package/dist/system/branch.d.ts.map +1 -1
  94. package/dist/system/change.d.ts +7 -10
  95. package/dist/system/change.d.ts.map +1 -1
  96. package/dist/system/migration.d.ts.map +1 -1
  97. package/dist/system/types.d.ts +10 -28
  98. package/dist/system/types.d.ts.map +1 -1
  99. package/package.json +3 -2
  100. package/dist/entity/entity-metadata-options.interface.d.ts.map +0 -1
  101. package/dist/entity/entity-metadata.interface.d.ts.map +0 -1
  102. package/dist/entity/entity_proxy_helper.d.ts +0 -49
  103. package/dist/entity/entity_proxy_helper.d.ts.map +0 -1
  104. package/dist/entity/entity_relation_helper.d.ts.map +0 -1
  105. package/dist/entity/generate_many_to_many_entity.d.ts.map +0 -1
  106. package/dist/repository/query.utils.d.ts +0 -27
  107. package/dist/repository/query.utils.d.ts.map +0 -1
package/dist/RxDB.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { Observable } from 'rxjs';
2
1
  import { EntityManager } from './entity/EntityManager.js';
3
- import { AdapterFactory, IRxDBAdapter, RxDBAdapters } from './rxdb-adapter.js';
2
+ import { AdapterFactory, RxDBAdapters } from './rxdb-adapter.js';
4
3
  import { RxDBEvent, RxDBEventMap } from './rxdb-events.js';
5
4
  import { Plugin } from './rxdb-plugin.js';
6
5
  import { RxDBContext, RxDBOptions } from './rxdb.interface.js';
@@ -39,7 +38,7 @@ export declare class RxDB {
39
38
  /**
40
39
  * 获取适配器
41
40
  */
42
- getAdapter<K extends keyof RxDBAdapters>(adapterName: K): Observable<RxDBAdapters[K]>;
41
+ getAdapter<K extends keyof RxDBAdapters>(adapterName: K): Promise<RxDBAdapters[K]>;
43
42
  /**
44
43
  * 安装插件
45
44
  */
@@ -47,16 +46,16 @@ export declare class RxDB {
47
46
  /**
48
47
  * 连接适配器
49
48
  */
50
- connect<K extends keyof RxDBAdapters>(adapterName: K): Observable<IRxDBAdapter>;
49
+ connect<K extends keyof RxDBAdapters>(adapterName: K): Promise<RxDBAdapters[K]>;
51
50
  /**
52
51
  * 断开适配器
53
52
  * @param adapterName 适配器注册名称
54
53
  */
55
- disconnect<K extends keyof RxDBAdapters>(adapterName: K): Observable<void>;
54
+ disconnect<K extends keyof RxDBAdapters>(adapterName: K): Promise<void>;
56
55
  /**
57
56
  * 断开所有适配器
58
57
  */
59
- disconnectAll(): Observable<void[]>;
58
+ disconnectAll(): Promise<void>;
60
59
  /**
61
60
  * 监听事件
62
61
  * @param type
@@ -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":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAgB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAIL,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;;IAiBf;;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;IAyChC;;OAEG;IACI,OAAO,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAK3F;;OAEG;IACU,UAAU,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAkB/F;;OAEG;IACI,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO;IAWpE;;OAEG;IACG,OAAO,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAqBrF;;;OAGG;IACG,UAAU,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC;;;;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 +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"}
@@ -0,0 +1,8 @@
1
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
2
+ /**
3
+ * 图实体装饰器
4
+ * 用于将类标记为图结构实体,并处理图特定的元数据, 生成 edges 表等
5
+ * https://chat.deepseek.com/a/chat/s/55a80c8a-2415-4ead-a6e2-31e1bac85567
6
+ */
7
+ export declare const GraphEntity: (metadataOptions: EntityMetadataOptions) => <T extends import('../../packages/rxdb/src/index.ts').EntityType | import('../../packages/rxdb/src/index.ts').AbstractEntityType>(target: T) => any;
8
+ //# sourceMappingURL=@GraphEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"@GraphEntity.d.ts","sourceRoot":"","sources":["../../src/entity/@GraphEntity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,iBAAiB,qBAAqB,4GAYjE,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,4GAUhE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
2
1
  import { IEntity, UUID } from './entity.interface.js';
2
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
3
3
  export declare const ENTITY_BASE_METADATA_OPTIONS: EntityMetadataOptions;
4
4
  /**
5
5
  * 实体基类装饰器配置
@@ -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;AAIH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAgB,MAAM,iCAAiC,CAAC;AAEtF,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,6 +1,6 @@
1
1
  import { Repository } from '../repository/Repository.js';
2
2
  import { RxDB } from '../RxDB.js';
3
- import { EntityStaticType, EntityType, RowId } from './entity.interface.js';
3
+ import { EntityStaticType, EntityType, EntityUpdateData } from './entity.interface.js';
4
4
  import { EntityStatusOptions } from './EntityStatus.js';
5
5
  /**
6
6
  * 实体管理器
@@ -40,9 +40,7 @@ export declare class EntityManager {
40
40
  * @param [status] - 可选的实体状态配置
41
41
  * @returns 创建或获取的实体实例
42
42
  */
43
- createEntityRef<T extends EntityType>(EntityType: T, data: Partial<InstanceType<T>> & {
44
- id: EntityStaticType<T, 'idType'>;
45
- }, status?: EntityStatusOptions<T>): any;
43
+ createEntityRef<T extends EntityType>(EntityType: T, data: EntityUpdateData<T>, status?: EntityStatusOptions<T>): any;
46
44
  /**
47
45
  * 获取实体引用
48
46
  * 从缓存中获取指定ID的实体实例
@@ -53,13 +51,6 @@ export declare class EntityManager {
53
51
  * @returns 实体实例,如果不存在则返回undefined
54
52
  */
55
53
  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
54
  /**
64
55
  * 检查实体是否在缓存中
65
56
  * 判断指定ID的实体是否已在缓存中初始化
@@ -86,15 +77,6 @@ export declare class EntityManager {
86
77
  * @param entity - 要移除的实体实例
87
78
  */
88
79
  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
80
  /**
99
81
  * 保存实体
100
82
  * 根据实体状态决定是创建新实体还是更新现有实体
@@ -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;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAKzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAgB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAItE;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;;aAwBI,IAAI,EAAE,IAAI;IAVtC;;;;;;;;;OASG;gBACyB,IAAI,EAAE,IAAI;IAgEtC;;;;;;;;;;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;IAgBnF;;;;OAIG;IACG,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;IAKhE;;;;OAIG;IACG,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;IAKlE;;;;;;;;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;CA4EjF"}
@@ -1,7 +1,6 @@
1
1
  import { RxDB } from '../RxDB.js';
2
- import { UpdatedBy } from '../rxdb.private.js';
3
- import { EntityRelationMetadata, RelationKind } from './entity-metadata-options.interface.js';
4
- import { EntityType, RowId } from './entity.interface.js';
2
+ import { EntityType } from './entity.interface.js';
3
+ import { EntityRelationMetadata, RelationKind } from './metadata-options.interface.js';
5
4
  /**
6
5
  * 实体变化记录接口
7
6
  * 记录实体的变更信息,包括变更内容、逆向变更、时间戳等
@@ -18,10 +17,6 @@ export interface EntityPatch<T extends EntityType> {
18
17
  * 逆变化
19
18
  */
20
19
  inversePatch: Partial<InstanceType<T>>;
21
- /**
22
- * 更新者
23
- */
24
- updatedBy: UpdatedBy;
25
20
  /**
26
21
  * 记录的毫秒世界时间
27
22
  */
@@ -31,12 +26,6 @@ export interface EntityPatch<T extends EntityType> {
31
26
  * 用于 recordAt 一样的时候排序用
32
27
  */
33
28
  timeStamp: DOMHighResTimeStamp;
34
- /**
35
- * 数据快照
36
- * 为了节省内存,只会在第一次变化时记录完整数据,后续只记录变化
37
- * 如果历史记录有最大限制,需要删除,那么可以利用这个数据之上 patch 变化来计算数据
38
- */
39
- snapshot: any;
40
29
  }
41
30
  /**
42
31
  * 实体状态接口
@@ -93,10 +82,6 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
93
82
  * 标识实体是否已被删除
94
83
  */
95
84
  protected _removed: boolean;
96
- /**
97
- * 实体在数据库中的行ID
98
- */
99
- protected _rowId?: RowId;
100
85
  /**
101
86
  * 实体变更记录数组
102
87
  */
@@ -145,9 +130,13 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
145
130
  get local(): boolean;
146
131
  set local(value: boolean);
147
132
  /**
148
- * 获取所有变化
133
+ * 获取变更内容
134
+ */
135
+ get patch(): Partial<InstanceType<T>> | null;
136
+ /**
137
+ * 获取逆向变更内容
149
138
  */
150
- get patch(): Partial<InstanceType<T>> | undefined;
139
+ get inversePatch(): Partial<InstanceType<T>> | null;
151
140
  /**
152
141
  * 获取变化
153
142
  */
@@ -157,11 +146,6 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
157
146
  */
158
147
  set origin(value: any);
159
148
  get origin(): any;
160
- /**
161
- * 设置 rowId
162
- */
163
- set rowId(value: RowId);
164
- get rowId(): RowId | undefined;
165
149
  /**
166
150
  * 创建实体状态实例
167
151
  *
@@ -183,7 +167,7 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
183
167
  * @param updatedBy - 更新者信息
184
168
  * @param recordAt - 记录时间戳
185
169
  */
186
- addEntityPatch(patch: Partial<InstanceType<T>>, inversePatch: Partial<InstanceType<T>>, updatedBy: UpdatedBy, recordAt?: Date): void;
170
+ checkChange(recordAt?: Date): void;
187
171
  /**
188
172
  * 获取需要保存的关联实体
189
173
  * 根据关系类型的优先级排序,返回需要保存的实体数组
@@ -1 +1 @@
1
- {"version":3,"file":"EntityStatus.d.ts","sourceRoot":"","sources":["../../src/entity/EntityStatus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG1D;;;;;;GAMG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,UAAU;IAC/C;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhC;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf;;;OAGG;IACH,SAAS,EAAE,mBAAmB,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,EAAE,GAAG,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,UAAU;IACjD;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC;AAEzG;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;aAsKvD,IAAI,EAAE,IAAI;IAnJ5B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAErC;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAG,GAAG,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,8CAAqD;IAEtE;;OAEG;IACH,IAAI,QAAQ,IAIQ,OAAO,CAF1B;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAG1B;IAED;;OAEG;IACH,IAAI,OAAO,IAGQ,OAAO,CADzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED;;OAEG;IACH,IAAI,MAAM,IAGQ,OAAO,CADxB;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;OAEG;IACH,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED;;OAEG;IACH,IAAI,KAAK,yCAKR;IAED;;OAEG;IACH,IAAI,OAAO,qBAEV;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,EAEpB;IACD,IAAI,MAAM,IAHQ,GAAG,CAKpB;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAIrB;IACD,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAE7B;IAED;;;;;;OAMG;gBAEe,IAAI,EAAE,IAAI,EAC1B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IA6BxB;;OAEG;IACH,KAAK;IAIL;;;;;;;;OAQG;IACH,cAAc,CACZ,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtC,SAAS,EAAE,SAAS,EACpB,QAAQ,OAAa;IA4BvB;;;;;OAKG;IACH,2BAA2B;IAc3B;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC;IAiCpF;;;;;;OAMG;IACH,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC;IAoBvF;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;CASpE"}
1
+ {"version":3,"file":"EntityStatus.d.ts","sourceRoot":"","sources":["../../src/entity/EntityStatus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { EntityBase } from './EntityBase.js';
2
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
3
+ export declare const GRAPH_ENTITY_BASE_OPTIONS: EntityMetadataOptions;
4
+ /**
5
+ * 树形实体装饰器配置
6
+ * 定义了树形结构所需的父子关系
7
+ */
8
+ export declare abstract class GraphEntityBase extends EntityBase {
9
+ }
10
+ //# sourceMappingURL=GraphEntityBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphEntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/GraphEntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,eAAO,MAAM,yBAAyB,EAAE,qBAG9B,CAAC;AAEX;;;GAGG;AACH,8BACsB,eAAgB,SAAQ,UAAU;CAAG"}
@@ -1,6 +1,6 @@
1
- import { EntityBase } from './EntityBase.js';
2
- import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
3
1
  import { IEntity, UUID } from './entity.interface.js';
2
+ import { EntityBase } from './EntityBase.js';
3
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
4
4
  export declare const TREE_ADJACENCY_LIST_ENTITY_BASE_OPTIONS: EntityMetadataOptions;
5
5
  export interface ITreeEntity extends IEntity {
6
6
  parentId?: UUID | null;
@@ -1 +1 @@
1
- {"version":3,"file":"TreeEntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/TreeEntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAgB,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAO,MAAM,uCAAuC,EAAE,qBAiB5C,CAAC;AAEX,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,8BAqBsB,2BAA4B,SAAQ,UAAW,YAAW,WAAW;IACzF,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB"}
1
+ {"version":3,"file":"TreeEntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/TreeEntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAgB,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,uCAAuC,EAAE,qBAiB5C,CAAC;AAEX,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,8BAqBsB,2BAA4B,SAAQ,UAAW,YAAW,WAAW;IACzF,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB"}
@@ -6,17 +6,17 @@ export declare const ENTITY_STATIC_TYPES: unique symbol;
6
6
  export interface IEntityStaticType {
7
7
  [ENTITY_STATIC_TYPES]?: any;
8
8
  }
9
- export type EntityStaticType<T extends IEntityStaticType, K extends 'idType' | 'entity' | 'getOptions' | 'findOneOrFailOptions' | 'findOptions' | 'findOneOptions' | 'findAllOptions' | 'countOptions' | 'findTreeOptions'> = T[typeof ENTITY_STATIC_TYPES][K];
9
+ export type EntityStaticType<T extends IEntityStaticType, K extends 'idType' | 'entity' | 'getOptions' | 'findOneOrFailOptions' | 'findOptions' | 'findOneOptions' | 'findByCursorOptions' | 'findAllOptions' | 'countOptions' | 'findTreeOptions'> = T[typeof ENTITY_STATIC_TYPES][K];
10
10
  /**
11
11
  * 实体类型
12
12
  * 表示可实例化的实体构造函数类型
13
13
  */
14
- export type EntityType = IEntityStaticType & (new (initData?: any) => any);
14
+ export type EntityType = IEntityStaticType & (new (...args: any) => any);
15
15
  /**
16
16
  * 抽象实体类型
17
17
  * 表示不可直接实例化的抽象实体构造函数类型
18
18
  */
19
- export type AbstractEntityType = abstract new (initData?: any) => any;
19
+ export type AbstractEntityType = abstract new (...args: any) => any;
20
20
  /**
21
21
  * 实体基础接口
22
22
  * 定义所有实体共有的基本属性,为了能更好地与远程数据同步
@@ -98,22 +98,10 @@ export interface RelationEntitiesObservable<T> extends Observable<T[]> {
98
98
  remove: (...entities: T[]) => void;
99
99
  }
100
100
  /**
101
- * SQLite行ID类型
102
- * 表示SQLite数据库中的rowid
101
+ * 实体更新数据类型
102
+ * 用于表示更新实体时传递的数据结构
103
103
  */
104
- export type SqliteRowId = bigint;
105
- /**
106
- * PostgreSQL物理行标识类型
107
- * 表示PostgreSQL数据库中的ctid(物理行位置标识)
108
- * 格式为:(块号,块内偏移)
109
- *
110
- * @see http://postgres.cn/docs/16/ddl-system-columns.html#DDL-SYSTEM-COLUMNS-CTID
111
- */
112
- export type PostgresCtId = `(${number},${number})`;
113
- /**
114
- * 数据库行标识类型
115
- * 统一表示不同数据库中的行标识
116
- * 在SQLite中主要用于通过观察数据库变化找到级联删除的实体
117
- */
118
- export type RowId = SqliteRowId | PostgresCtId;
104
+ export type EntityUpdateData<T extends EntityType> = Partial<InstanceType<T>> & {
105
+ id: EntityStaticType<T, 'idType'>;
106
+ };
119
107
  //# sourceMappingURL=entity.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.interface.d.ts","sourceRoot":"","sources":["../../src/entity/entity.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAqC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,iBAAiB,EAC3B,CAAC,SACG,QAAQ,GACR,QAAQ,GAER,YAAY,GACZ,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GAEd,iBAAiB,IACnB,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,CAAC,KAAK,QAAQ,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,MAAM,QAAQ,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,IAAI,CAAC;IAET;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAChE;;;;OAIG;IACH,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAEhC;;;OAGG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,EAAE,CAAC;IACpE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAE3B;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAEhC;;;;OAIG;IACH,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"entity.interface.d.ts","sourceRoot":"","sources":["../../src/entity/entity.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAqC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,iBAAiB,EAC3B,CAAC,SACG,QAAQ,GACR,QAAQ,GAER,YAAY,GACZ,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,qBAAqB,GACrB,gBAAgB,GAChB,cAAc,GAEd,iBAAiB,IACnB,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,IAAI,CAAC;IAET;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAChE;;;;OAIG;IACH,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAEhC;;;OAGG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,EAAE,CAAC;IACpE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAE3B;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAEhC;;;;OAIG;IACH,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;CAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { EntityMetadata } from './entity-metadata.interface.js';
2
1
  import { EntityType } from './entity.interface.js';
2
+ import { EntityMetadata } from './metadata.interface.js';
3
3
  /**
4
4
  * 判断字段名是否是内部保留字段
5
5
  * 包括基类字段、私有字段和以下划线开头的字段
@@ -17,7 +17,7 @@ export declare const isEntityInternalName: (key: string) => boolean;
17
17
  * @param value - 属性值
18
18
  * @returns 修改后的对象
19
19
  */
20
- export declare const setSafeObjectKey: (object: object, key: string | symbol, value: any) => object;
20
+ export declare const setSafeObjectKey: <T = any>(object: T, key: string | symbol, value: any) => T;
21
21
  /**
22
22
  * 设置安全的可变属性
23
23
  * 创建一个不可枚举、不可配置但可写的属性
@@ -1 +1 @@
1
- {"version":3,"file":"entity.utils.d.ts","sourceRoot":"","sources":["../../src/entity/entity.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsBnD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,OASlD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,WAM7E,CAAC;AAEL;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,WAMrF,CAAC;AAEL;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,MAAM,MAAM,GAAG,WAYjG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,UAAU,EAAE,UAAU,cAAc,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,SAcvG,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,UAAU,EAChD,UAAU,cAAc,EACxB,QAAQ,YAAY,CAAC,CAAC,CAAC,EACvB,WAAW,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAapC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,UAAU,EAAE,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,sBAiBpF,CAAC"}
1
+ {"version":3,"file":"entity.utils.d.ts","sourceRoot":"","sources":["../../src/entity/entity.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAsBzD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,OASlD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,KAM7E,CAAC,CAAC;AAEV;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,WAMrF,CAAC;AAEL;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,MAAM,MAAM,GAAG,WAYjG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,UAAU,EAAE,UAAU,cAAc,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,SAcvG,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,UAAU,EAChD,UAAU,cAAc,EACxB,QAAQ,YAAY,CAAC,CAAC,CAAC,EACvB,WAAW,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAapC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,UAAU,EAAE,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,sBAiBpF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { EntityMetadataOptions } from './metadata-options.interface.js';
2
+ import { EntityMetadata } from './metadata.interface.js';
3
+ declare const _default: (meta: EntityMetadata) => EntityMetadataOptions;
4
+ export default _default;
5
+ //# sourceMappingURL=graph_edge_entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph_edge_entity.d.ts","sourceRoot":"","sources":["../../src/entity/graph_edge_entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAgB,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;yBAEzC,MAAM,cAAc,KAAG,qBAAqB;AAA5D,wBAuBE"}
@@ -1,5 +1,5 @@
1
- import { EntityMetadataOptions, EntityRelationManyToManyMetadata } from './entity-metadata-options.interface.js';
2
- import { EntityMetadata } from './entity-metadata.interface.js';
1
+ import { EntityMetadataOptions, EntityRelationManyToManyMetadata } from './metadata-options.interface.js';
2
+ import { EntityMetadata } from './metadata.interface.js';
3
3
  /**
4
4
  * 多对多关系描述接口
5
5
  * 包含实体元数据和关系元数据
@@ -33,4 +33,4 @@ export interface ManyToManyRelation {
33
33
  */
34
34
  declare const _default: (options: [ManyToManyRelation, ManyToManyRelation]) => EntityMetadataOptions;
35
35
  export default _default;
36
- //# sourceMappingURL=generate_many_to_many_entity.d.ts.map
36
+ //# sourceMappingURL=many_to_many_entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"many_to_many_entity.d.ts","sourceRoot":"","sources":["../../src/entity/many_to_many_entity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAgB,MAAM,iCAAiC,CAAC;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;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"}
@@ -4,7 +4,7 @@ import { EntityType, UUID } from './entity.interface.js';
4
4
  * 值对象
5
5
  * 存储键值队列
6
6
  */
7
- export type ValueObjectType = Record<string, number | number[] | Date | Date[] | string | string[] | boolean>;
7
+ export type KeyValue = Record<string, number | Date | string | boolean>;
8
8
  /**
9
9
  * 实体字段基础值对象接口
10
10
  * 定义实体属性的基本特性
@@ -89,8 +89,9 @@ export declare enum PropertyType {
89
89
  numberArray = "numberArray",
90
90
  /**
91
91
  * 值对象
92
+ * 只存 key -> value 的键值对, 不支持嵌套, 不支持数组
92
93
  */
93
- valueObject = "valueObject",
94
+ keyValue = "keyValue",
94
95
  /**
95
96
  * json
96
97
  */
@@ -136,7 +137,11 @@ interface EntityRelationMetadataBase extends ISortable {
136
137
  */
137
138
  kind: RelationKind;
138
139
  /**
139
- * 关联的实体
140
+ * 关联的实体的命名空间
141
+ * 只能包含小写的英文字母
142
+ * 在 postgres 里会变成 schema
143
+ * 在 sqlite 会变成 table 的前缀
144
+ * @example "app", "system"
140
145
  * @default "public"
141
146
  */
142
147
  mappedNamespace?: Lowercase<string>;
@@ -204,56 +209,68 @@ export type EntityRelationOneToManyMetadata = SetRequired<EntityRelationOneToMan
204
209
  export type EntityRelationManyToOneMetadata = SetRequired<EntityRelationManyToOneMetadataOptions, 'mappedNamespace'>;
205
210
  export type EntityRelationManyToManyMetadata = SetRequired<EntityRelationManyToManyMetadataOptions, 'mappedNamespace' | 'junctionEntityType'>;
206
211
  export type EntityRelationMetadata = EntityRelationOneToOneMetadata | EntityRelationOneToManyMetadata | EntityRelationManyToOneMetadata | EntityRelationManyToManyMetadata;
207
- interface UUID_type extends IEntityObject, ISortable {
212
+ interface UUIDProperty extends IEntityObject, ISortable {
208
213
  primary?: boolean;
209
214
  type: PropertyType.uuid | `${PropertyType.uuid}`;
210
215
  default?: UUID | (() => UUID);
211
216
  }
212
- interface String_type extends IEntityObject, ISortable {
217
+ interface StringProperty extends IEntityObject, ISortable {
213
218
  primary?: boolean;
214
219
  type: PropertyType.string | `${PropertyType.string}`;
215
220
  default?: string | (() => string);
216
221
  }
217
- interface StringArray_type extends IEntityObject, ISortable {
218
- type: PropertyType.stringArray | `${PropertyType.stringArray}`;
219
- default?: string[] | (() => string[]);
220
- }
221
- interface Number_type extends IEntityObject, ISortable {
222
- type: PropertyType.number | `${PropertyType.number}`;
223
- default?: number | (() => number);
224
- }
225
- interface NumberArray_type extends IEntityObject, ISortable {
222
+ interface NumberArrayProperty extends IEntityObject, ISortable {
226
223
  type: PropertyType.numberArray | `${PropertyType.numberArray}`;
227
224
  default?: number[] | (() => number[]);
228
225
  }
229
- interface Integer_type extends IEntityObject, ISortable {
226
+ interface IntegerProperty extends IEntityObject, ISortable {
230
227
  primary?: boolean;
231
228
  type: PropertyType.integer | `${PropertyType.integer}`;
232
229
  default?: number | (() => number);
233
230
  }
234
- interface Date_type extends IEntityObject, ISortable {
231
+ interface DateProperty extends IEntityObject, ISortable {
235
232
  type: PropertyType.date | `${PropertyType.date}`;
236
233
  default?: Date | (() => Date) | 'CURRENT_TIMESTAMP';
237
234
  }
238
- interface Boolean_type extends IEntityObject, ISortable {
235
+ interface BooleanProperty extends IEntityObject, ISortable {
239
236
  type: PropertyType.boolean | `${PropertyType.boolean}`;
240
237
  default?: boolean | (() => boolean);
241
238
  }
242
- interface ValueObject_type extends IEntityObject, ISortable {
243
- type: PropertyType.valueObject | `${PropertyType.valueObject}`;
244
- default?: ValueObjectType | (() => ValueObjectType);
239
+ /**
240
+ * 字符串组
241
+ */
242
+ interface StringArrayProperty extends IEntityObject, ISortable {
243
+ type: PropertyType.stringArray | `${PropertyType.stringArray}`;
244
+ default?: string[] | (() => string[]);
245
+ }
246
+ /**
247
+ * 数字组
248
+ */
249
+ interface NumberProperty extends IEntityObject, ISortable {
250
+ type: PropertyType.number | `${PropertyType.number}`;
251
+ default?: number | (() => number);
252
+ }
253
+ /**
254
+ * keyValue
255
+ */
256
+ interface KeyValueProperty extends IEntityObject {
257
+ type: PropertyType.keyValue | `${PropertyType.keyValue}`;
258
+ default?: KeyValue | (() => KeyValue);
245
259
  properties: KeyValuePropertyMetadataOptions[];
246
260
  }
247
- interface JSON_type extends IEntityObject, ISortable {
261
+ /**
262
+ * json
263
+ */
264
+ interface JSONProperty extends IEntityObject {
248
265
  type: PropertyType.json | `${PropertyType.json}`;
249
266
  default?: Record<string, any> | (() => Record<string, any>);
250
267
  }
251
- export type KeyValuePropertyMetadataOptions = String_type | Number_type | Integer_type | Date_type | Boolean_type | StringArray_type | NumberArray_type;
268
+ export type KeyValuePropertyMetadataOptions = StringProperty | NumberProperty | IntegerProperty | DateProperty | BooleanProperty;
252
269
  /**
253
270
  * 实体属性元数据联合类型
254
271
  * 包含所有可能的属性类型元数据
255
272
  */
256
- export type EntityPropertyMetadataOptions = UUID_type | String_type | Number_type | Integer_type | Date_type | Boolean_type | StringArray_type | NumberArray_type | ValueObject_type | JSON_type;
273
+ export type EntityPropertyMetadataOptions = UUIDProperty | StringProperty | NumberProperty | IntegerProperty | DateProperty | BooleanProperty | StringArrayProperty | NumberArrayProperty | KeyValueProperty | JSONProperty;
257
274
  export type EntityPropertyMetadata = EntityPropertyMetadataOptions;
258
275
  /**
259
276
  * 实体索引元数据接口
@@ -316,7 +333,7 @@ export interface EntityMetadataOptions {
316
333
  * 自定义 repository
317
334
  * @default "Repository"
318
335
  */
319
- repository?: 'Repository' | 'TreeRepository' | string;
336
+ repository?: 'Repository' | 'TreeRepository' | 'GraphRepository' | string;
320
337
  /**
321
338
  * 是否开启日志
322
339
  * @default true
@@ -360,6 +377,7 @@ export interface EntityMetadataOptions {
360
377
  features?: EntityMetadataFeatures;
361
378
  }
362
379
  type TreeType = 'adjacency-list';
380
+ type GraphType = 'undirected-graph' | 'directed-graph';
363
381
  /**
364
382
  * EntityMetadata 扩展特性
365
383
  */
@@ -367,7 +385,7 @@ export interface EntityMetadataFeatures {
367
385
  /**
368
386
  * 树形结构类型
369
387
  *
370
- * 目前仅支持邻接表模型,未来可能支持其他模型:
388
+ * 目前仅支持 adjacency-list (邻接表模型),未来可能支持其他模型:
371
389
  * - 'closure-table': 闭包表模型
372
390
  * - 'nested-set': 嵌套集模型
373
391
  * - 'materialized-path': 物化路径模型
@@ -377,6 +395,28 @@ export interface EntityMetadataFeatures {
377
395
  * - https://schinckel.net/2014/09/13/long-live-adjacency-lists/
378
396
  */
379
397
  treeType?: TreeType;
398
+ /**
399
+ * 图形结构类型
400
+ * undirected-graph 无向图
401
+ * directed-graph 有向图
402
+ * @default 'undirected-graph'
403
+ */
404
+ graphType?: GraphType;
405
+ /**
406
+ * 是否启用图权重
407
+ * @default false
408
+ */
409
+ graphWeight?: boolean;
410
+ /**
411
+ * 是否启用图属性
412
+ * @default false
413
+ */
414
+ graphProperties?: boolean;
415
+ /**
416
+ * 图边的实体名称
417
+ * 根据配置动态生成 edges 表
418
+ */
419
+ graphEdgeEntityType?: EntityType;
380
420
  }
381
421
  /**
382
422
  * 同步适配器选项接口
@@ -389,7 +429,7 @@ export interface SyncAdapterOptions {
389
429
  * 同步类型枚举
390
430
  * 定义不同的数据同步策略,控制本地数据和远程数据之间的同步方式
391
431
  *
392
- * 支持四种同步策略:
432
+ * 支持三种同步策略:
393
433
  * - Full:全量同步,同步所有数据
394
434
  * - Filter:条件同步,根据过滤条件同步部分数据
395
435
  * - None:不同步,可以配置为只使用本地数据或只使用远程数据
@@ -450,4 +490,4 @@ interface Local {
450
490
  */
451
491
  export type SyncOptions = SyncFull | SyncFilter | Remote | Local;
452
492
  export {};
453
- //# sourceMappingURL=entity-metadata-options.interface.d.ts.map
493
+ //# sourceMappingURL=metadata-options.interface.d.ts.map