lockOf

tcmts.loader.packages.lockOf · #6bcjrnue · term · runs anywhere

import type { Layout } from "#codebase/tcmts/loader";
import { locks, memoryLock } from "#codebase/tcmts/loader/packages";
import type { PackageLock } from "#codebase/tcmts/loader/packages";

export function lockOf(lay: Layout): PackageLock {
  let lock = locks.get(lay.cacheDir);
  if (!lock) locks.set(lay.cacheDir, (lock = memoryLock()));
  return lock;
}

uses

used by