json_translator: publish and message to initial dataspace
This commit is contained in:
parent
3e5f791d70
commit
d7dd513c97
|
@ -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
|
||||
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
version 1 .
|
||||
|
||||
JsonTranslatorArguments = {
|
||||
dataspace: #!any
|
||||
}.
|
||||
|
||||
JsonTranslatorConnected = <connected @path string>.
|
||||
|
||||
JsonSocketTranslatorArguments = {
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Package
|
||||
|
||||
version = "20230825"
|
||||
version = "20230905"
|
||||
author = "Emery Hemingway"
|
||||
description = "Utilites for Syndicated Actors and Synit"
|
||||
license = "unlicense"
|
||||
|
|
Loading…
Reference in New Issue