Skip to content
This repository was archived by the owner on Oct 4, 2020. It is now read-only.

Commit 4f0b26a

Browse files
authored
Merge pull request #87 from purescript-contrib/0.11
Updates for 0.11
2 parents e235846 + 566c4b5 commit 4f0b26a

File tree

13 files changed

+142
-376
lines changed

13 files changed

+142
-376
lines changed

bower.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,19 @@
2020
"package.json"
2121
],
2222
"dependencies": {
23-
"purescript-datetime": "^2.0.0",
24-
"purescript-enums": "^2.0.0",
25-
"purescript-exceptions": "^2.0.0",
26-
"purescript-foldable-traversable": "^2.0.0",
27-
"purescript-foreign": "^3.0.0",
28-
"purescript-js-date": "^3.0.0",
29-
"purescript-media-types": "^2.0.0",
30-
"purescript-nullable": "^2.0.0",
31-
"purescript-prelude": "^2.1.0",
32-
"purescript-unsafe-coerce": "^2.0.0"
23+
"purescript-datetime": "^3.0.0",
24+
"purescript-enums": "^3.0.0",
25+
"purescript-exceptions": "^3.0.0",
26+
"purescript-foldable-traversable": "^3.0.0",
27+
"purescript-foreign": "^4.0.0",
28+
"purescript-js-date": "^4.0.0",
29+
"purescript-media-types": "^3.0.0",
30+
"purescript-nullable": "^3.0.0",
31+
"purescript-prelude": "^3.0.0",
32+
"purescript-unsafe-coerce": "^3.0.0"
3333
},
3434
"devDependencies": {
35-
"purescript-aff": "^2.0.0",
35+
"purescript-aff": "^3.0.0",
3636
"purescript-test-unit": "^10.0.0",
3737
"purescript-exitcodes": "^2.0.0",
3838
"purescript-phantom": "^1.0.1"

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
"private": true,
33
"scripts": {
44
"clean": "rimraf output && rimraf .pulp-cache",
5-
"build": "eslint src && pulp build --censor-lib --strict"
5+
"build": "eslint src && pulp build -- --censor-lib --strict"
66
},
77
"devDependencies": {
88
"eslint": "^3.8.1",
99
"phantomjs-prebuilt": "^2.1.13",
10-
"pulp": "^9.0.1",
11-
"purescript-psa": "^0.3.9",
12-
"purescript": "^0.10.6",
10+
"pulp": "^11.0.0",
11+
"purescript-psa": "^0.5.0",
12+
"purescript": "^0.11.1",
1313
"rimraf": "^2.5.4"
1414
}
1515
}

src/DOM.purs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
module DOM where
22

3+
import Control.Monad.Eff (kind Effect)
4+
35
-- | Effect type for when the DOM is being manipulated or mutable values are
46
-- | being read from the DOM.
5-
foreign import data DOM :: !
7+
foreign import data DOM :: Effect

src/DOM/CSS/Event/Types.purs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,13 @@ module DOM.CSS.Event.Types
55
) where
66

77
import Data.Foreign (Foreign, F, unsafeReadTagged)
8-
import Data.Foreign.Class (class IsForeign)
98
import DOM.Event.Types (Event)
109
import Unsafe.Coerce as U
1110

12-
foreign import data TransitionEvent :: *
11+
foreign import data TransitionEvent :: Type
1312

1413
transitionEventToEvent :: TransitionEvent -> Event
1514
transitionEventToEvent = U.unsafeCoerce
1615

1716
readTransitionEvent :: Foreign -> F TransitionEvent
1817
readTransitionEvent = unsafeReadTagged "TransitionEvent"
19-
20-
instance isForeignTransitionEvent :: IsForeign TransitionEvent where
21-
read = readTransitionEvent

src/DOM/Event/EventTarget.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
module DOM.Event.EventTarget where
22

33
import Prelude
4-
import Control.Monad.Eff (Eff)
4+
import Control.Monad.Eff (kind Effect, Eff)
55
import Control.Monad.Eff.Exception (EXCEPTION)
66
import DOM (DOM)
77
import DOM.Event.Types (EventTarget, Event, EventType)
88

99
-- | A boxed function that can be used as an event listener. This is necessary
1010
-- | due to the underling implementation of Eff functions.
11-
foreign import data EventListener :: # ! -> *
11+
foreign import data EventListener :: # Effect -> Type
1212

1313
-- | Creates an EventListener from a normal PureScript Eff function.
1414
foreign import eventListener

src/DOM/Event/Types.purs

Lines changed: 13 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,11 @@ module DOM.Event.Types
4141
import Prelude
4242
import Data.Either (Either(..))
4343
import Data.Foreign (F, Foreign, unsafeReadTagged)
44-
import Data.Foreign.Class (class IsForeign)
4544
import Data.Newtype (class Newtype)
4645
import 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.
5251
newtype EventType = EventType String
@@ -56,7 +55,7 @@ derive newtype instance eqEventType :: Eq EventType
5655
derive 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

6160
readEventTarget :: Foreign -> F EventTarget
6261
readEventTarget = _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

7571
customEventToEvent :: CustomEvent -> Event
7672
customEventToEvent = U.unsafeCoerce
7773

7874
readCustomEvent :: Foreign -> F CustomEvent
7975
readCustomEvent = 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

8679
uiEventToEvent :: UIEvent -> Event
8780
uiEventToEvent = U.unsafeCoerce
8881

8982
readUIEvent :: Foreign -> F UIEvent
9083
readUIEvent = 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

9787
focusEventToEvent :: FocusEvent -> Event
9888
focusEventToEvent = U.unsafeCoerce
9989

10090
readFocusEvent :: Foreign -> F FocusEvent
10191
readFocusEvent = 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

10895
mouseEventToEvent :: MouseEvent -> Event
10996
mouseEventToEvent = U.unsafeCoerce
11097

11198
readMouseEvent :: Foreign -> F MouseEvent
11299
readMouseEvent = 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

119103
wheelEventToEvent :: WheelEvent -> Event
120104
wheelEventToEvent = U.unsafeCoerce
121105

122106
readWheelEvent :: Foreign -> F WheelEvent
123107
readWheelEvent = 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

130111
touchEventToEvent :: TouchEvent -> Event
131112
touchEventToEvent = U.unsafeCoerce
132113

133114
readTouchEvent :: Foreign -> F TouchEvent
134115
readTouchEvent = 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

141119
inputEventToEvent :: InputEvent -> Event
142120
inputEventToEvent = U.unsafeCoerce
143121

144122
readInputEvent :: Foreign -> F InputEvent
145123
readInputEvent = 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

152127
keyboardEventToEvent :: KeyboardEvent -> Event
153128
keyboardEventToEvent = U.unsafeCoerce
154129

155130
readKeyboardEvent :: Foreign -> F KeyboardEvent
156131
readKeyboardEvent = 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

163135
compositionEventToEvent :: CompositionEvent -> Event
164136
compositionEventToEvent = U.unsafeCoerce
165137

166138
readCompositionEvent :: Foreign -> F CompositionEvent
167139
readCompositionEvent = 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

174143
progressEventToEvent :: ProgressEvent -> Event
175144
progressEventToEvent = U.unsafeCoerce
176145

177146
readProgressEvent :: Foreign -> F ProgressEvent
178147
readProgressEvent = 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

185151
clipboardEventToEvent :: ClipboardEvent -> Event
186152
clipboardEventToEvent = U.unsafeCoerce
187153

188154
readClipboardEvent :: Foreign -> F ClipboardEvent
189155
readClipboardEvent = unsafeReadTagged "ClipboardEvent"
190-
191-
instance isForeignClipboardEvent :: IsForeign ClipboardEvent where
192-
read = readClipboardEvent

src/DOM/File/Types.purs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ module DOM.File.Types where
22

33
import DOM.Event.Types (EventTarget)
44
import Data.Foreign (Foreign, F, unsafeReadTagged)
5-
import Data.Foreign.Class (class IsForeign)
65
import Unsafe.Coerce (unsafeCoerce)
76

8-
foreign import data Blob :: *
9-
foreign import data BlobURL :: *
10-
foreign import data File :: *
11-
foreign import data FileList :: *
12-
foreign import data FileReader :: *
13-
foreign import data FileReaderSync :: *
7+
foreign import data Blob :: Type
8+
foreign import data BlobURL :: Type
9+
foreign import data File :: Type
10+
foreign import data FileList :: Type
11+
foreign import data FileReader :: Type
12+
foreign import data FileReaderSync :: Type
1413

1514
fileToBlob :: File -> Blob
1615
fileToBlob = unsafeCoerce
@@ -20,6 +19,3 @@ fileReaderToEventTarget = unsafeCoerce
2019

2120
readFileList :: Foreign -> F FileList
2221
readFileList = unsafeReadTagged "FileList"
23-
24-
instance isForeignFileList :: IsForeign FileList where
25-
read = readFileList

src/DOM/HTML/Event/DataTransfer.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import Data.Maybe (Maybe)
1515
import Data.MediaType (MediaType(..))
1616
import Data.Nullable (Nullable, toMaybe)
1717

18-
foreign import data DataTransfer :: *
18+
foreign import data DataTransfer :: Type
1919

2020
-- | Contains a list of all the local files available on the data transfer.
2121
-- | Empty if the drag operation doesn't involve dragging files.

src/DOM/HTML/Event/Types.purs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,39 +11,29 @@ module DOM.HTML.Event.Types
1111
) where
1212

1313
import Data.Foreign (Foreign, F, unsafeReadTagged)
14-
import Data.Foreign.Class (class IsForeign)
1514
import DOM.Event.Types (Event)
1615
import Unsafe.Coerce as U
1716

18-
foreign import data DragEvent :: *
17+
foreign import data DragEvent :: Type
1918

2019
dragEventToEvent :: DragEvent -> Event
2120
dragEventToEvent = U.unsafeCoerce
2221

2322
readDragEvent :: Foreign -> F DragEvent
2423
readDragEvent = unsafeReadTagged "DragEvent"
2524

26-
instance isForeignDragEvent :: IsForeign DragEvent where
27-
read = readDragEvent
28-
29-
foreign import data ErrorEvent :: *
25+
foreign import data ErrorEvent :: Type
3026

3127
errorEventToEvent :: ErrorEvent -> Event
3228
errorEventToEvent = U.unsafeCoerce
3329

3430
readErrorEvent :: Foreign -> F ErrorEvent
3531
readErrorEvent = unsafeReadTagged "ErrorEvent"
3632

37-
instance isForeignErrorEvent :: IsForeign ErrorEvent where
38-
read = readErrorEvent
39-
40-
foreign import data HashChangeEvent :: *
33+
foreign import data HashChangeEvent :: Type
4134

4235
hashChangeEventToEvent :: HashChangeEvent -> Event
4336
hashChangeEventToEvent = U.unsafeCoerce
4437

4538
readHashChangeEvent :: Foreign -> F HashChangeEvent
4639
readHashChangeEvent = unsafeReadTagged "HashChangeEvent"
47-
48-
instance isForeignHashChangeEvent :: IsForeign HashChangeEvent where
49-
read = readHashChangeEvent

0 commit comments

Comments
 (0)