module Foreign.JavaScript.Internal.Utils
  ( synchronously
  , freeRequestAnimationFrameCallback
  , js_dataView
  ) where

import GHCJS.DOM.Types (Callback (..), JSM, JSVal, RequestAnimationFrameCallback (..))
import Language.Javascript.JSaddle.Object (freeFunction, jsg, new)

synchronously :: JSM a -> JSM a
synchronously :: JSM a -> JSM a
synchronously = JSM a -> JSM a
forall a. a -> a
id

freeRequestAnimationFrameCallback :: RequestAnimationFrameCallback -> JSM ()
freeRequestAnimationFrameCallback :: RequestAnimationFrameCallback -> JSM ()
freeRequestAnimationFrameCallback (RequestAnimationFrameCallback (Callback cb :: Function
cb)) = Function -> JSM ()
freeFunction Function
cb

js_dataView :: Int -> Int -> JSVal -> JSM JSVal
js_dataView :: Int -> Int -> JSVal -> JSM JSVal
js_dataView off :: Int
off len :: Int
len ref :: JSVal
ref = JSM JSVal -> (JSVal, Int, Int) -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new ([Char] -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg "DataView") (JSVal
ref, Int
off, Int
len)