Skip to content

Commit 3d8235d

Browse files
committed
Desperate attempt to save bytese
1 parent 9d57d8f commit 3d8235d

File tree

1 file changed

+53
-74
lines changed

1 file changed

+53
-74
lines changed

packages/react-dom/src/events/ReactDOMEventReplaying.js

Lines changed: 53 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -110,43 +110,56 @@ export function hasQueuedContinuousEvents(): boolean {
110110
return hasAnyQueuedContinuousEvents;
111111
}
112112

113+
const discreteReplayableEvents = [
114+
TOP_MOUSE_DOWN,
115+
TOP_MOUSE_UP,
116+
TOP_TOUCH_CANCEL,
117+
TOP_TOUCH_END,
118+
TOP_TOUCH_START,
119+
TOP_AUX_CLICK,
120+
TOP_DOUBLE_CLICK,
121+
TOP_POINTER_CANCEL,
122+
TOP_POINTER_DOWN,
123+
TOP_POINTER_UP,
124+
TOP_DRAG_END,
125+
TOP_DRAG_START,
126+
TOP_DROP,
127+
TOP_COMPOSITION_END,
128+
TOP_COMPOSITION_START,
129+
TOP_KEY_DOWN,
130+
TOP_KEY_PRESS,
131+
TOP_KEY_UP,
132+
TOP_INPUT,
133+
TOP_TEXT_INPUT,
134+
TOP_CLOSE,
135+
TOP_CANCEL,
136+
TOP_COPY,
137+
TOP_CUT,
138+
TOP_PASTE,
139+
TOP_CLICK,
140+
TOP_CHANGE,
141+
TOP_CONTEXT_MENU,
142+
TOP_RESET,
143+
TOP_SUBMIT,
144+
];
145+
146+
const continuousReplayableEvents = [
147+
TOP_FOCUS,
148+
TOP_BLUR,
149+
TOP_DRAG_ENTER,
150+
TOP_DRAG_LEAVE,
151+
TOP_MOUSE_OVER,
152+
TOP_MOUSE_OUT,
153+
TOP_POINTER_OVER,
154+
TOP_POINTER_OUT,
155+
TOP_GOT_POINTER_CAPTURE,
156+
TOP_LOST_POINTER_CAPTURE,
157+
];
158+
113159
export function isReplayableDiscreteEvent(
114160
eventType: DOMTopLevelEventType,
115161
): boolean {
116-
switch (eventType) {
117-
case TOP_MOUSE_DOWN:
118-
case TOP_MOUSE_UP:
119-
case TOP_TOUCH_CANCEL:
120-
case TOP_TOUCH_END:
121-
case TOP_TOUCH_START:
122-
case TOP_AUX_CLICK:
123-
case TOP_DOUBLE_CLICK:
124-
case TOP_POINTER_CANCEL:
125-
case TOP_POINTER_DOWN:
126-
case TOP_POINTER_UP:
127-
case TOP_DRAG_END:
128-
case TOP_DRAG_START:
129-
case TOP_DROP:
130-
case TOP_COMPOSITION_END:
131-
case TOP_COMPOSITION_START:
132-
case TOP_KEY_DOWN:
133-
case TOP_KEY_PRESS:
134-
case TOP_KEY_UP:
135-
case TOP_INPUT:
136-
case TOP_TEXT_INPUT:
137-
case TOP_CLOSE:
138-
case TOP_CANCEL:
139-
case TOP_COPY:
140-
case TOP_CUT:
141-
case TOP_PASTE:
142-
case TOP_CLICK:
143-
case TOP_CHANGE:
144-
case TOP_CONTEXT_MENU:
145-
case TOP_RESET:
146-
case TOP_SUBMIT:
147-
return true;
148-
}
149-
return false;
162+
return discreteReplayableEvents.indexOf(eventType) > -1;
150163
}
151164

152165
function trapReplayableEvent(
@@ -181,47 +194,13 @@ function trapReplayableEvent(
181194
export function eagerlyTrapReplayableEvents(document: Document) {
182195
const listeningSet = getListeningSetForElement(document);
183196
// Discrete
184-
trapReplayableEvent(TOP_MOUSE_DOWN, document, listeningSet);
185-
trapReplayableEvent(TOP_MOUSE_UP, document, listeningSet);
186-
trapReplayableEvent(TOP_TOUCH_CANCEL, document, listeningSet);
187-
trapReplayableEvent(TOP_TOUCH_END, document, listeningSet);
188-
trapReplayableEvent(TOP_TOUCH_START, document, listeningSet);
189-
trapReplayableEvent(TOP_AUX_CLICK, document, listeningSet);
190-
trapReplayableEvent(TOP_DOUBLE_CLICK, document, listeningSet);
191-
trapReplayableEvent(TOP_POINTER_CANCEL, document, listeningSet);
192-
trapReplayableEvent(TOP_POINTER_DOWN, document, listeningSet);
193-
trapReplayableEvent(TOP_POINTER_UP, document, listeningSet);
194-
trapReplayableEvent(TOP_DRAG_END, document, listeningSet);
195-
trapReplayableEvent(TOP_DRAG_START, document, listeningSet);
196-
trapReplayableEvent(TOP_DROP, document, listeningSet);
197-
trapReplayableEvent(TOP_COMPOSITION_END, document, listeningSet);
198-
trapReplayableEvent(TOP_COMPOSITION_START, document, listeningSet);
199-
trapReplayableEvent(TOP_KEY_DOWN, document, listeningSet);
200-
trapReplayableEvent(TOP_KEY_PRESS, document, listeningSet);
201-
trapReplayableEvent(TOP_KEY_UP, document, listeningSet);
202-
trapReplayableEvent(TOP_INPUT, document, listeningSet);
203-
trapReplayableEvent(TOP_TEXT_INPUT, document, listeningSet);
204-
trapReplayableEvent(TOP_CLOSE, document, listeningSet);
205-
trapReplayableEvent(TOP_CANCEL, document, listeningSet);
206-
trapReplayableEvent(TOP_COPY, document, listeningSet);
207-
trapReplayableEvent(TOP_CUT, document, listeningSet);
208-
trapReplayableEvent(TOP_PASTE, document, listeningSet);
209-
trapReplayableEvent(TOP_CLICK, document, listeningSet);
210-
trapReplayableEvent(TOP_CHANGE, document, listeningSet);
211-
trapReplayableEvent(TOP_CONTEXT_MENU, document, listeningSet);
212-
trapReplayableEvent(TOP_RESET, document, listeningSet);
213-
trapReplayableEvent(TOP_SUBMIT, document, listeningSet);
197+
discreteReplayableEvents.forEach(topLevelType => {
198+
trapReplayableEvent(topLevelType, document, listeningSet);
199+
});
214200
// Continuous
215-
trapReplayableEvent(TOP_FOCUS, document, listeningSet);
216-
trapReplayableEvent(TOP_BLUR, document, listeningSet);
217-
trapReplayableEvent(TOP_DRAG_ENTER, document, listeningSet);
218-
trapReplayableEvent(TOP_DRAG_LEAVE, document, listeningSet);
219-
trapReplayableEvent(TOP_MOUSE_OVER, document, listeningSet);
220-
trapReplayableEvent(TOP_MOUSE_OUT, document, listeningSet);
221-
trapReplayableEvent(TOP_POINTER_OVER, document, listeningSet);
222-
trapReplayableEvent(TOP_POINTER_OUT, document, listeningSet);
223-
trapReplayableEvent(TOP_GOT_POINTER_CAPTURE, document, listeningSet);
224-
trapReplayableEvent(TOP_LOST_POINTER_CAPTURE, document, listeningSet);
201+
continuousReplayableEvents.forEach(topLevelType => {
202+
trapReplayableEvent(topLevelType, document, listeningSet);
203+
});
225204
}
226205

227206
function createQueuedReplayableEvent(

0 commit comments

Comments
 (0)