import P from "parsernostrum" import Grammar from "../serialization/Grammar.js" import GuidEntity from "./GuidEntity.js" import IEntity from "./IEntity.js" import ObjectReferenceEntity from "./ObjectReferenceEntity.js" export default class MacroGraphReferenceEntity extends IEntity { static attributes = { ...super.attributes, MacroGraph: ObjectReferenceEntity, GraphBlueprint: ObjectReferenceEntity, GraphGuid: GuidEntity, } static grammar = this.createGrammar() constructor(values) { super(values) /** @type {InstanceType} */ this.MacroGraph /** @type {InstanceType} */ this.GraphBlueprint /** @type {InstanceType} */ this.GraphGuid } /** @returns {P} */ static createGrammar() { return Grammar.createEntityGrammar(this) } getMacroName() { const colonIndex = this.MacroGraph.path.search(":") return this.MacroGraph.path.substring(colonIndex + 1) } }