ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/FileReader.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from FileAPI (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.FileReader
(js_newFileReader, js_abort, js_readAsArrayBuffer, js_readAsBinaryString, js_readAsDataURL, js_readAsText, js_getReadyState, js_getResult, js_getError, newFileReader, abort, readAsArrayBuffer, readAsBinaryString, readAsDataURL, readAsText, getReadyState, getResult, getResultUnsafe, getResultUnchecked, getError, getErrorUnsafe, getErrorUnchecked, pattern EMPTY, pattern LOADING, pattern DONE, loadStart, progress, load, abortEvent, error, loadEnd, FileReader(..), gTypeFileReader)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(() => { return new globalThis[\"FileReader\"](); })"
js_newFileReader :: IO FileReader
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/FileReader MDN FileReader. documentation>
newFileReader :: (MonadDOM m) => m FileReader
newFileReader = liftDOM ((js_newFileReader))
foreign import javascript safe "(($1) => { return $1[\"abort\"](); })"
js_abort :: FileReader -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/abort MDN FileReader.abort documentation>
abort :: (MonadDOM m) => FileReader -> m ()
abort self = liftDOM (void ((js_abort (self))))
foreign import javascript safe "(($1, $2) => { return $1[\"readAsArrayBuffer\"]($2); })"
js_readAsArrayBuffer :: FileReader -> Blob -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/readAsArrayBuffer MDN FileReader.readAsArrayBuffer documentation>
readAsArrayBuffer :: (MonadDOM m, IsBlob blob) => FileReader -> blob -> m ()
readAsArrayBuffer self blob = liftDOM (void ((js_readAsArrayBuffer (self) (Types.toBlob blob))))
foreign import javascript safe "(($1, $2) => { return $1[\"readAsBinaryString\"]($2); })"
js_readAsBinaryString :: FileReader -> Blob -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/readAsBinaryString MDN FileReader.readAsBinaryString documentation>
readAsBinaryString :: (MonadDOM m, IsBlob blob) => FileReader -> blob -> m ()
readAsBinaryString self blob = liftDOM (void ((js_readAsBinaryString (self) (Types.toBlob blob))))
foreign import javascript safe "(($1, $2) => { return $1[\"readAsDataURL\"]($2); })"
js_readAsDataURL :: FileReader -> Blob -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/readAsDataURL MDN FileReader.readAsDataURL documentation>
readAsDataURL :: (MonadDOM m, IsBlob blob) => FileReader -> blob -> m ()
readAsDataURL self blob = liftDOM (void ((js_readAsDataURL (self) (Types.toBlob blob))))
foreign import javascript safe "(($1, $2, $3) => { return $1[\"readAsText\"]($2, $3); })"
js_readAsText :: FileReader -> Blob -> (Optional JSString) -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/readAsText MDN FileReader.readAsText documentation>
readAsText :: (MonadDOM m, IsBlob blob, ToJSString encoding) => FileReader -> blob -> Maybe encoding -> m ()
readAsText self blob encoding = liftDOM (void ((js_readAsText (self) (Types.toBlob blob) (toOptionalJSString encoding))))
foreign import javascript unsafe "(($1) => { return $1[\"readyState\"]; })"
js_getReadyState :: FileReader -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/readyState MDN FileReader.readyState documentation>
getReadyState :: (MonadDOM m) => FileReader -> m Word
getReadyState self = liftDOM ((js_getReadyState (self)))
foreign import javascript unsafe "(($1) => { return $1[\"result\"]; })"
js_getResult :: FileReader -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/result MDN FileReader.result documentation>
getResult :: (MonadDOM m) => FileReader -> m (Maybe StringOrArrayBuffer)
getResult self = liftDOM (((js_getResult (self)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/result MDN FileReader.result documentation>
getResultUnsafe :: (MonadDOM m, HasCallStack) => FileReader -> m StringOrArrayBuffer
getResultUnsafe self = liftDOM ((((js_getResult (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/result MDN FileReader.result documentation>
getResultUnchecked :: (MonadDOM m) => FileReader -> m StringOrArrayBuffer
getResultUnchecked self = liftDOM ((pFromJSVal <$> (js_getResult (self))))
foreign import javascript unsafe "(($1) => { return $1[\"error\"]; })"
js_getError :: FileReader -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/error MDN FileReader.error documentation>
getError :: (MonadDOM m) => FileReader -> m (Maybe DOMException)
getError self = liftDOM (((js_getError (self)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/error MDN FileReader.error documentation>
getErrorUnsafe :: (MonadDOM m, HasCallStack) => FileReader -> m DOMException
getErrorUnsafe self = liftDOM ((((js_getError (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/FileReader/error MDN FileReader.error documentation>
getErrorUnchecked :: (MonadDOM m) => FileReader -> m DOMException
getErrorUnchecked self = liftDOM ((pFromJSVal <$> (js_getError (self))))
pattern EMPTY = 0
pattern LOADING = 1
pattern DONE = 2
-- | <https://w3c.github.io/FileAPI/#dfn-onloadstart loadstart event>
loadStart :: EventName FileReader ProgressEvent
loadStart = unsafeEventNameAsync (toJSString "loadstart")
-- | <https://w3c.github.io/FileAPI/#dfn-onprogress progress event>
progress :: EventName FileReader ProgressEvent
progress = unsafeEventNameAsync (toJSString "progress")
-- | <https://w3c.github.io/FileAPI/#dfn-onload load event>
load :: EventName FileReader ProgressEvent
load = unsafeEventNameAsync (toJSString "load")
-- | <https://w3c.github.io/FileAPI/#dfn-onabort abort event>
abortEvent :: EventName FileReader ProgressEvent
abortEvent = unsafeEventNameAsync (toJSString "abort")
-- | <https://w3c.github.io/FileAPI/#dfn-onerror error event>
error :: EventName FileReader ProgressEvent
error = unsafeEventNameAsync (toJSString "error")
-- | <https://w3c.github.io/FileAPI/#dfn-onloadend loadend event>
loadEnd :: EventName FileReader ProgressEvent
loadEnd = unsafeEventNameAsync (toJSString "loadend")