packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Blob.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.Blob
       (newBlob, arrayBuffer, arrayBuffer_, bytes, bytes_, slice, slice_, stream, stream_, text, text_, getSize, getType, Blob(..), gTypeBlob, IsBlob, toBlob)
       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/Blob/Blob MDN Blob. documentation>
newBlob :: (MonadDOM m, IsBlobPart blobParts, IsBlobPropertyBag options) => Maybe [blobParts] -> Maybe options -> m Blob
newBlob blobParts options = liftDOM (((new (jsg "Blob") [P.maybe (P.return jsUndefined) toJSVal blobParts, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/arrayBuffer MDN Blob.arrayBuffer documentation>
arrayBuffer :: (MonadDOM m, IsBlob self) => self -> m ArrayBuffer
arrayBuffer self = liftDOM ((((((Types.toBlob self) ^. jsf "arrayBuffer" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/arrayBuffer MDN Blob.arrayBuffer documentation>
arrayBuffer_ :: (MonadDOM m, IsBlob self) => self -> m ()
arrayBuffer_ self = liftDOM (void ((((Types.toBlob self) ^. jsf "arrayBuffer" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/bytes MDN Blob.bytes documentation>
bytes :: (MonadDOM m, IsBlob self) => self -> m Uint8Array
bytes self = liftDOM ((((((Types.toBlob self) ^. jsf "bytes" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/bytes MDN Blob.bytes documentation>
bytes_ :: (MonadDOM m, IsBlob self) => self -> m ()
bytes_ self = liftDOM (void ((((Types.toBlob self) ^. jsf "bytes" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/slice MDN Blob.slice documentation>
slice :: (MonadDOM m, IsBlob self, ToJSString contentType) => self -> Maybe Int53 -> Maybe Int53 -> Maybe contentType -> m Blob
slice self start end contentType = liftDOM ((((Types.toBlob self) ^. jsf "slice" [P.maybe (P.return jsUndefined) toJSVal start, P.maybe (P.return jsUndefined) toJSVal end, P.maybe (P.return jsUndefined) toJSVal contentType]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/slice MDN Blob.slice documentation>
slice_ :: (MonadDOM m, IsBlob self, ToJSString contentType) => self -> Maybe Int53 -> Maybe Int53 -> Maybe contentType -> m ()
slice_ self start end contentType = liftDOM (void ((Types.toBlob self) ^. jsf "slice" [P.maybe (P.return jsUndefined) toJSVal start, P.maybe (P.return jsUndefined) toJSVal end, P.maybe (P.return jsUndefined) toJSVal contentType]))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/stream MDN Blob.stream documentation>
stream :: (MonadDOM m, IsBlob self) => self -> m ReadableStream
stream self = liftDOM ((((Types.toBlob self) ^. jsf "stream" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/stream MDN Blob.stream documentation>
stream_ :: (MonadDOM m, IsBlob self) => self -> m ()
stream_ self = liftDOM (void ((Types.toBlob self) ^. jsf "stream" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/text MDN Blob.text documentation>
text :: (MonadDOM m, IsBlob self, FromJSString result) => self -> m result
text self = liftDOM ((((((Types.toBlob self) ^. jsf "text" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/text MDN Blob.text documentation>
text_ :: (MonadDOM m, IsBlob self) => self -> m ()
text_ self = liftDOM (void ((((Types.toBlob self) ^. jsf "text" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/size MDN Blob.size documentation>
getSize :: (MonadDOM m, IsBlob self) => self -> m Word53
getSize self = liftDOM ((((Types.toBlob self) ^. js "size") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Blob/type MDN Blob.type documentation>
getType :: (MonadDOM m, IsBlob self, FromJSString result) => self -> m result
getType self = liftDOM ((((Types.toBlob self) ^. js "type") >>= fromJSValUnchecked))