{"version":3,"file":"NodeContext.cjs","sources":["../../../../src/components/Browser/models/NodeContext.ts"],"sourcesContent":["import type { Node } from './Node'\n\nexport class NodeContext<T extends Node = Node, TChild extends Node = Node> {\n  #parent?: NodeContext\n  readonly node: T\n  readonly #children: Array<NodeContext<TChild>>\n\n  constructor(node: T, parent?: NodeContext, children: Array<NodeContext<TChild>> = []) {\n    this.node = node\n    this.#parent = parent\n    this.#children = children\n  }\n\n  get children(): Array<NodeContext<TChild>> {\n    return [...this.#children]\n  }\n\n  get parent(): NodeContext | undefined {\n    return this.#parent\n  }\n\n  append(that: NodeContext<TChild>) {\n    this.#children.push(that)\n    that.#parent = this\n  }\n}\n"],"names":[],"mappings":";;MAEa,WAAW,CAAA;AACtB,IAAA,OAAO;AACE,IAAA,IAAI;AACJ,IAAA,SAAS;AAElB,IAAA,WAAA,CAAY,IAAO,EAAE,MAAoB,EAAE,WAAuC,EAAE,EAAA;AAClF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC3B;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,MAAM,CAAC,IAAyB,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;AACD;;;;"}