1$ fq -i -d mp3 . /test.mp3
2mp3> .headers[0].magic | ., tovalue, type, length?
3   |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
40x0|49 44 33                                       |ID3             |.headers[0].magic: "ID3" (valid)
5"ID3"
6"string"
73
8mp3> .headers[0].magic[0] | ., type, length?
9"I"
10"string"
111
12mp3> .headers[0].magic[-1000] | ., type, length?
13""
14"string"
150
16mp3> .headers[0].magic[1000] | ., type, length?
17""
18"string"
190
20mp3> .headers[0].magic[1:3] | ., type, length?
21"D3"
22"string"
232
24mp3> .headers[0].magic[0:-1] | ., type, length?
25"ID"
26"string"
272
28mp3> .headers[0].magic[-1000:2000] | ., type, length?
29"ID3"
30"string"
313
32mp3> .headers[0].magic["test"] | ., type, length?
33error: expected an object but got: string
34mp3> [.headers[0].magic[]] | type, length?
35error: cannot iterate over: string
36mp3> .headers[0].magic | keys
37error: keys cannot be applied to: string
38mp3> .headers[0].magic | has("a")
39error: has cannot be applied to: string
40mp3> .headers[0].magic | has(0)
41error: has cannot be applied to: string
42mp3> .headers[0].magic | type
43"string"
44mp3> .headers[0].magic | tonumber
45error: invalid number: "ID3"
46mp3> .headers[0].magic | tostring
47"ID3"
48mp3> .headers[0].magic + ""
49"ID3"
50mp3> .headers[0].magic + 1
51error: cannot add: string ("ID3") and number (1)
52mp3> .headers[0].magic._start | ., type, length?
530
54"number"
550
56mp3> .headers[0].magic._stop | ., type, length?
5724
58"number"
5924
60mp3> .headers[0].magic._len | ., type, length?
6124
62"number"
6324
64mp3> .headers[0].magic._name | ., type, length?
65"magic"
66"string"
675
68mp3> .headers[0].magic._sym | ., type, length?
69null
70"null"
710
72mp3> .headers[0].magic._description | ., type, length?
73"valid"
74"string"
755
76mp3> .headers[0].magic._path | ., type, length?
77[
78  "headers",
79  0,
80  "magic"
81]
82"array"
833
84mp3> .headers[0].magic._bits | ., type, length?
85   |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
860x0|49 44 33                                       |ID3             |.: raw bits 0x0-0x2.7 (3)
87"buffer"
8824
89mp3>
90mp3> .headers[0].magic._bytes | ., type, length?
91   |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
920x0|49 44 33                                       |ID3             |.: raw bits 0x0-0x2.7 (3)
93"buffer"
943
95mp3>
96mp3> .headers[0].magic._error | ., type, length?
97null
98"null"
990
100mp3> .headers[0].magic._unknown | ., type, length?
101false
102"boolean"
103mp3> .headers[0].magic.a = 1
104error: expected an object but got: string
105mp3> .headers[0].magic[0] = 1
106error: expected an array with index 0 but got: string
107mp3> .headers[0].magic.a |= empty
108error: expected an object but got: string
109mp3> .headers[0].magic[0] |= empty
110error: expected an array with index 0 but got: string
111mp3> .headers[0].magic | setpath(["a"]; 1)
112error: expected an object with key "a" but got: string
113mp3> .headers[0].magic | setpath([0]; 1)
114error: expected an array with index 0 but got: string
115mp3> .headers[0].magic | delpaths([["a"]])
116error: expected an object with key "a" but got: string
117mp3> .headers[0].magic | delpaths([[0]])
118error: expected an array with index 0 but got: string
119mp3> ^D
120