module GHCJS.DOM.JSFFI.Generated.FileReader
(js_newFileReader, newFileReader, js_readAsArrayBuffer,
readAsArrayBuffer, js_readAsBinaryString, readAsBinaryString,
js_readAsText, readAsText, js_readAsDataURL, readAsDataURL,
js_abort, abort, pattern EMPTY, pattern LOADING, pattern DONE,
js_getReadyState, getReadyState, js_getResult, getResult,
js_getError, getError, getErrorUnsafe, getErrorUnchecked,
loadStart, progress, load, abortEvent, error, loadEnd,
FileReader(..), gTypeFileReader)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord)
import qualified Prelude (error)
import Data.Typeable (Typeable)
import GHCJS.Types (JSVal(..), JSString)
import GHCJS.Foreign (jsNull)
import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..))
import GHCJS.Marshal (ToJSVal(..), FromJSVal(..))
import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import Data.Maybe (fromJust)
import GHCJS.DOM.Types
import Control.Applicative ((<$>))
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript unsafe "new window[\"FileReader\"]()"
js_newFileReader :: IO FileReader
newFileReader :: (MonadIO m) => m FileReader
newFileReader = liftIO (js_newFileReader)
foreign import javascript unsafe "$1[\"readAsArrayBuffer\"]($2)"
js_readAsArrayBuffer :: FileReader -> Nullable Blob -> IO ()
readAsArrayBuffer ::
(MonadIO m, IsBlob blob) => FileReader -> Maybe blob -> m ()
readAsArrayBuffer self blob
= liftIO
(js_readAsArrayBuffer (self) (maybeToNullable (fmap toBlob blob)))
foreign import javascript unsafe "$1[\"readAsBinaryString\"]($2)"
js_readAsBinaryString :: FileReader -> Nullable Blob -> IO ()
readAsBinaryString ::
(MonadIO m, IsBlob blob) => FileReader -> Maybe blob -> m ()
readAsBinaryString self blob
= liftIO
(js_readAsBinaryString (self) (maybeToNullable (fmap toBlob blob)))
foreign import javascript unsafe "$1[\"readAsText\"]($2, $3)"
js_readAsText :: FileReader -> Nullable Blob -> JSString -> IO ()
readAsText ::
(MonadIO m, IsBlob blob, ToJSString encoding) =>
FileReader -> Maybe blob -> encoding -> m ()
readAsText self blob encoding
= liftIO
(js_readAsText (self) (maybeToNullable (fmap toBlob blob))
(toJSString encoding))
foreign import javascript unsafe "$1[\"readAsDataURL\"]($2)"
js_readAsDataURL :: FileReader -> Nullable Blob -> IO ()
readAsDataURL ::
(MonadIO m, IsBlob blob) => FileReader -> Maybe blob -> m ()
readAsDataURL self blob
= liftIO
(js_readAsDataURL (self) (maybeToNullable (fmap toBlob blob)))
foreign import javascript unsafe "$1[\"abort\"]()" js_abort ::
FileReader -> IO ()
abort :: (MonadIO m) => FileReader -> m ()
abort self = liftIO (js_abort (self))
pattern EMPTY = 0
pattern LOADING = 1
pattern DONE = 2
foreign import javascript unsafe "$1[\"readyState\"]"
js_getReadyState :: FileReader -> IO Word
getReadyState :: (MonadIO m) => FileReader -> m Word
getReadyState self = liftIO (js_getReadyState (self))
foreign import javascript unsafe "$1[\"result\"]" js_getResult ::
FileReader -> IO JSVal
getResult :: (MonadIO m) => FileReader -> m JSVal
getResult self = liftIO (js_getResult (self))
foreign import javascript unsafe "$1[\"error\"]" js_getError ::
FileReader -> IO (Nullable FileError)
getError :: (MonadIO m) => FileReader -> m (Maybe FileError)
getError self = liftIO (nullableToMaybe <$> (js_getError (self)))
getErrorUnsafe ::
(MonadIO m, HasCallStack) => FileReader -> m FileError
getErrorUnsafe self
= liftIO
((nullableToMaybe <$> (js_getError (self))) >>=
maybe (Prelude.error "Nothing to return") return)
getErrorUnchecked :: (MonadIO m) => FileReader -> m FileError
getErrorUnchecked self
= liftIO (fromJust . nullableToMaybe <$> (js_getError (self)))
loadStart :: EventName FileReader ProgressEvent
loadStart = unsafeEventName (toJSString "loadstart")
progress :: EventName FileReader ProgressEvent
progress = unsafeEventName (toJSString "progress")
load :: EventName FileReader UIEvent
load = unsafeEventName (toJSString "load")
abortEvent :: EventName FileReader UIEvent
abortEvent = unsafeEventName (toJSString "abort")
error :: EventName FileReader UIEvent
error = unsafeEventName (toJSString "error")
loadEnd :: EventName FileReader ProgressEvent
loadEnd = unsafeEventName (toJSString "loadend")