Skip to content

Commit fd476c8

Browse files
natefaubionethul
authored andcommitted
Updates for 0.12 (#11)
* Updates for 0.12 * Bump PS deps Resolves #9
1 parent cab9f13 commit fd476c8

File tree

3 files changed

+20
-37
lines changed

3 files changed

+20
-37
lines changed

bower.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"url": "git://github.com/purescript-contrib/purescript-react-dom.git"
1717
},
1818
"dependencies": {
19-
"purescript-dom": "^4.5.0",
20-
"purescript-react": "^5.0.0",
21-
"purescript-eff": "^3.1.0"
19+
"purescript-web-dom": "^1.0.0",
20+
"purescript-react": "https://github.com/natefaubion/purescript-react.git#compiler/0.12",
21+
"purescript-effect": "^2.0.0"
2222
}
2323
}

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"build": "pulp build"
66
},
77
"devDependencies": {
8-
"pulp": "^11.0.0",
9-
"purescript-psa": "^0.5.0",
10-
"purescript": "^0.11.1",
8+
"pulp": "^12.0.0",
9+
"purescript-psa": "^0.6.0",
10+
"purescript": "^0.12.0",
1111
"rimraf": "^2.5.4"
1212
},
1313
"peerDependencies": {

src/ReactDOM.purs

+14-31
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,30 @@ module ReactDOM
44
, findDOMNode
55
, renderToString
66
, renderToStaticMarkup
7-
, refToNode
87
) where
98

10-
import Control.Monad.Eff (Eff)
11-
import Control.Monad.Eff.Uncurried (runEffFn1, EffFn4, EffFn1, runEffFn4)
12-
import DOM (DOM)
13-
import DOM.Node.Types (Element, Node)
9+
import Effect (Effect)
10+
import Effect.Uncurried (runEffectFn1, EffectFn4, EffectFn1, runEffectFn4)
1411
import Data.Function.Uncurried (runFn1, Fn1)
1512
import Data.Maybe (Maybe(..))
16-
import Data.Nullable (Nullable, toMaybe)
17-
import React (ReactElement, ReactComponent, Ref)
18-
import Unsafe.Coerce (unsafeCoerce)
13+
import React (ReactElement, ReactComponent)
14+
import Web.DOM.Element (Element)
1915

2016
-- | Render a React element in a document element. Returns Nothing for stateless components.
2117
render
22-
:: forall eff
23-
. ReactElement
18+
:: ReactElement
2419
-> Element
25-
-> Eff (dom :: DOM | eff) (Maybe ReactComponent)
26-
render = runEffFn4 renderImpl Nothing Just
20+
-> Effect (Maybe ReactComponent)
21+
render = runEffectFn4 renderImpl Nothing Just
2722

2823
-- | Removes a mounted React element in a document element.
2924
-- | Returns true if it was unmounted, false otherwise.
30-
unmountComponentAtNode :: forall eff. Element -> Eff (dom :: DOM | eff) Boolean
31-
unmountComponentAtNode = runEffFn1 unmountComponentAtNodeImpl
25+
unmountComponentAtNode :: Element -> Effect Boolean
26+
unmountComponentAtNode = runEffectFn1 unmountComponentAtNodeImpl
3227

3328
-- | Finds the DOM node rendered by the component.
34-
findDOMNode :: forall eff. ReactComponent -> Eff (dom :: DOM | eff) Element
35-
findDOMNode = runEffFn1 findDOMNodeImpl
29+
findDOMNode :: ReactComponent -> Effect Element
30+
findDOMNode = runEffectFn1 findDOMNodeImpl
3631

3732
-- | Render a React element as a string.
3833
renderToString :: ReactElement -> String
@@ -43,35 +38,23 @@ renderToStaticMarkup :: ReactElement -> String
4338
renderToStaticMarkup = runFn1 renderToStaticMarkupImpl
4439

4540
foreign import renderImpl
46-
:: forall eff
47-
. EffFn4
48-
(dom :: DOM | eff)
41+
:: EffectFn4
4942
(Maybe ReactComponent)
5043
(ReactComponent -> Maybe ReactComponent)
5144
ReactElement
5245
Element
5346
(Maybe ReactComponent)
5447

5548
foreign import unmountComponentAtNodeImpl
56-
:: forall eff
57-
. EffFn1
58-
(dom :: DOM | eff)
49+
:: EffectFn1
5950
Element
6051
Boolean
6152

6253
foreign import findDOMNodeImpl
63-
:: forall eff
64-
. EffFn1
65-
(dom :: DOM | eff)
54+
:: EffectFn1
6655
ReactComponent
6756
Element
6857

6958
foreign import renderToStringImpl :: Fn1 ReactElement String
7059

7160
foreign import renderToStaticMarkupImpl :: Fn1 ReactElement String
72-
73-
refToNode :: Nullable Ref -> Maybe Node
74-
refToNode ref = toMaybe (coerce ref)
75-
where
76-
coerce :: Nullable Ref -> Nullable Node
77-
coerce = unsafeCoerce

0 commit comments

Comments
 (0)