2021-10-06 09:30:38 +00:00
|
|
|
|
|
|
|
import
|
|
|
|
std/typetraits, preserves
|
|
|
|
|
|
|
|
type
|
2021-09-24 19:25:47 +00:00
|
|
|
WebSocket* {.preservesRecord: "ws".} = object
|
2021-10-06 09:30:38 +00:00
|
|
|
`url`*: string
|
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
Stdio* {.preservesRecord: "stdio".} = object
|
|
|
|
|
|
|
|
Unix* {.preservesRecord: "unix".} = object
|
|
|
|
`path`*: string
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
Tcp* {.preservesRecord: "tcp".} = object
|
|
|
|
`host`*: string
|
2021-11-03 18:21:52 +00:00
|
|
|
`port`*: int
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
proc `$`*(x: WebSocket | Stdio | Unix | Tcp): string =
|
|
|
|
`$`(toPreserve(x))
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
proc encode*(x: WebSocket | Stdio | Unix | Tcp): seq[byte] =
|
|
|
|
encode(toPreserve(x))
|