1- /* Copyright (C) 2015-2016 Bloomberg Finance L.P.
2- * Copyright (C) 2017- Hongbo Zhang, Authors of ReScript
3- *
4- * SPDX-License-Identifier: MIT
5- */
6-
71type synthetic <'a >
82
93module MakeEventWithType = (
@@ -13,26 +7,19 @@ module MakeEventWithType = (
137) => {
148 @get external bubbles : Type .t => bool = "bubbles"
159 @get external cancelable : Type .t => bool = "cancelable"
16- @get external currentTarget : Type .t => {.. } = "currentTarget"
17-
18- /* Should return Dom.eventTarget */
10+ @get
11+ external currentTarget : Type .t => {.. } = "currentTarget" /* Should return Dom.eventTarget */
1912 @get external defaultPrevented : Type .t => bool = "defaultPrevented"
2013 @get external eventPhase : Type .t => int = "eventPhase"
2114 @get external isTrusted : Type .t => bool = "isTrusted"
22- @get external nativeEvent : Type .t => {.. } = "nativeEvent"
23-
24- /* Should return Dom.event */
15+ @get external nativeEvent : Type .t => {.. } = "nativeEvent" /* Should return Dom.event */
2516 @send external preventDefault : Type .t => unit = "preventDefault"
26-
27- @send external isDefaultPrevented : Type .t => bool = "isDefaultPrevented"
28-
17+ @send
18+ external isDefaultPrevented : Type .t => bool = "isDefaultPrevented"
2919 @send external stopPropagation : Type .t => unit = "stopPropagation"
30-
31- @send external isPropagationStopped : Type .t => bool = "isPropagationStopped"
32-
33- @get external target : Type .t => {.. } = "target"
34-
35- /* Should return Dom.eventTarget */
20+ @send
21+ external isPropagationStopped : Type .t => bool = "isPropagationStopped"
22+ @get external target : Type .t => {.. } = "target" /* Should return Dom.eventTarget */
3623 @get external timeStamp : Type .t => float = "timeStamp"
3724 @get external type_ : Type .t => string = "type"
3825 @send external persist : Type .t => unit = "persist"
@@ -41,30 +28,26 @@ module MakeEventWithType = (
4128module Synthetic = {
4229 type tag
4330 type t = synthetic <tag >
44-
4531 @get external bubbles : synthetic <'a > => bool = "bubbles"
4632 @get external cancelable : synthetic <'a > => bool = "cancelable"
47- @get external currentTarget : synthetic < 'a > => { .. } = "currentTarget"
48- /* Should return Dom.eventTarget */
49-
50- @get external defaultPrevented : synthetic < 'a > => bool = "defaultPrevented"
51-
33+ @get
34+ external currentTarget : synthetic < 'a > => { .. } =
35+ "currentTarget" /* Should return Dom.eventTarget */
36+ @get
37+ external defaultPrevented : synthetic < 'a > => bool = "defaultPrevented"
5238 @get external eventPhase : synthetic <'a > => int = "eventPhase"
5339 @get external isTrusted : synthetic <'a > => bool = "isTrusted"
54- @get external nativeEvent : synthetic <'a > => {.. } = "nativeEvent"
55-
56- /* Should return Dom.event */
57- @send external preventDefault : synthetic <'a > => unit = "preventDefault"
58-
59- @send external isDefaultPrevented : synthetic <'a > => bool = "isDefaultPrevented"
60-
61- @send external stopPropagation : synthetic <'a > => unit = "stopPropagation"
62-
63- @send external isPropagationStopped : synthetic <'a > => bool = "isPropagationStopped"
64-
65- @get external target : synthetic <'a > => {.. } = "target"
66-
67- /* Should return Dom.eventTarget */
40+ @get
41+ external nativeEvent : synthetic <'a > => {.. } = "nativeEvent" /* Should return Dom.event */
42+ @send
43+ external preventDefault : synthetic <'a > => unit = "preventDefault"
44+ @send
45+ external isDefaultPrevented : synthetic <'a > => bool = "isDefaultPrevented"
46+ @send
47+ external stopPropagation : synthetic <'a > => unit = "stopPropagation"
48+ @send
49+ external isPropagationStopped : synthetic <'a > => bool = "isPropagationStopped"
50+ @get external target : synthetic <'a > => {.. } = "target" /* Should return Dom.eventTarget */
6851 @get external timeStamp : synthetic <'a > => float = "timeStamp"
6952 @get external type_ : synthetic <'a > => string = "type"
7053 @send external persist : synthetic <'a > => unit = "persist"
@@ -76,34 +59,26 @@ external toSyntheticEvent: synthetic<'a> => Synthetic.t = "%identity"
7659module Clipboard = {
7760 type tag
7861 type t = synthetic <tag >
79-
8062 include MakeEventWithType ({type t = t })
81-
82- @get external clipboardData : t => {.. } = "clipboardData"
83- /* Should return Dom.dataTransfer */
63+ @get external clipboardData : t => {.. } = "clipboardData" /* Should return Dom.dataTransfer */
8464}
8565
8666module Composition = {
8767 type tag
8868 type t = synthetic <tag >
89-
9069 include MakeEventWithType ({type t = t })
91-
9270 @get external data : t => string = "data"
9371}
9472
9573module Keyboard = {
9674 type tag
9775 type t = synthetic <tag >
98-
9976 include MakeEventWithType ({type t = t })
100-
10177 @get external altKey : t => bool = "altKey"
10278 @get external charCode : t => int = "charCode"
10379 @get external ctrlKey : t => bool = "ctrlKey"
104-
105- @send external getModifierState : (t , string ) => bool = "getModifierState"
106-
80+ @send
81+ external getModifierState : (t , string ) => bool = "getModifierState"
10782 @get external key : t => string = "key"
10883 @get external keyCode : t => int = "keyCode"
10984 @get external locale : t => string = "locale"
@@ -117,44 +92,36 @@ module Keyboard = {
11792module Focus = {
11893 type tag
11994 type t = synthetic <tag >
120-
12195 include MakeEventWithType ({type t = t })
122-
123- @get @return (nullable ) external relatedTarget : t => option <{.. }> = "relatedTarget"
124- /* Should return Dom.eventTarget */
96+ @get @return (nullable )
97+ external relatedTarget : t => option <{.. }> = "relatedTarget" /* Should return Dom.eventTarget */
12598}
12699
127100module Form = {
128101 type tag
129102 type t = synthetic <tag >
130-
131103 include MakeEventWithType ({type t = t })
132104}
133105
134106module Mouse = {
135107 type tag
136108 type t = synthetic <tag >
137-
138109 include MakeEventWithType ({type t = t })
139-
140110 @get external altKey : t => bool = "altKey"
141111 @get external button : t => int = "button"
142112 @get external buttons : t => int = "buttons"
143113 @get external clientX : t => int = "clientX"
144114 @get external clientY : t => int = "clientY"
145115 @get external ctrlKey : t => bool = "ctrlKey"
146-
147- @get external getModifierState : (t => string ) => bool = "getModifierState"
148-
116+ @send
117+ external getModifierState : (t => string ) => bool = "getModifierState"
149118 @get external metaKey : t => bool = "metaKey"
150119 @get external movementX : t => int = "movementX"
151120 @get external movementY : t => int = "movementY"
152121 @get external pageX : t => int = "pageX"
153122 @get external pageY : t => int = "pageY"
154-
155- @get @return (nullable ) external relatedTarget : t => option <{.. }> = "relatedTarget"
156-
157- /* Should return Dom.eventTarget */
123+ @get @return (nullable )
124+ external relatedTarget : t => option <{.. }> = "relatedTarget" /* Should return Dom.eventTarget */
158125 @get external screenX : t => int = "screenX"
159126 @get external screenY : t => int = "screenY"
160127 @get external shiftKey : t => bool = "shiftKey"
@@ -163,17 +130,13 @@ module Mouse = {
163130module Pointer = {
164131 type tag
165132 type t = synthetic <tag >
166-
167133 include MakeEventWithType ({type t = t })
168134
169- /* UIEvent */
170- @get @get
171- external detail : t => int = "detail"
172-
173- /* external view : t -> Dom.window = "view" */
174- /* Should return DOMAbstractView/WindowProxy */
135+ // UIEvent
136+ @get external detail : t => int = "detail"
137+ @get external view : t => Dom .window = "view" /* Should return DOMAbstractView/WindowProxy */
175138
176- /* MouseEvent */
139+ // MouseEvent
177140 @get external screenX : t => int = "screenX"
178141 @get external screenY : t => int = "screenY"
179142 @get external clientX : t => int = "clientX"
@@ -182,21 +145,22 @@ module Pointer = {
182145 @get external pageY : t => int = "pageY"
183146 @get external movementX : t => int = "movementX"
184147 @get external movementY : t => int = "movementY"
148+
185149 @get external ctrlKey : t => bool = "ctrlKey"
186150 @get external shiftKey : t => bool = "shiftKey"
187151 @get external altKey : t => bool = "altKey"
188152 @get external metaKey : t => bool = "metaKey"
189-
190- @ get external getModifierState : (t => string ) => bool = "getModifierState"
153+ @ send
154+ external getModifierState : (t => string ) => bool = "getModifierState"
191155
192156 @get external button : t => int = "button"
193157 @get external buttons : t => int = "buttons"
194158
195- @get @return (nullable ) external relatedTarget : t => option <{ .. }> = "relatedTarget"
196- /* Should return Dom.eventTarget */
159+ @get @return (nullable )
160+ external relatedTarget : t => option <{ .. }> = "relatedTarget" /* Should return Dom.eventTarget */
197161
198- /* PointerEvent */
199- /* external pointerId : t - > Dom.eventPointerId = "pointerId" [@@get] */
162+ // PointerEvent
163+ @ get external pointerId : t = > Dom .eventPointerId = "pointerId"
200164 @get external width : t => float = "width"
201165 @get external height : t => float = "height"
202166 @get external pressure : t => float = "pressure"
@@ -211,50 +175,36 @@ module Pointer = {
211175module Selection = {
212176 type tag
213177 type t = synthetic <tag >
214-
215178 include MakeEventWithType ({type t = t })
216179}
217180
218181module Touch = {
219182 type tag
220183 type t = synthetic <tag >
221-
222184 include MakeEventWithType ({type t = t })
223-
224185 @get external altKey : t => bool = "altKey"
225- @get external changedTouches : t => {.. } = "changedTouches"
226- /* Should return Dom.touchList */
227-
186+ @get external changedTouches : t => {.. } = "changedTouches" /* Should return Dom.touchList */
228187 @get external ctrlKey : t => bool = "ctrlKey"
229-
230- @send external getModifierState : (t => string ) => bool = "getModifierState"
231-
188+ @send
189+ external getModifierState : (t => string ) => bool = "getModifierState"
232190 @get external metaKey : t => bool = "metaKey"
233191 @get external shiftKey : t => bool = "shiftKey"
234- @get external targetTouches : t => {.. } = "targetTouches"
235- /* Should return Dom.touchList */
236-
237- @get external touches : t => {.. } = "touches"
238- /* Should return Dom.touchList */
192+ @get external targetTouches : t => {.. } = "targetTouches" /* Should return Dom.touchList */
193+ @get external touches : t => {.. } = "touches" /* Should return Dom.touchList */
239194}
240195
241196module UI = {
242197 type tag
243198 type t = synthetic <tag >
244-
245199 include MakeEventWithType ({type t = t })
246-
247200 @get external detail : t => int = "detail"
248- /* external view : t -> Dom.window = "view" [@@get] */
249- /* Should return DOMAbstractView/WindowProxy */
201+ @get external view : t => Dom .window = "view" /* Should return DOMAbstractView/WindowProxy */
250202}
251203
252204module Wheel = {
253205 type tag
254206 type t = synthetic <tag >
255-
256207 include MakeEventWithType ({type t = t })
257-
258208 @get external deltaMode : t => int = "deltaMode"
259209 @get external deltaX : t => float = "deltaX"
260210 @get external deltaY : t => float = "deltaY"
@@ -264,23 +214,19 @@ module Wheel = {
264214module Media = {
265215 type tag
266216 type t = synthetic <tag >
267-
268217 include MakeEventWithType ({type t = t })
269218}
270219
271220module Image = {
272221 type tag
273222 type t = synthetic <tag >
274-
275223 include MakeEventWithType ({type t = t })
276224}
277225
278226module Animation = {
279227 type tag
280228 type t = synthetic <tag >
281-
282229 include MakeEventWithType ({type t = t })
283-
284230 @get external animationName : t => string = "animationName"
285231 @get external pseudoElement : t => string = "pseudoElement"
286232 @get external elapsedTime : t => float = "elapsedTime"
@@ -289,9 +235,7 @@ module Animation = {
289235module Transition = {
290236 type tag
291237 type t = synthetic <tag >
292-
293238 include MakeEventWithType ({type t = t })
294-
295239 @get external propertyName : t => string = "propertyName"
296240 @get external pseudoElement : t => string = "pseudoElement"
297241 @get external elapsedTime : t => float = "elapsedTime"
0 commit comments