Flare: simplify dispatchEvent discrete argument (#15694)
Dominic Gannaway committed
May 21, 2019 at 16:06 UTC
121acae09060803d2fdc23fdfd2f671a47908d1f
8 files changed
+29
-42
packages/react-dom/src/events/DOMEventResponderSystem.js
+1
-2
@@ -23,7 +23,6 @@ import type {
23
ReactEventComponentInstance,
24
ReactResponderContext,
25
ReactResponderEvent,
26
- ReactResponderDispatchEventOptions,
26
} from 'shared/ReactTypes';
27
import type {DOMTopLevelEventType} from 'events/TopLevelEventTypes';
28
import {batchedUpdates, interactiveUpdates} from 'events/ReactGenericBatching';
@@ -104,7 +103,7 @@ const eventResponderContext: ReactResponderContext = {
103
dispatchEvent(
104
possibleEventObject: Object,
105
listener: ($Shape<PartialEventObject>) => void,
107
- {discrete}: ReactResponderDispatchEventOptions,
106
+ discrete: boolean,
107
): void {
108
validateResponderContext();
109
const {target, type, timeStamp} = possibleEventObject;
packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js
+10
-16
@@ -403,9 +403,7 @@ describe('DOMEventResponderSystem', () => {
403
phase: 'bubble',
404
timeStamp: context.getTimeStamp(),
405
};
406
- context.dispatchEvent(syntheticEvent, props.onMagicClick, {
407
- discrete: true,
408
- });
406
+ context.dispatchEvent(syntheticEvent, props.onMagicClick, true);
407
}
408
},
409
onEventCapture: (event, context, props) => {
@@ -416,9 +414,7 @@ describe('DOMEventResponderSystem', () => {
414
phase: 'capture',
415
timeStamp: context.getTimeStamp(),
416
};
419
- context.dispatchEvent(syntheticEvent, props.onMagicClick, {
420
- discrete: true,
421
- });
417
+ context.dispatchEvent(syntheticEvent, props.onMagicClick, true);
418
}
419
},
420
});
@@ -460,7 +456,7 @@ describe('DOMEventResponderSystem', () => {
456
phase,
457
timeStamp: context.getTimeStamp(),
458
};
463
- context.dispatchEvent(pressEvent, props.onPress, {discrete: true});
459
+ context.dispatchEvent(pressEvent, props.onPress, true);
460
461
context.setTimeout(() => {
462
if (props.onLongPress) {
@@ -470,9 +466,7 @@ describe('DOMEventResponderSystem', () => {
466
phase,
467
timeStamp: context.getTimeStamp(),
468
};
473
- context.dispatchEvent(longPressEvent, props.onLongPress, {
474
- discrete: true,
475
- });
469
+ context.dispatchEvent(longPressEvent, props.onLongPress, true);
470
}
471
472
if (props.onLongPressChange) {
@@ -482,9 +476,11 @@ describe('DOMEventResponderSystem', () => {
476
phase,
477
timeStamp: context.getTimeStamp(),
478
};
485
- context.dispatchEvent(longPressChangeEvent, props.onLongPressChange, {
486
- discrete: true,
487
- });
479
+ context.dispatchEvent(
480
+ longPressChangeEvent,
481
+ props.onLongPressChange,
482
+ true,
483
+ );
484
}
485
}, 500);
486
}
@@ -842,9 +838,7 @@ describe('DOMEventResponderSystem', () => {
838
type: 'click',
839
timeStamp: context.getTimeStamp(),
840
};
845
- context.dispatchEvent(syntheticEvent, props.onClick, {
846
- discrete: true,
847
- });
841
+ context.dispatchEvent(syntheticEvent, props.onClick, true);
842
},
843
});
844
packages/react-events/src/Drag.js
+1
-1
@@ -79,7 +79,7 @@ function dispatchDragEvent(
79
): void {
80
const target = ((state.dragTarget: any): Element | Document);
81
const syntheticEvent = createDragEvent(context, name, target, eventData);
82
- context.dispatchEvent(syntheticEvent, listener, {discrete});
82
+ context.dispatchEvent(syntheticEvent, listener, discrete);
83
}
84
85
const DragResponder = {
packages/react-events/src/Focus.js
+6
-6
@@ -93,7 +93,7 @@ function dispatchFocusInEvents(
93
target,
94
pointerType,
95
);
96
- context.dispatchEvent(syntheticEvent, props.onFocus, {discrete: true});
96
+ context.dispatchEvent(syntheticEvent, props.onFocus, true);
97
}
98
if (props.onFocusChange) {
99
const listener = () => {
@@ -105,7 +105,7 @@ function dispatchFocusInEvents(
105
target,
106
pointerType,
107
);
108
- context.dispatchEvent(syntheticEvent, listener, {discrete: true});
108
+ context.dispatchEvent(syntheticEvent, listener, true);
109
}
110
if (props.onFocusVisibleChange && state.isLocalFocusVisible) {
111
const listener = () => {
@@ -117,7 +117,7 @@ function dispatchFocusInEvents(
117
target,
118
pointerType,
119
);
120
- context.dispatchEvent(syntheticEvent, listener, {discrete: true});
120
+ context.dispatchEvent(syntheticEvent, listener, true);
121
}
122
}
123
@@ -135,7 +135,7 @@ function dispatchFocusOutEvents(
135
target,
136
pointerType,
137
);
138
- context.dispatchEvent(syntheticEvent, props.onBlur, {discrete: true});
138
+ context.dispatchEvent(syntheticEvent, props.onBlur, true);
139
}
140
if (props.onFocusChange) {
141
const listener = () => {
@@ -147,7 +147,7 @@ function dispatchFocusOutEvents(
147
target,
148
pointerType,
149
);
150
- context.dispatchEvent(syntheticEvent, listener, {discrete: true});
150
+ context.dispatchEvent(syntheticEvent, listener, true);
151
}
152
dispatchFocusVisibleOutEvent(context, props, state);
153
}
@@ -169,7 +169,7 @@ function dispatchFocusVisibleOutEvent(
169
target,
170
pointerType,
171
);
172
- context.dispatchEvent(syntheticEvent, listener, {discrete: true});
172
+ context.dispatchEvent(syntheticEvent, listener, true);
173
state.isLocalFocusVisible = false;
174
}
175
}
packages/react-events/src/Hover.js
+8
-8
@@ -86,7 +86,7 @@ function dispatchHoverChangeEvent(
86
'hoverchange',
87
((state.hoverTarget: any): Element | Document),
88
);
89
- context.dispatchEvent(syntheticEvent, listener, {discrete: true});
89
+ context.dispatchEvent(syntheticEvent, listener, true);
90
}
91
92
function dispatchHoverStartEvents(
@@ -123,9 +123,7 @@ function dispatchHoverStartEvents(
123
'hoverstart',
124
((target: any): Element | Document),
125
);
126
- context.dispatchEvent(syntheticEvent, props.onHoverStart, {
127
- discrete: true,
128
- });
126
+ context.dispatchEvent(syntheticEvent, props.onHoverStart, true);
127
}
128
if (props.onHoverChange) {
129
dispatchHoverChangeEvent(context, props, state);
@@ -183,7 +181,7 @@ function dispatchHoverEndEvents(
181
'hoverend',
182
((target: any): Element | Document),
183
);
186
- context.dispatchEvent(syntheticEvent, props.onHoverEnd, {discrete: true});
184
+ context.dispatchEvent(syntheticEvent, props.onHoverEnd, true);
185
}
186
if (props.onHoverChange) {
187
dispatchHoverChangeEvent(context, props, state);
@@ -322,9 +320,11 @@ const HoverResponder = {
320
'hovermove',
321
state.hoverTarget,
322
);
325
- context.dispatchEvent(syntheticEvent, props.onHoverMove, {
326
- discrete: false,
327
- });
323
+ context.dispatchEvent(
324
+ syntheticEvent,
325
+ props.onHoverMove,
326
+ true,
327
+ );
328
}
329
}
330
}
packages/react-events/src/Press.js
+1
-3
@@ -211,9 +211,7 @@ function dispatchEvent(
211
pointerType,
212
event,
213
);
214
- context.dispatchEvent(syntheticEvent, listener, {
215
- discrete,
216
- });
214
+ context.dispatchEvent(syntheticEvent, listener, discrete);
215
}
216
217
function dispatchPressChangeEvent(
packages/react-events/src/Swipe.js
+1
-1
@@ -69,7 +69,7 @@ function dispatchSwipeEvent(
69
) {
70
const target = ((state.swipeTarget: any): Element | Document);
71
const syntheticEvent = createSwipeEvent(context, name, target, eventData);
72
- context.dispatchEvent(syntheticEvent, listener, {discrete});
72
+ context.dispatchEvent(syntheticEvent, listener, discrete);
73
}
74
75
type SwipeState = {
packages/shared/ReactTypes.js
+1
-5
@@ -158,15 +158,11 @@ export type ReactResponderEvent = {
158
passiveSupported: boolean,
159
};
160
161
-export type ReactResponderDispatchEventOptions = {
162
- discrete?: boolean,
163
-};
164
-
161
export type ReactResponderContext = {
162
dispatchEvent: (
163
eventObject: Object,
164
listener: (Object) => void,
169
- options: ReactResponderDispatchEventOptions,
165
+ discrete: boolean,
166
) => void,
167
isTargetWithinElement: (
168
childTarget: Element | Document,