{"version":3,"file":"testing.mjs","names":[],"sources":["../../src/testing/setup-graph-builder.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport * as Registry from 'effect/reactivity/AtomRegistry';\n\nimport * as Graph from '../AppGraph.ts';\nimport * as GraphBuilder from '../AppGraphBuilder.ts';\nimport * as Node from '../AppGraphNode.ts';\n\nexport type SetupGraphBuilderOptions = {\n  registry?: Registry.AtomRegistry;\n  extensions?: GraphBuilder.BuilderExtensions;\n};\n\nexport const setupGraphBuilder = ({ registry = Registry.make(), extensions }: SetupGraphBuilderOptions = {}) => {\n  const builder = GraphBuilder.make({ registry });\n  const graph = builder.graph;\n\n  if (extensions) {\n    GraphBuilder.addExtension(builder, extensions);\n  }\n\n  return {\n    registry,\n    builder,\n    graph,\n    addExtensions: (nextExtensions: GraphBuilder.BuilderExtensions) => {\n      GraphBuilder.addExtension(builder, nextExtensions);\n    },\n    expand: async (id: string, relation: Node.RelationInput = 'child') => {\n      Graph.expandSync(graph, id, relation);\n      await GraphBuilder.flush(builder);\n    },\n    flush: () => GraphBuilder.flush(builder),\n    getConnections: (id: string, relation: Node.RelationInput = 'child') =>\n      registry.get(graph.connections(id, relation)),\n    getNode: (id: string) => Graph.getNode(graph, id).pipe(Option.getOrNull),\n  };\n};\n"],"mappings":";;;;;AAgBA,IAAa,qBAAqB,EAAE,WAAW,SAAS,KAAK,GAAG,eAAyC,CAAC,MAAM;CAC9G,MAAM,UAAU,KAAkB,EAAE,SAAS,CAAC;CAC9C,MAAM,QAAQ,QAAQ;CAEtB,IAAI,YACF,aAA0B,SAAS,UAAU;CAG/C,OAAO;EACL;EACA;EACA;EACA,gBAAgB,mBAAmD;GACjE,aAA0B,SAAS,cAAc;EACnD;EACA,QAAQ,OAAO,IAAY,WAA+B,YAAY;GACpE,WAAiB,OAAO,IAAI,QAAQ;GACpC,MAAM,MAAmB,OAAO;EAClC;EACA,aAAa,MAAmB,OAAO;EACvC,iBAAiB,IAAY,WAA+B,YAC1D,SAAS,IAAI,MAAM,YAAY,IAAI,QAAQ,CAAC;EAC9C,UAAU,OAAe,QAAc,OAAO,EAAE,CAAC,CAAC,KAAK,OAAO,SAAS;CACzE;AACF"}