32 lines
694 B
Elm
32 lines
694 B
Elm
port module Ports exposing
|
|
( socketOnEvent
|
|
, socketSend
|
|
, socketOpen
|
|
)
|
|
|
|
import Websockets
|
|
import Json.Encode as Encode
|
|
|
|
port webSocketCommand : Websockets.CommandPort msg
|
|
port webSocketEvent : Websockets.EventPort msg
|
|
|
|
socketName : String
|
|
socketName = "app"
|
|
|
|
socketOnEvent : Websockets.EventHandlers msg -> Sub msg
|
|
socketOnEvent eventHandlers =
|
|
socket.onEvent eventHandlers
|
|
|
|
socketSend : Encode.Value -> Cmd msg
|
|
socketSend data = socket.send socketName data
|
|
|
|
socketOpen : Cmd msg
|
|
socketOpen = socket.open socketName "/ws/" []
|
|
|
|
socket : Websockets.Methods msg
|
|
socket =
|
|
Websockets.withPorts
|
|
{ command = webSocketCommand
|
|
, event = webSocketEvent
|
|
}
|