msg: add assertion mode
This commit is contained in:
parent
e2b96e39ef
commit
5e075f3a0c
|
@ -245,7 +245,8 @@ Sample Syndicate server script:
|
||||||
|
|
||||||
## msg
|
## msg
|
||||||
|
|
||||||
A utility that sends messages to `$SYNDICATE_ROUTE`.
|
A utility that parses its command-line arguments as Preserves and send them as messages to `$SYNDICATE_ROUTE`.
|
||||||
|
When called as `assert` (by a symlink or a rename) it will make assertions instead.
|
||||||
|
|
||||||
## PostgreSQL
|
## PostgreSQL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include_rules
|
include_rules
|
||||||
: foreach *.nim | $(SYNDICATE_PROTOCOL) ./<schema> |> !nim_bin |> {bin}
|
: foreach *.nim | $(SYNDICATE_PROTOCOL) ./<schema> |> !nim_bin |> {bin}
|
||||||
: foreach {bin} |> !assert_built |>
|
: foreach {bin} |> !assert_built |>
|
||||||
: $(BIN_DIR)/msg |> cp %f %o |> $(BIN_DIR)/beep
|
: $(BIN_DIR)/msg |> !symlink |> $(BIN_DIR)/beep
|
||||||
|
: $(BIN_DIR)/msg |> !symlink |> $(BIN_DIR)/assert
|
||||||
|
|
21
src/msg.nim
21
src/msg.nim
|
@ -1,13 +1,22 @@
|
||||||
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
||||||
# SPDX-License-Identifier: Unlicense
|
# SPDX-License-Identifier: Unlicense
|
||||||
|
|
||||||
import std/[sequtils, os]
|
import std/[sequtils, os, strutils]
|
||||||
import preserves, syndicate, syndicate/relays
|
import preserves, syndicate, syndicate/relays
|
||||||
|
|
||||||
|
setControlCHook(proc () {.noconv.} = quit())
|
||||||
|
|
||||||
runActor("msg") do (turn: var Turn):
|
runActor("msg") do (turn: var Turn):
|
||||||
var data = map(commandLineParams(), parsePreserves)
|
let
|
||||||
|
data = map(commandLineParams(), parsePreserves)
|
||||||
|
cmd = paramStr(0).extractFilename.normalize
|
||||||
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
for e in data:
|
case cmd
|
||||||
message(turn, ds, e)
|
of "assert":
|
||||||
sync(turn, ds) do (turn: var Turn):
|
for e in data:
|
||||||
stopActor(turn)
|
publish(turn, ds, e)
|
||||||
|
else: # "msg"
|
||||||
|
for e in data:
|
||||||
|
message(turn, ds, e)
|
||||||
|
sync(turn, ds) do (turn: var Turn):
|
||||||
|
stopActor(turn)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Package
|
# Package
|
||||||
|
|
||||||
version = "20240405"
|
version = "20240407"
|
||||||
author = "Emery Hemingway"
|
author = "Emery Hemingway"
|
||||||
description = "Utilites for Syndicated Actors and Synit"
|
description = "Utilites for Syndicated Actors and Synit"
|
||||||
license = "unlicense"
|
license = "unlicense"
|
||||||
|
|
Loading…
Reference in New Issue