import { IContainerProperties } from './IContainerProperties'; export interface IContainerModel { children: IContainerModel[] parent: IContainerModel | null properties: IContainerProperties userData: Record } /** * Macro for creating the interface * Do not add methods since they will be lost during serialization */ export class ContainerModel implements IContainerModel { public children: IContainerModel[]; public parent: IContainerModel | null; public properties: IContainerProperties; public userData: Record; constructor( parent: IContainerModel | null, properties: IContainerProperties, children: IContainerModel[] = [], userData = {}) { this.parent = parent; this.properties = properties; this.children = children; this.userData = userData; } };