on develop help sign in
Add IsWebSocketMessage instance for lazy ByteString.
1b74285Luigy Leon
reflex-dom-core/src/Reflex/Dom/WebSocket/Foreign.hs+4
@@ -15,6 +15,7 @@ import Prelude hiding (all, concat, concatMap, div, mapM, mapM_, sequence, span)
15import Control.Monad.Reader
15import Control.Monad.Reader
16import Data.Bifoldable
16import Data.Bifoldable
17import Data.ByteString (ByteString)
17import Data.ByteString (ByteString)
18+import qualified Data.ByteString.Lazy as LBS
18import Data.Text (Text)
19import Data.Text (Text)
19import Data.Text.Encoding
20import Data.Text.Encoding
20import Foreign.JavaScript.Utils (bsFromMutableArrayBuffer, bsToArrayBuffer)
21import Foreign.JavaScript.Utils (bsFromMutableArrayBuffer, bsToArrayBuffer)
@@ -43,6 +44,9 @@ instance IsWebSocketMessage ByteString where
43 ab <- bsToArrayBuffer bs
44 ab <- bsToArrayBuffer bs
44 DOM.send ws ab
45 DOM.send ws ab
45
46
47+instance IsWebSocketMessage LBS.ByteString where
48+ webSocketSend ws = webSocketSend ws . LBS.toStrict
49+
46-- Use plaintext websocket communication for Text, and String
50-- Use plaintext websocket communication for Text, and String
47instance IsWebSocketMessage Text where
51instance IsWebSocketMessage Text where
48 webSocketSend (JSWebSocket ws) = DOM.sendString ws
52 webSocketSend (JSWebSocket ws) = DOM.sendString ws