@@ -5,40 +5,43 @@ module MakeEventWithType = (
55 type t
66 },
77) => {
8+ open WebAPI
9+
810 @get external bubbles : Type .t => bool = "bubbles"
911 @get external cancelable : Type .t => bool = "cancelable"
1012 @get
11- external currentTarget : Type .t => { .. } = "currentTarget" /* Should return Dom.eventTarget */
13+ external currentTarget : Type .t => DOMAPI . node = "currentTarget"
1214 @get external defaultPrevented : Type .t => bool = "defaultPrevented"
1315 @get external eventPhase : Type .t => int = "eventPhase"
1416 @get external isTrusted : Type .t => bool = "isTrusted"
15- @get external nativeEvent : Type .t => { .. } = "nativeEvent" /* Should return Dom.event */
17+ @get external nativeEvent : Type .t => EventAPI . event = "nativeEvent"
1618 @send external preventDefault : Type .t => unit = "preventDefault"
1719 @send
1820 external isDefaultPrevented : Type .t => bool = "isDefaultPrevented"
1921 @send external stopPropagation : Type .t => unit = "stopPropagation"
2022 @send
2123 external isPropagationStopped : Type .t => bool = "isPropagationStopped"
22- @get external target : Type .t => { .. } = "target" /* Should return Dom.eventTarget */
24+ @get external target : Type .t => DOMAPI . node = "target"
2325 @get external timeStamp : Type .t => float = "timeStamp"
2426 @get external type_ : Type .t => string = "type"
2527 @send external persist : Type .t => unit = "persist"
2628}
2729
30+ open WebAPI
31+
2832module Synthetic = {
2933 type tag = JsxEvent .Synthetic .tag
3034 type t = synthetic <tag >
3135 @get external bubbles : synthetic <'a > => bool = "bubbles"
3236 @get external cancelable : synthetic <'a > => bool = "cancelable"
3337 @get
34- external currentTarget : synthetic <'a > => {.. } =
35- "currentTarget" /* Should return Dom.eventTarget */
38+ external currentTarget : synthetic <'a > => DOMAPI .node = "currentTarget"
3639 @get
3740 external defaultPrevented : synthetic <'a > => bool = "defaultPrevented"
3841 @get external eventPhase : synthetic <'a > => int = "eventPhase"
3942 @get external isTrusted : synthetic <'a > => bool = "isTrusted"
4043 @get
41- external nativeEvent : synthetic <'a > => { .. } = "nativeEvent" /* Should return Dom.event */
44+ external nativeEvent : synthetic <'a > => EventAPI . event = "nativeEvent"
4245 @send
4346 external preventDefault : synthetic <'a > => unit = "preventDefault"
4447 @send
@@ -47,7 +50,7 @@ module Synthetic = {
4750 external stopPropagation : synthetic <'a > => unit = "stopPropagation"
4851 @send
4952 external isPropagationStopped : synthetic <'a > => bool = "isPropagationStopped"
50- @get external target : synthetic <'a > => { .. } = "target" /* Should return Dom.eventTarget */
53+ @get external target : synthetic <'a > => DOMAPI . node = "target"
5154 @get external timeStamp : synthetic <'a > => float = "timeStamp"
5255 @get external type_ : synthetic <'a > => string = "type"
5356 @send external persist : synthetic <'a > => unit = "persist"
@@ -62,7 +65,7 @@ module Clipboard = {
6265 include MakeEventWithType ({
6366 type t = t
6467 })
65- @get external clipboardData : t => { .. } = "clipboardData" /* Should return Dom.dataTransfer */
68+ @get external clipboardData : t => WebAPI . UIEventsAPI . dataTransfer = "clipboardData"
6669}
6770
6871module Composition = {
@@ -103,7 +106,7 @@ module Focus = {
103106 type t = t
104107 })
105108 @get @return (nullable )
106- external relatedTarget : t => option <{ .. } > = "relatedTarget" /* Should return Dom.eventTarget */
109+ external relatedTarget : t => option <EventAPI . eventTarget > = "relatedTarget"
107110}
108111
109112module Form = {
@@ -134,7 +137,7 @@ module Mouse = {
134137 @get external pageX : t => int = "pageX"
135138 @get external pageY : t => int = "pageY"
136139 @get @return (nullable )
137- external relatedTarget : t => option <{ .. } > = "relatedTarget" /* Should return Dom.eventTarget */
140+ external relatedTarget : t => option <EventAPI . eventTarget > = "relatedTarget"
138141 @get external screenX : t => int = "screenX"
139142 @get external screenY : t => int = "screenY"
140143 @get external shiftKey : t => bool = "shiftKey"
@@ -149,7 +152,7 @@ module Pointer = {
149152
150153 // UIEvent
151154 @get external detail : t => int = "detail"
152- @get external view : t => Dom .window = "view" /* Should return DOMAbstractView/WindowProxy */
155+ @get external view : t => DOMAPI .window = "view"
153156
154157 // MouseEvent
155158 @get external screenX : t => int = "screenX"
@@ -172,7 +175,7 @@ module Pointer = {
172175 @get external buttons : t => int = "buttons"
173176
174177 @get @return (nullable )
175- external relatedTarget : t => option <{ .. } > = "relatedTarget" /* Should return Dom.eventTarget */
178+ external relatedTarget : t => option <EventAPI . eventTarget > = "relatedTarget"
176179
177180 // PointerEvent
178181 @get external pointerId : t => Dom .eventPointerId = "pointerId"
@@ -202,14 +205,14 @@ module Touch = {
202205 type t = t
203206 })
204207 @get external altKey : t => bool = "altKey"
205- @get external changedTouches : t => { .. } = "changedTouches" /* Should return Dom.touchList */
208+ @get external changedTouches : t => UIEventsAPI . touchList = "changedTouches"
206209 @get external ctrlKey : t => bool = "ctrlKey"
207210 @send
208211 external getModifierState : (t , string ) => bool = "getModifierState"
209212 @get external metaKey : t => bool = "metaKey"
210213 @get external shiftKey : t => bool = "shiftKey"
211- @get external targetTouches : t => { .. } = "targetTouches" /* Should return Dom.touchList */
212- @get external touches : t => { .. } = "touches" /* Should return Dom.touchList */
214+ @get external targetTouches : t => UIEventsAPI . touchList = "targetTouches"
215+ @get external touches : t => UIEventsAPI . touchList = "touches"
213216}
214217
215218module UI = {
@@ -219,7 +222,7 @@ module UI = {
219222 type t = t
220223 })
221224 @get external detail : t => int = "detail"
222- @get external view : t => Dom .window = "view" /* Should return DOMAbstractView/WindowProxy */
225+ @get external view : t => DOMAPI .window = "view"
223226}
224227
225228module Wheel = {
0 commit comments