fix jq validation

validation always failed because it was looking for a single char
because VALIDATION=. used to be by default
This commit is contained in:
James Andariese 2024-03-30 16:58:17 -05:00
parent 2b24b0fb67
commit b4faa87700

View File

@ -92,12 +92,14 @@ _poll() {
local failed=0 local failed=0
if [ "$JQ_VALIDATION" ];then if [ "$JQ_VALIDATION" ];then
echo "$NEWVAL" | jq -e "$JQ_VALIDATION" > /dev/null || failed=1 echo "$NEWVAL" | jq -e "$JQ_VALIDATION" > /dev/null || failed=2
fi fi
if [ "$VALIDATION" ];then if [ "$VALIDATION" ];then
echo "$NEWVAL" | grep -qE "$VALIDATION" || failed=1 echo "$NEWVAL" | grep -qE "$VALIDATION" || failed=1
fi fi
if (( failed ));then if (( failed == 2 ));then
warn "$NEWVAL failed jq validation"
elif (( failed ));then
warn "$NEWVAL failed validation" warn "$NEWVAL failed validation"
else else
echo "$NEWVAL" echo "$NEWVAL"
@ -123,7 +125,7 @@ filter() {
# VALIDATORS # VALIDATORS
VALIDATION=. VALIDATION=
output_integer() { output_integer() {
VALIDATION='^-?[0-9]+$' VALIDATION='^-?[0-9]+$'
} }
@ -136,6 +138,7 @@ output_string() {
VALIDATION="${1-.*}" VALIDATION="${1-.*}"
} }
JQ_VALIDATION=
output_json() { output_json() {
JQ_VALIDATION="${1-.}" JQ_VALIDATION="${1-.}"
} }