@@ -39,16 +39,21 @@ module Web.DOM.Document
39
39
40
40
import Prelude
41
41
42
- import Data.Maybe (Maybe )
42
+ import Data.Maybe (Maybe , fromMaybe )
43
43
import Data.Nullable (Nullable , toMaybe , toNullable )
44
44
import Effect (Effect )
45
45
import Unsafe.Coerce (unsafeCoerce )
46
+ import Web.DOM.ClassName (ClassName )
46
47
import Web.DOM.Comment (Comment )
48
+ import Web.DOM.Document.CompatMode (CompatMode )
49
+ import Web.DOM.Document.CompatMode as CompatMode
47
50
import Web.DOM.DocumentFragment (DocumentFragment )
48
51
import Web.DOM.DocumentType (DocumentType )
49
52
import Web.DOM.Element (Element )
53
+ import Web.DOM.ElementName (ElementName )
50
54
import Web.DOM.HTMLCollection (HTMLCollection )
51
55
import Web.DOM.Internal.Types (Node )
56
+ import Web.DOM.NamespaceURI (NamespaceURI )
52
57
import Web.DOM.NonElementParentNode (NonElementParentNode )
53
58
import Web.DOM.ParentNode (ParentNode )
54
59
import Web.DOM.ProcessingInstruction (ProcessingInstruction )
@@ -85,7 +90,12 @@ toEventTarget = unsafeCoerce
85
90
foreign import url :: Document -> Effect String
86
91
foreign import documentURI :: Document -> Effect String
87
92
foreign import origin :: Document -> Effect String
88
- foreign import compatMode :: Document -> Effect String
93
+
94
+ foreign import _compatMode :: Document -> Effect String
95
+
96
+ compatMode :: Document -> Effect CompatMode
97
+ compatMode doc = fromMaybe CompatMode.CSS1Compat <<< CompatMode .parse <$> _compatMode doc
98
+
89
99
foreign import characterSet :: Document -> Effect String
90
100
foreign import contentType :: Document -> Effect String
91
101
@@ -99,20 +109,20 @@ documentElement = map toMaybe <<< _documentElement
99
109
100
110
foreign import _documentElement :: Document -> Effect (Nullable Element )
101
111
102
- foreign import getElementsByTagName :: String -> Document -> Effect HTMLCollection
112
+ foreign import getElementsByTagName :: ElementName -> Document -> Effect HTMLCollection
103
113
104
- getElementsByTagNameNS :: Maybe String -> String -> Document -> Effect HTMLCollection
114
+ getElementsByTagNameNS :: Maybe NamespaceURI -> ElementName -> Document -> Effect HTMLCollection
105
115
getElementsByTagNameNS = _getElementsByTagNameNS <<< toNullable
106
116
107
- foreign import _getElementsByTagNameNS :: Nullable String -> String -> Document -> Effect HTMLCollection
108
- foreign import getElementsByClassName :: String -> Document -> Effect HTMLCollection
117
+ foreign import _getElementsByTagNameNS :: Nullable NamespaceURI -> ElementName -> Document -> Effect HTMLCollection
118
+ foreign import getElementsByClassName :: ClassName -> Document -> Effect HTMLCollection
109
119
110
- foreign import createElement :: String -> Document -> Effect Element
120
+ foreign import createElement :: ElementName -> Document -> Effect Element
111
121
112
- createElementNS :: Maybe String -> String -> Document -> Effect Element
122
+ createElementNS :: Maybe NamespaceURI -> ElementName -> Document -> Effect Element
113
123
createElementNS = _createElementNS <<< toNullable
114
124
115
- foreign import _createElementNS :: Nullable String -> String -> Document -> Effect Element
125
+ foreign import _createElementNS :: Nullable NamespaceURI -> ElementName -> Document -> Effect Element
116
126
foreign import createDocumentFragment :: Document -> Effect DocumentFragment
117
127
foreign import createTextNode :: String -> Document -> Effect Text
118
128
foreign import createComment :: String -> Document -> Effect Comment
0 commit comments