import { immutable, circular } from '../decorators'; import { LEVEL_ENUM, Vertex, Service, Entity, Structure, Enum } from '..'; /** * 数据分类 */ export class DataNode extends Vertex { /** * 概念类型 */ @immutable() public readonly level: LEVEL_ENUM = LEVEL_ENUM.dataNode; @immutable() public readonly type: 'entities' | 'structures' = undefined; @immutable() public readonly entities: Array = []; public readonly structures: Array = []; public readonly enums: Array = []; public readonly erdiagrams: Array = []; public entityExpanded: boolean = true; public structureExpanded: boolean = true; public enumExpanded: boolean = true; @circular() @immutable() public readonly service: Service = undefined; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial) { super(); source && this.assign(source); } } export default DataNode;