@aiao/rxdb 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RxDB.d.ts.map +1 -1
- package/dist/__tests__/fixtures/index.d.ts +10 -0
- package/dist/__tests__/fixtures/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/mock-remote-server.d.ts +146 -0
- package/dist/__tests__/fixtures/mock-remote-server.d.ts.map +1 -0
- package/dist/__tests__/fixtures/test-db-setup.d.ts +52 -0
- package/dist/__tests__/fixtures/test-db-setup.d.ts.map +1 -0
- package/dist/__tests__/fixtures/test-entities.d.ts +41 -0
- package/dist/__tests__/fixtures/test-entities.d.ts.map +1 -0
- package/dist/__tests__/fixtures/test-fixtures.d.ts +129 -0
- package/dist/__tests__/fixtures/test-fixtures.d.ts.map +1 -0
- package/dist/entity/EntityBase.d.ts +0 -2
- package/dist/entity/EntityBase.d.ts.map +1 -1
- package/dist/entity/TreeEntityBase.d.ts.map +1 -1
- package/dist/entity/metadata-options.interface.d.ts +23 -8
- package/dist/entity/metadata-options.interface.d.ts.map +1 -1
- package/dist/entity/metadata-transition.d.ts.map +1 -1
- package/dist/entity/metadata.interface.d.ts +14 -4
- package/dist/entity/metadata.interface.d.ts.map +1 -1
- package/dist/gateway/RxDBTabsGateway.d.ts +5 -1
- package/dist/gateway/RxDBTabsGateway.d.ts.map +1 -1
- package/dist/index.js +1340 -1217
- package/dist/query/merge_remove.d.ts.map +1 -1
- package/dist/repository/QueryCacheRepository.d.ts +5 -5
- package/dist/repository/QueryCacheRepository.d.ts.map +1 -1
- package/dist/repository/QueryManager.d.ts +1 -0
- package/dist/repository/QueryManager.d.ts.map +1 -1
- package/dist/repository/QueryTask.d.ts +2 -2
- package/dist/repository/QueryTask.d.ts.map +1 -1
- package/dist/repository/query.interface.d.ts +11 -7
- package/dist/repository/query.interface.d.ts.map +1 -1
- package/dist/rxdb.interface.d.ts +1 -0
- package/dist/rxdb.interface.d.ts.map +1 -1
- package/dist/schema/SchemaManager.d.ts +12 -0
- package/dist/schema/SchemaManager.d.ts.map +1 -1
- package/dist/system/branch.d.ts.map +1 -1
- package/dist/system/change.d.ts.map +1 -1
- package/dist/system/migration.d.ts.map +1 -1
- package/dist/system/sync.d.ts.map +1 -1
- package/dist/system/types.remote.d.ts +2 -2
- package/dist/version/VersionManager.d.ts +9 -4
- package/dist/version/VersionManager.d.ts.map +1 -1
- package/dist/version/cleanup-expired.d.ts.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +3 -3
package/dist/RxDB.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RxDB.d.ts","sourceRoot":"","sources":["../src/RxDB.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"RxDB.d.ts","sourceRoot":"","sources":["../src/RxDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview 测试 Fixture 模块索引
|
|
3
|
+
*
|
|
4
|
+
* 导出所有测试工具和 Fixture
|
|
5
|
+
*/
|
|
6
|
+
export * from './mock-remote-server.js';
|
|
7
|
+
export * from './test-db-setup.js';
|
|
8
|
+
export * from './test-entities.js';
|
|
9
|
+
export * from './test-fixtures.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { RxDBChange } from '../../system/change.js';
|
|
2
|
+
import { RemoteChange } from '../../system/system.interface.js';
|
|
3
|
+
/**
|
|
4
|
+
* 变更操作类型
|
|
5
|
+
*/
|
|
6
|
+
export type ChangeOperation = 'create' | 'update' | 'delete';
|
|
7
|
+
/**
|
|
8
|
+
* Mock 变更记录
|
|
9
|
+
*/
|
|
10
|
+
export interface MockChange {
|
|
11
|
+
id: number;
|
|
12
|
+
namespace: string;
|
|
13
|
+
entity: string;
|
|
14
|
+
entityId: string;
|
|
15
|
+
type: ChangeOperation;
|
|
16
|
+
patch: Record<string, unknown>;
|
|
17
|
+
inversePatch: Record<string, unknown> | null;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
updatedAt: Date;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 推送结果
|
|
23
|
+
*/
|
|
24
|
+
export interface PushResult {
|
|
25
|
+
accepted: number;
|
|
26
|
+
rejected: number;
|
|
27
|
+
conflicts: Array<{
|
|
28
|
+
changeId: number;
|
|
29
|
+
reason: string;
|
|
30
|
+
}>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Mock 远程服务器配置
|
|
34
|
+
*/
|
|
35
|
+
export interface MockRemoteServerOptions {
|
|
36
|
+
/** 模拟网络延迟(毫秒) */
|
|
37
|
+
latency?: number;
|
|
38
|
+
/** 模拟错误率(0-1) */
|
|
39
|
+
errorRate?: number;
|
|
40
|
+
/** 批量拉取限制 */
|
|
41
|
+
pullLimit?: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Mock 远程服务器
|
|
45
|
+
*
|
|
46
|
+
* 模拟远程同步服务器,支持:
|
|
47
|
+
* - 变更拉取(pull)
|
|
48
|
+
* - 变更推送(push)
|
|
49
|
+
* - 冲突模拟
|
|
50
|
+
* - 网络错误模拟
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* const server = new MockRemoteServer();
|
|
55
|
+
*
|
|
56
|
+
* // 设置初始数据
|
|
57
|
+
* server.addChanges('User', [
|
|
58
|
+
* { entityId: 'u1', type: 'create', patch: { name: 'Alice' } }
|
|
59
|
+
* ]);
|
|
60
|
+
*
|
|
61
|
+
* // 拉取变更
|
|
62
|
+
* const changes = await server.pull('User', 0);
|
|
63
|
+
*
|
|
64
|
+
* // 推送变更
|
|
65
|
+
* const result = await server.push('User', newChanges);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare class MockRemoteServer {
|
|
69
|
+
private storage;
|
|
70
|
+
private changeIdCounter;
|
|
71
|
+
private options;
|
|
72
|
+
constructor(options?: MockRemoteServerOptions);
|
|
73
|
+
/**
|
|
74
|
+
* 添加变更到仓库
|
|
75
|
+
*/
|
|
76
|
+
addChanges(entity: string, changes: Array<{
|
|
77
|
+
entityId?: string;
|
|
78
|
+
type: ChangeOperation;
|
|
79
|
+
patch: Record<string, unknown>;
|
|
80
|
+
inversePatch?: Record<string, unknown>;
|
|
81
|
+
}>, namespace?: string): MockChange[];
|
|
82
|
+
/**
|
|
83
|
+
* 拉取变更
|
|
84
|
+
*
|
|
85
|
+
* @param entity 实体名称
|
|
86
|
+
* @param fromChangeId 起始变更 ID(不包含)
|
|
87
|
+
* @param namespace 命名空间
|
|
88
|
+
* @param limit 最大返回数量
|
|
89
|
+
*/
|
|
90
|
+
pull(entity: string, fromChangeId?: number, namespace?: string, limit?: number): Promise<RemoteChange[]>;
|
|
91
|
+
/**
|
|
92
|
+
* 推送变更
|
|
93
|
+
*
|
|
94
|
+
* @param entity 实体名称
|
|
95
|
+
* @param changes 要推送的变更
|
|
96
|
+
* @param namespace 命名空间
|
|
97
|
+
*/
|
|
98
|
+
push(entity: string, changes: Array<Partial<RxDBChange>>, namespace?: string): Promise<PushResult>;
|
|
99
|
+
/**
|
|
100
|
+
* 创建冲突场景
|
|
101
|
+
*
|
|
102
|
+
* 向服务器添加一个变更,使得后续推送相同 entityId 的变更时产生冲突
|
|
103
|
+
*/
|
|
104
|
+
createConflict(entity: string, entityId: string, namespace?: string): MockChange;
|
|
105
|
+
/**
|
|
106
|
+
* 清空指定仓库
|
|
107
|
+
*/
|
|
108
|
+
clear(entity?: string, namespace?: string): void;
|
|
109
|
+
/**
|
|
110
|
+
* 获取仓库中的所有变更
|
|
111
|
+
*/
|
|
112
|
+
getChanges(entity: string, namespace?: string): MockChange[];
|
|
113
|
+
/**
|
|
114
|
+
* 获取最新的变更 ID
|
|
115
|
+
*/
|
|
116
|
+
getLatestChangeId(): number;
|
|
117
|
+
/**
|
|
118
|
+
* 设置网络延迟
|
|
119
|
+
*/
|
|
120
|
+
setLatency(ms: number): void;
|
|
121
|
+
/**
|
|
122
|
+
* 设置错误率
|
|
123
|
+
*/
|
|
124
|
+
setErrorRate(rate: number): void;
|
|
125
|
+
/**
|
|
126
|
+
* 重置服务器状态
|
|
127
|
+
*/
|
|
128
|
+
reset(): void;
|
|
129
|
+
/**
|
|
130
|
+
* 模拟网络延迟
|
|
131
|
+
*/
|
|
132
|
+
private simulateLatency;
|
|
133
|
+
/**
|
|
134
|
+
* 模拟网络错误
|
|
135
|
+
*/
|
|
136
|
+
private maybeThrowError;
|
|
137
|
+
/**
|
|
138
|
+
* 获取仓库键
|
|
139
|
+
*/
|
|
140
|
+
private getKey;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 创建预配置的 Mock 服务器
|
|
144
|
+
*/
|
|
145
|
+
export declare function createMockServer(options?: MockRemoteServerOptions): MockRemoteServer;
|
|
146
|
+
//# sourceMappingURL=mock-remote-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-remote-server.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-remote-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { EntityType } from '../../entity/entity.interface.js';
|
|
2
|
+
import { IRxDBAdapter } from '../../rxdb-adapter.js';
|
|
3
|
+
import { RxDB } from '../../RxDB.js';
|
|
4
|
+
/**
|
|
5
|
+
* 创建 Mock 适配器
|
|
6
|
+
* 用于不需要真实数据库的单元测试
|
|
7
|
+
*/
|
|
8
|
+
export declare function createMockAdapter(): IRxDBAdapter;
|
|
9
|
+
/**
|
|
10
|
+
* 测试数据库选项
|
|
11
|
+
*/
|
|
12
|
+
export interface TestDBOptions {
|
|
13
|
+
/** 数据库名称(默认生成唯一名称) */
|
|
14
|
+
dbName?: string;
|
|
15
|
+
/** 要注册的实体类(默认使用 TEST_ENTITIES) */
|
|
16
|
+
entities?: EntityType[];
|
|
17
|
+
/** 是否使用 Mock 适配器(默认 true) */
|
|
18
|
+
useMock?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 创建测试用 RxDB 实例
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const { rxdb, cleanup } = await createTestDB();
|
|
26
|
+
* // ... run tests
|
|
27
|
+
* await cleanup();
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function createTestDB(options?: TestDBOptions): Promise<{
|
|
31
|
+
rxdb: RxDB;
|
|
32
|
+
adapter: IRxDBAdapter;
|
|
33
|
+
cleanup: () => Promise<void>;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* 创建带有远程同步配置的测试数据库
|
|
37
|
+
*/
|
|
38
|
+
export declare function createTestDBWithRemote(options?: TestDBOptions): Promise<{
|
|
39
|
+
rxdb: RxDB;
|
|
40
|
+
localAdapter: IRxDBAdapter;
|
|
41
|
+
remoteAdapter: IRxDBAdapter;
|
|
42
|
+
cleanup: () => Promise<void>;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* 等待微任务队列清空
|
|
46
|
+
*/
|
|
47
|
+
export declare function flushMicrotasks(): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* 等待指定时间
|
|
50
|
+
*/
|
|
51
|
+
export declare function delay(ms: number): Promise<void>;
|
|
52
|
+
//# sourceMappingURL=test-db-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-db-setup.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/test-db-setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAkEhD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC;IACvE,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC,CAgCD;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC;IACjF,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC,CA8BD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EntityBase } from '../../entity/EntityBase.js';
|
|
2
|
+
import { TreeAdjacencyListEntityBase } from '../../entity/TreeEntityBase.js';
|
|
3
|
+
/**
|
|
4
|
+
* 用户实体 - 简单实体,用于基础 CRUD 和版本控制测试
|
|
5
|
+
*/
|
|
6
|
+
export declare class User extends EntityBase {
|
|
7
|
+
name: string;
|
|
8
|
+
email: string;
|
|
9
|
+
role: string;
|
|
10
|
+
isActive: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 帖子实体 - 与 User 一对多关系,用于测试关系同步和冲突
|
|
14
|
+
*/
|
|
15
|
+
export declare class Post extends EntityBase {
|
|
16
|
+
title: string;
|
|
17
|
+
content: string;
|
|
18
|
+
published: boolean;
|
|
19
|
+
author: User;
|
|
20
|
+
authorId: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 分类实体 - 树形结构,用于测试级联操作和分支管理
|
|
24
|
+
*/
|
|
25
|
+
export declare class Category extends TreeAdjacencyListEntityBase {
|
|
26
|
+
name: string;
|
|
27
|
+
order: number;
|
|
28
|
+
slug: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 标签实体 - 简单实体,用于批量操作测试
|
|
32
|
+
*/
|
|
33
|
+
export declare class Tag extends EntityBase {
|
|
34
|
+
name: string;
|
|
35
|
+
color: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 所有测试实体列表
|
|
39
|
+
*/
|
|
40
|
+
export declare const TEST_ENTITIES: (typeof User | typeof Post | typeof Category | typeof Tag)[];
|
|
41
|
+
//# sourceMappingURL=test-entities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-entities.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/test-entities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAG7E;;GAEG;AACH,qBASa,IAAK,SAAQ,UAAU;IAClC,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAG,MAAM,CAAC;IACd,QAAQ,EAAG,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAgBa,IAAK,SAAQ,UAAU;IAClC,KAAK,EAAG,MAAM,CAAC;IACf,OAAO,EAAG,MAAM,CAAC;IACjB,SAAS,EAAG,OAAO,CAAC;IACpB,MAAM,EAAG,IAAI,CAAC;IACd,QAAQ,EAAG,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAQa,QAAS,SAAQ,2BAA2B;IACvD,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAG,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAOa,GAAI,SAAQ,UAAU;IACjC,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,EAAG,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,8DAA8B,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Category, Post, Tag, User } from './test-entities.js';
|
|
2
|
+
/**
|
|
3
|
+
* 用户 Fixture 工厂
|
|
4
|
+
*/
|
|
5
|
+
export declare const UserFixture: {
|
|
6
|
+
/**
|
|
7
|
+
* 创建单个用户
|
|
8
|
+
*/
|
|
9
|
+
create: (overrides?: Partial<User>) => User;
|
|
10
|
+
/**
|
|
11
|
+
* 批量创建用户
|
|
12
|
+
*/
|
|
13
|
+
createBatch: (count: number, baseOverrides?: Partial<User>) => User[];
|
|
14
|
+
/**
|
|
15
|
+
* 创建管理员用户
|
|
16
|
+
*/
|
|
17
|
+
createAdmin: (overrides?: Partial<User>) => User;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* 帖子 Fixture 工厂
|
|
21
|
+
*/
|
|
22
|
+
export declare const PostFixture: {
|
|
23
|
+
/**
|
|
24
|
+
* 创建单个帖子
|
|
25
|
+
*/
|
|
26
|
+
create: (authorId: string, overrides?: Partial<Post>) => Post;
|
|
27
|
+
/**
|
|
28
|
+
* 批量创建帖子
|
|
29
|
+
*/
|
|
30
|
+
createBatch: (authorId: string, count: number, baseOverrides?: Partial<Post>) => Post[];
|
|
31
|
+
/**
|
|
32
|
+
* 创建已发布帖子
|
|
33
|
+
*/
|
|
34
|
+
createPublished: (authorId: string, overrides?: Partial<Post>) => Post;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* 分类 Fixture 工厂
|
|
38
|
+
*/
|
|
39
|
+
export declare const CategoryFixture: {
|
|
40
|
+
/**
|
|
41
|
+
* 创建单个分类
|
|
42
|
+
*/
|
|
43
|
+
create: (overrides?: Partial<Category> & {
|
|
44
|
+
parentId?: string | null;
|
|
45
|
+
}) => Category;
|
|
46
|
+
/**
|
|
47
|
+
* 创建树形分类结构
|
|
48
|
+
* @param depth 树的深度
|
|
49
|
+
* @returns 按层级顺序排列的分类数组(根在前)
|
|
50
|
+
*/
|
|
51
|
+
createTree: (depth?: number) => Category[];
|
|
52
|
+
/**
|
|
53
|
+
* 创建具有多个子节点的树形结构
|
|
54
|
+
* @param width 每层的子节点数
|
|
55
|
+
* @param depth 树的深度
|
|
56
|
+
*/
|
|
57
|
+
createWideTree: (width?: number, depth?: number) => Category[];
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* 标签 Fixture 工厂
|
|
61
|
+
*/
|
|
62
|
+
export declare const TagFixture: {
|
|
63
|
+
/**
|
|
64
|
+
* 创建单个标签
|
|
65
|
+
*/
|
|
66
|
+
create: (overrides?: Partial<Tag>) => Tag;
|
|
67
|
+
/**
|
|
68
|
+
* 批量创建标签
|
|
69
|
+
*/
|
|
70
|
+
createBatch: (count: number, colors?: string[]) => Tag[];
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* 同步场景 Fixture
|
|
74
|
+
*/
|
|
75
|
+
export declare const SyncScenarioFixture: {
|
|
76
|
+
/**
|
|
77
|
+
* 创建冲突场景
|
|
78
|
+
*/
|
|
79
|
+
createConflict: () => {
|
|
80
|
+
local: {
|
|
81
|
+
entityId: `${string}-${string}-${string}-${string}-${string}`;
|
|
82
|
+
field: string;
|
|
83
|
+
value: string;
|
|
84
|
+
changeId: number;
|
|
85
|
+
timestamp: Date;
|
|
86
|
+
};
|
|
87
|
+
remote: {
|
|
88
|
+
entityId: `${string}-${string}-${string}-${string}-${string}`;
|
|
89
|
+
field: string;
|
|
90
|
+
value: string;
|
|
91
|
+
changeId: number;
|
|
92
|
+
timestamp: Date;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* 创建分支场景
|
|
97
|
+
*/
|
|
98
|
+
createBranchScenario: () => {
|
|
99
|
+
mainBranch: {
|
|
100
|
+
id: `${string}-${string}-${string}-${string}-${string}`;
|
|
101
|
+
fromChangeId: number;
|
|
102
|
+
};
|
|
103
|
+
featureBranch: {
|
|
104
|
+
id: `${string}-${string}-${string}-${string}-${string}`;
|
|
105
|
+
fromChangeId: number;
|
|
106
|
+
};
|
|
107
|
+
changes: {
|
|
108
|
+
id: number;
|
|
109
|
+
branchId: `${string}-${string}-${string}-${string}-${string}`;
|
|
110
|
+
entityType: string;
|
|
111
|
+
entityId: `${string}-${string}-${string}-${string}-${string}`;
|
|
112
|
+
operation: string;
|
|
113
|
+
}[];
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* 创建批量同步场景
|
|
117
|
+
*/
|
|
118
|
+
createBulkSyncScenario: (repositoryCount?: number) => {
|
|
119
|
+
repositories: {
|
|
120
|
+
namespace: string;
|
|
121
|
+
entityName: string;
|
|
122
|
+
}[];
|
|
123
|
+
options: {
|
|
124
|
+
concurrent: boolean;
|
|
125
|
+
operation: "sync";
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=test-fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-fixtures.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/test-fixtures.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;yBACkB,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI;IAczC;;OAEG;yBACkB,MAAM,kBAAkB,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI,EAAE;IASnE;;OAEG;8BACuB,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI;CAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;uBACgB,MAAM,cAAc,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI;IAc3D;;OAEG;4BACqB,MAAM,SAAS,MAAM,kBAAkB,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI,EAAE;IASrF;;OAEG;gCACyB,MAAM,cAAc,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI;CAKrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B;;OAEG;yBACkB,OAAO,CAAC,QAAQ,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAG,QAAQ;IAchF;;;;OAIG;yBACiB,MAAM,KAAO,QAAQ,EAAE;IAkB3C;;;;OAIG;6BACqB,MAAM,UAAa,MAAM,KAAO,QAAQ,EAAE;CA2BnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;yBACkB,OAAO,CAAC,GAAG,CAAC,KAAG,GAAG;IAYvC;;OAEG;yBACkB,MAAM,WAAW,MAAM,EAAE,KAAG,GAAG,EAAE;CAWvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;;;;;;;;;;;;;;;;IAkBH;;OAEG;;;;;;;;;;;;;;;;;;IAcH;;OAEG;+CACuC,MAAM;;;;;;;;;;CAUjD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/EntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAgB,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,4BAA4B,EAAE,
|
|
1
|
+
{"version":3,"file":"EntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/EntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAgB,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,4BAA4B,EAAE,qBA0CjC,CAAC;AAEX;;;GAGG;AACH,8BAiBsB,UAAW,YAAW,OAAO;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAG,IAAI,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjC;;;;OAIG;IACH,OAAe,GAAG,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;IAEzF;;;;OAIG;IACH,OAAe,OAAO,EAAE,CAAC,CAAC,SAAS,UAAU,EAC3C,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,KACjC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1B;;;;OAIG;IACH,OAAe,aAAa,EAAE,CAAC,CAAC,SAAS,UAAU,EACjD,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,KACvC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEnB;;;;OAIG;IACH,OAAe,IAAI,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErH;;;;OAIG;IACH,OAAe,OAAO,EAAE,CAAC,CAAC,SAAS,UAAU,EAC3C,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,KACjC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErB;;;;OAIG;IACH,OAAe,YAAY,EAAE,CAAC,CAAC,SAAS,UAAU,EAChD,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,KACtC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErB;;;;OAIG;IACH,OAAe,KAAK,EAAE,CAAC,CAAC,SAAS,UAAU,EACzC,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,KAC/B,UAAU,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACK,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC;;OAEG;IACK,KAAK,EAAE,MAAM,IAAI,CAAC;IAC1B;;OAEG;IACK,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC;;;;;OAKG;gBAES,SAAS,CAAC,EAAE,GAAG;CAG5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeEntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/TreeEntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAA8C,MAAM,iCAAiC,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,uCAAuC,EAAE,
|
|
1
|
+
{"version":3,"file":"TreeEntityBase.d.ts","sourceRoot":"","sources":["../../src/entity/TreeEntityBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAA8C,MAAM,iCAAiC,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,uCAAuC,EAAE,qBAmC5C,CAAC;AAEX;;;GAGG;AACH,8BAqBsB,2BAA4B,SAAQ,UAAW,YAAW,WAAW;IACzF;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEvB;;;;OAIG;IACH,OAAe,eAAe,EAAE,CAAC,CAAC,SAAS,2BAA2B,EACpE,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,KAClC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErB;;;;OAIG;IACH,OAAe,gBAAgB,EAAE,CAAC,CAAC,SAAS,2BAA2B,EACrE,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,KAClC,UAAU,CAAC,MAAM,CAAC,CAAC;IAExB;;;;OAIG;IACH,OAAe,aAAa,EAAE,CAAC,CAAC,SAAS,2BAA2B,EAClE,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,KAClC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAErB;;;;OAIG;IACH,OAAe,cAAc,EAAE,CAAC,CAAC,SAAS,2BAA2B,EACnE,IAAI,EAAE,UAAU,CAAC,EACjB,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,KAClC,UAAU,CAAC,MAAM,CAAC,CAAC;CACzB"}
|
|
@@ -16,6 +16,11 @@ interface IEntityObject {
|
|
|
16
16
|
* 非大写开头的英文单词,只能包含英文单词和下划线
|
|
17
17
|
*/
|
|
18
18
|
name: Uncapitalize<string>;
|
|
19
|
+
/**
|
|
20
|
+
* 数据库中的列名称
|
|
21
|
+
* 没有填写就是 name 一样
|
|
22
|
+
*/
|
|
23
|
+
columnName?: string;
|
|
19
24
|
/**
|
|
20
25
|
* 显示名称
|
|
21
26
|
* @example "用户", "订单项"
|
|
@@ -257,6 +262,10 @@ interface EntityRelationMetadataBase extends ISortable, ICascadeOptions {
|
|
|
257
262
|
* 名字
|
|
258
263
|
*/
|
|
259
264
|
name: Uncapitalize<string>;
|
|
265
|
+
/**
|
|
266
|
+
* 数据库中的列名称
|
|
267
|
+
*/
|
|
268
|
+
columnName?: string;
|
|
260
269
|
/**
|
|
261
270
|
* 显示名称
|
|
262
271
|
* @example "用户", "订单项"
|
|
@@ -423,10 +432,10 @@ interface EntityRelationManyToManyMetadataOptions extends EntityRelationMetadata
|
|
|
423
432
|
* 系统会根据关系类型自动处理外键、查询和关联操作
|
|
424
433
|
*/
|
|
425
434
|
export type EntityRelationMetadataOptions = EntityRelationOneToOneMetadataOptions | EntityRelationOneToManyMetadataOptions | EntityRelationManyToOneMetadataOptions | EntityRelationManyToManyMetadataOptions;
|
|
426
|
-
export type EntityRelationOneToOneMetadata = SetRequired<EntityRelationOneToOneMetadataOptions, 'mappedNamespace'>;
|
|
427
|
-
export type EntityRelationOneToManyMetadata = SetRequired<EntityRelationOneToManyMetadataOptions, 'mappedNamespace'>;
|
|
428
|
-
export type EntityRelationManyToOneMetadata = SetRequired<EntityRelationManyToOneMetadataOptions, 'mappedNamespace'>;
|
|
429
|
-
export type EntityRelationManyToManyMetadata = SetRequired<EntityRelationManyToManyMetadataOptions, 'mappedNamespace' | 'junctionEntityType'>;
|
|
435
|
+
export type EntityRelationOneToOneMetadata = SetRequired<EntityRelationOneToOneMetadataOptions, 'mappedNamespace' | 'columnName'>;
|
|
436
|
+
export type EntityRelationOneToManyMetadata = SetRequired<EntityRelationOneToManyMetadataOptions, 'mappedNamespace' | 'columnName'>;
|
|
437
|
+
export type EntityRelationManyToOneMetadata = SetRequired<EntityRelationManyToOneMetadataOptions, 'mappedNamespace' | 'columnName'>;
|
|
438
|
+
export type EntityRelationManyToManyMetadata = SetRequired<EntityRelationManyToManyMetadataOptions, 'mappedNamespace' | 'junctionEntityType' | 'columnName'>;
|
|
430
439
|
export type EntityRelationMetadata = EntityRelationOneToOneMetadata | EntityRelationOneToManyMetadata | EntityRelationManyToOneMetadata | EntityRelationManyToManyMetadata;
|
|
431
440
|
export interface UUIDProperty extends IEntityObject, ISortable {
|
|
432
441
|
primary?: boolean;
|
|
@@ -475,7 +484,7 @@ export interface NumberProperty extends IEntityObject, ISortable {
|
|
|
475
484
|
export interface KeyValueProperty extends IEntityObject {
|
|
476
485
|
type: PropertyType.keyValue | `${PropertyType.keyValue}`;
|
|
477
486
|
default?: KeyValue | (() => KeyValue);
|
|
478
|
-
properties:
|
|
487
|
+
properties: KeyValuePropertyMetadata[];
|
|
479
488
|
}
|
|
480
489
|
/**
|
|
481
490
|
* json
|
|
@@ -484,13 +493,13 @@ export interface JSONProperty extends IEntityObject {
|
|
|
484
493
|
type: PropertyType.json | `${PropertyType.json}`;
|
|
485
494
|
default?: Record<string, any> | (() => Record<string, any>);
|
|
486
495
|
}
|
|
487
|
-
export type
|
|
496
|
+
export type KeyValuePropertyMetadata = SetRequired<StringProperty, 'columnName'> | SetRequired<NumberProperty, 'columnName'> | SetRequired<IntegerProperty, 'columnName'> | SetRequired<DateProperty, 'columnName'> | SetRequired<BooleanProperty, 'columnName'>;
|
|
488
497
|
/**
|
|
489
498
|
* 实体属性元数据联合类型
|
|
490
499
|
* 包含所有可能的属性类型元数据
|
|
491
500
|
*/
|
|
492
|
-
export type EntityPropertyMetadataOptions = UUIDProperty | StringProperty | NumberProperty | IntegerProperty | DateProperty | BooleanProperty | StringArrayProperty | NumberArrayProperty |
|
|
493
|
-
export type EntityPropertyMetadata =
|
|
501
|
+
export type EntityPropertyMetadataOptions = UUIDProperty | StringProperty | NumberProperty | IntegerProperty | DateProperty | BooleanProperty | StringArrayProperty | NumberArrayProperty | JSONProperty | KeyValueProperty;
|
|
502
|
+
export type EntityPropertyMetadata = SetRequired<UUIDProperty, 'columnName'> | SetRequired<StringProperty, 'columnName'> | SetRequired<NumberProperty, 'columnName'> | SetRequired<IntegerProperty, 'columnName'> | SetRequired<DateProperty, 'columnName'> | SetRequired<BooleanProperty, 'columnName'> | SetRequired<StringArrayProperty, 'columnName'> | SetRequired<NumberArrayProperty, 'columnName'> | SetRequired<JSONProperty, 'columnName'> | SetRequired<KeyValueProperty, 'columnName'>;
|
|
494
503
|
/**
|
|
495
504
|
* 实体索引元数据接口
|
|
496
505
|
* 定义实体索引的配置
|
|
@@ -538,6 +547,12 @@ export interface EntityMetadataOptions {
|
|
|
538
547
|
* 名称
|
|
539
548
|
*/
|
|
540
549
|
name: Capitalize<string>;
|
|
550
|
+
/**
|
|
551
|
+
* 表名称
|
|
552
|
+
* 数据库中的表名称
|
|
553
|
+
* 没有填写就是 name 一样
|
|
554
|
+
*/
|
|
555
|
+
tableName?: string;
|
|
541
556
|
/**
|
|
542
557
|
* 显示名称
|
|
543
558
|
* @example "用户", "订单项"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-options.interface.d.ts","sourceRoot":"","sources":["../../src/entity/metadata-options.interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metadata-options.interface.d.ts","sourceRoot":"","sources":["../../src/entity/metadata-options.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-transition.d.ts","sourceRoot":"","sources":["../../src/entity/metadata-transition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,qBAAqB,EAItB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAuB,cAAc,EAAsB,MAAM,yBAAyB,CAAC;AAGlG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAC7B,iBAAiB,qBAAqB,EACtC,UAAU,UAAU,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,KAC1F,
|
|
1
|
+
{"version":3,"file":"metadata-transition.d.ts","sourceRoot":"","sources":["../../src/entity/metadata-transition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,qBAAqB,EAItB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAuB,cAAc,EAAsB,MAAM,yBAAyB,CAAC;AAGlG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAC7B,iBAAiB,qBAAqB,EACtC,UAAU,UAAU,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,KAC1F,cAqJF,CAAC"}
|
|
@@ -5,7 +5,7 @@ export type EntityIndexMetadata = EntityIndexMetadataOptions;
|
|
|
5
5
|
* 实体元数据类型
|
|
6
6
|
* 包含实体的所有元数据信息,如属性、关系、索引等
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export interface EntityMetadataType extends SetRequired<EntityMetadataOptions, 'namespace' | 'displayName' | 'tableName' | 'repository' | 'extends'> {
|
|
9
9
|
properties: EntityPropertyMetadata[];
|
|
10
10
|
computedProperties: EntityPropertyMetadata[];
|
|
11
11
|
relations: EntityRelationMetadata[];
|
|
@@ -40,10 +40,20 @@ export type EntityMetadataType = SetRequired<EntityMetadataOptions, 'namespace'
|
|
|
40
40
|
*/
|
|
41
41
|
foreignKeyRelations: EntityRelationMetadata[];
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
43
|
+
* 实体外键名称列表(JS 属性名)
|
|
44
|
+
* 包含所有外键字段的 JS 属性名
|
|
45
45
|
*/
|
|
46
46
|
foreignKeyNames: string[];
|
|
47
|
+
/**
|
|
48
|
+
* 实体外键列名列表(数据库列名)
|
|
49
|
+
* 包含所有外键字段的数据库列名
|
|
50
|
+
*/
|
|
51
|
+
foreignKeyColumnNames: string[];
|
|
52
|
+
/**
|
|
53
|
+
* 列名到属性名的反向映射
|
|
54
|
+
* 用于将数据库列名映射回 JS 属性名
|
|
55
|
+
*/
|
|
56
|
+
columnNameToPropertyName: Map<string, string>;
|
|
47
57
|
/**
|
|
48
58
|
* 实体所有索引的映射
|
|
49
59
|
* 键为索引名,值为索引元数据
|
|
@@ -55,7 +65,7 @@ export type EntityMetadataType = SetRequired<EntityMetadataOptions, 'namespace'
|
|
|
55
65
|
* @param name - 要检查的属性名
|
|
56
66
|
*/
|
|
57
67
|
isForeignKey(name: string): boolean;
|
|
58
|
-
}
|
|
68
|
+
}
|
|
59
69
|
/**
|
|
60
70
|
* 实体元数据(只读版本)
|
|
61
71
|
* 实体元数据的只读深度副本,防止元数据被修改
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.interface.d.ts","sourceRoot":"","sources":["../../src/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,iCAAiC,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"metadata.interface.d.ts","sourceRoot":"","sources":["../../src/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,iCAAiC,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW,CACrD,qBAAqB,EACrB,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CACrE;IACC,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,kBAAkB,EAAE,sBAAsB,EAAE,CAAC;IAC7C,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,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEzD;;;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,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAEhC;;;OAGG;IACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C;;;OAGG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE3C;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -16,6 +16,10 @@ type EventDispatcher = (event: RxDBEvent) => void;
|
|
|
16
16
|
* 事件监听器注册函数
|
|
17
17
|
*/
|
|
18
18
|
type EventListenerRegistrar = (type: string, listener: (event: RxDBEvent) => void) => void;
|
|
19
|
+
/**
|
|
20
|
+
* 事件监听器移除函数
|
|
21
|
+
*/
|
|
22
|
+
type EventListenerRemover = (type: string, listener: (event: RxDBEvent) => void) => void;
|
|
19
23
|
/**
|
|
20
24
|
* RxDB 多 Tab 网关
|
|
21
25
|
*
|
|
@@ -42,7 +46,7 @@ export declare class RxDBTabsGateway {
|
|
|
42
46
|
* @param dispatchEvent - 事件派发函数(用于将接收到的事件分发给本地)
|
|
43
47
|
* @param addEventListener - 事件监听器注册函数(用于监听本地事件并广播)
|
|
44
48
|
*/
|
|
45
|
-
init(dispatchEvent: EventDispatcher, addEventListener: EventListenerRegistrar): void;
|
|
49
|
+
init(dispatchEvent: EventDispatcher, addEventListener: EventListenerRegistrar, removeEventListener?: EventListenerRemover): void;
|
|
46
50
|
/**
|
|
47
51
|
* 销毁网关,释放资源
|
|
48
52
|
*/
|