{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.StorageEvent (initStorageEvent, getKey, getOldValue, getNewValue, getUrl, getStorageArea, StorageEvent, castToStorageEvent, gTypeStorageEvent) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | initStorageEvent :: (MonadDOM m, ToJSString typeArg, ToJSString keyArg, ToJSString oldValueArg, ToJSString newValueArg, ToJSString urlArg) => StorageEvent -> typeArg -> Bool -> Bool -> keyArg -> Maybe oldValueArg -> Maybe newValueArg -> urlArg -> Maybe Storage -> m () initStorageEvent self typeArg canBubbleArg cancelableArg keyArg oldValueArg newValueArg urlArg storageAreaArg = liftDOM (void (self ^. jsf "initStorageEvent" [toJSVal typeArg, toJSVal canBubbleArg, toJSVal cancelableArg, toJSVal keyArg, toJSVal oldValueArg, toJSVal newValueArg, toJSVal urlArg, toJSVal storageAreaArg])) -- | getKey :: (MonadDOM m, FromJSString result) => StorageEvent -> m result getKey self = liftDOM ((self ^. js "key") >>= fromJSValUnchecked) -- | getOldValue :: (MonadDOM m, FromJSString result) => StorageEvent -> m (Maybe result) getOldValue self = liftDOM ((self ^. js "oldValue") >>= fromMaybeJSString) -- | getNewValue :: (MonadDOM m, FromJSString result) => StorageEvent -> m (Maybe result) getNewValue self = liftDOM ((self ^. js "newValue") >>= fromMaybeJSString) -- | getUrl :: (MonadDOM m, FromJSString result) => StorageEvent -> m result getUrl self = liftDOM ((self ^. js "url") >>= fromJSValUnchecked) -- | getStorageArea :: (MonadDOM m) => StorageEvent -> m (Maybe Storage) getStorageArea self = liftDOM ((self ^. js "storageArea") >>= fromJSVal)