diff --git a/.tidyrc.json b/.tidyrc.json new file mode 100644 index 0000000..9e39cf1 --- /dev/null +++ b/.tidyrc.json @@ -0,0 +1,10 @@ +{ + "importSort": "ide", + "importWrap": "source", + "indent": 2, + "operatorsFile": null, + "ribbon": 1, + "typeArrowPlacement": "first", + "unicode": "never", + "width": null +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 79840c4..86c587e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,13 @@ Breaking changes: New features: - Added `close` function for `Window` (#78 by @jmp-0x7C0) +- Added `visibilityState` for `HTMLDocument` (#79 by @garyb) Bugfixes: Other improvements: +- Added `purs-tidy` config and format checking (#79 by @garyb) +- `HTMLDocument`'s FFI is now implemented in terms of `EffectFn` (#79 by @garyb) ## [v4.0.0](https://github.com/purescript-web/purescript-web-html/releases/tag/v4.0.0) - 2022-04-27 diff --git a/package.json b/package.json index 4ea39f9..870f0cb 100644 --- a/package.json +++ b/package.json @@ -2,12 +2,13 @@ "private": true, "scripts": { "clean": "rimraf output && rimraf .pulp-cache", - "build": "eslint src && pulp build -- --censor-lib --strict" + "build": "eslint src && purs-tidy check --config-require src && pulp build -- --censor-lib --strict" }, "devDependencies": { "eslint": "^7.15.0", "pulp": "16.0.0-0", "purescript-psa": "^0.8.2", + "purs-tidy": "^0.9.2", "rimraf": "^3.0.2" } } diff --git a/src/Web/HTML.purs b/src/Web/HTML.purs index ae31a1f..1907b1e 100644 --- a/src/Web/HTML.purs +++ b/src/Web/HTML.purs @@ -4,44 +4,42 @@ module Web.HTML ) where import Effect (Effect) -import Web.HTML.Window (Window) -import Web.HTML.Common (PropName, AttrName, ClassName) as Exports -import Web.HTML.History (History) as Exports +import Web.HTML.Common (AttrName, ClassName, PropName) as Exports import Web.HTML.HTMLAnchorElement (HTMLAnchorElement) as Exports import Web.HTML.HTMLAreaElement (HTMLAreaElement) as Exports import Web.HTML.HTMLAudioElement (HTMLAudioElement) as Exports +import Web.HTML.HTMLBRElement (HTMLBRElement) as Exports import Web.HTML.HTMLBaseElement (HTMLBaseElement) as Exports import Web.HTML.HTMLBodyElement (HTMLBodyElement) as Exports -import Web.HTML.HTMLBRElement (HTMLBRElement) as Exports import Web.HTML.HTMLButtonElement (HTMLButtonElement) as Exports import Web.HTML.HTMLCanvasElement (HTMLCanvasElement) as Exports +import Web.HTML.HTMLDListElement (HTMLDListElement) as Exports import Web.HTML.HTMLDataElement (HTMLDataElement) as Exports import Web.HTML.HTMLDataListElement (HTMLDataListElement) as Exports import Web.HTML.HTMLDivElement (HTMLDivElement) as Exports -import Web.HTML.HTMLDListElement (HTMLDListElement) as Exports import Web.HTML.HTMLDocument (HTMLDocument) as Exports import Web.HTML.HTMLElement (HTMLElement) as Exports import Web.HTML.HTMLEmbedElement (HTMLEmbedElement) as Exports import Web.HTML.HTMLFieldSetElement (HTMLFieldSetElement) as Exports import Web.HTML.HTMLFormElement (HTMLFormElement) as Exports +import Web.HTML.HTMLHRElement (HTMLHRElement) as Exports import Web.HTML.HTMLHeadElement (HTMLHeadElement) as Exports import Web.HTML.HTMLHeadingElement (HTMLHeadingElement) as Exports -import Web.HTML.HTMLHRElement (HTMLHRElement) as Exports import Web.HTML.HTMLIFrameElement (HTMLIFrameElement) as Exports import Web.HTML.HTMLImageElement (HTMLImageElement) as Exports import Web.HTML.HTMLInputElement (HTMLInputElement) as Exports import Web.HTML.HTMLKeygenElement (HTMLKeygenElement) as Exports +import Web.HTML.HTMLLIElement (HTMLLIElement) as Exports import Web.HTML.HTMLLabelElement (HTMLLabelElement) as Exports import Web.HTML.HTMLLegendElement (HTMLLegendElement) as Exports -import Web.HTML.HTMLLIElement (HTMLLIElement) as Exports import Web.HTML.HTMLLinkElement (HTMLLinkElement) as Exports import Web.HTML.HTMLMapElement (HTMLMapElement) as Exports import Web.HTML.HTMLMediaElement (HTMLMediaElement) as Exports import Web.HTML.HTMLMetaElement (HTMLMetaElement) as Exports import Web.HTML.HTMLMeterElement (HTMLMeterElement) as Exports import Web.HTML.HTMLModElement (HTMLModElement) as Exports -import Web.HTML.HTMLObjectElement (HTMLObjectElement) as Exports import Web.HTML.HTMLOListElement (HTMLOListElement) as Exports +import Web.HTML.HTMLObjectElement (HTMLObjectElement) as Exports import Web.HTML.HTMLOptGroupElement (HTMLOptGroupElement) as Exports import Web.HTML.HTMLOptionElement (HTMLOptionElement) as Exports import Web.HTML.HTMLOutputElement (HTMLOutputElement) as Exports @@ -70,8 +68,10 @@ import Web.HTML.HTMLTitleElement (HTMLTitleElement) as Exports import Web.HTML.HTMLTrackElement (HTMLTrackElement) as Exports import Web.HTML.HTMLUListElement (HTMLUListElement) as Exports import Web.HTML.HTMLVideoElement (HTMLVideoElement) as Exports +import Web.HTML.History (History) as Exports import Web.HTML.Location (Location) as Exports import Web.HTML.Navigator (Navigator) as Exports +import Web.HTML.Window (Window) import Web.HTML.Window (Window) as Exports foreign import window :: Effect Window diff --git a/src/Web/HTML/Event/DataTransfer.purs b/src/Web/HTML/Event/DataTransfer.purs index 9871e25..4895daa 100644 --- a/src/Web/HTML/Event/DataTransfer.purs +++ b/src/Web/HTML/Event/DataTransfer.purs @@ -72,6 +72,7 @@ foreign import _setDragImage :: DataTransfer -> Element -> Int -> Int -> Effect -- | The x and y coordinates define where the image appears relative to the mouse. setDragImage :: DataTransfer -> Element -> Int -> Int -> Effect Unit setDragImage = _setDragImage + foreign import _dropEffect :: DataTransfer -> Effect String data DropEffect = Copy | Link | Move | None diff --git a/src/Web/HTML/HTMLAnchorElement.purs b/src/Web/HTML/HTMLAnchorElement.purs index c9adaab..6943a57 100644 --- a/src/Web/HTML/HTMLAnchorElement.purs +++ b/src/Web/HTML/HTMLAnchorElement.purs @@ -8,8 +8,8 @@ import Web.DOM (ChildNode, Element, Node, NonDocumentTypeChildNode, ParentNode) import Web.DOM.DOMTokenList (DOMTokenList) import Web.Event.EventTarget (EventTarget) import Web.HTML.HTMLElement (HTMLElement) -import Web.Internal.FFI (unsafeReadProtoTagged) import Web.HTML.HTMLHyperlinkElementUtils (HTMLHyperlinkElementUtils) +import Web.Internal.FFI (unsafeReadProtoTagged) foreign import data HTMLAnchorElement :: Type diff --git a/src/Web/HTML/HTMLBaseElement.purs b/src/Web/HTML/HTMLBaseElement.purs index 310d790..2d28455 100644 --- a/src/Web/HTML/HTMLBaseElement.purs +++ b/src/Web/HTML/HTMLBaseElement.purs @@ -53,7 +53,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLBaseElement -> EventTarget toEventTarget = unsafeCoerce - foreign import href :: HTMLBaseElement -> Effect String foreign import setHref :: String -> HTMLBaseElement -> Effect Unit diff --git a/src/Web/HTML/HTMLCanvasElement.purs b/src/Web/HTML/HTMLCanvasElement.purs index b73b27f..c24dfb2 100644 --- a/src/Web/HTML/HTMLCanvasElement.purs +++ b/src/Web/HTML/HTMLCanvasElement.purs @@ -53,7 +53,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLCanvasElement -> EventTarget toEventTarget = unsafeCoerce - -- typedef (CanvasRenderingContext2D or WebGLRenderingContext) RenderingContext; foreign import width :: HTMLCanvasElement -> Effect Int diff --git a/src/Web/HTML/HTMLDataElement.purs b/src/Web/HTML/HTMLDataElement.purs index 1523709..825d61b 100644 --- a/src/Web/HTML/HTMLDataElement.purs +++ b/src/Web/HTML/HTMLDataElement.purs @@ -53,6 +53,5 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLDataElement -> EventTarget toEventTarget = unsafeCoerce - foreign import value :: HTMLDataElement -> Effect String foreign import setValue :: String -> HTMLDataElement -> Effect Unit diff --git a/src/Web/HTML/HTMLDataListElement.purs b/src/Web/HTML/HTMLDataListElement.purs index 42336aa..bbc0a50 100644 --- a/src/Web/HTML/HTMLDataListElement.purs +++ b/src/Web/HTML/HTMLDataListElement.purs @@ -53,5 +53,4 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLDataListElement -> EventTarget toEventTarget = unsafeCoerce - foreign import options :: HTMLDataListElement -> Effect HTMLCollection diff --git a/src/Web/HTML/HTMLDocument.js b/src/Web/HTML/HTMLDocument.js index d0eaaf8..7641f37 100644 --- a/src/Web/HTML/HTMLDocument.js +++ b/src/Web/HTML/HTMLDocument.js @@ -1,55 +1,39 @@ export function _documentElement(doc) { - return function () { - return doc.documentElement; - }; + return doc.documentElement; } export function _head(doc) { - return function () { - return doc.head; - }; + return doc.head; } export function _body(doc) { - return function () { - return doc.body; - }; + return doc.body; } export function _readyState(doc) { - return function () { - return doc.readyState; - }; + return doc.readyState; +} + +export function _visibilityState(doc) { + return doc.readyState; } export function _activeElement(doc) { - return function () { - return doc.activeElement; - }; + return doc.activeElement; } export function _currentScript(doc) { - return function () { - return doc.currentScript; - }; + return doc.currentScript; } -export function referrer(doc) { - return function () { - return doc.referrer; - }; +export function _referrer(doc) { + return doc.referrer; } -export function title(doc) { - return function () { - return doc.title; - }; +export function _title(doc) { + return doc.title; } -export function setTitle(title) { - return function (doc) { - return function () { - doc.title = title; - }; - }; +export function _setTitle(title, doc) { + doc.title = title; } diff --git a/src/Web/HTML/HTMLDocument.purs b/src/Web/HTML/HTMLDocument.purs index 11d2ef0..69a06c8 100644 --- a/src/Web/HTML/HTMLDocument.purs +++ b/src/Web/HTML/HTMLDocument.purs @@ -14,6 +14,7 @@ module Web.HTML.HTMLDocument , head , body , readyState + , visibilityState , activeElement , currentScript , referrer @@ -26,6 +27,7 @@ import Prelude import Data.Maybe (Maybe, fromMaybe) import Data.Nullable (Nullable, toMaybe) import Effect (Effect) +import Effect.Uncurried (EffectFn1, EffectFn2, runEffectFn1, runEffectFn2) import Unsafe.Coerce (unsafeCoerce) import Web.DOM.Document (Document) import Web.DOM.Internal.Types (Node) @@ -34,6 +36,8 @@ import Web.DOM.ParentNode (ParentNode) import Web.Event.EventTarget (EventTarget) import Web.HTML.HTMLDocument.ReadyState (ReadyState) import Web.HTML.HTMLDocument.ReadyState as ReadyState +import Web.HTML.HTMLDocument.VisibilityState (VisibilityState) +import Web.HTML.HTMLDocument.VisibilityState as VisibilityState import Web.HTML.HTMLElement (HTMLElement) import Web.HTML.HTMLHtmlElement (HTMLHtmlElement) import Web.HTML.HTMLScriptElement (HTMLScriptElement) @@ -71,37 +75,52 @@ toNonElementParentNode = unsafeCoerce toEventTarget :: HTMLDocument -> EventTarget toEventTarget = unsafeCoerce -foreign import _documentElement :: HTMLDocument -> Effect (Nullable HTMLHtmlElement) +foreign import _documentElement :: EffectFn1 HTMLDocument (Nullable HTMLHtmlElement) documentElement :: HTMLDocument -> Effect (Maybe HTMLHtmlElement) -documentElement = map toMaybe <<< _documentElement +documentElement doc = toMaybe <$> runEffectFn1 _documentElement doc -foreign import _head :: HTMLDocument -> Effect (Nullable HTMLElement) +foreign import _head :: EffectFn1 HTMLDocument (Nullable HTMLElement) head :: HTMLDocument -> Effect (Maybe HTMLElement) -head = map toMaybe <<< _head +head doc = toMaybe <$> runEffectFn1 _head doc -foreign import _body :: HTMLDocument -> Effect (Nullable HTMLElement) +foreign import _body :: EffectFn1 HTMLDocument (Nullable HTMLElement) body :: HTMLDocument -> Effect (Maybe HTMLElement) -body = map toMaybe <<< _body +body doc = toMaybe <$> runEffectFn1 _body doc -foreign import _readyState :: HTMLDocument -> Effect String +foreign import _readyState :: EffectFn1 HTMLDocument String readyState :: HTMLDocument -> Effect ReadyState -readyState = map (fromMaybe ReadyState.Loading <<< ReadyState.parse) <<< _readyState +readyState doc = (fromMaybe ReadyState.Loading <<< ReadyState.parse) <$> (runEffectFn1 _readyState doc) -foreign import _activeElement :: HTMLDocument -> Effect (Nullable HTMLElement) +foreign import _visibilityState :: EffectFn1 HTMLDocument String + +visibilityState :: HTMLDocument -> Effect VisibilityState +visibilityState doc = (fromMaybe VisibilityState.Visible <<< VisibilityState.parse) <$> (runEffectFn1 _visibilityState doc) + +foreign import _activeElement :: EffectFn1 HTMLDocument (Nullable HTMLElement) activeElement :: HTMLDocument -> Effect (Maybe HTMLElement) -activeElement = map toMaybe <<< _activeElement +activeElement doc = toMaybe <$> (runEffectFn1 _activeElement doc) -foreign import _currentScript :: HTMLDocument -> Effect (Nullable HTMLScriptElement) +foreign import _currentScript :: EffectFn1 HTMLDocument (Nullable HTMLScriptElement) currentScript :: HTMLDocument -> Effect (Maybe HTMLScriptElement) -currentScript = map toMaybe <<< _currentScript +currentScript doc = toMaybe <$> (runEffectFn1 _currentScript doc) + +foreign import _referrer :: EffectFn1 HTMLDocument String + +referrer :: HTMLDocument -> Effect String +referrer doc = runEffectFn1 _referrer doc + +foreign import _title :: EffectFn1 HTMLDocument String + +title :: HTMLDocument -> Effect String +title doc = runEffectFn1 _title doc -foreign import referrer :: HTMLDocument -> Effect String +foreign import _setTitle :: EffectFn2 String HTMLDocument Unit -foreign import title :: HTMLDocument -> Effect String -foreign import setTitle :: String -> HTMLDocument -> Effect Unit +setTitle :: String -> HTMLDocument -> Effect Unit +setTitle newTitle doc = runEffectFn2 _setTitle newTitle doc diff --git a/src/Web/HTML/HTMLDocument/ReadyState.purs b/src/Web/HTML/HTMLDocument/ReadyState.purs index b134ae8..1ca428b 100644 --- a/src/Web/HTML/HTMLDocument/ReadyState.purs +++ b/src/Web/HTML/HTMLDocument/ReadyState.purs @@ -1,6 +1,7 @@ module Web.HTML.HTMLDocument.ReadyState where import Prelude + import Data.Maybe (Maybe(..)) data ReadyState diff --git a/src/Web/HTML/HTMLDocument/VisibilityState.purs b/src/Web/HTML/HTMLDocument/VisibilityState.purs new file mode 100644 index 0000000..7b13b63 --- /dev/null +++ b/src/Web/HTML/HTMLDocument/VisibilityState.purs @@ -0,0 +1,28 @@ +module Web.HTML.HTMLDocument.VisibilityState where + +import Prelude + +import Data.Maybe (Maybe(..)) + +data VisibilityState + = Visible + | Hidden + +derive instance eqVisibilityState :: Eq VisibilityState +derive instance ordVisibilityState :: Ord VisibilityState + +instance showVisibilityState :: Show VisibilityState where + show = case _ of + Visible -> "Visible" + Hidden -> "Hidden" + +print :: VisibilityState -> String +print = case _ of + Visible -> "visible" + Hidden -> "hidden" + +parse :: String -> Maybe VisibilityState +parse = case _ of + "visible" -> Just Visible + "hidden" -> Just Hidden + _ -> Nothing diff --git a/src/Web/HTML/HTMLEmbedElement.purs b/src/Web/HTML/HTMLEmbedElement.purs index 8ca443d..d75a934 100644 --- a/src/Web/HTML/HTMLEmbedElement.purs +++ b/src/Web/HTML/HTMLEmbedElement.purs @@ -53,7 +53,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLEmbedElement -> EventTarget toEventTarget = unsafeCoerce - foreign import src :: HTMLEmbedElement -> Effect String foreign import setSrc :: String -> HTMLEmbedElement -> Effect Unit diff --git a/src/Web/HTML/HTMLImageElement.purs b/src/Web/HTML/HTMLImageElement.purs index 0ef8f78..640c219 100644 --- a/src/Web/HTML/HTMLImageElement.purs +++ b/src/Web/HTML/HTMLImageElement.purs @@ -46,9 +46,9 @@ module Web.HTML.HTMLImageElement , complete ) where +import Data.Maybe (Maybe, fromMaybe) import Data.Nullable (Nullable) import Data.Nullable as Nullable -import Data.Maybe (Maybe, fromMaybe) import Effect (Effect) import Effect.Uncurried (EffectFn1, EffectFn2, runEffectFn1, runEffectFn2) import Prelude (Unit, map, (<<<), (<=<)) diff --git a/src/Web/HTML/HTMLImageElement/CORSMode.purs b/src/Web/HTML/HTMLImageElement/CORSMode.purs index a6ae4d7..6e2b4e3 100644 --- a/src/Web/HTML/HTMLImageElement/CORSMode.purs +++ b/src/Web/HTML/HTMLImageElement/CORSMode.purs @@ -9,7 +9,7 @@ import Prelude (class Eq, class Ord, class Show) data CORSMode = Anonymous - | UseCredentials + | UseCredentials derive instance eqCORSMode :: Eq CORSMode derive instance ordCORSMode :: Ord CORSMode diff --git a/src/Web/HTML/HTMLImageElement/DecodingHint.purs b/src/Web/HTML/HTMLImageElement/DecodingHint.purs index f7f9b85..fd75dc1 100644 --- a/src/Web/HTML/HTMLImageElement/DecodingHint.purs +++ b/src/Web/HTML/HTMLImageElement/DecodingHint.purs @@ -9,7 +9,7 @@ import Prelude (class Eq, class Ord, class Show) data DecodingHint = Sync - | Async + | Async | Auto derive instance eqDecodingHint :: Eq DecodingHint diff --git a/src/Web/HTML/HTMLImageElement/Laziness.purs b/src/Web/HTML/HTMLImageElement/Laziness.purs index bb8b1a5..df768c6 100644 --- a/src/Web/HTML/HTMLImageElement/Laziness.purs +++ b/src/Web/HTML/HTMLImageElement/Laziness.purs @@ -9,7 +9,7 @@ import Prelude (class Eq, class Ord, class Show) data Laziness = Eager - | Lazy + | Lazy derive instance eqDecodingHint :: Eq Laziness derive instance ordDecodingHint :: Ord Laziness @@ -26,7 +26,6 @@ parse = case _ of "lazy" -> Just Lazy _ -> Nothing - print :: Laziness -> String print = case _ of Eager -> "eager" diff --git a/src/Web/HTML/HTMLInputElement.purs b/src/Web/HTML/HTMLInputElement.purs index 9ce7919..7b910a5 100644 --- a/src/Web/HTML/HTMLInputElement.purs +++ b/src/Web/HTML/HTMLInputElement.purs @@ -171,7 +171,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLInputElement -> EventTarget toEventTarget = unsafeCoerce - foreign import accept :: HTMLInputElement -> Effect String foreign import setAccept :: String -> HTMLInputElement -> Effect Unit diff --git a/src/Web/HTML/HTMLKeygenElement.purs b/src/Web/HTML/HTMLKeygenElement.purs index 106ef0b..e52062d 100644 --- a/src/Web/HTML/HTMLKeygenElement.purs +++ b/src/Web/HTML/HTMLKeygenElement.purs @@ -93,7 +93,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLKeygenElement -> EventTarget toEventTarget = unsafeCoerce - foreign import autofocus :: HTMLKeygenElement -> Effect Boolean foreign import setAutofocus :: Boolean -> HTMLKeygenElement -> Effect Unit diff --git a/src/Web/HTML/HTMLLIElement.purs b/src/Web/HTML/HTMLLIElement.purs index 9fedf15..b8f3fd3 100644 --- a/src/Web/HTML/HTMLLIElement.purs +++ b/src/Web/HTML/HTMLLIElement.purs @@ -53,6 +53,5 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLLIElement -> EventTarget toEventTarget = unsafeCoerce - foreign import value :: HTMLLIElement -> Effect Int foreign import setValue :: Int -> HTMLLIElement -> Effect Unit diff --git a/src/Web/HTML/HTMLLabelElement.purs b/src/Web/HTML/HTMLLabelElement.purs index 776ef4b..ad1b552 100644 --- a/src/Web/HTML/HTMLLabelElement.purs +++ b/src/Web/HTML/HTMLLabelElement.purs @@ -76,7 +76,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLLabelElement -> EventTarget toEventTarget = unsafeCoerce - form :: HTMLLabelElement -> Effect (Maybe HTMLFormElement) form = map toMaybe <<< _form diff --git a/src/Web/HTML/HTMLLegendElement.purs b/src/Web/HTML/HTMLLegendElement.purs index f926a05..86174e1 100644 --- a/src/Web/HTML/HTMLLegendElement.purs +++ b/src/Web/HTML/HTMLLegendElement.purs @@ -73,7 +73,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLLegendElement -> EventTarget toEventTarget = unsafeCoerce - form :: HTMLLegendElement -> Effect (Maybe HTMLFormElement) form = map toMaybe <<< _form diff --git a/src/Web/HTML/HTMLLinkElement.purs b/src/Web/HTML/HTMLLinkElement.purs index 0594846..f1fdecc 100644 --- a/src/Web/HTML/HTMLLinkElement.purs +++ b/src/Web/HTML/HTMLLinkElement.purs @@ -54,7 +54,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLLinkElement -> EventTarget toEventTarget = unsafeCoerce - foreign import disabled :: HTMLLinkElement -> Effect Boolean foreign import setDisabled :: Boolean -> HTMLLinkElement -> Effect Unit diff --git a/src/Web/HTML/HTMLMapElement.purs b/src/Web/HTML/HTMLMapElement.purs index c0b7b14..f4c1b9a 100644 --- a/src/Web/HTML/HTMLMapElement.purs +++ b/src/Web/HTML/HTMLMapElement.purs @@ -54,7 +54,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLMapElement -> EventTarget toEventTarget = unsafeCoerce - foreign import name :: HTMLMapElement -> Effect String foreign import setName :: String -> HTMLMapElement -> Effect Unit diff --git a/src/Web/HTML/HTMLMediaElement/NetworkState.purs b/src/Web/HTML/HTMLMediaElement/NetworkState.purs index 57def03..b4d2492 100644 --- a/src/Web/HTML/HTMLMediaElement/NetworkState.purs +++ b/src/Web/HTML/HTMLMediaElement/NetworkState.purs @@ -1,8 +1,9 @@ module Web.HTML.HTMLMediaElement.NetworkState (NetworkState(..)) where import Prelude + +import Data.Enum (class BoundedEnum, class Enum, Cardinality(..), defaultPred, defaultSucc) import Data.Maybe (Maybe(..)) -import Data.Enum (class Enum, class BoundedEnum, Cardinality(..), defaultSucc, defaultPred) data NetworkState = Empty diff --git a/src/Web/HTML/HTMLMediaElement/ReadyState.purs b/src/Web/HTML/HTMLMediaElement/ReadyState.purs index 6a41556..a6ddd76 100644 --- a/src/Web/HTML/HTMLMediaElement/ReadyState.purs +++ b/src/Web/HTML/HTMLMediaElement/ReadyState.purs @@ -1,8 +1,9 @@ module Web.HTML.HTMLMediaElement.ReadyState (ReadyState(..)) where import Prelude + +import Data.Enum (class BoundedEnum, class Enum, Cardinality(..), defaultPred, defaultSucc) import Data.Maybe (Maybe(..)) -import Data.Enum (class Enum, class BoundedEnum, Cardinality(..), defaultSucc, defaultPred) data ReadyState = HaveNothing diff --git a/src/Web/HTML/HTMLMetaElement.purs b/src/Web/HTML/HTMLMetaElement.purs index 6b145fc..c7640d8 100644 --- a/src/Web/HTML/HTMLMetaElement.purs +++ b/src/Web/HTML/HTMLMetaElement.purs @@ -53,7 +53,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLMetaElement -> EventTarget toEventTarget = unsafeCoerce - foreign import name :: HTMLMetaElement -> Effect String foreign import setName :: String -> HTMLMetaElement -> Effect Unit diff --git a/src/Web/HTML/HTMLMeterElement.purs b/src/Web/HTML/HTMLMeterElement.purs index 887b8e6..92cd80b 100644 --- a/src/Web/HTML/HTMLMeterElement.purs +++ b/src/Web/HTML/HTMLMeterElement.purs @@ -54,7 +54,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLMeterElement -> EventTarget toEventTarget = unsafeCoerce - foreign import value :: HTMLMeterElement -> Effect Number foreign import setValue :: Number -> HTMLMeterElement -> Effect Unit diff --git a/src/Web/HTML/HTMLOListElement.purs b/src/Web/HTML/HTMLOListElement.purs index c7f666d..f4b5151 100644 --- a/src/Web/HTML/HTMLOListElement.purs +++ b/src/Web/HTML/HTMLOListElement.purs @@ -53,7 +53,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLOListElement -> EventTarget toEventTarget = unsafeCoerce - foreign import reversed :: HTMLOListElement -> Effect Boolean foreign import setReversed :: Boolean -> HTMLOListElement -> Effect Unit diff --git a/src/Web/HTML/HTMLOptGroupElement.purs b/src/Web/HTML/HTMLOptGroupElement.purs index 93d94a6..d422505 100644 --- a/src/Web/HTML/HTMLOptGroupElement.purs +++ b/src/Web/HTML/HTMLOptGroupElement.purs @@ -53,7 +53,6 @@ toParentNode = unsafeCoerce toEventTarget :: HTMLOptGroupElement -> EventTarget toEventTarget = unsafeCoerce - foreign import disabled :: HTMLOptGroupElement -> Effect Boolean foreign import setDisabled :: Boolean -> HTMLOptGroupElement -> Effect Unit diff --git a/src/Web/HTML/HTMLTrackElement/ReadyState.purs b/src/Web/HTML/HTMLTrackElement/ReadyState.purs index bb6103c..d5a1e0d 100644 --- a/src/Web/HTML/HTMLTrackElement/ReadyState.purs +++ b/src/Web/HTML/HTMLTrackElement/ReadyState.purs @@ -1,8 +1,9 @@ module Web.HTML.HTMLTrackElement.ReadyState where import Prelude + +import Data.Enum (class BoundedEnum, class Enum, Cardinality(..), defaultPred, defaultSucc) import Data.Maybe (Maybe(..)) -import Data.Enum (class Enum, class BoundedEnum, Cardinality(..), defaultSucc, defaultPred) data ReadyState = None diff --git a/src/Web/HTML/History.purs b/src/Web/HTML/History.purs index a7c1ea4..468c44a 100644 --- a/src/Web/HTML/History.purs +++ b/src/Web/HTML/History.purs @@ -1,24 +1,27 @@ module Web.HTML.History where +import Data.Newtype (class Newtype) import Effect (Effect) import Foreign (Foreign) -import Data.Newtype (class Newtype) import Prelude (class Eq, class Ord, Unit) foreign import data History :: Type -- DocumentTitle will set value of `document.title` newtype DocumentTitle = DocumentTitle String + derive instance eqDocumentTitle :: Eq DocumentTitle derive instance ordDocumentTitle :: Ord DocumentTitle derive instance newtypeDocumentTitle :: Newtype DocumentTitle _ newtype Delta = Delta Int + derive instance eqDelta :: Eq Delta derive instance ordDelta :: Ord Delta derive instance newtypeDelta :: Newtype Delta _ newtype URL = URL String + derive instance eqURL :: Eq URL derive instance ordURL :: Ord URL derive instance newtypeURL :: Newtype URL _ diff --git a/src/Web/HTML/Location.purs b/src/Web/HTML/Location.purs index fa6fd33..bcfd156 100644 --- a/src/Web/HTML/Location.purs +++ b/src/Web/HTML/Location.purs @@ -25,6 +25,7 @@ module Web.HTML.Location ) where import Prelude + import Effect (Effect) foreign import data Location :: Type diff --git a/src/Web/HTML/Window.purs b/src/Web/HTML/Window.purs index 6059cc1..490ab04 100644 --- a/src/Web/HTML/Window.purs +++ b/src/Web/HTML/Window.purs @@ -49,8 +49,8 @@ import Web.HTML.HTMLDocument (HTMLDocument) import Web.HTML.History (History) import Web.HTML.Location (Location) import Web.HTML.Navigator (Navigator) -import Web.Storage.Storage (Storage) import Web.Internal.FFI (unsafeReadProtoTagged) +import Web.Storage.Storage (Storage) foreign import data Window :: Type