#!/bin/sh
nflag=""
if [ "$1" = "-n" ]; then
	nflag="-n"
	shift
fi

if [ $# -le 0 ]; then
	echo "usage: jaq [-n] <awk expressions...>" >&2
	exit 1
fi
expr="$*"

# POSIX way to simulate -o pipefail if JSON data is invalid.
statusfile=$(mktemp)
trap -- "rm -f \"${statusfile}\"" "EXIT"
{ json2tsv ${nflag} -r -F '\x1f' -R '\x1e'; echo $? >"${statusfile}"; } | \
	LC_ALL=C awk "BEGIN { FS = \"\x1f\"; RS = \"\x1e\" }${expr}"
statuscode="$(cat "${statusfile}" 2>/dev/null)$?"
[ "${statuscode}" = "00" ]
