packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/IDBDatabaseInfo.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from IndexedDB-3 (webref). Do not edit.
module JSDOM.Generated.IDBDatabaseInfo
       (newIDBDatabaseInfo, setName, getName, getNameUnsafe, getNameUnchecked, setVersion, getVersion, getVersionUnsafe, getVersionUnchecked, IDBDatabaseInfo(..), gTypeIDBDatabaseInfo)
       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/IndexedDB/#dictdef-idbdatabaseinfo IDBDatabaseInfo specification>
newIDBDatabaseInfo :: (MonadDOM m) => m IDBDatabaseInfo
newIDBDatabaseInfo = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-name IDBDatabaseInfo.name specification>
setName :: (MonadDOM m, ToJSString val) => IDBDatabaseInfo -> val -> m ()
setName self val = liftDOM (void (self ^. jss "name" (toJSVal val)))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-name IDBDatabaseInfo.name specification>
getName :: (MonadDOM m, FromJSString result) => IDBDatabaseInfo -> m (Maybe result)
getName self = liftDOM (((self ^. js "name") >>= fromMaybeJSString))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-name IDBDatabaseInfo.name specification>
getNameUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => IDBDatabaseInfo -> m result
getNameUnsafe self = liftDOM ((((self ^. js "name") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-name IDBDatabaseInfo.name specification>
getNameUnchecked :: (MonadDOM m, FromJSString result) => IDBDatabaseInfo -> m result
getNameUnchecked self = liftDOM (((self ^. js "name") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-version IDBDatabaseInfo.version specification>
setVersion :: (MonadDOM m) => IDBDatabaseInfo -> Word53 -> m ()
setVersion self val = liftDOM (void (self ^. jss "version" (toJSVal val)))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-version IDBDatabaseInfo.version specification>
getVersion :: (MonadDOM m) => IDBDatabaseInfo -> m (Maybe Word53)
getVersion self = liftDOM (((self ^. js "version") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-version IDBDatabaseInfo.version specification>
getVersionUnsafe :: (MonadDOM m, HasCallStack) => IDBDatabaseInfo -> m Word53
getVersionUnsafe self = liftDOM ((((self ^. js "version") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/IndexedDB/#dom-idbdatabaseinfo-version IDBDatabaseInfo.version specification>
getVersionUnchecked :: (MonadDOM m) => IDBDatabaseInfo -> m Word53
getVersionUnchecked self = liftDOM (((self ^. js "version") >>= fromJSValUnchecked))