{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.IDBIndex
       (openCursorRange, openCursorRange_, openCursor, openCursor_,
        openKeyCursorRange, openKeyCursorRange_, openKeyCursor,
        openKeyCursor_, getRange, getRange_, get, get_, getKeyRange,
        getKeyRange_, getKey, getKey_, getAllRange, getAllRange_, getAll,
        getAll_, getAllKeysRange, getAllKeysRange_, getAllKeys,
        getAllKeys_, countRange, countRange_, count, count_, setName,
        getName, getObjectStore, getKeyPath, getKeyPathUnsafe,
        getKeyPathUnchecked, getMultiEntry, getUnique, IDBIndex(..),
        gTypeIDBIndex)
       where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openCursor Mozilla IDBIndex.openCursor documentation> 
openCursorRange ::
                (MonadDOM m) =>
                  IDBIndex ->
                    Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m IDBRequest
openCursorRange :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex
-> Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m IDBRequest
openCursorRange IDBIndex
self Maybe IDBKeyRange
range Maybe IDBCursorDirection
direction
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openCursor" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openCursor Mozilla IDBIndex.openCursor documentation> 
openCursorRange_ ::
                 (MonadDOM m) =>
                   IDBIndex -> Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m ()
openCursorRange_ :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m ()
openCursorRange_ IDBIndex
self Maybe IDBKeyRange
range Maybe IDBCursorDirection
direction
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openCursor" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openCursor Mozilla IDBIndex.openCursor documentation> 
openCursor ::
           (MonadDOM m, ToJSVal key) =>
             IDBIndex -> key -> Maybe IDBCursorDirection -> m IDBRequest
openCursor :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe IDBCursorDirection -> m IDBRequest
openCursor IDBIndex
self key
key Maybe IDBCursorDirection
direction
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openCursor" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openCursor Mozilla IDBIndex.openCursor documentation> 
openCursor_ ::
            (MonadDOM m, ToJSVal key) =>
              IDBIndex -> key -> Maybe IDBCursorDirection -> m ()
openCursor_ :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe IDBCursorDirection -> m ()
openCursor_ IDBIndex
self key
key Maybe IDBCursorDirection
direction
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openCursor" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openKeyCursor Mozilla IDBIndex.openKeyCursor documentation> 
openKeyCursorRange ::
                   (MonadDOM m) =>
                     IDBIndex ->
                       Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m IDBRequest
openKeyCursorRange :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex
-> Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m IDBRequest
openKeyCursorRange IDBIndex
self Maybe IDBKeyRange
range Maybe IDBCursorDirection
direction
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openKeyCursor" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction])
         JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openKeyCursor Mozilla IDBIndex.openKeyCursor documentation> 
openKeyCursorRange_ ::
                    (MonadDOM m) =>
                      IDBIndex -> Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m ()
openKeyCursorRange_ :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> Maybe IDBCursorDirection -> m ()
openKeyCursorRange_ IDBIndex
self Maybe IDBKeyRange
range Maybe IDBCursorDirection
direction
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openKeyCursor" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openKeyCursor Mozilla IDBIndex.openKeyCursor documentation> 
openKeyCursor ::
              (MonadDOM m, ToJSVal key) =>
                IDBIndex -> key -> Maybe IDBCursorDirection -> m IDBRequest
openKeyCursor :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe IDBCursorDirection -> m IDBRequest
openKeyCursor IDBIndex
self key
key Maybe IDBCursorDirection
direction
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openKeyCursor" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.openKeyCursor Mozilla IDBIndex.openKeyCursor documentation> 
openKeyCursor_ ::
               (MonadDOM m, ToJSVal key) =>
                 IDBIndex -> key -> Maybe IDBCursorDirection -> m ()
openKeyCursor_ :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe IDBCursorDirection -> m ()
openKeyCursor_ IDBIndex
self key
key Maybe IDBCursorDirection
direction
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"openKeyCursor" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe IDBCursorDirection -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBCursorDirection
direction]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.get Mozilla IDBIndex.get documentation> 
getRange ::
         (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> m IDBRequest
getRange :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> m IDBRequest
getRange IDBIndex
self Maybe IDBKeyRange
key
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"get" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
key]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.get Mozilla IDBIndex.get documentation> 
getRange_ :: (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> m ()
getRange_ :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> m ()
getRange_ IDBIndex
self Maybe IDBKeyRange
key
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"get" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
key]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.get Mozilla IDBIndex.get documentation> 
get :: (MonadDOM m, ToJSVal key) => IDBIndex -> key -> m IDBRequest
get :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> m IDBRequest
get IDBIndex
self key
key
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"get" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.get Mozilla IDBIndex.get documentation> 
get_ :: (MonadDOM m, ToJSVal key) => IDBIndex -> key -> m ()
get_ :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> m ()
get_ IDBIndex
self key
key = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"get" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getKey Mozilla IDBIndex.getKey documentation> 
getKeyRange ::
            (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> m IDBRequest
getKeyRange :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> m IDBRequest
getKeyRange IDBIndex
self Maybe IDBKeyRange
key
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getKey" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
key]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getKey Mozilla IDBIndex.getKey documentation> 
getKeyRange_ ::
             (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> m ()
getKeyRange_ :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> m ()
getKeyRange_ IDBIndex
self Maybe IDBKeyRange
key
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getKey" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
key]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getKey Mozilla IDBIndex.getKey documentation> 
getKey ::
       (MonadDOM m, ToJSVal key) => IDBIndex -> key -> m IDBRequest
getKey :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> m IDBRequest
getKey IDBIndex
self key
key
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getKey" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getKey Mozilla IDBIndex.getKey documentation> 
getKey_ :: (MonadDOM m, ToJSVal key) => IDBIndex -> key -> m ()
getKey_ :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> m ()
getKey_ IDBIndex
self key
key
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getKey" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAll Mozilla IDBIndex.getAll documentation> 
getAllRange ::
            (MonadDOM m) =>
              IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m IDBRequest
getAllRange :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m IDBRequest
getAllRange IDBIndex
self Maybe IDBKeyRange
range Maybe Word
count
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAll" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAll Mozilla IDBIndex.getAll documentation> 
getAllRange_ ::
             (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m ()
getAllRange_ :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m ()
getAllRange_ IDBIndex
self Maybe IDBKeyRange
range Maybe Word
count
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAll" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAll Mozilla IDBIndex.getAll documentation> 
getAll ::
       (MonadDOM m, ToJSVal key) =>
         IDBIndex -> key -> Maybe Word -> m IDBRequest
getAll :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe Word -> m IDBRequest
getAll IDBIndex
self key
key Maybe Word
count
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAll" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAll Mozilla IDBIndex.getAll documentation> 
getAll_ ::
        (MonadDOM m, ToJSVal key) => IDBIndex -> key -> Maybe Word -> m ()
getAll_ :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe Word -> m ()
getAll_ IDBIndex
self key
key Maybe Word
count
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAll" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAllKeys Mozilla IDBIndex.getAllKeys documentation> 
getAllKeysRange ::
                (MonadDOM m) =>
                  IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m IDBRequest
getAllKeysRange :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m IDBRequest
getAllKeysRange IDBIndex
self Maybe IDBKeyRange
range Maybe Word
count
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAllKeys" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAllKeys Mozilla IDBIndex.getAllKeys documentation> 
getAllKeysRange_ ::
                 (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m ()
getAllKeysRange_ :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> Maybe Word -> m ()
getAllKeysRange_ IDBIndex
self Maybe IDBKeyRange
range Maybe Word
count
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAllKeys" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAllKeys Mozilla IDBIndex.getAllKeys documentation> 
getAllKeys ::
           (MonadDOM m, ToJSVal key) =>
             IDBIndex -> key -> Maybe Word -> m IDBRequest
getAllKeys :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe Word -> m IDBRequest
getAllKeys IDBIndex
self key
key Maybe Word
count
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAllKeys" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.getAllKeys Mozilla IDBIndex.getAllKeys documentation> 
getAllKeys_ ::
            (MonadDOM m, ToJSVal key) => IDBIndex -> key -> Maybe Word -> m ()
getAllKeys_ :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> Maybe Word -> m ()
getAllKeys_ IDBIndex
self key
key Maybe Word
count
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAllKeys" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
count]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.count Mozilla IDBIndex.count documentation> 
countRange ::
           (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> m IDBRequest
countRange :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> m IDBRequest
countRange IDBIndex
self Maybe IDBKeyRange
range
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"count" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.count Mozilla IDBIndex.count documentation> 
countRange_ ::
            (MonadDOM m) => IDBIndex -> Maybe IDBKeyRange -> m ()
countRange_ :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> Maybe IDBKeyRange -> m ()
countRange_ IDBIndex
self Maybe IDBKeyRange
range
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"count" [Maybe IDBKeyRange -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe IDBKeyRange
range]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.count Mozilla IDBIndex.count documentation> 
count ::
      (MonadDOM m, ToJSVal key) => IDBIndex -> key -> m IDBRequest
count :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> m IDBRequest
count IDBIndex
self key
key
  = DOM IDBRequest -> m IDBRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"count" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key]) JSM JSVal -> (JSVal -> DOM IDBRequest) -> DOM IDBRequest
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBRequest
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.count Mozilla IDBIndex.count documentation> 
count_ :: (MonadDOM m, ToJSVal key) => IDBIndex -> key -> m ()
count_ :: forall (m :: * -> *) key.
(MonadDOM m, ToJSVal key) =>
IDBIndex -> key -> m ()
count_ IDBIndex
self key
key
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"count" [key -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal key
key]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.name Mozilla IDBIndex.name documentation> 
setName :: (MonadDOM m, ToJSString val) => IDBIndex -> val -> m ()
setName :: forall (m :: * -> *) val.
(MonadDOM m, ToJSString val) =>
IDBIndex -> val -> m ()
setName IDBIndex
self val
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (IDBIndex
self IDBIndex -> Getting (DOM ()) IDBIndex (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"name" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.name Mozilla IDBIndex.name documentation> 
getName ::
        (MonadDOM m, FromJSString result) => IDBIndex -> m result
getName :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
IDBIndex -> m result
getName IDBIndex
self = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter IDBIndex (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"name") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.objectStore Mozilla IDBIndex.objectStore documentation> 
getObjectStore :: (MonadDOM m) => IDBIndex -> m IDBObjectStore
getObjectStore :: forall (m :: * -> *). MonadDOM m => IDBIndex -> m IDBObjectStore
getObjectStore IDBIndex
self
  = DOM IDBObjectStore -> m IDBObjectStore
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter IDBIndex (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"objectStore") JSM JSVal -> (JSVal -> DOM IDBObjectStore) -> DOM IDBObjectStore
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBObjectStore
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.keyPath Mozilla IDBIndex.keyPath documentation> 
getKeyPath :: (MonadDOM m) => IDBIndex -> m (Maybe IDBKeyPath)
getKeyPath :: forall (m :: * -> *).
MonadDOM m =>
IDBIndex -> m (Maybe IDBKeyPath)
getKeyPath IDBIndex
self = DOM (Maybe IDBKeyPath) -> m (Maybe IDBKeyPath)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter IDBIndex (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"keyPath") JSM JSVal
-> (JSVal -> DOM (Maybe IDBKeyPath)) -> DOM (Maybe IDBKeyPath)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe IDBKeyPath)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.keyPath Mozilla IDBIndex.keyPath documentation> 
getKeyPathUnsafe ::
                 (MonadDOM m, HasCallStack) => IDBIndex -> m IDBKeyPath
getKeyPathUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
IDBIndex -> m IDBKeyPath
getKeyPathUnsafe IDBIndex
self
  = DOM IDBKeyPath -> m IDBKeyPath
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter IDBIndex (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"keyPath") JSM JSVal
-> (JSVal -> DOM (Maybe IDBKeyPath)) -> DOM (Maybe IDBKeyPath)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe IDBKeyPath)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe IDBKeyPath)
-> (Maybe IDBKeyPath -> DOM IDBKeyPath) -> DOM IDBKeyPath
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM IDBKeyPath
-> (IDBKeyPath -> DOM IDBKeyPath)
-> Maybe IDBKeyPath
-> DOM IDBKeyPath
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM IDBKeyPath
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") IDBKeyPath -> DOM IDBKeyPath
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.keyPath Mozilla IDBIndex.keyPath documentation> 
getKeyPathUnchecked :: (MonadDOM m) => IDBIndex -> m IDBKeyPath
getKeyPathUnchecked :: forall (m :: * -> *). MonadDOM m => IDBIndex -> m IDBKeyPath
getKeyPathUnchecked IDBIndex
self
  = DOM IDBKeyPath -> m IDBKeyPath
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter IDBIndex (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"keyPath") JSM JSVal -> (JSVal -> DOM IDBKeyPath) -> DOM IDBKeyPath
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM IDBKeyPath
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.multiEntry Mozilla IDBIndex.multiEntry documentation> 
getMultiEntry :: (MonadDOM m) => IDBIndex -> m Bool
getMultiEntry :: forall (m :: * -> *). MonadDOM m => IDBIndex -> m Bool
getMultiEntry IDBIndex
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter IDBIndex (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"multiEntry") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex.unique Mozilla IDBIndex.unique documentation> 
getUnique :: (MonadDOM m) => IDBIndex -> m Bool
getUnique :: forall (m :: * -> *). MonadDOM m => IDBIndex -> m Bool
getUnique IDBIndex
self = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((IDBIndex
self IDBIndex -> Getting (JSM JSVal) IDBIndex (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter IDBIndex (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"unique") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)