diff --git a/README.md b/README.md index 0843034..4bce40b 100644 --- a/README.md +++ b/README.md @@ -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 `` record. +Wrapper that executes a command, parses its JSON output, converts to Preserves record ``, and publishes and messages to its initial dataspace. ## json_socket_translator diff --git a/config.prs b/config.prs index 55e4cd4..f6dd0c6 100644 --- a/config.prs +++ b/config.prs @@ -1,9 +1,5 @@ version 1 . -JsonTranslatorArguments = { - dataspace: #!any -}. - JsonTranslatorConnected = . JsonSocketTranslatorArguments = { diff --git a/src/json_translator.nim b/src/json_translator.nim index 6b615bb..009fb90 100644 --- a/src/json_translator.nim +++ b/src/json_translator.nim @@ -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)) diff --git a/src/schema/config.nim b/src/schema/config.nim index 752d013..01e556b 100644 --- a/src/schema/config.nim +++ b/src/schema/config.nim @@ -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)) diff --git a/syndicate_utils.nimble b/syndicate_utils.nimble index afe8054..1d2dc6b 100644 --- a/syndicate_utils.nimble +++ b/syndicate_utils.nimble @@ -1,6 +1,6 @@ # Package -version = "20230825" +version = "20230905" author = "Emery Hemingway" description = "Utilites for Syndicated Actors and Synit" license = "unlicense"