json_translator: publish and message to initial dataspace

This commit is contained in:
Emery Hemingway 2023-09-05 12:37:17 +02:00
parent 3e5f791d70
commit d7dd513c97
5 changed files with 10 additions and 17 deletions

View File

@ -2,7 +2,7 @@
## json_translator
Wrapper that executes a command, parses its JSON output, and sends a Preserves conversion as a message in an `<recv @jsonData any>` record.
Wrapper that executes a command, parses its JSON output, converts to Preserves record `<recv @jsonData any>`, and publishes and messages to its initial dataspace.
## json_socket_translator

View File

@ -1,9 +1,5 @@
version 1 .
JsonTranslatorArguments = {
dataspace: #!any
}.
JsonTranslatorConnected = <connected @path string>.
JsonSocketTranslatorArguments = {

View File

@ -24,7 +24,8 @@ proc runChild: string =
stderr.writeLine "no ouput"
quit 1
runActor("main") do (root: Cap; turn: var Turn):
connectStdio(root, turn)
during(turn, root, ?JsonTranslatorArguments) do (ds: Cap):
message(turn, ds, RecvJson(data: runChild().parseJson()))
runActor("main") do (ds: Cap; turn: var Turn):
connectStdio(ds, turn)
let js = runChild().parseJson()
message(turn, ds, RecvJson(data: js))
discard publish(turn, ds, RecvJson(data: js))

View File

@ -3,9 +3,6 @@ import
preserves
type
JsonTranslatorArguments* {.preservesDictionary.} = object
`dataspace`* {.preservesEmbedded.}: Preserve[void]
JsonTranslatorConnected* {.preservesRecord: "connected".} = object
`path`*: string
@ -13,10 +10,9 @@ type
`dataspace`* {.preservesEmbedded.}: Preserve[void]
`socket`*: string
proc `$`*(x: JsonTranslatorArguments | JsonTranslatorConnected |
JsonSocketTranslatorArguments): string =
proc `$`*(x: JsonTranslatorConnected | JsonSocketTranslatorArguments): string =
`$`(toPreserve(x))
proc encode*(x: JsonTranslatorArguments | JsonTranslatorConnected |
JsonSocketTranslatorArguments): seq[byte] =
proc encode*(x: JsonTranslatorConnected | JsonSocketTranslatorArguments): seq[
byte] =
encode(toPreserve(x))

View File

@ -1,6 +1,6 @@
# Package
version = "20230825"
version = "20230905"
author = "Emery Hemingway"
description = "Utilites for Syndicated Actors and Synit"
license = "unlicense"