packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from reporting-1 (webref). Do not edit.
module JSDOM.Generated.ReportingObserverOptions
       (newReportingObserverOptions, setTypes, getTypes, getTypesUnsafe, getTypesUnchecked, setBuffered, getBuffered, getBufferedUnsafe, getBufferedUnchecked, ReportingObserverOptions(..), gTypeReportingObserverOptions)
       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://w3c.github.io/reporting/#dictdef-reportingobserveroptions ReportingObserverOptions specification>
newReportingObserverOptions :: (MonadDOM m) => m ReportingObserverOptions
newReportingObserverOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-types ReportingObserverOptions.types specification>
setTypes :: (MonadDOM m, ToJSString val) => ReportingObserverOptions -> [val] -> m ()
setTypes self val = liftDOM (void (self ^. jss "types" (toJSVal val)))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-types ReportingObserverOptions.types specification>
getTypes :: (MonadDOM m, FromJSString result) => ReportingObserverOptions -> m (Maybe [result])
getTypes self = liftDOM (((self ^. js "types") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-types ReportingObserverOptions.types specification>
getTypesUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => ReportingObserverOptions -> m [result]
getTypesUnsafe self = liftDOM ((((self ^. js "types") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-types ReportingObserverOptions.types specification>
getTypesUnchecked :: (MonadDOM m, FromJSString result) => ReportingObserverOptions -> m [result]
getTypesUnchecked self = liftDOM (((self ^. js "types") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-buffered ReportingObserverOptions.buffered specification>
setBuffered :: (MonadDOM m) => ReportingObserverOptions -> Bool -> m ()
setBuffered self val = liftDOM (void (self ^. jss "buffered" (toJSVal val)))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-buffered ReportingObserverOptions.buffered specification>
getBuffered :: (MonadDOM m) => ReportingObserverOptions -> m (Maybe Bool)
getBuffered self = liftDOM (((self ^. js "buffered") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-buffered ReportingObserverOptions.buffered specification>
getBufferedUnsafe :: (MonadDOM m, HasCallStack) => ReportingObserverOptions -> m Bool
getBufferedUnsafe self = liftDOM ((((self ^. js "buffered") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/reporting/#dom-reportingobserveroptions-buffered ReportingObserverOptions.buffered specification>
getBufferedUnchecked :: (MonadDOM m) => ReportingObserverOptions -> m Bool
getBufferedUnchecked self = liftDOM (((self ^. js "buffered") >>= valToBool))