{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.RTCDataChannel (send, sendView, sendBlob, sendString, close, getLabel, getOrdered, getMaxRetransmitTime, getMaxRetransmits, getProtocol, getNegotiated, getId, getReadyState, getBufferedAmount, setBinaryType, getBinaryType, open, error, closeEvent, message, RTCDataChannel(..), gTypeRTCDataChannel) 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 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 JSDOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import JSDOM.EventTargetClosures (EventName, unsafeEventName) import JSDOM.Enums -- | send :: (MonadDOM m, IsArrayBuffer data') => RTCDataChannel -> Maybe data' -> m () send self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | sendView :: (MonadDOM m, IsArrayBufferView data') => RTCDataChannel -> Maybe data' -> m () sendView self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | sendBlob :: (MonadDOM m, IsBlob data') => RTCDataChannel -> Maybe data' -> m () sendBlob self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | sendString :: (MonadDOM m, ToJSString data') => RTCDataChannel -> data' -> m () sendString self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | close :: (MonadDOM m) => RTCDataChannel -> m () close self = liftDOM (void (self ^. jsf "close" ())) -- | getLabel :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getLabel self = liftDOM ((self ^. js "label") >>= fromJSValUnchecked) -- | getOrdered :: (MonadDOM m) => RTCDataChannel -> m Bool getOrdered self = liftDOM ((self ^. js "ordered") >>= valToBool) -- | getMaxRetransmitTime :: (MonadDOM m) => RTCDataChannel -> m Word getMaxRetransmitTime self = liftDOM (round <$> ((self ^. js "maxRetransmitTime") >>= valToNumber)) -- | getMaxRetransmits :: (MonadDOM m) => RTCDataChannel -> m Word getMaxRetransmits self = liftDOM (round <$> ((self ^. js "maxRetransmits") >>= valToNumber)) -- | getProtocol :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getProtocol self = liftDOM ((self ^. js "protocol") >>= fromJSValUnchecked) -- | getNegotiated :: (MonadDOM m) => RTCDataChannel -> m Bool getNegotiated self = liftDOM ((self ^. js "negotiated") >>= valToBool) -- | getId :: (MonadDOM m) => RTCDataChannel -> m Word getId self = liftDOM (round <$> ((self ^. js "id") >>= valToNumber)) -- | getReadyState :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getReadyState self = liftDOM ((self ^. js "readyState") >>= fromJSValUnchecked) -- | getBufferedAmount :: (MonadDOM m) => RTCDataChannel -> m Word getBufferedAmount self = liftDOM (round <$> ((self ^. js "bufferedAmount") >>= valToNumber)) -- | setBinaryType :: (MonadDOM m, ToJSString val) => RTCDataChannel -> val -> m () setBinaryType self val = liftDOM (self ^. jss "binaryType" (toJSVal val)) -- | getBinaryType :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getBinaryType self = liftDOM ((self ^. js "binaryType") >>= fromJSValUnchecked) -- | open :: EventName RTCDataChannel Event open = unsafeEventName (toJSString "open") -- | error :: EventName RTCDataChannel UIEvent error = unsafeEventName (toJSString "error") -- | closeEvent :: EventName RTCDataChannel CloseEvent closeEvent = unsafeEventName (toJSString "close") -- | message :: EventName RTCDataChannel MessageEvent message = unsafeEventName (toJSString "message")