example-spa-elm-app/frontend/src/Ports.elm

32 lines
694 B
Elm
Raw Normal View History

port module Ports exposing
( socketOnEvent
, socketSend
, socketOpen
)
2025-01-01 01:50:26 +00:00
import Websockets
import Json.Encode as Encode
2025-01-01 01:50:26 +00:00
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/" []
2025-01-01 01:50:26 +00:00
socket : Websockets.Methods msg
socket =
Websockets.withPorts
{ command = webSocketCommand
, event = webSocketEvent
}