{"version":3,"file":"graph-scheduler.cjs","sources":["../../../../src/query/live/graph-scheduler.ts"],"sourcesContent":["import {\n  getActivePublicationContext,\n  transactionScopedScheduler,\n} from '../../scheduler.js'\nimport { getActiveTransaction } from '../../transactions.js'\nimport type { SchedulerContextId } from '../../scheduler.js'\n\nexport type GraphDependency = {\n  scheduleGraphRun: (options?: { contextId?: SchedulerContextId }) => void\n}\n\n/** Schedule source graphs before a consumer in the same transaction turn. */\nexport function scheduleQueryGraphRun(\n  jobId: unknown,\n  dependencies: Iterable<GraphDependency>,\n  run: () => void,\n  contextId = getActiveTransaction()?.id ?? getActivePublicationContext(),\n): void {\n  const deps = [...dependencies]\n  if (contextId !== undefined) {\n    for (const dep of deps) dep.scheduleGraphRun({ contextId })\n  }\n  transactionScopedScheduler.schedule({\n    contextId,\n    jobId,\n    dependencies: deps,\n    run,\n  })\n}\n"],"names":["getActiveTransaction","getActivePublicationContext","transactionScopedScheduler"],"mappings":";;;;AAYO,SAAS,sBACd,OACA,cACA,KACA,YAAYA,kCAAA,GAAwB,MAAMC,UAAAA,+BACpC;AACN,QAAM,OAAO,CAAC,GAAG,YAAY;AAC7B,MAAI,cAAc,QAAW;AAC3B,eAAW,OAAO,KAAM,KAAI,iBAAiB,EAAE,WAAW;AAAA,EAC5D;AACAC,YAAAA,2BAA2B,SAAS;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,EAAA,CACD;AACH;;"}