msg: add assertion mode
This commit is contained in:
parent
e2b96e39ef
commit
5e075f3a0c
|
@ -245,7 +245,8 @@ Sample Syndicate server script:
|
|||
|
||||
## 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
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
include_rules
|
||||
: foreach *.nim | $(SYNDICATE_PROTOCOL) ./<schema> |> !nim_bin |> {bin}
|
||||
: 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-License-Identifier: Unlicense
|
||||
|
||||
import std/[sequtils, os]
|
||||
import std/[sequtils, os, strutils]
|
||||
import preserves, syndicate, syndicate/relays
|
||||
|
||||
setControlCHook(proc () {.noconv.} = quit())
|
||||
|
||||
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):
|
||||
for e in data:
|
||||
message(turn, ds, e)
|
||||
sync(turn, ds) do (turn: var Turn):
|
||||
stopActor(turn)
|
||||
case cmd
|
||||
of "assert":
|
||||
for e in data:
|
||||
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
|
||||
|
||||
version = "20240405"
|
||||
version = "20240407"
|
||||
author = "Emery Hemingway"
|
||||
description = "Utilites for Syndicated Actors and Synit"
|
||||
license = "unlicense"
|
||||
|
|
Loading…
Reference in New Issue