@aiao/rxdb 0.0.3 → 0.0.4
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/LICENSE +21 -0
- package/{RxDB.d.ts → dist/RxDB.d.ts} +39 -11
- package/dist/RxDB.d.ts.map +1 -0
- package/{RxDBError.d.ts → dist/RxDBError.d.ts} +2 -0
- package/dist/RxDBError.d.ts.map +1 -0
- package/{entity → dist/entity}/@Entity.d.ts +4 -9
- package/dist/entity/@Entity.d.ts.map +1 -0
- package/{entity → dist/entity}/@TreeEntity.d.ts +5 -4
- package/dist/entity/@TreeEntity.d.ts.map +1 -0
- package/{entity → dist/entity}/EntityBase.d.ts +3 -2
- package/dist/entity/EntityBase.d.ts.map +1 -0
- package/{entity → dist/entity}/EntityManager.d.ts +33 -9
- package/dist/entity/EntityManager.d.ts.map +1 -0
- package/{entity → dist/entity}/EntityStatus.d.ts +26 -19
- package/dist/entity/EntityStatus.d.ts.map +1 -0
- package/dist/entity/TreeEntityBase.d.ts +15 -0
- package/dist/entity/TreeEntityBase.d.ts.map +1 -0
- package/{entity → dist/entity}/entity-metadata-options.interface.d.ts +67 -68
- package/dist/entity/entity-metadata-options.interface.d.ts.map +1 -0
- package/{entity → dist/entity}/entity-metadata.interface.d.ts +5 -14
- package/dist/entity/entity-metadata.interface.d.ts.map +1 -0
- package/{entity → dist/entity}/entity.interface.d.ts +10 -1
- package/dist/entity/entity.interface.d.ts.map +1 -0
- package/{entity → dist/entity}/entity.utils.d.ts +9 -2
- package/dist/entity/entity.utils.d.ts.map +1 -0
- package/{entity → dist/entity}/entity_proxy_helper.d.ts +3 -2
- package/dist/entity/entity_proxy_helper.d.ts.map +1 -0
- package/{entity → dist/entity}/entity_relation_helper.d.ts +4 -3
- package/dist/entity/entity_relation_helper.d.ts.map +1 -0
- package/{entity → dist/entity}/generate_many_to_many_entity.d.ts +5 -4
- package/dist/entity/generate_many_to_many_entity.d.ts.map +1 -0
- package/{entity → dist/entity}/transition-metadata.d.ts +4 -3
- package/dist/entity/transition-metadata.d.ts.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3386 -0
- package/{repository → dist/repository}/Repository.d.ts +14 -20
- package/dist/repository/Repository.d.ts.map +1 -0
- package/{repository → dist/repository}/RepositoryBase.d.ts +6 -5
- package/dist/repository/RepositoryBase.d.ts.map +1 -0
- package/dist/repository/TreeRepository.d.ts +29 -0
- package/dist/repository/TreeRepository.d.ts.map +1 -0
- package/dist/repository/query-options.interface.d.ts +47 -0
- package/dist/repository/query-options.interface.d.ts.map +1 -0
- package/{repository → dist/repository}/query.interface.d.ts +18 -5
- package/dist/repository/query.interface.d.ts.map +1 -0
- package/dist/repository/query.utils.d.ts +27 -0
- package/dist/repository/query.utils.d.ts.map +1 -0
- package/{repository → dist/repository}/relation-query.interface.d.ts +1 -0
- package/dist/repository/relation-query.interface.d.ts.map +1 -0
- package/{repository → dist/repository}/repository.interface.d.ts +9 -18
- package/dist/repository/repository.interface.d.ts.map +1 -0
- package/dist/repository/tree-repository.interface.d.ts +66 -0
- package/dist/repository/tree-repository.interface.d.ts.map +1 -0
- package/{rxdb-adapter.d.ts → dist/rxdb-adapter.d.ts} +30 -6
- package/dist/rxdb-adapter.d.ts.map +1 -0
- package/{rxdb-events.d.ts → dist/rxdb-events.d.ts} +9 -82
- package/dist/rxdb-events.d.ts.map +1 -0
- package/{rxdb-plugin.d.ts → dist/rxdb-plugin.d.ts} +2 -1
- package/dist/rxdb-plugin.d.ts.map +1 -0
- package/{rxdb-utils.d.ts → dist/rxdb-utils.d.ts} +15 -3
- package/dist/rxdb-utils.d.ts.map +1 -0
- package/{rxdb.interface.d.ts → dist/rxdb.interface.d.ts} +3 -10
- package/dist/rxdb.interface.d.ts.map +1 -0
- package/{rxdb.private.d.ts → dist/rxdb.private.d.ts} +14 -14
- package/dist/rxdb.private.d.ts.map +1 -0
- package/{schema → dist/schema}/SchemaManager.d.ts +8 -4
- package/dist/schema/SchemaManager.d.ts.map +1 -0
- package/dist/system/VersionManager.d.ts +35 -0
- package/dist/system/VersionManager.d.ts.map +1 -0
- package/dist/system/branch.d.ts +17 -0
- package/dist/system/branch.d.ts.map +1 -0
- package/dist/system/change.d.ts +78 -0
- package/dist/system/change.d.ts.map +1 -0
- package/dist/system/migration.d.ts +27 -0
- package/dist/system/migration.d.ts.map +1 -0
- package/dist/system/types.d.ts +335 -0
- package/dist/system/types.d.ts.map +1 -0
- package/package.json +26 -12
- package/entity/TreeEntityBase.d.ts +0 -9
- package/index.d.ts +0 -33
- package/index.js +0 -1789
- package/repository/TreeRepository.d.ts +0 -28
- package/repository/query-options.interface.d.ts +0 -53
- package/repository/query.utils.d.ts +0 -19
- package/repository/tree-query-options.interface.d.ts +0 -9
- package/repository/tree-repository.interface.d.ts +0 -26
- package/system/change.d.ts +0 -13
- package/system/migration.d.ts +0 -9
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Aiao Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
2
|
+
import { EntityManager } from './entity/EntityManager.js';
|
|
3
|
+
import { AdapterFactory, IRxDBAdapter, RxDBAdapters } from './rxdb-adapter.js';
|
|
4
|
+
import { RxDBEvent, RxDBEventMap } from './rxdb-events.js';
|
|
5
|
+
import { Plugin } from './rxdb-plugin.js';
|
|
6
|
+
import { RxDBContext, RxDBOptions } from './rxdb.interface.js';
|
|
7
|
+
import { SchemaManager } from './schema/SchemaManager.js';
|
|
8
|
+
import { VersionManager } from './system/VersionManager.js';
|
|
9
9
|
type EventListener<T> = (event: T) => void;
|
|
10
|
-
type RxDBConfig =
|
|
10
|
+
type RxDBConfig = RxDBOptions;
|
|
11
11
|
/**
|
|
12
12
|
* RxDB
|
|
13
13
|
*/
|
|
@@ -16,11 +16,15 @@ export declare class RxDB {
|
|
|
16
16
|
/**
|
|
17
17
|
* Schema 管理
|
|
18
18
|
*/
|
|
19
|
-
readonly
|
|
19
|
+
readonly schemaManager: SchemaManager;
|
|
20
20
|
/**
|
|
21
21
|
* Entity 管理
|
|
22
22
|
*/
|
|
23
|
-
readonly
|
|
23
|
+
readonly entityManager: EntityManager;
|
|
24
|
+
/**
|
|
25
|
+
* 版本管理
|
|
26
|
+
*/
|
|
27
|
+
readonly versionManager: VersionManager;
|
|
24
28
|
/**
|
|
25
29
|
* 设置环境上下文
|
|
26
30
|
*/
|
|
@@ -43,9 +47,33 @@ export declare class RxDB {
|
|
|
43
47
|
/**
|
|
44
48
|
* 连接适配器
|
|
45
49
|
*/
|
|
46
|
-
connect<K extends keyof RxDBAdapters>(adapterName: K): Observable<
|
|
50
|
+
connect<K extends keyof RxDBAdapters>(adapterName: K): Observable<IRxDBAdapter>;
|
|
51
|
+
/**
|
|
52
|
+
* 断开适配器
|
|
53
|
+
* @param adapterName 适配器注册名称
|
|
54
|
+
*/
|
|
55
|
+
disconnect<K extends keyof RxDBAdapters>(adapterName: K): Observable<void>;
|
|
56
|
+
/**
|
|
57
|
+
* 断开所有适配器
|
|
58
|
+
*/
|
|
59
|
+
disconnectAll(): Observable<void[]>;
|
|
60
|
+
/**
|
|
61
|
+
* 监听事件
|
|
62
|
+
* @param type
|
|
63
|
+
* @param listener
|
|
64
|
+
*/
|
|
47
65
|
addEventListener<T extends keyof RxDBEventMap>(type: T, listener: EventListener<RxDBEventMap[T]>): void;
|
|
66
|
+
/**
|
|
67
|
+
* 移除事件
|
|
68
|
+
* @param type
|
|
69
|
+
* @param listener
|
|
70
|
+
*/
|
|
48
71
|
removeEventListener<T extends keyof RxDBEventMap>(type: T, listener: EventListener<RxDBEventMap[T]>): void;
|
|
72
|
+
/**
|
|
73
|
+
* 派发事件
|
|
74
|
+
* @param event
|
|
75
|
+
*/
|
|
49
76
|
dispatchEvent(event: RxDBEvent): void;
|
|
50
77
|
}
|
|
51
78
|
export {};
|
|
79
|
+
//# sourceMappingURL=RxDB.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +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,10 +1,5 @@
|
|
|
1
|
-
import { EntityMetadataOptions } from './entity-metadata-options.interface';
|
|
2
|
-
import { AbstractEntityType, EntityType } from './entity.interface';
|
|
3
|
-
/**
|
|
4
|
-
* 装饰后的实体类型
|
|
5
|
-
* 根据原始类型是否为抽象类,返回相应的构造函数类型
|
|
6
|
-
*/
|
|
7
|
-
type DecoratedEntityType<T extends EntityType | AbstractEntityType> = T extends EntityType ? new (initData?: Partial<InstanceType<T>>) => InstanceType<T> : abstract new (initData?: Partial<InstanceType<T>>) => InstanceType<T>;
|
|
1
|
+
import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
|
|
2
|
+
import { AbstractEntityType, EntityType } from './entity.interface.js';
|
|
8
3
|
/**
|
|
9
4
|
* 实体装饰器
|
|
10
5
|
* 用于将类标记为 RxDB 实体,并处理元数据、代理和生命周期
|
|
@@ -25,5 +20,5 @@ type DecoratedEntityType<T extends EntityType | AbstractEntityType> = T extends
|
|
|
25
20
|
* @param metadataOptions - 实体元数据选项,包含名称、显示名称、属性、关系、索引等配置
|
|
26
21
|
* @returns 类装饰器函数
|
|
27
22
|
*/
|
|
28
|
-
export declare const Entity: (metadataOptions: EntityMetadataOptions) => <T extends EntityType | AbstractEntityType>(target: T) =>
|
|
29
|
-
|
|
23
|
+
export declare const Entity: (metadataOptions: EntityMetadataOptions) => <T extends EntityType | AbstractEntityType>(target: T) => any;
|
|
24
|
+
//# sourceMappingURL=@Entity.d.ts.map
|
|
@@ -0,0 +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,10 +1,10 @@
|
|
|
1
|
-
import { EntityMetadataOptions } from './entity-metadata-options.interface';
|
|
1
|
+
import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
|
|
2
2
|
/**
|
|
3
3
|
* 树形实体装饰器
|
|
4
4
|
* 用于将类标记为树形结构实体,并处理树形特定的元数据
|
|
5
5
|
*
|
|
6
|
-
* 该装饰器基于基础的Entity装饰器,但添加了树形结构特定的处理:
|
|
7
|
-
* 1. 设置默认仓库为TreeRepository
|
|
6
|
+
* 该装饰器基于基础的 Entity 装饰器,但添加了树形结构特定的处理:
|
|
7
|
+
* 1. 设置默认仓库为 TreeRepository
|
|
8
8
|
* 2. 处理树形结构特定的元数据
|
|
9
9
|
* 3. 支持树形结构的查询和操作
|
|
10
10
|
*
|
|
@@ -22,4 +22,5 @@ import { EntityMetadataOptions } from './entity-metadata-options.interface';
|
|
|
22
22
|
* }
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
|
-
export declare const TreeEntity: (metadataOptions: EntityMetadataOptions) => <T extends import('
|
|
25
|
+
export declare const TreeEntity: (metadataOptions: EntityMetadataOptions) => <T extends import('@aiao/rxdb').EntityType | import('@aiao/rxdb').AbstractEntityType>(target: T) => any;
|
|
26
|
+
//# sourceMappingURL=@TreeEntity.d.ts.map
|
|
@@ -0,0 +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,5 +1,5 @@
|
|
|
1
|
-
import { EntityMetadataOptions } from './entity-metadata-options.interface';
|
|
2
|
-
import { IEntity, UUID } from './entity.interface';
|
|
1
|
+
import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
|
|
2
|
+
import { IEntity, UUID } from './entity.interface.js';
|
|
3
3
|
export declare const ENTITY_BASE_METADATA_OPTIONS: EntityMetadataOptions;
|
|
4
4
|
/**
|
|
5
5
|
* 实体基类装饰器配置
|
|
@@ -49,3 +49,4 @@ export declare abstract class EntityBase implements IEntity {
|
|
|
49
49
|
*/
|
|
50
50
|
constructor(initData?: any);
|
|
51
51
|
}
|
|
52
|
+
//# sourceMappingURL=EntityBase.d.ts.map
|
|
@@ -0,0 +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,7 +1,7 @@
|
|
|
1
|
-
import { Repository } from '../repository/Repository';
|
|
2
|
-
import { RxDB } from '../RxDB';
|
|
3
|
-
import { EntityType, RowId
|
|
4
|
-
import { EntityStatusOptions } from './EntityStatus';
|
|
1
|
+
import { Repository } from '../repository/Repository.js';
|
|
2
|
+
import { RxDB } from '../RxDB.js';
|
|
3
|
+
import { EntityStaticType, EntityType, RowId } from './entity.interface.js';
|
|
4
|
+
import { EntityStatusOptions } from './EntityStatus.js';
|
|
5
5
|
/**
|
|
6
6
|
* 实体管理器
|
|
7
7
|
*
|
|
@@ -41,7 +41,7 @@ export declare class EntityManager {
|
|
|
41
41
|
* @returns 创建或获取的实体实例
|
|
42
42
|
*/
|
|
43
43
|
createEntityRef<T extends EntityType>(EntityType: T, data: Partial<InstanceType<T>> & {
|
|
44
|
-
id:
|
|
44
|
+
id: EntityStaticType<T, 'idType'>;
|
|
45
45
|
}, status?: EntityStatusOptions<T>): any;
|
|
46
46
|
/**
|
|
47
47
|
* 获取实体引用
|
|
@@ -52,7 +52,14 @@ export declare class EntityManager {
|
|
|
52
52
|
* @param id - 实体ID
|
|
53
53
|
* @returns 实体实例,如果不存在则返回undefined
|
|
54
54
|
*/
|
|
55
|
-
getEntityRef<T extends EntityType>(EntityType: T, id:
|
|
55
|
+
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;
|
|
56
63
|
/**
|
|
57
64
|
* 检查实体是否在缓存中
|
|
58
65
|
* 判断指定ID的实体是否已在缓存中初始化
|
|
@@ -62,7 +69,7 @@ export declare class EntityManager {
|
|
|
62
69
|
* @param id - 实体ID
|
|
63
70
|
* @returns 如果实体在缓存中存在则返回true
|
|
64
71
|
*/
|
|
65
|
-
hasEntityRef<T extends EntityType>(EntityType: T, id:
|
|
72
|
+
hasEntityRef<T extends EntityType>(EntityType: T, id: EntityStaticType<T, 'idType'>): boolean;
|
|
66
73
|
/**
|
|
67
74
|
* 添加实体到缓存
|
|
68
75
|
* 将实体实例添加到对应类型的缓存映射中
|
|
@@ -97,7 +104,13 @@ export declare class EntityManager {
|
|
|
97
104
|
* @param data - 要保存的实体实例
|
|
98
105
|
* @returns 保存后的实体实例
|
|
99
106
|
*/
|
|
100
|
-
save<T extends EntityType>(
|
|
107
|
+
save<T extends EntityType>(entity: InstanceType<T>): Promise<InstanceType<T>>;
|
|
108
|
+
/**
|
|
109
|
+
* 批量保存
|
|
110
|
+
* @param entities
|
|
111
|
+
* @returns
|
|
112
|
+
*/
|
|
113
|
+
saveMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<InstanceType<T>[]>;
|
|
101
114
|
/**
|
|
102
115
|
* 删除实体
|
|
103
116
|
* 从数据库中删除实体,并分发相关事件
|
|
@@ -108,6 +121,16 @@ export declare class EntityManager {
|
|
|
108
121
|
* @throws 如果删除失败,抛出错误
|
|
109
122
|
*/
|
|
110
123
|
remove<T extends EntityType>(data: InstanceType<T>): Promise<InstanceType<T>>;
|
|
124
|
+
/**
|
|
125
|
+
* 重置实体
|
|
126
|
+
*/
|
|
127
|
+
reset<T extends EntityType>(data: InstanceType<T>): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* 批量删除
|
|
130
|
+
* @param entities
|
|
131
|
+
* @returns
|
|
132
|
+
*/
|
|
133
|
+
removeMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<any>;
|
|
111
134
|
/**
|
|
112
135
|
* 创建实体
|
|
113
136
|
* 在数据库中创建新实体,并分发相关事件
|
|
@@ -136,5 +159,6 @@ export declare class EntityManager {
|
|
|
136
159
|
* @param EntityType - 实体类型
|
|
137
160
|
* @returns 实体仓库实例
|
|
138
161
|
*/
|
|
139
|
-
getRepository<T extends EntityType
|
|
162
|
+
getRepository<T extends EntityType, RT extends Repository<T>>(EntityType: T): RT;
|
|
140
163
|
}
|
|
164
|
+
//# sourceMappingURL=EntityManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../src/entity/EntityManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { RxDB } from '../RxDB';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { EntityType, RowId } from './entity.interface';
|
|
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';
|
|
6
5
|
/**
|
|
7
6
|
* 实体变化记录接口
|
|
8
7
|
* 记录实体的变更信息,包括变更内容、逆向变更、时间戳等
|
|
@@ -26,7 +25,7 @@ export interface EntityPatch<T extends EntityType> {
|
|
|
26
25
|
/**
|
|
27
26
|
* 记录的毫秒世界时间
|
|
28
27
|
*/
|
|
29
|
-
recordAt:
|
|
28
|
+
recordAt: Date;
|
|
30
29
|
/**
|
|
31
30
|
* 记录的程序开始的时间
|
|
32
31
|
* 用于 recordAt 一样的时候排序用
|
|
@@ -102,13 +101,22 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
|
|
|
102
101
|
* 实体变更记录数组
|
|
103
102
|
*/
|
|
104
103
|
protected _patches: EntityPatch<T>[];
|
|
104
|
+
/**
|
|
105
|
+
* 实体变更缓存
|
|
106
|
+
*/
|
|
107
|
+
protected _patch_cache?: Partial<InstanceType<T>>;
|
|
108
|
+
/**
|
|
109
|
+
* 实体原始数据
|
|
110
|
+
* 用于比较变更和恢复
|
|
111
|
+
*/
|
|
112
|
+
protected _origin: any;
|
|
105
113
|
/**
|
|
106
114
|
* 实体原始对象
|
|
107
115
|
*/
|
|
108
116
|
readonly target: InstanceType<T>;
|
|
109
117
|
/**
|
|
110
118
|
* 实体代理对象
|
|
111
|
-
*
|
|
119
|
+
* 用于拦截并记录对象的属性访问和修改
|
|
112
120
|
*/
|
|
113
121
|
readonly proxyTarget: InstanceType<T>;
|
|
114
122
|
/**
|
|
@@ -116,16 +124,6 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
|
|
|
116
124
|
* 用于订阅实体变更
|
|
117
125
|
*/
|
|
118
126
|
readonly patches$: import('rxjs').Observable<EntityPatch<T>[]>;
|
|
119
|
-
/**
|
|
120
|
-
* 状态检查标记
|
|
121
|
-
* 用于内部状态验证
|
|
122
|
-
*/
|
|
123
|
-
[STATUS_CHECK]: boolean;
|
|
124
|
-
/**
|
|
125
|
-
* 实体原始数据
|
|
126
|
-
* 用于比较变更和恢复
|
|
127
|
-
*/
|
|
128
|
-
_origin: any;
|
|
129
127
|
/**
|
|
130
128
|
* 是否已修改
|
|
131
129
|
*/
|
|
@@ -146,6 +144,10 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
|
|
|
146
144
|
*/
|
|
147
145
|
get local(): boolean;
|
|
148
146
|
set local(value: boolean);
|
|
147
|
+
/**
|
|
148
|
+
* 获取所有变化
|
|
149
|
+
*/
|
|
150
|
+
get patch(): Partial<InstanceType<T>> | undefined;
|
|
149
151
|
/**
|
|
150
152
|
* 获取变化
|
|
151
153
|
*/
|
|
@@ -168,6 +170,10 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
|
|
|
168
170
|
* @param data - 实体状态初始数据
|
|
169
171
|
*/
|
|
170
172
|
constructor(rxdb: RxDB, data: IEntityStatus<T>);
|
|
173
|
+
/**
|
|
174
|
+
* 重置实体状态
|
|
175
|
+
*/
|
|
176
|
+
reset(): void;
|
|
171
177
|
/**
|
|
172
178
|
* 添加实体变更记录
|
|
173
179
|
* 记录实体的变更并发布变更事件
|
|
@@ -175,9 +181,9 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
|
|
|
175
181
|
* @param patch - 变更内容
|
|
176
182
|
* @param inversePatch - 逆向变更内容,用于撤销操作
|
|
177
183
|
* @param updatedBy - 更新者信息
|
|
178
|
-
* @param
|
|
184
|
+
* @param recordAt - 记录时间戳
|
|
179
185
|
*/
|
|
180
|
-
addEntityPatch(patch: Partial<InstanceType<T>>, inversePatch: Partial<InstanceType<T>>, updatedBy: UpdatedBy, recordAt?:
|
|
186
|
+
addEntityPatch(patch: Partial<InstanceType<T>>, inversePatch: Partial<InstanceType<T>>, updatedBy: UpdatedBy, recordAt?: Date): void;
|
|
181
187
|
/**
|
|
182
188
|
* 获取需要保存的关联实体
|
|
183
189
|
* 根据关系类型的优先级排序,返回需要保存的实体数组
|
|
@@ -209,3 +215,4 @@ export declare class EntityStatus<T extends EntityType> implements IEntityStatus
|
|
|
209
215
|
*/
|
|
210
216
|
getRelationCache(kind: RelationKind): Set<InstanceType<EntityType>>;
|
|
211
217
|
}
|
|
218
|
+
//# sourceMappingURL=EntityStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityStatus.d.ts","sourceRoot":"","sources":["../../src/entity/EntityStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EntityBase } from './EntityBase.js';
|
|
2
|
+
import { EntityMetadataOptions } from './entity-metadata-options.interface.js';
|
|
3
|
+
import { IEntity, UUID } from './entity.interface.js';
|
|
4
|
+
export declare const TREE_ADJACENCY_LIST_ENTITY_BASE_OPTIONS: EntityMetadataOptions;
|
|
5
|
+
export interface ITreeEntity extends IEntity {
|
|
6
|
+
parentId?: UUID | null;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 树形实体装饰器配置
|
|
10
|
+
* 定义了树形结构所需的父子关系
|
|
11
|
+
*/
|
|
12
|
+
export declare abstract class TreeAdjacencyListEntityBase extends EntityBase implements ITreeEntity {
|
|
13
|
+
parentId?: UUID | null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=TreeEntityBase.d.ts.map
|
|
@@ -0,0 +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,5 +1,10 @@
|
|
|
1
1
|
import { SetRequired } from 'type-fest';
|
|
2
|
-
import { EntityType } from './entity.interface';
|
|
2
|
+
import { EntityType, UUID } from './entity.interface.js';
|
|
3
|
+
/**
|
|
4
|
+
* 值对象
|
|
5
|
+
* 存储键值队列
|
|
6
|
+
*/
|
|
7
|
+
export type ValueObjectType = Record<string, number | number[] | Date | Date[] | string | string[] | boolean>;
|
|
3
8
|
/**
|
|
4
9
|
* 实体字段基础值对象接口
|
|
5
10
|
* 定义实体属性的基本特性
|
|
@@ -74,6 +79,18 @@ export declare enum PropertyType {
|
|
|
74
79
|
* 日期
|
|
75
80
|
*/
|
|
76
81
|
date = "date",
|
|
82
|
+
/**
|
|
83
|
+
* 字符串组
|
|
84
|
+
*/
|
|
85
|
+
stringArray = "stringArray",
|
|
86
|
+
/**
|
|
87
|
+
* 数字组
|
|
88
|
+
*/
|
|
89
|
+
numberArray = "numberArray",
|
|
90
|
+
/**
|
|
91
|
+
* 值对象
|
|
92
|
+
*/
|
|
93
|
+
valueObject = "valueObject",
|
|
77
94
|
/**
|
|
78
95
|
* json
|
|
79
96
|
*/
|
|
@@ -187,81 +204,56 @@ export type EntityRelationOneToManyMetadata = SetRequired<EntityRelationOneToMan
|
|
|
187
204
|
export type EntityRelationManyToOneMetadata = SetRequired<EntityRelationManyToOneMetadataOptions, 'mappedNamespace'>;
|
|
188
205
|
export type EntityRelationManyToManyMetadata = SetRequired<EntityRelationManyToManyMetadataOptions, 'mappedNamespace' | 'junctionEntityType'>;
|
|
189
206
|
export type EntityRelationMetadata = EntityRelationOneToOneMetadata | EntityRelationOneToManyMetadata | EntityRelationManyToOneMetadata | EntityRelationManyToManyMetadata;
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
interface EntityPropertyDefaultMetadataOptions extends IEntityObject, ISortable {
|
|
195
|
-
primary?: false;
|
|
196
|
-
/**
|
|
197
|
-
* 类型
|
|
198
|
-
*/
|
|
199
|
-
type: PropertyType | `${PropertyType}`;
|
|
200
|
-
/**
|
|
201
|
-
* 默认值
|
|
202
|
-
* 创建数据时如果没有数据就用 default
|
|
203
|
-
*/
|
|
204
|
-
default?: RxDBScalar | (() => RxDBScalar);
|
|
207
|
+
interface UUID_type extends IEntityObject, ISortable {
|
|
208
|
+
primary?: boolean;
|
|
209
|
+
type: PropertyType.uuid | `${PropertyType.uuid}`;
|
|
210
|
+
default?: UUID | (() => UUID);
|
|
205
211
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
interface EntityPrimaryIntegerPropertyMetadataOptions extends IEntityObject, ISortable {
|
|
211
|
-
/**
|
|
212
|
-
* 是否主键
|
|
213
|
-
*/
|
|
214
|
-
primary: true;
|
|
215
|
-
/**
|
|
216
|
-
* 类型
|
|
217
|
-
*/
|
|
218
|
-
type: PropertyType.integer;
|
|
219
|
-
/**
|
|
220
|
-
* 默认值
|
|
221
|
-
* 创建数据时如果没有数据就用 default
|
|
222
|
-
*/
|
|
223
|
-
default?: RxDBScalar | (() => RxDBScalar);
|
|
212
|
+
interface String_type extends IEntityObject, ISortable {
|
|
213
|
+
primary?: boolean;
|
|
214
|
+
type: PropertyType.string | `${PropertyType.string}`;
|
|
215
|
+
default?: string | (() => string);
|
|
224
216
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
*/
|
|
229
|
-
interface EntityPrimaryUUIDPropertyMetadataOptions extends IEntityObject, ISortable {
|
|
230
|
-
/**
|
|
231
|
-
* 是否主键
|
|
232
|
-
*/
|
|
233
|
-
primary: true;
|
|
234
|
-
/**
|
|
235
|
-
* 类型
|
|
236
|
-
*/
|
|
237
|
-
type: PropertyType.uuid;
|
|
238
|
-
/**
|
|
239
|
-
* 默认值
|
|
240
|
-
* 创建数据时如果没有数据就用 default
|
|
241
|
-
*/
|
|
242
|
-
default?: RxDBScalar | (() => RxDBScalar);
|
|
217
|
+
interface StringArray_type extends IEntityObject, ISortable {
|
|
218
|
+
type: PropertyType.stringArray | `${PropertyType.stringArray}`;
|
|
219
|
+
default?: string[] | (() => string[]);
|
|
243
220
|
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
interface
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
* CURRENT_TIMESTAMP 默认当前时间
|
|
257
|
-
*/
|
|
258
|
-
default?: RxDBScalar | (() => RxDBScalar) | 'CURRENT_TIMESTAMP';
|
|
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 {
|
|
226
|
+
type: PropertyType.numberArray | `${PropertyType.numberArray}`;
|
|
227
|
+
default?: number[] | (() => number[]);
|
|
228
|
+
}
|
|
229
|
+
interface Integer_type extends IEntityObject, ISortable {
|
|
230
|
+
primary?: boolean;
|
|
231
|
+
type: PropertyType.integer | `${PropertyType.integer}`;
|
|
232
|
+
default?: number | (() => number);
|
|
259
233
|
}
|
|
234
|
+
interface Date_type extends IEntityObject, ISortable {
|
|
235
|
+
type: PropertyType.date | `${PropertyType.date}`;
|
|
236
|
+
default?: Date | (() => Date) | 'CURRENT_TIMESTAMP';
|
|
237
|
+
}
|
|
238
|
+
interface Boolean_type extends IEntityObject, ISortable {
|
|
239
|
+
type: PropertyType.boolean | `${PropertyType.boolean}`;
|
|
240
|
+
default?: boolean | (() => boolean);
|
|
241
|
+
}
|
|
242
|
+
interface ValueObject_type extends IEntityObject, ISortable {
|
|
243
|
+
type: PropertyType.valueObject | `${PropertyType.valueObject}`;
|
|
244
|
+
default?: ValueObjectType | (() => ValueObjectType);
|
|
245
|
+
properties: KeyValuePropertyMetadataOptions[];
|
|
246
|
+
}
|
|
247
|
+
interface JSON_type extends IEntityObject, ISortable {
|
|
248
|
+
type: PropertyType.json | `${PropertyType.json}`;
|
|
249
|
+
default?: Record<string, any> | (() => Record<string, any>);
|
|
250
|
+
}
|
|
251
|
+
export type KeyValuePropertyMetadataOptions = String_type | Number_type | Integer_type | Date_type | Boolean_type | StringArray_type | NumberArray_type;
|
|
260
252
|
/**
|
|
261
253
|
* 实体属性元数据联合类型
|
|
262
254
|
* 包含所有可能的属性类型元数据
|
|
263
255
|
*/
|
|
264
|
-
export type EntityPropertyMetadataOptions =
|
|
256
|
+
export type EntityPropertyMetadataOptions = UUID_type | String_type | Number_type | Integer_type | Date_type | Boolean_type | StringArray_type | NumberArray_type | ValueObject_type | JSON_type;
|
|
265
257
|
export type EntityPropertyMetadata = EntityPropertyMetadataOptions;
|
|
266
258
|
/**
|
|
267
259
|
* 实体索引元数据接口
|
|
@@ -315,6 +307,11 @@ export interface EntityMetadataOptions {
|
|
|
315
307
|
* @example "用户", "订单项"
|
|
316
308
|
*/
|
|
317
309
|
displayName?: string;
|
|
310
|
+
/**
|
|
311
|
+
* 继承的实体名称列表
|
|
312
|
+
* 表示当前实体继承自哪些实体
|
|
313
|
+
*/
|
|
314
|
+
extends?: string[];
|
|
318
315
|
/**
|
|
319
316
|
* 自定义 repository
|
|
320
317
|
* @default "Repository"
|
|
@@ -322,6 +319,7 @@ export interface EntityMetadataOptions {
|
|
|
322
319
|
repository?: 'Repository' | 'TreeRepository' | string;
|
|
323
320
|
/**
|
|
324
321
|
* 是否开启日志
|
|
322
|
+
* @default true
|
|
325
323
|
*/
|
|
326
324
|
log?: boolean;
|
|
327
325
|
/**
|
|
@@ -452,3 +450,4 @@ interface Local {
|
|
|
452
450
|
*/
|
|
453
451
|
export type SyncOptions = SyncFull | SyncFilter | Remote | Local;
|
|
454
452
|
export {};
|
|
453
|
+
//# sourceMappingURL=entity-metadata-options.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,24 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EntityIndexMetadataOptions, EntityMetadataOptions, EntityPropertyMetadata, EntityRelationMetadata } from './entity-metadata-options.interface';
|
|
1
|
+
import { SetRequired } from 'type-fest';
|
|
2
|
+
import { EntityIndexMetadataOptions, EntityMetadataOptions, EntityPropertyMetadata, EntityRelationMetadata } from './entity-metadata-options.interface.js';
|
|
3
3
|
export type EntityIndexMetadata = EntityIndexMetadataOptions;
|
|
4
4
|
/**
|
|
5
5
|
* 实体元数据类型
|
|
6
6
|
* 包含实体的所有元数据信息,如属性、关系、索引等
|
|
7
7
|
*/
|
|
8
|
-
export type EntityMetadataType = SetRequired<EntityMetadataOptions, 'namespace' | 'displayName' | 'repository'> & {
|
|
8
|
+
export type EntityMetadataType = SetRequired<EntityMetadataOptions, 'namespace' | 'displayName' | 'repository' | 'extends'> & {
|
|
9
9
|
properties: EntityPropertyMetadata[];
|
|
10
10
|
relations: EntityRelationMetadata[];
|
|
11
11
|
indexes: EntityIndexMetadata[];
|
|
12
|
-
/**
|
|
13
|
-
* 继承的实体名称列表
|
|
14
|
-
* 表示当前实体继承自哪些实体
|
|
15
|
-
*/
|
|
16
|
-
extends: string[];
|
|
17
|
-
/**
|
|
18
|
-
* 自定义仓库名称
|
|
19
|
-
* 指定实体使用的仓库类型,可以是标准仓库、树形仓库或自定义仓库
|
|
20
|
-
*/
|
|
21
|
-
repository: 'Repository' | 'TreeRepository' | string;
|
|
22
12
|
/**
|
|
23
13
|
* 实体所有属性的映射
|
|
24
14
|
* 键为属性名,值为属性元数据
|
|
@@ -64,4 +54,5 @@ export type EntityMetadataType = SetRequired<EntityMetadataOptions, 'namespace'
|
|
|
64
54
|
* 实体元数据(只读版本)
|
|
65
55
|
* 实体元数据的只读深度副本,防止元数据被修改
|
|
66
56
|
*/
|
|
67
|
-
export type EntityMetadata =
|
|
57
|
+
export type EntityMetadata = Readonly<EntityMetadataType>;
|
|
58
|
+
//# sourceMappingURL=entity-metadata.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|