mirror of
https://github.com/fluencelabs/dashboard
synced 2025-04-27 08:42:14 +00:00
32 lines
932 B
Elm
32 lines
932 B
Elm
module Modules.Air exposing (..)
|
|
|
|
import Air exposing (Air, callBI, fold, next, par, relayEvent, seq, set)
|
|
import Json.Encode exposing (list, string)
|
|
|
|
|
|
air : String -> String -> List String -> Air
|
|
air peerId relayId peers =
|
|
let
|
|
clientIdSet =
|
|
set "clientId" <| string peerId
|
|
|
|
relayIdSet =
|
|
set "relayId" <| string relayId
|
|
|
|
peersSet =
|
|
set "peers" <| list string peers
|
|
|
|
airScript =
|
|
seq
|
|
(callBI "relayId" ( "op", "identity" ) [] Nothing)
|
|
(fold "peers" "p" <|
|
|
par
|
|
(seq
|
|
(callBI "p" ( "dist", "get_modules" ) [] (Just "modules"))
|
|
(relayEvent "modules_discovered" [ "p", "modules" ])
|
|
)
|
|
(next "p")
|
|
)
|
|
in
|
|
clientIdSet <| relayIdSet <| peersSet <| airScript
|