@@ -41,12 +41,11 @@ module DOM.Event.Types
4141import Prelude
4242import Data.Either (Either (..))
4343import Data.Foreign (F , Foreign , unsafeReadTagged )
44- import Data.Foreign.Class (class IsForeign )
4544import Data.Newtype (class Newtype )
4645import Unsafe.Coerce as U
4746
4847-- | Basic type for all DOM events.
49- foreign import data Event :: *
48+ foreign import data Event :: Type
5049
5150-- | The type of strings used for event types.
5251newtype EventType = EventType String
@@ -56,7 +55,7 @@ derive newtype instance eqEventType :: Eq EventType
5655derive newtype instance ordEventType :: Ord EventType
5756
5857-- | A DOM item that can emit events.
59- foreign import data EventTarget :: *
58+ foreign import data EventTarget :: Type
6059
6160readEventTarget :: Foreign -> F EventTarget
6261readEventTarget = _readEventTarget Left Right
@@ -67,126 +66,90 @@ foreign import _readEventTarget
6766 -> Foreign
6867 -> F EventTarget
6968
70- instance isForeignEventTarget :: IsForeign EventTarget where
71- read = readEventTarget
72-
73- foreign import data CustomEvent :: *
69+ foreign import data CustomEvent :: Type
7470
7571customEventToEvent :: CustomEvent -> Event
7672customEventToEvent = U .unsafeCoerce
7773
7874readCustomEvent :: Foreign -> F CustomEvent
7975readCustomEvent = unsafeReadTagged " CustomEvent"
8076
81- instance isForeignCustomEvent :: IsForeign CustomEvent where
82- read = readCustomEvent
83-
84- foreign import data UIEvent :: *
77+ foreign import data UIEvent :: Type
8578
8679uiEventToEvent :: UIEvent -> Event
8780uiEventToEvent = U .unsafeCoerce
8881
8982readUIEvent :: Foreign -> F UIEvent
9083readUIEvent = unsafeReadTagged " UIEvent"
9184
92- instance isForeignUIEvent :: IsForeign UIEvent where
93- read = readUIEvent
94-
95- foreign import data FocusEvent :: *
85+ foreign import data FocusEvent :: Type
9686
9787focusEventToEvent :: FocusEvent -> Event
9888focusEventToEvent = U .unsafeCoerce
9989
10090readFocusEvent :: Foreign -> F FocusEvent
10191readFocusEvent = unsafeReadTagged " FocusEvent"
10292
103- instance isForeignFocusEvent :: IsForeign FocusEvent where
104- read = readFocusEvent
105-
106- foreign import data MouseEvent :: *
93+ foreign import data MouseEvent :: Type
10794
10895mouseEventToEvent :: MouseEvent -> Event
10996mouseEventToEvent = U .unsafeCoerce
11097
11198readMouseEvent :: Foreign -> F MouseEvent
11299readMouseEvent = unsafeReadTagged " MouseEvent"
113100
114- instance isForeignMouseEvent :: IsForeign MouseEvent where
115- read = readMouseEvent
116-
117- foreign import data WheelEvent :: *
101+ foreign import data WheelEvent :: Type
118102
119103wheelEventToEvent :: WheelEvent -> Event
120104wheelEventToEvent = U .unsafeCoerce
121105
122106readWheelEvent :: Foreign -> F WheelEvent
123107readWheelEvent = unsafeReadTagged " WheelEvent"
124108
125- instance isForeignWheelEvent :: IsForeign WheelEvent where
126- read = readWheelEvent
127-
128- foreign import data TouchEvent :: *
109+ foreign import data TouchEvent :: Type
129110
130111touchEventToEvent :: TouchEvent -> Event
131112touchEventToEvent = U .unsafeCoerce
132113
133114readTouchEvent :: Foreign -> F TouchEvent
134115readTouchEvent = unsafeReadTagged " TouchEvent"
135116
136- instance isForeignTouchEvent :: IsForeign TouchEvent where
137- read = readTouchEvent
138-
139- foreign import data InputEvent :: *
117+ foreign import data InputEvent :: Type
140118
141119inputEventToEvent :: InputEvent -> Event
142120inputEventToEvent = U .unsafeCoerce
143121
144122readInputEvent :: Foreign -> F InputEvent
145123readInputEvent = unsafeReadTagged " InputEvent"
146124
147- instance isForeignInputEvent :: IsForeign InputEvent where
148- read = readInputEvent
149-
150- foreign import data KeyboardEvent :: *
125+ foreign import data KeyboardEvent :: Type
151126
152127keyboardEventToEvent :: KeyboardEvent -> Event
153128keyboardEventToEvent = U .unsafeCoerce
154129
155130readKeyboardEvent :: Foreign -> F KeyboardEvent
156131readKeyboardEvent = unsafeReadTagged " KeyboardEvent"
157132
158- instance isForeignKeyboardEvent :: IsForeign KeyboardEvent where
159- read = readKeyboardEvent
160-
161- foreign import data CompositionEvent :: *
133+ foreign import data CompositionEvent :: Type
162134
163135compositionEventToEvent :: CompositionEvent -> Event
164136compositionEventToEvent = U .unsafeCoerce
165137
166138readCompositionEvent :: Foreign -> F CompositionEvent
167139readCompositionEvent = unsafeReadTagged " CompositionEvent"
168140
169- instance isForeignCompositionEvent :: IsForeign CompositionEvent where
170- read = readCompositionEvent
171-
172- foreign import data ProgressEvent :: *
141+ foreign import data ProgressEvent :: Type
173142
174143progressEventToEvent :: ProgressEvent -> Event
175144progressEventToEvent = U .unsafeCoerce
176145
177146readProgressEvent :: Foreign -> F ProgressEvent
178147readProgressEvent = unsafeReadTagged " ProgressEvent"
179148
180- instance isForeignProgressEvent :: IsForeign ProgressEvent where
181- read = readProgressEvent
182-
183- foreign import data ClipboardEvent :: *
149+ foreign import data ClipboardEvent :: Type
184150
185151clipboardEventToEvent :: ClipboardEvent -> Event
186152clipboardEventToEvent = U .unsafeCoerce
187153
188154readClipboardEvent :: Foreign -> F ClipboardEvent
189155readClipboardEvent = unsafeReadTagged " ClipboardEvent"
190-
191- instance isForeignClipboardEvent :: IsForeign ClipboardEvent where
192- read = readClipboardEvent
0 commit comments