UNPKG

2.64 kBTypeScriptView Raw
1/**
2 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7import type {Config} from '@jest/types';
8import type {ModuleMocker} from 'jest-mock';
9import {StackTraceConfig} from 'jest-message-util';
10
11declare type Callback = (...args: Array<unknown>) => void;
12
13export declare class LegacyFakeTimers<TimerRef = unknown> {
14 private _cancelledTicks;
15 private _config;
16 private _disposed?;
17 private _fakeTimerAPIs;
18 private _global;
19 private _immediates;
20 private _maxLoops;
21 private _moduleMocker;
22 private _now;
23 private _ticks;
24 private _timerAPIs;
25 private _timers;
26 private _uuidCounter;
27 private _timerConfig;
28 constructor({
29 global,
30 moduleMocker,
31 timerConfig,
32 config,
33 maxLoops,
34 }: {
35 global: typeof globalThis;
36 moduleMocker: ModuleMocker;
37 timerConfig: TimerConfig<TimerRef>;
38 config: StackTraceConfig;
39 maxLoops?: number;
40 });
41 clearAllTimers(): void;
42 dispose(): void;
43 reset(): void;
44 runAllTicks(): void;
45 runAllImmediates(): void;
46 private _runImmediate;
47 runAllTimers(): void;
48 runOnlyPendingTimers(): void;
49 advanceTimersToNextTimer(steps?: number): void;
50 advanceTimersByTime(msToRun: number): void;
51 runWithRealTimers(cb: Callback): void;
52 useRealTimers(): void;
53 useFakeTimers(): void;
54 getTimerCount(): number;
55 private _checkFakeTimers;
56 private _createMocks;
57 private _fakeClearTimer;
58 private _fakeClearImmediate;
59 private _fakeNextTick;
60 private _fakeRequestAnimationFrame;
61 private _fakeSetImmediate;
62 private _fakeSetInterval;
63 private _fakeSetTimeout;
64 private _getNextTimerHandle;
65 private _runTimerHandle;
66}
67
68export declare class ModernFakeTimers {
69 private _clock;
70 private _config;
71 private _fakingTime;
72 private _global;
73 private _fakeTimers;
74 constructor({
75 global,
76 config,
77 }: {
78 global: typeof globalThis;
79 config: Config.ProjectConfig;
80 });
81 clearAllTimers(): void;
82 dispose(): void;
83 runAllTimers(): void;
84 runOnlyPendingTimers(): void;
85 advanceTimersToNextTimer(steps?: number): void;
86 advanceTimersByTime(msToRun: number): void;
87 runAllTicks(): void;
88 useRealTimers(): void;
89 useFakeTimers(fakeTimersConfig?: Config.FakeTimersConfig): void;
90 reset(): void;
91 setSystemTime(now?: number | Date): void;
92 getRealSystemTime(): number;
93 getTimerCount(): number;
94 private _checkFakeTimers;
95 private _toSinonFakeTimersConfig;
96}
97
98declare type TimerConfig<Ref> = {
99 idToRef: (id: number) => Ref;
100 refToId: (ref: Ref) => number | void;
101};
102
103export {};