{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.CommandLineAPIHost
       (clearConsoleMessages, copyText, inspect, inspectedObject,
        inspectedObject_, getEventListeners, getEventListeners_,
        databaseId, databaseId_, storageId, storageId_,
        CommandLineAPIHost(..), gTypeCommandLineAPIHost)
       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/CommandLineAPIHost.clearConsoleMessages Mozilla CommandLineAPIHost.clearConsoleMessages documentation> 
clearConsoleMessages :: (MonadDOM m) => CommandLineAPIHost -> m ()
clearConsoleMessages :: CommandLineAPIHost -> m ()
clearConsoleMessages CommandLineAPIHost
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (CommandLineAPIHost
self CommandLineAPIHost
-> Getting (JSM JSVal) CommandLineAPIHost (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"clearConsoleMessages" ()))

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

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

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

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

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

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

-- | <https://developer.mozilla.org/en-US/docs/Web/API/CommandLineAPIHost.databaseId Mozilla CommandLineAPIHost.databaseId documentation> 
databaseId ::
           (MonadDOM m, ToJSVal database, FromJSString result) =>
             CommandLineAPIHost -> database -> m result
databaseId :: CommandLineAPIHost -> database -> m result
databaseId CommandLineAPIHost
self database
database
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((CommandLineAPIHost
self CommandLineAPIHost
-> Getting (JSM JSVal) CommandLineAPIHost (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"databaseId" [database -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal database
database]) JSM JSVal -> (JSVal -> DOM result) -> DOM result
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/CommandLineAPIHost.databaseId Mozilla CommandLineAPIHost.databaseId documentation> 
databaseId_ ::
            (MonadDOM m, ToJSVal database) =>
              CommandLineAPIHost -> database -> m ()
databaseId_ :: CommandLineAPIHost -> database -> m ()
databaseId_ CommandLineAPIHost
self database
database
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (CommandLineAPIHost
self CommandLineAPIHost
-> Getting (JSM JSVal) CommandLineAPIHost (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"databaseId" [database -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal database
database]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/CommandLineAPIHost.storageId Mozilla CommandLineAPIHost.storageId documentation> 
storageId ::
          (MonadDOM m, ToJSVal storage, FromJSString result) =>
            CommandLineAPIHost -> storage -> m result
storageId :: CommandLineAPIHost -> storage -> m result
storageId CommandLineAPIHost
self storage
storage
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((CommandLineAPIHost
self CommandLineAPIHost
-> Getting (JSM JSVal) CommandLineAPIHost (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"storageId" [storage -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal storage
storage]) JSM JSVal -> (JSVal -> DOM result) -> DOM result
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/CommandLineAPIHost.storageId Mozilla CommandLineAPIHost.storageId documentation> 
storageId_ ::
           (MonadDOM m, ToJSVal storage) =>
             CommandLineAPIHost -> storage -> m ()
storageId_ :: CommandLineAPIHost -> storage -> m ()
storageId_ CommandLineAPIHost
self storage
storage
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (CommandLineAPIHost
self CommandLineAPIHost
-> Getting (JSM JSVal) CommandLineAPIHost (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"storageId" [storage -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal storage
storage]))