diff options
Diffstat (limited to 'bin/json-assert-type')
| -rwxr-xr-x | bin/json-assert-type | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/bin/json-assert-type b/bin/json-assert-type new file mode 100755 index 0000000..29cadad --- /dev/null +++ b/bin/json-assert-type @@ -0,0 +1,18 @@ +#! /bin/sh +set -euf + +formal_type=$1 + +actual_value=$2 +actual_type=$(echo $actual_value | jq -r type) + +if [ "$actual_type" != "$formal_type" ]; then +  backtrace +  printf 'error: expected %s, got %s\n' \ +    "$formal_type" \ +    "$actual_type" \ +    >&2 +  exit 1 +fi + +echo "$actual_value" | 
