mirror of
https://github.com/wader/fq.git
synced 2024-12-25 14:23:18 +03:00
e3ae1440c9
Feels less cluttered, easier to read and more consistent. Still keep tovalue, tobytes etc that are more basic functions this only renamed format related functions. Also there is an exceptin for to/fromjson as it comes from jq. Also fixes lots of spelling errors while reading thru.
19 lines
767 B
Plaintext
19 lines
767 B
Plaintext
# note this is a "dynamic" include, output string will be used as source
|
|
|
|
# generates decode functions, ex:
|
|
# mp3/0 calls decode("mp3"; {})
|
|
# mp3/1 calls decode("mp3"; $opts)
|
|
# from_mp3/* same but throws error on decode error
|
|
|
|
[ _registry as $r
|
|
| $r.groups
|
|
| to_entries[]
|
|
# TODO: nicer way to skip "all" which also would override builtin all/*
|
|
# skip_decode_function is used to skip bits/bytes as they are special tobits/tobytes
|
|
| select(.key != "all" and ($r.formats[.key].skip_decode_function | not))
|
|
| "def \(.key)($opts): decode(\(.key | tojson); $opts);"
|
|
, "def \(.key): decode(\(.key | tojson); {});"
|
|
, "def from_\(.key)($opts): decode(\(.key | tojson); $opts) | if ._error then error(._error.error) end;"
|
|
, "def from_\(.key): from_\(.key)({});"
|
|
] | join("\n")
|