jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ClipboardItem.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from clipboard-apis (webref). Do not edit.
module JSDOM.Generated.ClipboardItem
(newClipboardItem, getType, getType_, supports, supports_, getPresentationStyle, getTypes, ClipboardItem(..), gTypeClipboardItem)
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/ClipboardItem/ClipboardItem MDN ClipboardItem. documentation>
newClipboardItem :: (MonadDOM m) => (Record JSString JSVal) -> Maybe ClipboardItemOptions -> m ClipboardItem
newClipboardItem items options = liftDOM (((new (jsg "ClipboardItem") [toJSVal items, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ClipboardItem/getType MDN ClipboardItem.getType documentation>
getType :: (MonadDOM m, ToJSString type') => ClipboardItem -> type' -> m Blob
getType self type' = liftDOM (((((self ^. jsf "getType" [toJSVal type']) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ClipboardItem/getType MDN ClipboardItem.getType documentation>
getType_ :: (MonadDOM m, ToJSString type') => ClipboardItem -> type' -> m ()
getType_ self type' = liftDOM (void (((self ^. jsf "getType" [toJSVal type']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/ClipboardItem/supports_static MDN ClipboardItem.supports documentation>
supports :: (MonadDOM m, ToJSString type') => type' -> m Bool
supports type' = liftDOM ((((jsg "ClipboardItem") ^. jsf "supports" [toJSVal type']) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/ClipboardItem/supports_static MDN ClipboardItem.supports documentation>
supports_ :: (MonadDOM m, ToJSString type') => type' -> m ()
supports_ type' = liftDOM (void ((jsg "ClipboardItem") ^. jsf "supports" [toJSVal type']))
-- | <https://developer.mozilla.org/docs/Web/API/ClipboardItem/presentationStyle MDN ClipboardItem.presentationStyle documentation>
getPresentationStyle :: (MonadDOM m) => ClipboardItem -> m PresentationStyle
getPresentationStyle self = liftDOM (((self ^. js "presentationStyle") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ClipboardItem/types MDN ClipboardItem.types documentation>
getTypes :: (MonadDOM m, FromJSString result) => ClipboardItem -> m [result]
getTypes self = liftDOM (((self ^. js "types") >>= fromJSValUnchecked))