@@ -38,10 +38,9 @@ module Web.HTML.Window
3838 ) where
3939
4040import Data.Maybe (Maybe )
41- import Data.Newtype (class Newtype , unwrap )
4241import Data.Nullable (Nullable , toMaybe )
4342import Effect (Effect )
44- import Prelude (class Eq , class Ord , Unit , (<$>), (<<<), map )
43+ import Prelude (class Eq , class Ord , Unit , (<$>))
4544import Unsafe.Coerce (unsafeCoerce )
4645import Web.Event.EventTarget (EventTarget )
4746import Web.HTML.HTMLDocument (HTMLDocument )
@@ -121,37 +120,23 @@ foreign import sessionStorage :: Window -> Effect Storage
121120
122121newtype RequestAnimationFrameId = RequestAnimationFrameId Int
123122
124- derive instance newtypeRequestAnimationFrameId :: Newtype RequestAnimationFrameId _
125123derive instance eqRequestAnimationFrameId :: Eq RequestAnimationFrameId
126124derive instance ordRequestAnimationFrameId :: Ord RequestAnimationFrameId
127125
128- foreign import _requestAnimationFrame :: Effect Unit -> Window -> Effect Int
126+ foreign import requestAnimationFrame :: Effect Unit -> Window -> Effect RequestAnimationFrameId
129127
130- requestAnimationFrame :: Effect Unit -> Window -> Effect RequestAnimationFrameId
131- requestAnimationFrame fn = map RequestAnimationFrameId <<< _requestAnimationFrame fn
132-
133- foreign import _cancelAnimationFrame :: Int -> Window -> Effect Unit
134-
135- cancelAnimationFrame :: RequestAnimationFrameId -> Window -> Effect Unit
136- cancelAnimationFrame idAF = _cancelAnimationFrame (unwrap idAF)
128+ foreign import cancelAnimationFrame :: RequestAnimationFrameId -> Window -> Effect Unit
137129
138130newtype RequestIdleCallbackId = RequestIdleCallbackId Int
139131
140- derive instance newtypeRequestIdleCallbackId :: Newtype RequestIdleCallbackId _
141132derive instance eqRequestIdleCallbackId :: Eq RequestIdleCallbackId
142133derive instance ordRequestIdleCallbackId :: Ord RequestIdleCallbackId
143134
144- foreign import _requestIdleCallback :: { timeout :: Int } -> Effect Unit -> Window -> Effect Int
145-
146135-- | Set timeout to `0` to get the same behaviour as when it is `undefined` in
147136-- | [JavaScript](https://w3c.github.io/requestidlecallback/#h-the-requestidle-callback-method).
148- requestIdleCallback :: { timeout :: Int } -> Effect Unit -> Window -> Effect RequestIdleCallbackId
149- requestIdleCallback opts fn = map RequestIdleCallbackId <<< _requestIdleCallback opts fn
150-
151- foreign import _cancelIdleCallback :: Int -> Window -> Effect Unit
137+ foreign import requestIdleCallback :: { timeout :: Int } -> Effect Unit -> Window -> Effect RequestIdleCallbackId
152138
153- cancelIdleCallback :: RequestIdleCallbackId -> Window -> Effect Unit
154- cancelIdleCallback idAF = _cancelIdleCallback (unwrap idAF)
139+ foreign import cancelIdleCallback :: RequestIdleCallbackId -> Window -> Effect Unit
155140
156141foreign import parent :: Window -> Effect Window
157142
0 commit comments