packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/IDBFactory.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.IDBFactory
       (cmp, cmp_, databases, databases_, deleteDatabase, deleteDatabase_, open, open_, IDBFactory(..), gTypeIDBFactory)
       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/IDBFactory/cmp MDN IDBFactory.cmp documentation>
cmp :: (MonadDOM m) => IDBFactory -> JSVal -> JSVal -> m Int
cmp self first second = liftDOM ((P.round <$> ((self ^. jsf "cmp" [toJSVal first, toJSVal second]) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/IDBFactory/cmp MDN IDBFactory.cmp documentation>
cmp_ :: (MonadDOM m) => IDBFactory -> JSVal -> JSVal -> m ()
cmp_ self first second = liftDOM (void (self ^. jsf "cmp" [toJSVal first, toJSVal second]))

-- | <https://developer.mozilla.org/docs/Web/API/IDBFactory/databases MDN IDBFactory.databases documentation>
databases :: (MonadDOM m) => IDBFactory -> m [IDBDatabaseInfo]
databases self = liftDOM (((((self ^. jsf "databases" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/IDBFactory/databases MDN IDBFactory.databases documentation>
databases_ :: (MonadDOM m) => IDBFactory -> m ()
databases_ self = liftDOM (void (((self ^. jsf "databases" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/IDBFactory/deleteDatabase MDN IDBFactory.deleteDatabase documentation>
deleteDatabase :: (MonadDOM m, ToJSString name) => IDBFactory -> name -> m IDBOpenDBRequest
deleteDatabase self name = liftDOM (((self ^. jsf "deleteDatabase" [toJSVal name]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/IDBFactory/deleteDatabase MDN IDBFactory.deleteDatabase documentation>
deleteDatabase_ :: (MonadDOM m, ToJSString name) => IDBFactory -> name -> m ()
deleteDatabase_ self name = liftDOM (void (self ^. jsf "deleteDatabase" [toJSVal name]))

-- | <https://developer.mozilla.org/docs/Web/API/IDBFactory/open MDN IDBFactory.open documentation>
open :: (MonadDOM m, ToJSString name) => IDBFactory -> name -> Maybe Word53 -> m IDBOpenDBRequest
open self name version = liftDOM (((self ^. jsf "open" [toJSVal name, P.maybe (P.return jsUndefined) toJSVal version]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/IDBFactory/open MDN IDBFactory.open documentation>
open_ :: (MonadDOM m, ToJSString name) => IDBFactory -> name -> Maybe Word53 -> m ()
open_ self name version = liftDOM (void (self ^. jsf "open" [toJSVal name, P.maybe (P.return jsUndefined) toJSVal version]))