{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.PluginArray
(item, item_, itemUnsafe, itemUnchecked, namedItem, namedItem_,
namedItemUnsafe, namedItemUnchecked, refresh, getLength,
PluginArray(..), gTypePluginArray)
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
item :: (MonadDOM m) => PluginArray -> Word -> m (Maybe Plugin)
item :: forall (m :: * -> *).
MonadDOM m =>
PluginArray -> Word -> m (Maybe Plugin)
item PluginArray
self Word
index
= DOM (Maybe Plugin) -> m (Maybe Plugin)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((PluginArray
self PluginArray
-> Getting (JSM JSVal) PluginArray (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
"item" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
index]) JSM JSVal -> (JSVal -> DOM (Maybe Plugin)) -> DOM (Maybe Plugin)
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 Plugin)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
item_ :: (MonadDOM m) => PluginArray -> Word -> m ()
item_ :: forall (m :: * -> *). MonadDOM m => PluginArray -> Word -> m ()
item_ PluginArray
self Word
index
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (PluginArray
self PluginArray
-> Getting (JSM JSVal) PluginArray (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
"item" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
index]))
itemUnsafe ::
(MonadDOM m, HasCallStack) => PluginArray -> Word -> m Plugin
itemUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
PluginArray -> Word -> m Plugin
itemUnsafe PluginArray
self Word
index
= DOM Plugin -> m Plugin
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((PluginArray
self PluginArray
-> Getting (JSM JSVal) PluginArray (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
"item" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
index]) JSM JSVal -> (JSVal -> DOM (Maybe Plugin)) -> DOM (Maybe Plugin)
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 Plugin)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Plugin) -> (Maybe Plugin -> DOM Plugin) -> DOM Plugin
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Plugin -> (Plugin -> DOM Plugin) -> Maybe Plugin -> DOM Plugin
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Plugin
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Plugin -> DOM Plugin
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
itemUnchecked :: (MonadDOM m) => PluginArray -> Word -> m Plugin
itemUnchecked :: forall (m :: * -> *). MonadDOM m => PluginArray -> Word -> m Plugin
itemUnchecked PluginArray
self Word
index
= DOM Plugin -> m Plugin
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((PluginArray
self PluginArray
-> Getting (JSM JSVal) PluginArray (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
"item" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
index]) JSM JSVal -> (JSVal -> DOM Plugin) -> DOM Plugin
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 Plugin
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
namedItem ::
(MonadDOM m, ToJSString name) =>
PluginArray -> name -> m (Maybe Plugin)
namedItem :: forall (m :: * -> *) name.
(MonadDOM m, ToJSString name) =>
PluginArray -> name -> m (Maybe Plugin)
namedItem PluginArray
self name
name = DOM (Maybe Plugin) -> m (Maybe Plugin)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((PluginArray
self PluginArray -> name -> JSM JSVal
forall this name.
(MakeObject this, ToJSString name) =>
this -> name -> JSM JSVal
! name
name) JSM JSVal -> (JSVal -> DOM (Maybe Plugin)) -> DOM (Maybe Plugin)
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 Plugin)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
namedItem_ ::
(MonadDOM m, ToJSString name) => PluginArray -> name -> m ()
namedItem_ :: forall (m :: * -> *) name.
(MonadDOM m, ToJSString name) =>
PluginArray -> name -> m ()
namedItem_ PluginArray
self name
name = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (PluginArray
self PluginArray -> name -> JSM JSVal
forall this name.
(MakeObject this, ToJSString name) =>
this -> name -> JSM JSVal
! name
name))
namedItemUnsafe ::
(MonadDOM m, ToJSString name, HasCallStack) =>
PluginArray -> name -> m Plugin
namedItemUnsafe :: forall (m :: * -> *) name.
(MonadDOM m, ToJSString name, HasCallStack) =>
PluginArray -> name -> m Plugin
namedItemUnsafe PluginArray
self name
name
= DOM Plugin -> m Plugin
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((PluginArray
self PluginArray -> name -> JSM JSVal
forall this name.
(MakeObject this, ToJSString name) =>
this -> name -> JSM JSVal
! name
name) JSM JSVal -> (JSVal -> DOM (Maybe Plugin)) -> DOM (Maybe Plugin)
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 Plugin)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Plugin) -> (Maybe Plugin -> DOM Plugin) -> DOM Plugin
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Plugin -> (Plugin -> DOM Plugin) -> Maybe Plugin -> DOM Plugin
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Plugin
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Plugin -> DOM Plugin
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
namedItemUnchecked ::
(MonadDOM m, ToJSString name) => PluginArray -> name -> m Plugin
namedItemUnchecked :: forall (m :: * -> *) name.
(MonadDOM m, ToJSString name) =>
PluginArray -> name -> m Plugin
namedItemUnchecked PluginArray
self name
name
= DOM Plugin -> m Plugin
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((PluginArray
self PluginArray -> name -> JSM JSVal
forall this name.
(MakeObject this, ToJSString name) =>
this -> name -> JSM JSVal
! name
name) JSM JSVal -> (JSVal -> DOM Plugin) -> DOM Plugin
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 Plugin
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
refresh :: (MonadDOM m) => PluginArray -> Bool -> m ()
refresh :: forall (m :: * -> *). MonadDOM m => PluginArray -> Bool -> m ()
refresh PluginArray
self Bool
reload
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (PluginArray
self PluginArray
-> Getting (JSM JSVal) PluginArray (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
"refresh" [Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
reload]))
getLength :: (MonadDOM m) => PluginArray -> m Word
getLength :: forall (m :: * -> *). MonadDOM m => PluginArray -> m Word
getLength PluginArray
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PluginArray
self PluginArray
-> Getting (JSM JSVal) PluginArray (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PluginArray (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"length") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))