2022-06-09 18:15:13 +00:00
|
|
|
|
|
|
|
import
|
2023-05-16 09:51:56 +00:00
|
|
|
preserves
|
2022-06-09 18:15:13 +00:00
|
|
|
|
|
|
|
type
|
2023-05-05 16:38:04 +00:00
|
|
|
Output* {.preservesRecord: "recv-json".} = object
|
|
|
|
`field0`*: Preserve[void]
|
2022-06-09 18:15:13 +00:00
|
|
|
|
2023-05-05 16:38:04 +00:00
|
|
|
JsonTranslatorArguments* {.preservesDictionary.} = object
|
|
|
|
`dataspace`* {.preservesEmbedded.}: Preserve[void]
|
|
|
|
|
2023-05-16 09:51:56 +00:00
|
|
|
JsonTranslatorConnected* {.preservesRecord: "connected".} = object
|
|
|
|
`path`*: string
|
|
|
|
|
2023-05-05 16:38:04 +00:00
|
|
|
JsonSocketTranslatorArguments* {.preservesDictionary.} = object
|
|
|
|
`dataspace`* {.preservesEmbedded.}: Preserve[void]
|
|
|
|
`socket`*: string
|
|
|
|
|
|
|
|
Input* {.preservesRecord: "send-json".} = object
|
|
|
|
`field0`*: Preserve[void]
|
|
|
|
|
2023-05-16 09:51:56 +00:00
|
|
|
proc `$`*(x: Output | JsonTranslatorArguments | JsonTranslatorConnected |
|
|
|
|
JsonSocketTranslatorArguments |
|
2023-05-05 16:38:04 +00:00
|
|
|
Input): string =
|
2022-06-09 18:15:13 +00:00
|
|
|
`$`(toPreserve(x))
|
|
|
|
|
2023-05-16 09:51:56 +00:00
|
|
|
proc encode*(x: Output | JsonTranslatorArguments | JsonTranslatorConnected |
|
|
|
|
JsonSocketTranslatorArguments |
|
2023-05-05 16:38:04 +00:00
|
|
|
Input): seq[byte] =
|
2022-06-09 18:15:13 +00:00
|
|
|
encode(toPreserve(x))
|