cloudaxe-opencode/packages/ui/src/context/worker-pool.tsx

21 lines
573 B
TypeScript
Raw Normal View History

import type { WorkerPoolManager } from "@pierre/diffs/worker"
import { createSimpleContext } from "./helper"
2025-12-31 15:23:24 +00:00
export type WorkerPools = {
unified: WorkerPoolManager | undefined
split: WorkerPoolManager | undefined
}
const ctx = createSimpleContext<WorkerPools, { pools: WorkerPools }>({
name: "WorkerPool",
2025-12-31 15:23:24 +00:00
init: (props) => props.pools,
})
export const WorkerPoolProvider = ctx.provider
2025-12-31 15:23:24 +00:00
export function useWorkerPool(diffStyle: "unified" | "split" | undefined) {
const pools = ctx.use()
if (diffStyle === "split") return pools.split
return pools.unified
}