packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/IDBObjectStoreParameters.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.IDBObjectStoreParameters
       (newIDBObjectStoreParameters, setKeyPath, getKeyPath, getKeyPathUnsafe, getKeyPathUnchecked, setAutoIncrement, getAutoIncrement, getAutoIncrementUnsafe, getAutoIncrementUnchecked, IDBObjectStoreParameters(..), gTypeIDBObjectStoreParameters)
       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-idbobjectstoreparameters IDBObjectStoreParameters specification>
newIDBObjectStoreParameters :: (MonadDOM m) => m IDBObjectStoreParameters
newIDBObjectStoreParameters = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-keypath IDBObjectStoreParameters.keyPath specification>
setKeyPath :: (MonadDOM m, IsStringOrSequenceString val) => IDBObjectStoreParameters -> Maybe val -> m ()
setKeyPath self val = liftDOM (void (self ^. jss "keyPath" (toJSVal val)))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-keypath IDBObjectStoreParameters.keyPath specification>
getKeyPath :: (MonadDOM m) => IDBObjectStoreParameters -> m (Maybe StringOrSequenceString)
getKeyPath self = liftDOM (((self ^. js "keyPath") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-keypath IDBObjectStoreParameters.keyPath specification>
getKeyPathUnsafe :: (MonadDOM m, HasCallStack) => IDBObjectStoreParameters -> m StringOrSequenceString
getKeyPathUnsafe self = liftDOM ((((self ^. js "keyPath") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-keypath IDBObjectStoreParameters.keyPath specification>
getKeyPathUnchecked :: (MonadDOM m) => IDBObjectStoreParameters -> m StringOrSequenceString
getKeyPathUnchecked self = liftDOM (((self ^. js "keyPath") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-autoincrement IDBObjectStoreParameters.autoIncrement specification>
setAutoIncrement :: (MonadDOM m) => IDBObjectStoreParameters -> Bool -> m ()
setAutoIncrement self val = liftDOM (void (self ^. jss "autoIncrement" (toJSVal val)))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-autoincrement IDBObjectStoreParameters.autoIncrement specification>
getAutoIncrement :: (MonadDOM m) => IDBObjectStoreParameters -> m (Maybe Bool)
getAutoIncrement self = liftDOM (((self ^. js "autoIncrement") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-autoincrement IDBObjectStoreParameters.autoIncrement specification>
getAutoIncrementUnsafe :: (MonadDOM m, HasCallStack) => IDBObjectStoreParameters -> m Bool
getAutoIncrementUnsafe self = liftDOM ((((self ^. js "autoIncrement") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/IndexedDB/#dom-idbobjectstoreparameters-autoincrement IDBObjectStoreParameters.autoIncrement specification>
getAutoIncrementUnchecked :: (MonadDOM m) => IDBObjectStoreParameters -> m Bool
getAutoIncrementUnchecked self = liftDOM (((self ^. js "autoIncrement") >>= valToBool))