{"version":3,"file":"testing.mjs","names":[],"sources":["../../src/testing/setup-graph-builder.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Registry } from '@effect-atom/atom';\nimport * as Option from 'effect/Option';\n\nimport * as Graph from '../graph';\nimport * as GraphBuilder from '../graph-builder';\nimport * as Node from '../node';\n\nexport type SetupGraphBuilderOptions = {\n  registry?: Registry.Registry;\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.expand(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,OAAa,OAAO,IAAI,QAAQ;GAChC,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"}