packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from streams (webref). Do not edit.
module JSDOM.Generated.ReadableStreamReadResult
       (newReadableStreamReadResult, setValue, getValue, setDone, getDone, getDoneUnsafe, getDoneUnchecked, ReadableStreamReadResult(..), gTypeReadableStreamReadResult)
       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://streams.spec.whatwg.org/#dictdef-readablestreamreadresult ReadableStreamReadResult specification>
newReadableStreamReadResult :: (MonadDOM m) => m ReadableStreamReadResult
newReadableStreamReadResult = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://streams.spec.whatwg.org/#dom-readablestreamreadresult-value ReadableStreamReadResult.value specification>
setValue :: (MonadDOM m) => ReadableStreamReadResult -> JSVal -> m ()
setValue self val = liftDOM (void (self ^. jss "value" (toJSVal val)))

-- | <https://streams.spec.whatwg.org/#dom-readablestreamreadresult-value ReadableStreamReadResult.value specification>
getValue :: (MonadDOM m) => ReadableStreamReadResult -> m JSVal
getValue self = liftDOM (self ^. js "value")

-- | <https://streams.spec.whatwg.org/#dom-readablestreamreadresult-done ReadableStreamReadResult.done specification>
setDone :: (MonadDOM m) => ReadableStreamReadResult -> Bool -> m ()
setDone self val = liftDOM (void (self ^. jss "done" (toJSVal val)))

-- | <https://streams.spec.whatwg.org/#dom-readablestreamreadresult-done ReadableStreamReadResult.done specification>
getDone :: (MonadDOM m) => ReadableStreamReadResult -> m (Maybe Bool)
getDone self = liftDOM (((self ^. js "done") >>= fromJSValUnchecked))

-- | <https://streams.spec.whatwg.org/#dom-readablestreamreadresult-done ReadableStreamReadResult.done specification>
getDoneUnsafe :: (MonadDOM m, HasCallStack) => ReadableStreamReadResult -> m Bool
getDoneUnsafe self = liftDOM ((((self ^. js "done") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://streams.spec.whatwg.org/#dom-readablestreamreadresult-done ReadableStreamReadResult.done specification>
getDoneUnchecked :: (MonadDOM m) => ReadableStreamReadResult -> m Bool
getDoneUnchecked self = liftDOM (((self ^. js "done") >>= valToBool))