rvx
Version:
A signal based rendering library
13 lines • 457 B
JavaScript
import { Queue } from "../async/queue.js";
import { uncapture } from "../core/lifecycle.js";
const KEY = Symbol.for("rvx:test:queues");
const QUEUES = globalThis[KEY] ?? (globalThis[KEY] = new Map());
export function exclusive(key, action) {
let queue = QUEUES.get(key);
if (queue === undefined) {
queue = uncapture(() => new Queue());
QUEUES.set(key, queue);
}
return queue.block(action);
}
//# sourceMappingURL=queue.js.map