Skip to content

Commit 5d89560

Browse files
committed
Make cases to rather than from for consistency elsewhere
1 parent 6647ad5 commit 5d89560

16 files changed

+111
-123
lines changed

src/Web/DOM/CharacterData.purs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ import Prelude
44

55
import Effect (Effect)
66
import Unsafe.Coerce (unsafeCoerce)
7-
import Web.DOM.Comment (Comment)
8-
import Web.DOM.ProcessingInstruction (ProcessingInstruction)
9-
import Web.DOM.Text (Text)
7+
import Web.DOM.ChildNode (ChildNode)
8+
import Web.DOM.Internal.Types (Node)
9+
import Web.DOM.NonDocumentTypeChildNode (NonDocumentTypeChildNode)
1010

1111
foreign import data CharacterData :: Type
1212

13-
fromText :: Text -> CharacterData
14-
fromText = unsafeCoerce
13+
toChildNode :: CharacterData -> ChildNode
14+
toChildNode = unsafeCoerce
1515

16-
fromProcessingInstruction :: ProcessingInstruction -> CharacterData
17-
fromProcessingInstruction = unsafeCoerce
16+
toNonDocumentTypeChildNode :: CharacterData -> NonDocumentTypeChildNode
17+
toNonDocumentTypeChildNode = unsafeCoerce
1818

19-
fromComment :: Comment -> CharacterData
20-
fromComment = unsafeCoerce
19+
toNode :: CharacterData -> Node
20+
toNode = unsafeCoerce
2121

2222
foreign import data_ :: CharacterData -> Effect String
2323

src/Web/DOM/ChildNode.purs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,8 @@ module Web.DOM.ChildNode where
33
import Prelude
44

55
import Effect (Effect)
6-
import Unsafe.Coerce (unsafeCoerce)
7-
import Web.DOM.CharacterData (CharacterData)
8-
import Web.DOM.DocumentType (DocumentType)
9-
import Web.DOM.Element (Element)
106

117
foreign import data ChildNode :: Type
128

13-
fromDocumentType :: DocumentType -> ChildNode
14-
fromDocumentType = unsafeCoerce
15-
16-
fromElement :: Element -> ChildNode
17-
fromElement = unsafeCoerce
18-
19-
fromCharacterData :: CharacterData -> ChildNode
20-
fromCharacterData = unsafeCoerce
21-
229
-- | Removes the node from its parent.
2310
foreign import remove :: ChildNode -> Effect Unit

src/Web/DOM/Comment.purs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
module Web.DOM.Comment where
22

3+
import Unsafe.Coerce (unsafeCoerce)
4+
import Web.DOM.CharacterData (CharacterData)
5+
36
foreign import data Comment :: Type
7+
8+
toCharacterData :: Comment -> CharacterData
9+
toCharacterData = unsafeCoerce

src/Web/DOM/Document.purs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
module Web.DOM.Document
22
( Document
33
, read
4+
, toNode
5+
, toParentNode
6+
, toNonElementParentNode
7+
, toEventTarget
48
, url
59
, documentURI
610
, origin
@@ -28,21 +32,37 @@ import Data.Maybe (Maybe)
2832
import Data.Nullable (Nullable, toMaybe, toNullable)
2933
import Effect (Effect)
3034
import Foreign (Foreign, F)
35+
import Unsafe.Coerce (unsafeCoerce)
3136
import Web.DOM.Comment (Comment)
3237
import Web.DOM.DocumentFragment (DocumentFragment)
3338
import Web.DOM.DocumentType (DocumentType)
3439
import Web.DOM.Element (Element)
3540
import Web.DOM.HTMLCollection (HTMLCollection)
3641
import Web.DOM.Internal.FFI (unsafeReadProtoTagged)
3742
import Web.DOM.Internal.Types (Node)
43+
import Web.DOM.NonElementParentNode (NonElementParentNode)
44+
import Web.DOM.ParentNode (ParentNode)
3845
import Web.DOM.ProcessingInstruction (ProcessingInstruction)
3946
import Web.DOM.Text (Text)
47+
import Web.Event.EventTarget (EventTarget)
4048

4149
foreign import data Document :: Type
4250

4351
read :: Foreign -> F Document
4452
read = unsafeReadProtoTagged "Document"
4553

54+
toNode :: Document -> Node
55+
toNode = unsafeCoerce
56+
57+
toParentNode :: Document -> ParentNode
58+
toParentNode = unsafeCoerce
59+
60+
toNonElementParentNode :: Document -> NonElementParentNode
61+
toNonElementParentNode = unsafeCoerce
62+
63+
toEventTarget :: Document -> EventTarget
64+
toEventTarget = unsafeCoerce
65+
4666
foreign import url :: Document -> Effect String
4767
foreign import documentURI :: Document -> Effect String
4868
foreign import origin :: Document -> Effect String

src/Web/DOM/DocumentFragment.purs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
11
module Web.DOM.DocumentFragment where
22

3+
import Unsafe.Coerce (unsafeCoerce)
4+
import Web.DOM.Internal.Types (Node)
5+
import Web.DOM.NonElementParentNode (NonElementParentNode)
6+
import Web.DOM.ParentNode (ParentNode)
7+
38
foreign import data DocumentFragment :: Type
9+
10+
toChildNode :: DocumentFragment -> Node
11+
toChildNode = unsafeCoerce
12+
13+
toParentNode :: DocumentFragment -> ParentNode
14+
toParentNode = unsafeCoerce
15+
16+
toNonElementParentNode :: DocumentFragment -> NonElementParentNode
17+
toNonElementParentNode = unsafeCoerce

src/Web/DOM/DocumentType.purs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
module Web.DOM.DocumentType where
22

3+
import Unsafe.Coerce (unsafeCoerce)
4+
import Web.DOM.ChildNode (ChildNode)
5+
import Web.DOM.Internal.Types (Node)
6+
37
foreign import data DocumentType :: Type
48

9+
toChildNode :: DocumentType -> ChildNode
10+
toChildNode = unsafeCoerce
11+
12+
toNode :: DocumentType -> Node
13+
toNode = unsafeCoerce
14+
515
foreign import name :: DocumentType -> String
616
foreign import publicId :: DocumentType -> String
717
foreign import systemId :: DocumentType -> String

src/Web/DOM/Element.purs

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
module Web.DOM.Element
22
( module Exports
33
, read
4-
, ElementId(..)
4+
, toNode
5+
, toChildNode
6+
, toParentNode
7+
, toEventTarget
58
, namespaceURI
69
, prefix
710
, localName
@@ -32,23 +35,36 @@ module Web.DOM.Element
3235
import Prelude
3336

3437
import Data.Maybe (Maybe)
35-
import Data.Newtype (class Newtype)
3638
import Data.Nullable (Nullable, toMaybe, toNullable)
3739
import Effect (Effect)
3840
import Foreign (Foreign, F)
39-
import Web.DOM.Internal.Types (Element, HTMLCollection)
40-
import Web.DOM.Internal.Types (Element) as Exports
41+
import Unsafe.Coerce (unsafeCoerce)
42+
import Web.DOM.ChildNode (ChildNode)
4143
import Web.DOM.Internal.FFI (unsafeReadProtoTagged)
42-
43-
newtype ElementId = ElementId String
44-
45-
derive instance newtypeElementId :: Newtype ElementId _
46-
derive newtype instance eqElementId :: Eq ElementId
47-
derive newtype instance oOrdElementId :: Ord ElementId
44+
import Web.DOM.Internal.Types (Element) as Exports
45+
import Web.DOM.Internal.Types (Element, HTMLCollection, Node)
46+
import Web.DOM.NonDocumentTypeChildNode (NonDocumentTypeChildNode)
47+
import Web.DOM.ParentNode (ParentNode)
48+
import Web.Event.EventTarget (EventTarget)
4849

4950
read :: Foreign -> F Element
5051
read = unsafeReadProtoTagged "Element"
5152

53+
toNode :: Element -> Node
54+
toNode = unsafeCoerce
55+
56+
toChildNode :: Element -> ChildNode
57+
toChildNode = unsafeCoerce
58+
59+
toNonDocumentTypeChildNode :: Element -> NonDocumentTypeChildNode
60+
toNonDocumentTypeChildNode = unsafeCoerce
61+
62+
toParentNode :: Element -> ParentNode
63+
toParentNode = unsafeCoerce
64+
65+
toEventTarget :: Element -> EventTarget
66+
toEventTarget = unsafeCoerce
67+
5268
namespaceURI :: Element -> Maybe String
5369
namespaceURI = toMaybe <<< _namespaceURI
5470

@@ -60,8 +76,8 @@ foreign import _prefix :: Element -> Nullable String
6076
foreign import localName :: Element -> String
6177
foreign import tagName :: Element -> String
6278

63-
foreign import id :: Element -> Effect ElementId
64-
foreign import setId :: ElementId -> Element -> Effect Unit
79+
foreign import id :: Element -> Effect String
80+
foreign import setId :: String -> Element -> Effect Unit
6581
foreign import className :: Element -> Effect String
6682
foreign import setClassName :: String -> Element -> Effect Unit
6783

src/Web/DOM/HTMLCollection.purs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import Prelude
1111
import Data.Maybe (Maybe)
1212
import Data.Nullable (Nullable, toMaybe)
1313
import Effect (Effect)
14-
import Web.DOM.Element (ElementId)
1514
import Web.DOM.Internal.Types (Element, HTMLCollection)
1615
import Web.DOM.Internal.Types (HTMLCollection) as Exports
1716

@@ -30,7 +29,7 @@ foreign import _item :: Int -> HTMLCollection -> Effect (Nullable Element)
3029

3130
-- | The first element with the specified name or ID in a HTMLCollection, or
3231
-- | Nothing if no such element exists.
33-
namedItem :: ElementId -> HTMLCollection -> Effect (Maybe Element)
32+
namedItem :: String -> HTMLCollection -> Effect (Maybe Element)
3433
namedItem id = map toMaybe <<< _namedItem id
3534

36-
foreign import _namedItem :: ElementId -> HTMLCollection -> Effect (Nullable Element)
35+
foreign import _namedItem :: String -> HTMLCollection -> Effect (Nullable Element)

src/Web/DOM/Node.purs

Lines changed: 6 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
module Web.DOM.Node
22
( module Exports
33
, read
4-
, fromDocument
5-
, fromElement
6-
, fromText
7-
, fromComment
8-
, fromProcessingInstruction
9-
, fromDocumentFragment
10-
, fromDocumentType
114
, nodeType
125
, nodeTypeIndex
136
, nodeName
@@ -48,41 +41,19 @@ import Data.Nullable (Nullable, toMaybe)
4841
import Effect (Effect)
4942
import Foreign (Foreign, F)
5043
import Unsafe.Coerce (unsafeCoerce)
51-
import Web.DOM.Comment (Comment)
5244
import Web.DOM.Document (Document)
53-
import Web.DOM.DocumentFragment (DocumentFragment)
54-
import Web.DOM.DocumentType (DocumentType)
55-
import Web.DOM.NodeType (NodeType)
56-
import Web.DOM.ProcessingInstruction (ProcessingInstruction)
57-
import Web.DOM.Text (Text)
5845
import Web.DOM.Element (Element)
59-
import Web.DOM.Internal.Types (Node, NodeList)
60-
import Web.DOM.Internal.Types (Node) as Exports
6146
import Web.DOM.Internal.FFI (unsafeReadProtoTagged)
47+
import Web.DOM.Internal.Types (Node) as Exports
48+
import Web.DOM.Internal.Types (Node, NodeList)
49+
import Web.DOM.NodeType (NodeType)
50+
import Web.Event.EventTarget (EventTarget)
6251

6352
read :: Foreign -> F Node
6453
read = unsafeReadProtoTagged "Node"
6554

66-
fromDocument :: Document -> Node
67-
fromDocument = unsafeCoerce
68-
69-
fromElement :: Element -> Node
70-
fromElement = unsafeCoerce
71-
72-
fromText :: Text -> Node
73-
fromText = unsafeCoerce
74-
75-
fromComment :: Comment -> Node
76-
fromComment = unsafeCoerce
77-
78-
fromProcessingInstruction :: ProcessingInstruction -> Node
79-
fromProcessingInstruction = unsafeCoerce
80-
81-
fromDocumentFragment :: DocumentFragment -> Node
82-
fromDocumentFragment = unsafeCoerce
83-
84-
fromDocumentType :: DocumentType -> Node
85-
fromDocumentType = unsafeCoerce
55+
toEventTarget :: Node -> EventTarget
56+
toEventTarget = unsafeCoerce
8657

8758
-- | The type of a node.
8859
nodeType :: Partial => Node -> NodeType

src/Web/DOM/NonDocumentTypeChildNode.purs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
module Web.DOM.NonDocumentTypeChildNode
22
( NonDocumentTypeChildNode
3-
, fromElement
4-
, fromCharacterData
53
, previousElementSibling
64
, nextElementSibling
75
) where
@@ -11,18 +9,10 @@ import Prelude
119
import Data.Maybe (Maybe)
1210
import Data.Nullable (Nullable, toMaybe)
1311
import Effect (Effect)
14-
import Unsafe.Coerce (unsafeCoerce)
15-
import Web.DOM.CharacterData (CharacterData)
16-
import Web.DOM.Element (Element)
12+
import Web.DOM.Internal.Types (Element)
1713

1814
foreign import data NonDocumentTypeChildNode :: Type
1915

20-
fromElement :: Element -> NonDocumentTypeChildNode
21-
fromElement = unsafeCoerce
22-
23-
fromCharacterData :: CharacterData -> NonDocumentTypeChildNode
24-
fromCharacterData = unsafeCoerce
25-
2616
-- | The previous sibling that is an element, or Nothing if no such element exists.
2717
previousElementSibling :: NonDocumentTypeChildNode -> Effect (Maybe Element)
2818
previousElementSibling = map toMaybe <<< _previousElementSibling

0 commit comments

Comments
 (0)