packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/FileReader.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from FileAPI (webref). Do not edit.
module JSDOM.Generated.FileReader
       (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 Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <https://developer.mozilla.org/docs/Web/API/FileReader/FileReader MDN FileReader. documentation>
newFileReader :: (MonadDOM m) => m FileReader
newFileReader = liftDOM (((new (jsg "FileReader") ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/FileReader/abort MDN FileReader.abort documentation>
abort :: (MonadDOM m) => FileReader -> m ()
abort self = liftDOM (void (self ^. jsf "abort" ()))

-- | <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 (self ^. jsf "readAsArrayBuffer" [toJSVal blob]))

-- | <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 (self ^. jsf "readAsBinaryString" [toJSVal blob]))

-- | <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 (self ^. jsf "readAsDataURL" [toJSVal blob]))

-- | <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 (self ^. jsf "readAsText" [toJSVal blob, P.maybe (P.return jsUndefined) toJSVal encoding]))

-- | <https://developer.mozilla.org/docs/Web/API/FileReader/readyState MDN FileReader.readyState documentation>
getReadyState :: (MonadDOM m) => FileReader -> m Word
getReadyState self = liftDOM ((P.round <$> ((self ^. js "readyState") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/FileReader/result MDN FileReader.result documentation>
getResult :: (MonadDOM m) => FileReader -> m (Maybe StringOrArrayBuffer)
getResult self = liftDOM (((self ^. js "result") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/FileReader/result MDN FileReader.result documentation>
getResultUnsafe :: (MonadDOM m, HasCallStack) => FileReader -> m StringOrArrayBuffer
getResultUnsafe self = liftDOM ((((self ^. js "result") >>= 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 (((self ^. js "result") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/FileReader/error MDN FileReader.error documentation>
getError :: (MonadDOM m) => FileReader -> m (Maybe DOMException)
getError self = liftDOM (((self ^. js "error") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/FileReader/error MDN FileReader.error documentation>
getErrorUnsafe :: (MonadDOM m, HasCallStack) => FileReader -> m DOMException
getErrorUnsafe self = liftDOM ((((self ^. js "error") >>= 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 (((self ^. js "error") >>= fromJSValUnchecked))

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")