@aiao/rxdb 0.0.1 → 0.0.3
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/RxDBError.d.ts +0 -8
- package/entity/@TreeEntity.d.ts +1 -26
- package/entity/EntityBase.d.ts +2 -0
- package/entity/TreeEntityBase.d.ts +2 -0
- package/entity/entity-metadata-options.interface.d.ts +30 -10
- package/entity/transition-metadata.d.ts +2 -2
- package/index.d.ts +7 -0
- package/index.js +354 -348
- package/package.json +2 -2
- package/repository/query.interface.d.ts +0 -5
- package/repository/relation-query.interface.d.ts +62 -0
- package/rxdb-utils.d.ts +1 -1
- package/rxdb.interface.d.ts +4 -1
- package/rxdb.private.d.ts +25 -0
package/RxDBError.d.ts
CHANGED
|
@@ -2,12 +2,4 @@
|
|
|
2
2
|
* RxDB 基础错误类型
|
|
3
3
|
*/
|
|
4
4
|
export declare class RxDBError extends Error {
|
|
5
|
-
messageTemplate: string;
|
|
6
|
-
data: {
|
|
7
|
-
[name: string]: string | number;
|
|
8
|
-
};
|
|
9
|
-
constructor(messageTemplate: string, data?: {
|
|
10
|
-
[name: string]: string | number;
|
|
11
|
-
});
|
|
12
|
-
toString(): string;
|
|
13
5
|
}
|
package/entity/@TreeEntity.d.ts
CHANGED
|
@@ -1,28 +1,4 @@
|
|
|
1
1
|
import { EntityMetadataOptions } from './entity-metadata-options.interface';
|
|
2
|
-
/**
|
|
3
|
-
* 树形结构类型
|
|
4
|
-
*
|
|
5
|
-
* 目前仅支持邻接表模型,未来可能支持其他模型:
|
|
6
|
-
* - 'closure-table': 闭包表模型
|
|
7
|
-
* - 'nested-set': 嵌套集模型
|
|
8
|
-
* - 'materialized-path': 物化路径模型
|
|
9
|
-
*
|
|
10
|
-
* 参考资料:
|
|
11
|
-
* - https://www.slideshare.net/slideshow/models-for-hierarchical-data/4179181
|
|
12
|
-
* - https://schinckel.net/2014/09/13/long-live-adjacency-lists/
|
|
13
|
-
*/
|
|
14
|
-
type TreeType = 'adjacency-list';
|
|
15
|
-
/**
|
|
16
|
-
* 树形实体元数据选项接口
|
|
17
|
-
* 扩展基本实体元数据,添加树形结构特定配置
|
|
18
|
-
*/
|
|
19
|
-
interface TreeEntityMetadataOptions extends EntityMetadataOptions {
|
|
20
|
-
/**
|
|
21
|
-
* 树形结构类型
|
|
22
|
-
* 指定使用哪种树形结构模型
|
|
23
|
-
*/
|
|
24
|
-
treeType: TreeType;
|
|
25
|
-
}
|
|
26
2
|
/**
|
|
27
3
|
* 树形实体装饰器
|
|
28
4
|
* 用于将类标记为树形结构实体,并处理树形特定的元数据
|
|
@@ -46,5 +22,4 @@ interface TreeEntityMetadataOptions extends EntityMetadataOptions {
|
|
|
46
22
|
* }
|
|
47
23
|
* ```
|
|
48
24
|
*/
|
|
49
|
-
export declare const TreeEntity: (metadataOptions:
|
|
50
|
-
export {};
|
|
25
|
+
export declare const TreeEntity: (metadataOptions: EntityMetadataOptions) => <T extends import('./entity.interface').EntityType | import('./entity.interface').AbstractEntityType>(target: T) => T extends import('./entity.interface').EntityType ? new (initData?: Partial<InstanceType<T>> | undefined) => InstanceType<T> : abstract new (initData?: Partial<InstanceType<T>> | undefined) => InstanceType<T>;
|
package/entity/EntityBase.d.ts
CHANGED
|
@@ -196,7 +196,7 @@ interface EntityPropertyDefaultMetadataOptions extends IEntityObject, ISortable
|
|
|
196
196
|
/**
|
|
197
197
|
* 类型
|
|
198
198
|
*/
|
|
199
|
-
type: PropertyType
|
|
199
|
+
type: PropertyType | `${PropertyType}`;
|
|
200
200
|
/**
|
|
201
201
|
* 默认值
|
|
202
202
|
* 创建数据时如果没有数据就用 default
|
|
@@ -311,13 +311,15 @@ export interface EntityMetadataOptions {
|
|
|
311
311
|
*/
|
|
312
312
|
name: Capitalize<string>;
|
|
313
313
|
/**
|
|
314
|
-
*
|
|
314
|
+
* 显示名称
|
|
315
|
+
* @example "用户", "订单项"
|
|
315
316
|
*/
|
|
316
|
-
|
|
317
|
+
displayName?: string;
|
|
317
318
|
/**
|
|
318
|
-
*
|
|
319
|
+
* 自定义 repository
|
|
320
|
+
* @default "Repository"
|
|
319
321
|
*/
|
|
320
|
-
|
|
322
|
+
repository?: 'Repository' | 'TreeRepository' | string;
|
|
321
323
|
/**
|
|
322
324
|
* 是否开启日志
|
|
323
325
|
*/
|
|
@@ -326,11 +328,6 @@ export interface EntityMetadataOptions {
|
|
|
326
328
|
* 实体同步配置
|
|
327
329
|
*/
|
|
328
330
|
sync?: SyncOptions;
|
|
329
|
-
/**
|
|
330
|
-
* 显示名称
|
|
331
|
-
* @example "用户", "订单项"
|
|
332
|
-
*/
|
|
333
|
-
displayName?: string;
|
|
334
331
|
/**
|
|
335
332
|
* 是否为抽象实体
|
|
336
333
|
* 抽象类是不能被实例化的
|
|
@@ -359,6 +356,29 @@ export interface EntityMetadataOptions {
|
|
|
359
356
|
* 自己定义的索引,不包括继承的
|
|
360
357
|
*/
|
|
361
358
|
indexes?: EntityIndexMetadataOptions[];
|
|
359
|
+
/**
|
|
360
|
+
* 功能特性
|
|
361
|
+
*/
|
|
362
|
+
features?: EntityMetadataFeatures;
|
|
363
|
+
}
|
|
364
|
+
type TreeType = 'adjacency-list';
|
|
365
|
+
/**
|
|
366
|
+
* EntityMetadata 扩展特性
|
|
367
|
+
*/
|
|
368
|
+
export interface EntityMetadataFeatures {
|
|
369
|
+
/**
|
|
370
|
+
* 树形结构类型
|
|
371
|
+
*
|
|
372
|
+
* 目前仅支持邻接表模型,未来可能支持其他模型:
|
|
373
|
+
* - 'closure-table': 闭包表模型
|
|
374
|
+
* - 'nested-set': 嵌套集模型
|
|
375
|
+
* - 'materialized-path': 物化路径模型
|
|
376
|
+
*
|
|
377
|
+
* 参考资料:
|
|
378
|
+
* - https://www.slideshare.net/slideshow/models-for-hierarchical-data/4179181
|
|
379
|
+
* - https://schinckel.net/2014/09/13/long-live-adjacency-lists/
|
|
380
|
+
*/
|
|
381
|
+
treeType?: TreeType;
|
|
362
382
|
}
|
|
363
383
|
/**
|
|
364
384
|
* 同步适配器选项接口
|
|
@@ -12,6 +12,6 @@ import { AbstractEntityType, EntityType } from './entity.interface';
|
|
|
12
12
|
* 5. 添加辅助方法如isForeignKey
|
|
13
13
|
*
|
|
14
14
|
* @param metadataOptions - 实体元数据选项,包含实体的基本配置
|
|
15
|
-
* @param [
|
|
15
|
+
* @param [options] - 可选的目标类,用于获取原型链上的元数据
|
|
16
16
|
*/
|
|
17
|
-
export declare const transitionMetadata: (metadataOptions: EntityMetadataOptions,
|
|
17
|
+
export declare const transitionMetadata: (metadataOptions: EntityMetadataOptions, options?: EntityType | AbstractEntityType | EntityMetadataOptions | EntityMetadataOptions[]) => EntityMetadata;
|
package/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EntityMetadataOptions } from './entity/entity-metadata-options.interface';
|
|
1
2
|
export * from './entity/@Entity';
|
|
2
3
|
export * from './entity/@TreeEntity';
|
|
3
4
|
export * from './entity/entity-metadata-options.interface';
|
|
@@ -11,6 +12,7 @@ export * from './entity/TreeEntityBase';
|
|
|
11
12
|
export * from './repository/query-options.interface';
|
|
12
13
|
export * from './repository/query.interface';
|
|
13
14
|
export * from './repository/query.utils';
|
|
15
|
+
export * from './repository/relation-query.interface';
|
|
14
16
|
export * from './repository/repository.interface';
|
|
15
17
|
export * from './repository/RepositoryBase';
|
|
16
18
|
export * from './repository/tree-query-options.interface';
|
|
@@ -24,3 +26,8 @@ export * from './rxdb.interface';
|
|
|
24
26
|
export * from './RxDBError';
|
|
25
27
|
export * from './system/change';
|
|
26
28
|
export * from './system/migration';
|
|
29
|
+
export interface EntityMetadataOptionsMap {
|
|
30
|
+
[name: string]: EntityMetadataOptions[];
|
|
31
|
+
}
|
|
32
|
+
export declare const ENTITY_METADATA_MAP: EntityMetadataOptionsMap;
|
|
33
|
+
export declare const getEntityMetadataOptions: (name: string) => EntityMetadataOptions[];
|