MCPcopy
hub / github.com/microsoft/playwright / createClock

Function createClock

packages/injected/src/clock.ts:772–790  ·  view source on GitHub ↗
(globalObject: WindowOrWorkerGlobalScope, config: InstallConfig = {})

Source from the content-addressed store, hash-verified

770}
771
772export function createClock(globalObject: WindowOrWorkerGlobalScope, config: InstallConfig = {}): { clock: ClockController, api: Builtins, originals: Builtins } {
773 const originals = platformOriginals(globalObject);
774 const embedder: Embedder = {
775 dateNow: () => originals.raw.Date.now(),
776 performanceNow: () => Math.ceil(originals.raw.performance!.now()) as EmbedderTicks,
777 setTimeout: (task: () => void, timeout?: number) => {
778 const timerId = originals.bound.setTimeout(task, timeout);
779 return () => originals.bound.clearTimeout(timerId);
780 },
781 setInterval: (task: () => void, delay: number) => {
782 const intervalId = originals.bound.setInterval(task, delay);
783 return () => originals.bound.clearInterval(intervalId);
784 },
785 };
786
787 const clock = new ClockController(embedder);
788 const api = createApi(clock, originals.bound, config.browserName);
789 return { clock, api, originals: originals.raw };
790}
791
792export function install(globalObject: WindowOrWorkerGlobalScope, config: InstallConfig = {}): { clock: ClockController, api: Builtins, originals: Builtins } {
793 if ((globalObject as any).Date?.isFake) {

Callers 1

installFunction · 0.70

Calls 5

platformOriginalsFunction · 0.85
createApiFunction · 0.85
nowMethod · 0.80
setIntervalMethod · 0.80
setTimeoutMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…