jsaddle-dom-0.10.0.0: src/JSDOM/Generated/File.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from FileAPI (webref). Do not edit.
module JSDOM.Generated.File
(newFile, getName, getLastModified, getWebkitRelativePath, File(..), gTypeFile)
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/File/File MDN File. documentation>
newFile :: (MonadDOM m, IsBlobPart fileBits, ToJSString fileName) => [fileBits] -> fileName -> Maybe FilePropertyBag -> m File
newFile fileBits fileName options = liftDOM (((new (jsg "File") [toJSVal fileBits, toJSVal fileName, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/File/name MDN File.name documentation>
getName :: (MonadDOM m, FromJSString result) => File -> m result
getName self = liftDOM (((self ^. js "name") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/File/lastModified MDN File.lastModified documentation>
getLastModified :: (MonadDOM m) => File -> m Int53
getLastModified self = liftDOM (((self ^. js "lastModified") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/File/webkitRelativePath MDN File.webkitRelativePath documentation>
getWebkitRelativePath :: (MonadDOM m, FromJSString result) => File -> m result
getWebkitRelativePath self = liftDOM (((self ^. js "webkitRelativePath") >>= fromJSValUnchecked))