diff --git a/hellpipe/mappers.py b/hellpipe/mappers.py index 228214c..5473fd3 100644 --- a/hellpipe/mappers.py +++ b/hellpipe/mappers.py @@ -98,10 +98,16 @@ class JqMapper(AbstractMapper): return ["json", "bytes"] def generate(self, input_name: str, output_formats: List[str]) -> ShellMapping: - # TODO: remove join hack with proper datatype analysis - code = dedent(f"""\ - filtered = "\\n".join(jq.all({self._parsed.filter!r}, text={input_name})) - """) + if self._parsed.raw_output: + # TODO: remove join hack with proper datatype analysis + code = dedent(f"""\ + filtered = "\\n".join(jq.all({self._parsed.filter!r}, text={input_name})) + """) + else: + code = dedent(f"""\ + filtered = jq.text({self._parsed.filter!r}, text={input_name}) + """) + return ShellMapping(code=code, output_name="filtered", output_format="str", input_format="", imports=["import jq"])