UNPKG

@farris/devkit-vue

Version:
54 lines (53 loc) 1.31 kB
import { InjectionToken } from '../common/index'; import { Module } from '../module/index'; import { Entity, EntitySchema, EntityState, EntityStore } from '../store/index'; import { RepositoryConfig } from './configs/index'; declare function getDynamicRepositoryToken(id: string): InjectionToken<any>; /** * 远程实体仓库 */ declare abstract class Repository<T extends Entity> { /** * 所属模块 */ module: Module; /** * 实体描述 */ entitySchema: EntitySchema; /** * 实体仓库 * BAP: BA统一查询平台entityStore存在多个,所以新增类型any */ entityStore: EntityStore<EntityState<Entity>> | any; /** * ID */ id: string; /** * 配置 */ protected config: RepositoryConfig; /** * 构造函数 */ constructor(module: Module); /** * 初始化 */ init(config: RepositoryConfig): void; updateEntitySchema(entitySchema?: EntitySchema): void; /** * 批量创建实体 */ buildEntites(entityDatas: any[]): T[]; /** * 创建实体 */ buildEntity(entityData: any): T; /** * 获取实体仓库 */ getEntityStore(): EntityStore<EntityState<Entity>>; } export { getDynamicRepositoryToken, Repository };