import { Component, Node } from 'node-graph-engine'; import { NodeEditor } from './editor'; export abstract class EditorComponent extends Component { editor: NodeEditor | null = null; data = new Map(); constructor (name: string) { super(name); } abstract async builder (node: Node): Promise; async build (node: Node) { await this.builder(node); return node; } async createNode (data = new Map()) { const node = new Node(this.name); node.data = data; await this.build(node); return node; } }