jsaddle-dom-0.10.0.0: src/JSDOM/Generated/DataTransferItemList.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.DataTransferItemList
(add, add_, addUnsafe, addUnchecked, addFile, addFile_, addFileUnsafe, addFileUnchecked, clear, remove, getLength, DataTransferItemList(..), gTypeDataTransferItemList)
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/DataTransferItemList/add MDN DataTransferItemList.add documentation>
add :: (MonadDOM m, ToJSString data', ToJSString type') => DataTransferItemList -> data' -> type' -> m (Maybe DataTransferItem)
add self data' type' = liftDOM (((self ^. jsf "add" [toJSVal data', toJSVal type']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add MDN DataTransferItemList.add documentation>
add_ :: (MonadDOM m, ToJSString data', ToJSString type') => DataTransferItemList -> data' -> type' -> m ()
add_ self data' type' = liftDOM (void (self ^. jsf "add" [toJSVal data', toJSVal type']))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add MDN DataTransferItemList.add documentation>
addUnsafe :: (MonadDOM m, ToJSString data', ToJSString type', HasCallStack) => DataTransferItemList -> data' -> type' -> m DataTransferItem
addUnsafe self data' type' = liftDOM ((((self ^. jsf "add" [toJSVal data', toJSVal type']) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add MDN DataTransferItemList.add documentation>
addUnchecked :: (MonadDOM m, ToJSString data', ToJSString type') => DataTransferItemList -> data' -> type' -> m DataTransferItem
addUnchecked self data' type' = liftDOM (((self ^. jsf "add" [toJSVal data', toJSVal type']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add MDN DataTransferItemList.add documentation>
addFile :: (MonadDOM m) => DataTransferItemList -> File -> m (Maybe DataTransferItem)
addFile self data' = liftDOM (((self ^. jsf "add" [toJSVal data']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add MDN DataTransferItemList.add documentation>
addFile_ :: (MonadDOM m) => DataTransferItemList -> File -> m ()
addFile_ self data' = liftDOM (void (self ^. jsf "add" [toJSVal data']))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add MDN DataTransferItemList.add documentation>
addFileUnsafe :: (MonadDOM m, HasCallStack) => DataTransferItemList -> File -> m DataTransferItem
addFileUnsafe self data' = liftDOM ((((self ^. jsf "add" [toJSVal data']) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add MDN DataTransferItemList.add documentation>
addFileUnchecked :: (MonadDOM m) => DataTransferItemList -> File -> m DataTransferItem
addFileUnchecked self data' = liftDOM (((self ^. jsf "add" [toJSVal data']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/clear MDN DataTransferItemList.clear documentation>
clear :: (MonadDOM m) => DataTransferItemList -> m ()
clear self = liftDOM (void (self ^. jsf "clear" ()))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/remove MDN DataTransferItemList.remove documentation>
remove :: (MonadDOM m) => DataTransferItemList -> Word -> m ()
remove self index = liftDOM (void (self ^. jsf "remove" [toJSVal index]))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransferItemList/length MDN DataTransferItemList.length documentation>
getLength :: (MonadDOM m) => DataTransferItemList -> m Word
getLength self = liftDOM ((P.round <$> ((self ^. js "length") >>= valToNumber)))