add non-raw jq option

main
NotAFile 2021-09-29 17:37:36 +02:00
parent bb9d1a237c
commit 750c8d3e28
1 changed files with 10 additions and 4 deletions

View File

@ -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"])