|
1 | 1 | function serializeEvent(event) { |
2 | | - const data = {}; |
3 | | - if (event.target.hasOwnProperty("value")) { |
4 | | - data.value = event.target.value; |
5 | | - } |
6 | | - if (eventTransforms.hasOwnProperty(event.type)) { |
7 | | - Object.assign(data, eventTransforms[event.type](event)); |
8 | | - } |
9 | | - return data; |
| 2 | + const data = {}; |
| 3 | + if (event.target.hasOwnProperty("value")) { |
| 4 | + data.value = event.target.value; |
| 5 | + } |
| 6 | + if (eventTransforms.hasOwnProperty(event.type)) { |
| 7 | + Object.assign(data, eventTransforms[event.type](event)); |
| 8 | + } |
| 9 | + return data; |
10 | 10 | } |
11 | 11 |
|
12 | 12 | const eventCategoryTransforms = { |
13 | | - clipboard: event => ({ |
14 | | - clipboardData: event.clipboardData |
15 | | - }), |
16 | | - composition: event => ({ |
17 | | - data: event.data |
18 | | - }), |
19 | | - keyboard: event => ({ |
20 | | - altKey: event.altKey, |
21 | | - charCode: event.charCode, |
22 | | - ctrlKey: event.ctrlKey, |
23 | | - key: event.key, |
24 | | - keyCode: event.keyCode, |
25 | | - locale: event.locale, |
26 | | - location: event.location, |
27 | | - metaKey: event.metaKey, |
28 | | - repeat: event.repeat, |
29 | | - shiftKey: event.shiftKey, |
30 | | - which: event.which |
31 | | - }), |
32 | | - mouse: event => ({ |
33 | | - altKey: event.altKey, |
34 | | - button: event.button, |
35 | | - buttons: event.buttons, |
36 | | - clientX: event.clientX, |
37 | | - clientY: event.clientY, |
38 | | - ctrlKey: event.ctrlKey, |
39 | | - metaKey: event.metaKey, |
40 | | - pageX: event.pageX, |
41 | | - pageY: event.pageY, |
42 | | - screenX: event.screenX, |
43 | | - screenY: event.screenY, |
44 | | - shiftKey: event.shiftKey |
45 | | - }), |
46 | | - pointer: event => ({ |
47 | | - pointerId: event.pointerId, |
48 | | - width: event.width, |
49 | | - height: event.height, |
50 | | - pressure: event.pressure, |
51 | | - tiltX: event.tiltX, |
52 | | - tiltY: event.tiltY, |
53 | | - pointerType: event.pointerType, |
54 | | - isPrimary: event.isPrimary |
55 | | - }), |
56 | | - touch: event => ({ |
57 | | - altKey: event.altKey, |
58 | | - ctrlKey: event.ctrlKey, |
59 | | - metaKey: event.metaKey, |
60 | | - shiftKey: event.shiftKey |
61 | | - }), |
62 | | - ui: event => ({ |
63 | | - detail: event.detail |
64 | | - }), |
65 | | - wheel: event => ({ |
66 | | - deltaMode: event.deltaMode, |
67 | | - deltaX: event.deltaX, |
68 | | - deltaY: event.deltaY, |
69 | | - deltaZ: event.deltaZ |
70 | | - }), |
71 | | - animation: event => ({ |
72 | | - animationName: event.animationName, |
73 | | - pseudoElement: event.pseudoElement, |
74 | | - elapsedTime: event.elapsedTime |
75 | | - }), |
76 | | - transition: event => ({ |
77 | | - propertyName: event.propertyName, |
78 | | - pseudoElement: event.pseudoElement, |
79 | | - elapsedTime: event.elapsedTime |
80 | | - }) |
| 13 | + clipboard: (event) => ({ |
| 14 | + clipboardData: event.clipboardData, |
| 15 | + }), |
| 16 | + composition: (event) => ({ |
| 17 | + data: event.data, |
| 18 | + }), |
| 19 | + keyboard: (event) => ({ |
| 20 | + altKey: event.altKey, |
| 21 | + charCode: event.charCode, |
| 22 | + ctrlKey: event.ctrlKey, |
| 23 | + key: event.key, |
| 24 | + keyCode: event.keyCode, |
| 25 | + locale: event.locale, |
| 26 | + location: event.location, |
| 27 | + metaKey: event.metaKey, |
| 28 | + repeat: event.repeat, |
| 29 | + shiftKey: event.shiftKey, |
| 30 | + which: event.which, |
| 31 | + }), |
| 32 | + mouse: (event) => ({ |
| 33 | + altKey: event.altKey, |
| 34 | + button: event.button, |
| 35 | + buttons: event.buttons, |
| 36 | + clientX: event.clientX, |
| 37 | + clientY: event.clientY, |
| 38 | + ctrlKey: event.ctrlKey, |
| 39 | + metaKey: event.metaKey, |
| 40 | + pageX: event.pageX, |
| 41 | + pageY: event.pageY, |
| 42 | + screenX: event.screenX, |
| 43 | + screenY: event.screenY, |
| 44 | + shiftKey: event.shiftKey, |
| 45 | + }), |
| 46 | + pointer: (event) => ({ |
| 47 | + pointerId: event.pointerId, |
| 48 | + width: event.width, |
| 49 | + height: event.height, |
| 50 | + pressure: event.pressure, |
| 51 | + tiltX: event.tiltX, |
| 52 | + tiltY: event.tiltY, |
| 53 | + pointerType: event.pointerType, |
| 54 | + isPrimary: event.isPrimary, |
| 55 | + }), |
| 56 | + touch: (event) => ({ |
| 57 | + altKey: event.altKey, |
| 58 | + ctrlKey: event.ctrlKey, |
| 59 | + metaKey: event.metaKey, |
| 60 | + shiftKey: event.shiftKey, |
| 61 | + }), |
| 62 | + ui: (event) => ({ |
| 63 | + detail: event.detail, |
| 64 | + }), |
| 65 | + wheel: (event) => ({ |
| 66 | + deltaMode: event.deltaMode, |
| 67 | + deltaX: event.deltaX, |
| 68 | + deltaY: event.deltaY, |
| 69 | + deltaZ: event.deltaZ, |
| 70 | + }), |
| 71 | + animation: (event) => ({ |
| 72 | + animationName: event.animationName, |
| 73 | + pseudoElement: event.pseudoElement, |
| 74 | + elapsedTime: event.elapsedTime, |
| 75 | + }), |
| 76 | + transition: (event) => ({ |
| 77 | + propertyName: event.propertyName, |
| 78 | + pseudoElement: event.pseudoElement, |
| 79 | + elapsedTime: event.elapsedTime, |
| 80 | + }), |
81 | 81 | }; |
82 | 82 |
|
83 | 83 | const eventTypeCategories = { |
84 | | - clipboard: ["copy", "cut", "paste"], |
85 | | - composition: ["compositionend", "compositionstart", "compositionupdate"], |
86 | | - keyboard: ["keydown", "keypress", "keyup"], |
87 | | - mouse: [ |
88 | | - "click", |
89 | | - "contextmenu", |
90 | | - "doubleclick", |
91 | | - "drag", |
92 | | - "dragend", |
93 | | - "dragenter", |
94 | | - "dragexit", |
95 | | - "dragleave", |
96 | | - "dragover", |
97 | | - "dragstart", |
98 | | - "drop", |
99 | | - "mousedown", |
100 | | - "mouseenter", |
101 | | - "mouseleave", |
102 | | - "mousemove", |
103 | | - "mouseout", |
104 | | - "mouseover", |
105 | | - "mouseup" |
106 | | - ], |
107 | | - pointer: [ |
108 | | - "pointerdown", |
109 | | - "pointermove", |
110 | | - "pointerup", |
111 | | - "pointercancel", |
112 | | - "gotpointercapture", |
113 | | - "lostpointercapture", |
114 | | - "pointerenter", |
115 | | - "pointerleave", |
116 | | - "pointerover", |
117 | | - "pointerout" |
118 | | - ], |
119 | | - selection: ["select"], |
120 | | - touch: ["touchcancel", "touchend", "touchmove", "touchstart"], |
121 | | - ui: ["scroll"], |
122 | | - wheel: ["wheel"], |
123 | | - animation: ["animationstart", "animationend", "animationiteration"], |
124 | | - transition: ["transitionend"] |
| 84 | + clipboard: ["copy", "cut", "paste"], |
| 85 | + composition: ["compositionend", "compositionstart", "compositionupdate"], |
| 86 | + keyboard: ["keydown", "keypress", "keyup"], |
| 87 | + mouse: [ |
| 88 | + "click", |
| 89 | + "contextmenu", |
| 90 | + "doubleclick", |
| 91 | + "drag", |
| 92 | + "dragend", |
| 93 | + "dragenter", |
| 94 | + "dragexit", |
| 95 | + "dragleave", |
| 96 | + "dragover", |
| 97 | + "dragstart", |
| 98 | + "drop", |
| 99 | + "mousedown", |
| 100 | + "mouseenter", |
| 101 | + "mouseleave", |
| 102 | + "mousemove", |
| 103 | + "mouseout", |
| 104 | + "mouseover", |
| 105 | + "mouseup", |
| 106 | + ], |
| 107 | + pointer: [ |
| 108 | + "pointerdown", |
| 109 | + "pointermove", |
| 110 | + "pointerup", |
| 111 | + "pointercancel", |
| 112 | + "gotpointercapture", |
| 113 | + "lostpointercapture", |
| 114 | + "pointerenter", |
| 115 | + "pointerleave", |
| 116 | + "pointerover", |
| 117 | + "pointerout", |
| 118 | + ], |
| 119 | + selection: ["select"], |
| 120 | + touch: ["touchcancel", "touchend", "touchmove", "touchstart"], |
| 121 | + ui: ["scroll"], |
| 122 | + wheel: ["wheel"], |
| 123 | + animation: ["animationstart", "animationend", "animationiteration"], |
| 124 | + transition: ["transitionend"], |
125 | 125 | }; |
126 | 126 |
|
127 | 127 | const eventTransforms = {}; |
128 | 128 |
|
129 | | -Object.keys(eventTypeCategories).forEach(category => { |
130 | | - eventTypeCategories[category].forEach(type => { |
131 | | - eventTransforms[type] = eventCategoryTransforms[category]; |
132 | | - }); |
| 129 | +Object.keys(eventTypeCategories).forEach((category) => { |
| 130 | + eventTypeCategories[category].forEach((type) => { |
| 131 | + eventTransforms[type] = eventCategoryTransforms[category]; |
| 132 | + }); |
133 | 133 | }); |
134 | 134 |
|
135 | 135 | export default serializeEvent; |
0 commit comments