jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ShareData.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from web-share (webref). Do not edit.
module JSDOM.Generated.ShareData
(newShareData, setFiles, getFiles, getFilesUnsafe, getFilesUnchecked, setTitle, getTitle, getTitleUnsafe, getTitleUnchecked, setText, getText, getTextUnsafe, getTextUnchecked, setUrl, getUrl, getUrlUnsafe, getUrlUnchecked, ShareData(..), gTypeShareData)
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/web-share/#dom-sharedata ShareData specification>
newShareData :: (MonadDOM m) => m ShareData
newShareData = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-share/#dom-sharedata-files ShareData.files specification>
setFiles :: (MonadDOM m) => ShareData -> [File] -> m ()
setFiles self val = liftDOM (void (self ^. jss "files" (toJSVal val)))
-- | <https://w3c.github.io/web-share/#dom-sharedata-files ShareData.files specification>
getFiles :: (MonadDOM m) => ShareData -> m (Maybe [File])
getFiles self = liftDOM (((self ^. js "files") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-share/#dom-sharedata-files ShareData.files specification>
getFilesUnsafe :: (MonadDOM m, HasCallStack) => ShareData -> m [File]
getFilesUnsafe self = liftDOM ((((self ^. js "files") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/web-share/#dom-sharedata-files ShareData.files specification>
getFilesUnchecked :: (MonadDOM m) => ShareData -> m [File]
getFilesUnchecked self = liftDOM (((self ^. js "files") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-share/#dom-sharedata-title ShareData.title specification>
setTitle :: (MonadDOM m, ToJSString val) => ShareData -> val -> m ()
setTitle self val = liftDOM (void (self ^. jss "title" (toJSVal val)))
-- | <https://w3c.github.io/web-share/#dom-sharedata-title ShareData.title specification>
getTitle :: (MonadDOM m, FromJSString result) => ShareData -> m (Maybe result)
getTitle self = liftDOM (((self ^. js "title") >>= fromMaybeJSString))
-- | <https://w3c.github.io/web-share/#dom-sharedata-title ShareData.title specification>
getTitleUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => ShareData -> m result
getTitleUnsafe self = liftDOM ((((self ^. js "title") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/web-share/#dom-sharedata-title ShareData.title specification>
getTitleUnchecked :: (MonadDOM m, FromJSString result) => ShareData -> m result
getTitleUnchecked self = liftDOM (((self ^. js "title") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-share/#dom-sharedata-text ShareData.text specification>
setText :: (MonadDOM m, ToJSString val) => ShareData -> val -> m ()
setText self val = liftDOM (void (self ^. jss "text" (toJSVal val)))
-- | <https://w3c.github.io/web-share/#dom-sharedata-text ShareData.text specification>
getText :: (MonadDOM m, FromJSString result) => ShareData -> m (Maybe result)
getText self = liftDOM (((self ^. js "text") >>= fromMaybeJSString))
-- | <https://w3c.github.io/web-share/#dom-sharedata-text ShareData.text specification>
getTextUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => ShareData -> m result
getTextUnsafe self = liftDOM ((((self ^. js "text") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/web-share/#dom-sharedata-text ShareData.text specification>
getTextUnchecked :: (MonadDOM m, FromJSString result) => ShareData -> m result
getTextUnchecked self = liftDOM (((self ^. js "text") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-share/#dom-sharedata-url ShareData.url specification>
setUrl :: (MonadDOM m, ToJSString val) => ShareData -> val -> m ()
setUrl self val = liftDOM (void (self ^. jss "url" (toJSVal val)))
-- | <https://w3c.github.io/web-share/#dom-sharedata-url ShareData.url specification>
getUrl :: (MonadDOM m, FromJSString result) => ShareData -> m (Maybe result)
getUrl self = liftDOM (((self ^. js "url") >>= fromMaybeJSString))
-- | <https://w3c.github.io/web-share/#dom-sharedata-url ShareData.url specification>
getUrlUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => ShareData -> m result
getUrlUnsafe self = liftDOM ((((self ^. js "url") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/web-share/#dom-sharedata-url ShareData.url specification>
getUrlUnchecked :: (MonadDOM m, FromJSString result) => ShareData -> m result
getUrlUnchecked self = liftDOM (((self ^. js "url") >>= fromJSValUnchecked))