{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.EventSource (js_newEventSource, newEventSource, js_close, close, pattern CONNECTING, pattern OPEN, pattern CLOSED, js_getUrl, getUrl, js_getWithCredentials, getWithCredentials, js_getReadyState, getReadyState, open, message, error, EventSource(..), gTypeEventSource) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSVal(..), FromJSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) import Control.Monad (void) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import Data.Maybe (fromJust) import Data.Traversable (mapM) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "new window[\"EventSource\"]($1,\n$2)" js_newEventSource :: JSString -> Optional EventSourceInit -> IO EventSource -- | newEventSource :: (MonadIO m, ToJSString url) => url -> Maybe EventSourceInit -> m EventSource newEventSource url eventSourceInitDict = liftIO (js_newEventSource (toJSString url) (maybeToOptional eventSourceInitDict)) foreign import javascript unsafe "$1[\"close\"]()" js_close :: EventSource -> IO () -- | close :: (MonadIO m) => EventSource -> m () close self = liftIO (js_close self) pattern CONNECTING = 0 pattern OPEN = 1 pattern CLOSED = 2 foreign import javascript unsafe "$1[\"url\"]" js_getUrl :: EventSource -> IO JSString -- | getUrl :: (MonadIO m, FromJSString result) => EventSource -> m result getUrl self = liftIO (fromJSString <$> (js_getUrl self)) foreign import javascript unsafe "($1[\"withCredentials\"] ? 1 : 0)" js_getWithCredentials :: EventSource -> IO Bool -- | getWithCredentials :: (MonadIO m) => EventSource -> m Bool getWithCredentials self = liftIO (js_getWithCredentials self) foreign import javascript unsafe "$1[\"readyState\"]" js_getReadyState :: EventSource -> IO Word -- | getReadyState :: (MonadIO m) => EventSource -> m Word getReadyState self = liftIO (js_getReadyState self) -- | open :: EventName EventSource Event open = unsafeEventName (toJSString "open") -- | message :: EventName EventSource MessageEvent message = unsafeEventName (toJSString "message") -- | error :: EventName EventSource UIEvent error = unsafeEventName (toJSString "error")