{-# LANGUAGE PatternSynonyms, ForeignFunctionInterface, JavaScriptFFI #-} 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, loadStart, progress, load, abortEvent, error, loadEnd, FileReader, castToFileReader, gTypeFileReader) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import Data.Typeable (Typeable) import GHCJS.Types (JSRef(..), JSString) import GHCJS.Foreign (jsNull) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSRef(..), FromJSRef(..)) import GHCJS.Marshal.Pure (PToJSRef(..), PFromJSRef(..)) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.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 JSRef -- | getResult :: (MonadIO m) => FileReader -> m JSRef 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))) -- | 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")