jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Clipboard.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.Clipboard
(read, read_, readText, readText_, write, writeText, Clipboard(..), gTypeClipboard)
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/Clipboard/read MDN Clipboard.read documentation>
read :: (MonadDOM m) => Clipboard -> Maybe ClipboardUnsanitizedFormats -> m [ClipboardItem]
read self formats = liftDOM (((((self ^. jsf "read" [P.maybe (P.return jsUndefined) toJSVal formats]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Clipboard/read MDN Clipboard.read documentation>
read_ :: (MonadDOM m) => Clipboard -> Maybe ClipboardUnsanitizedFormats -> m ()
read_ self formats = liftDOM (void (((self ^. jsf "read" [P.maybe (P.return jsUndefined) toJSVal formats]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/Clipboard/readText MDN Clipboard.readText documentation>
readText :: (MonadDOM m, FromJSString result) => Clipboard -> m result
readText self = liftDOM (((((self ^. jsf "readText" ()) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Clipboard/readText MDN Clipboard.readText documentation>
readText_ :: (MonadDOM m) => Clipboard -> m ()
readText_ self = liftDOM (void (((self ^. jsf "readText" ()) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/Clipboard/write MDN Clipboard.write documentation>
write :: (MonadDOM m) => Clipboard -> [ClipboardItem] -> m ()
write self data' = liftDOM (void (((self ^. jsf "write" [toJSVal data']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/Clipboard/writeText MDN Clipboard.writeText documentation>
writeText :: (MonadDOM m, ToJSString data') => Clipboard -> data' -> m ()
writeText self data' = liftDOM (void (((self ^. jsf "writeText" [toJSVal data']) >>= readPromise)))