packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Report.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.Report
       (newReport, setType, getType, getTypeUnsafe, getTypeUnchecked, setUrl, getUrl, getUrlUnsafe, getUrlUnchecked, setBody, getBody, getBodyUnsafe, getBodyUnchecked, Report(..), gTypeReport)
       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/#dom-report Report specification>
newReport :: (MonadDOM m) => m Report
newReport = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-report-type Report.type specification>
setType :: (MonadDOM m, ToJSString val) => Report -> val -> m ()
setType self val = liftDOM (void (self ^. jss "type" (toJSVal val)))

-- | <https://w3c.github.io/reporting/#dom-report-type Report.type specification>
getType :: (MonadDOM m, FromJSString result) => Report -> m (Maybe result)
getType self = liftDOM (((self ^. js "type") >>= fromMaybeJSString))

-- | <https://w3c.github.io/reporting/#dom-report-type Report.type specification>
getTypeUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => Report -> m result
getTypeUnsafe self = liftDOM ((((self ^. js "type") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/reporting/#dom-report-type Report.type specification>
getTypeUnchecked :: (MonadDOM m, FromJSString result) => Report -> m result
getTypeUnchecked self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-report-url Report.url specification>
setUrl :: (MonadDOM m, ToJSString val) => Report -> val -> m ()
setUrl self val = liftDOM (void (self ^. jss "url" (toJSVal val)))

-- | <https://w3c.github.io/reporting/#dom-report-url Report.url specification>
getUrl :: (MonadDOM m, FromJSString result) => Report -> m (Maybe result)
getUrl self = liftDOM (((self ^. js "url") >>= fromMaybeJSString))

-- | <https://w3c.github.io/reporting/#dom-report-url Report.url specification>
getUrlUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => Report -> m result
getUrlUnsafe self = liftDOM ((((self ^. js "url") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/reporting/#dom-report-url Report.url specification>
getUrlUnchecked :: (MonadDOM m, FromJSString result) => Report -> m result
getUrlUnchecked self = liftDOM (((self ^. js "url") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-report-body Report.body specification>
setBody :: (MonadDOM m) => Report -> Maybe ReportBody -> m ()
setBody self val = liftDOM (void (self ^. jss "body" (toJSVal val)))

-- | <https://w3c.github.io/reporting/#dom-report-body Report.body specification>
getBody :: (MonadDOM m) => Report -> m (Maybe ReportBody)
getBody self = liftDOM (((self ^. js "body") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/reporting/#dom-report-body Report.body specification>
getBodyUnsafe :: (MonadDOM m, HasCallStack) => Report -> m ReportBody
getBodyUnsafe self = liftDOM ((((self ^. js "body") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/reporting/#dom-report-body Report.body specification>
getBodyUnchecked :: (MonadDOM m) => Report -> m ReportBody
getBodyUnchecked self = liftDOM (((self ^. js "body") >>= fromJSValUnchecked))