1
- import React from 'react'
2
- import satisfies from 'semver/functions/satisfies'
3
-
4
1
/* istanbul ignore file */
5
2
// the part of this file that we need tested is definitely being run
6
3
// and the part that is not cannot easily have useful tests written
@@ -18,9 +15,6 @@ function getIsUsingFakeTimers() {
18
15
)
19
16
}
20
17
21
- const globalObj = typeof window === 'undefined' ? global : window
22
- let Scheduler = globalObj . Scheduler
23
-
24
18
let didWarnAboutMessageChannel = false
25
19
let enqueueTask
26
20
32
26
// assuming we're in node, let's try to get node's
33
27
// version of setImmediate, bypassing fake timers if any.
34
28
enqueueTask = nodeRequire . call ( module , 'timers' ) . setImmediate
35
- // import React's scheduler so we'll be able to schedule our tasks later on.
36
- Scheduler = nodeRequire . call ( module , 'scheduler' )
37
29
} catch ( _err ) {
38
30
// we're in a browser
39
31
// we can't use regular timers because they may still be faked
55
47
'if you encounter this warning.' ,
56
48
)
57
49
}
58
-
59
50
}
60
51
}
61
52
62
- const isModernScheduleCallbackSupported = Scheduler && satisfies ( React . version , '>16.8.6' , {
63
- includePrerelease : true ,
64
- } )
65
-
66
- function scheduleCallback ( cb ) {
67
- const NormalPriority = Scheduler
68
- ? Scheduler . NormalPriority || Scheduler . unstable_NormalPriority
69
- : null
70
-
71
- const scheduleFn = Scheduler
72
- ? Scheduler . scheduleCallback || Scheduler . unstable_scheduleCallback
73
- : callback => callback ( )
74
-
75
- return isModernScheduleCallbackSupported
76
- ? scheduleFn ( NormalPriority , cb )
77
- : scheduleFn ( cb )
78
- }
79
-
80
53
export default function flushMicroTasks ( ) {
81
54
return {
82
55
then ( resolve ) {
@@ -87,7 +60,7 @@ export default function flushMicroTasks() {
87
60
jest . advanceTimersByTime ( 0 )
88
61
resolve ( )
89
62
} else {
90
- scheduleCallback ( ( ) => enqueueTask ( resolve ) )
63
+ enqueueTask ( resolve )
91
64
}
92
65
} ,
93
66
}
0 commit comments