import { immutable, circular } from '../decorators'; import { LEVEL_ENUM, Vertex, Interface, Structure, Enum, App, } from '..'; export interface Category { level: LEVEL_ENUM.category; name: string; categoryInterfaces: Array; categoryStructures: Array; isLeaf: false; structureExpanded: false; interfaceExpanded: false; } /** * 数据分类 */ export class Module extends Vertex { /** * 模块名 */ @immutable() public readonly name: string = ''; @immutable() public readonly level: LEVEL_ENUM = LEVEL_ENUM.module; @immutable() public globalLogics: Array = []; public structures: Array = []; public enums: Array = []; public structureExpanded: Boolean = false; public enumExpanded: Boolean = false; public globalLogicExpanded: Boolean = false; public structureHidden: Boolean = false; public enumHidden: Boolean = false; @circular() @immutable() public readonly app: App = undefined; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial) { super(); source && this.assign(source); } } export default Module;