(globalObject: WindowOrWorkerGlobalScope, config: InstallConfig = {})
| 770 | } |
| 771 | |
| 772 | export 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 | |
| 792 | export function install(globalObject: WindowOrWorkerGlobalScope, config: InstallConfig = {}): { clock: ClockController, api: Builtins, originals: Builtins } { |
| 793 | if ((globalObject as any).Date?.isFake) { |
no test coverage detected
searching dependent graphs…