@@ -56,19 +56,6 @@ export function setListenToResponderEventTypes(
5656 listenToResponderEventTypesImpl = _listenToResponderEventTypesImpl ;
5757}
5858
59- type ResponderTimeout = { |
60- id : TimeoutID ,
61- timers : Map < number , ResponderTimer> ,
62- | } ;
63-
64- type ResponderTimer = { |
65- instance : ReactDOMEventResponderInstance ,
66- func : ( ) => void ,
67- id : number ,
68- timeStamp : number ,
69- | } ;
70-
71- const activeTimeouts : Map < number , ResponderTimeout > = new Map ( ) ;
7259const rootEventTypesToEventResponderInstances : Map <
7360 DOMTopLevelEventType | string ,
7461 Set < ReactDOMEventResponderInstance > ,
@@ -80,9 +67,7 @@ const DoNotPropagateToNextResponder = 0;
8067const PropagateToNextResponder = 1 ;
8168
8269let currentTimeStamp = 0 ;
83- let currentTimers = new Map ( ) ;
8470let currentInstance : null | ReactDOMEventResponderInstance = null ;
85- let currentTimerIDCounter = 0 ;
8671let currentDocument : null | Document = null ;
8772let currentPropagationBehavior : PropagationBehavior = DoNotPropagateToNextResponder ;
8873
@@ -202,46 +187,6 @@ const eventResponderContext: ReactDOMResponderContext = {
202187 }
203188 }
204189 } ,
205- setTimeout ( func : ( ) = > void , delay ) : number {
206- validateResponderContext ( ) ;
207- if ( currentTimers === null ) {
208- currentTimers = new Map ( ) ;
209- }
210- let timeout = currentTimers . get ( delay ) ;
211-
212- const timerId = currentTimerIDCounter ++ ;
213- if ( timeout === undefined ) {
214- const timers = new Map ( ) ;
215- const id = setTimeout ( ( ) => {
216- processTimers ( timers , delay ) ;
217- } , delay ) ;
218- timeout = {
219- id,
220- timers,
221- } ;
222- currentTimers . set ( delay , timeout ) ;
223- }
224- timeout . timers . set ( timerId , {
225- instance : ( ( currentInstance : any ) : ReactDOMEventResponderInstance ) ,
226- func,
227- id : timerId ,
228- timeStamp : currentTimeStamp ,
229- } ) ;
230- activeTimeouts . set ( timerId , timeout ) ;
231- return timerId ;
232- } ,
233- clearTimeout ( timerId : number ) : void {
234- validateResponderContext ( ) ;
235- const timeout = activeTimeouts . get ( timerId ) ;
236-
237- if ( timeout !== undefined ) {
238- const timers = timeout . timers ;
239- timers . delete ( timerId ) ;
240- if ( timers . size === 0 ) {
241- clearTimeout ( timeout . id ) ;
242- }
243- }
244- } ,
245190 getActiveDocument ,
246191 objectAssign : Object . assign ,
247192 getTimeStamp ( ) : number {
@@ -340,33 +285,6 @@ function getActiveDocument(): Document {
340285 return ( ( currentDocument : any ) : Document ) ;
341286}
342287
343- function processTimers (
344- timers : Map < number , ResponderTimer > ,
345- delay : number ,
346- ) : void {
347- const timersArr = Array . from ( timers . values ( ) ) ;
348- const previousInstance = currentInstance ;
349- const previousTimers = currentTimers ;
350- try {
351- batchedEventUpdates ( ( ) => {
352- for ( let i = 0 ; i < timersArr . length ; i ++ ) {
353- const { instance, func, id, timeStamp} = timersArr [ i ] ;
354- currentInstance = instance ;
355- currentTimeStamp = timeStamp + delay ;
356- try {
357- func ( ) ;
358- } finally {
359- activeTimeouts . delete ( id ) ;
360- }
361- }
362- } ) ;
363- } finally {
364- currentTimers = previousTimers ;
365- currentInstance = previousInstance ;
366- currentTimeStamp = 0 ;
367- }
368- }
369-
370288function createDOMResponderEvent (
371289 topLevelType : string ,
372290 nativeEvent : AnyNativeEvent ,
@@ -510,15 +428,13 @@ export function mountEventResponder(
510428 const onMount = responder . onMount ;
511429 if ( onMount !== null ) {
512430 const previousInstance = currentInstance ;
513- const previousTimers = currentTimers ;
514431 currentInstance = responderInstance ;
515432 try {
516433 batchedEventUpdates ( ( ) => {
517434 onMount ( eventResponderContext , props , state ) ;
518435 } ) ;
519436 } finally {
520437 currentInstance = previousInstance ;
521- currentTimers = previousTimers ;
522438 }
523439 }
524440}
@@ -531,15 +447,13 @@ export function unmountEventResponder(
531447 if ( onUnmount !== null ) {
532448 let { props , state } = responderInstance ;
533449 const previousInstance = currentInstance ;
534- const previousTimers = currentTimers ;
535450 currentInstance = responderInstance ;
536451 try {
537452 batchedEventUpdates ( ( ) => {
538453 onUnmount ( eventResponderContext , props , state ) ;
539454 } ) ;
540455 } finally {
541456 currentInstance = previousInstance ;
542- currentTimers = previousTimers ;
543457 }
544458 }
545459 const rootEventTypesSet = responderInstance . rootEventTypes ;
@@ -561,8 +475,7 @@ export function unmountEventResponder(
561475function validateResponderContext ( ) : void {
562476 invariant (
563477 currentInstance !== null ,
564- 'An event responder context was used outside of an event cycle. ' +
565- 'Use context.setTimeout() to use asynchronous responder context outside of event cycle .' ,
478+ 'An event responder context was used outside of an event cycle.' ,
566479 ) ;
567480}
568481
@@ -575,12 +488,10 @@ export function dispatchEventForResponderEventSystem(
575488) : void {
576489 if ( enableFlareAPI ) {
577490 const previousInstance = currentInstance ;
578- const previousTimers = currentTimers ;
579491 const previousTimeStamp = currentTimeStamp ;
580492 const previousDocument = currentDocument ;
581493 const previousPropagationBehavior = currentPropagationBehavior ;
582494 currentPropagationBehavior = DoNotPropagateToNextResponder ;
583- currentTimers = null ;
584495 // nodeType 9 is DOCUMENT_NODE
585496 currentDocument =
586497 ( nativeEventTarget : any ) . nodeType === 9
@@ -599,7 +510,6 @@ export function dispatchEventForResponderEventSystem(
599510 ) ;
600511 } ) ;
601512 } finally {
602- currentTimers = previousTimers ;
603513 currentInstance = previousInstance ;
604514 currentTimeStamp = previousTimeStamp ;
605515 currentDocument = previousDocument ;
0 commit comments