Skip to content

Commit 00d51f6

Browse files
author
Marcin Szamotulski
committed
Remove DOM dependency, use foreign data type for Ref
Still adds two small dependencies * purescript-maybe * purescript-nullable
1 parent aaa1ba8 commit 00d51f6

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

bower.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
"purescript-eff": "^3.0.0",
2121
"purescript-prelude": "^3.0.0",
2222
"purescript-unsafe-coerce": "^3.0.0",
23-
"purescript-dom": "^4.5.0"
23+
"purescript-maybe": "^3.0.0",
24+
"purescript-nullable": "^3.0.0"
2425
},
2526
"devDependencies": {
2627
"purescript-console": "^3.0.0",

src/React.purs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ module React
1919
, ReactRefs
2020

2121
, Refs
22+
, Ref
2223

2324
, Render
2425
, GetInitialState
@@ -69,7 +70,6 @@ module React
6970
import Prelude
7071

7172
import Control.Monad.Eff (kind Effect, Eff)
72-
import DOM.Node.Types (Node)
7373
import Data.Maybe (Maybe)
7474
import Data.Nullable (Nullable, toMaybe)
7575
import Unsafe.Coerce (unsafeCoerce)
@@ -300,22 +300,24 @@ foreign import getRefs :: forall props state access eff.
300300
ReactThis props state ->
301301
Eff (refs :: ReactRefs (read :: Read | access) | eff) Refs
302302

303+
foreign import data Ref :: Type
304+
303305
-- | Read named ref from Refs
304306
foreign import readRefImpl :: forall props state access eff.
305307
ReactThis props state ->
306308
String ->
307-
Eff (refs :: ReactRefs (read :: Read | access) | eff) (Nullable Node)
309+
Eff (refs :: ReactRefs (read :: Read | access) | eff) (Nullable Ref)
308310

309311
readRef :: forall props state access eff.
310312
ReactThis props state ->
311313
String ->
312-
Eff (refs :: ReactRefs (read :: Read | access) | eff) (Maybe Node)
314+
Eff (refs :: ReactRefs (read :: Read | access) | eff) (Maybe Ref)
313315
readRef this name = toMaybe <$> readRefImpl this name
314316

315317
foreign import writeRef :: forall props state access eff.
316318
ReactThis props state ->
317319
String ->
318-
Node ->
320+
Ref ->
319321
Eff (refs :: ReactRefs (write :: Write | access) | eff) Unit
320322

321323
-- | Read the component children property.

src/React/DOM/Props.purs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ module React.DOM.Props where
22

33
import Control.Monad.Eff (Eff)
44
import Control.Monad.Eff.Unsafe (unsafePerformEff)
5-
import DOM.Node.Types (Node)
65
import Prelude (Unit, (<<<))
7-
import React (Event, EventHandlerContext, KeyboardEvent, MouseEvent, ReactRefs, Write, handle)
6+
import React (Event, EventHandlerContext, KeyboardEvent, MouseEvent, ReactRefs, Ref, Write, handle)
87

98
foreign import data Props :: Type
109

@@ -310,7 +309,7 @@ ref = unsafeMkProps "ref"
310309
-- | ```
311310
refCb
312311
:: forall access eff
313-
. (Node -> Eff (refs :: ReactRefs (write :: Write | access) | eff) Unit)
312+
. (Ref -> Eff (refs :: ReactRefs (write :: Write | access) | eff) Unit)
314313
-> Props
315314
refCb cb = unsafeMkProps "ref" (unsafePerformEff <<< cb)
316315

0 commit comments

Comments
 (0)