mirror of
https://github.com/wader/fq.git
synced 2024-12-27 15:42:07 +03:00
051a70bd4b
All other ranges and slicing uses exclusive end so i think it make sense to make it consistent. Update docs and add additional example for non-byte-aligned field. Also fixes issue showing zero bit ranges as start-NA.
116 lines
5.0 KiB
Plaintext
116 lines
5.0 KiB
Plaintext
$ fq -i -d mp3 . test.mp3
|
|
mp3> .headers[0].header.flags.unsynchronisation | ., tovalue, toactual, tosym, type, length?
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
|
|
0x0| 00 | . |.headers[0].header.flags.unsynchronisation: false
|
|
false
|
|
false
|
|
null
|
|
"boolean"
|
|
mp3> .headers[0].header.flags.unsynchronisation[0] | ., type, length?
|
|
error: expected an array but got: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation[-1000] | ., type, length?
|
|
error: expected an array but got: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation[1000] | ., type, length?
|
|
error: expected an array but got: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation[1:3] | ., type, length?
|
|
error: expected an array but got: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation[0:-1] | ., type, length?
|
|
error: expected an array but got: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation[-1000:2000] | ., type, length?
|
|
error: expected an array but got: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation["test"] | ., type, length?
|
|
null
|
|
"null"
|
|
0
|
|
mp3> [.headers[0].header.flags.unsynchronisation[]] | type, length?
|
|
error: cannot iterate over: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation | keys
|
|
error: keys cannot be applied to: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation | has("a")
|
|
error: has cannot be applied to: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation | has(0)
|
|
error: has cannot be applied to: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation | type
|
|
"boolean"
|
|
mp3> .headers[0].header.flags.unsynchronisation | tonumber
|
|
error: tonumber cannot be applied to: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation | tostring
|
|
"false"
|
|
mp3> .headers[0].header.flags.unsynchronisation + ""
|
|
error: cannot add: boolean (false) and string ("")
|
|
mp3> .headers[0].header.flags.unsynchronisation + 1
|
|
error: cannot add: boolean (false) and number (1)
|
|
mp3> .headers[0].header.flags.unsynchronisation._start | ., type, length?
|
|
40
|
|
"number"
|
|
40
|
|
mp3> .headers[0].header.flags.unsynchronisation._stop | ., type, length?
|
|
41
|
|
"number"
|
|
41
|
|
mp3> .headers[0].header.flags.unsynchronisation._len | ., type, length?
|
|
1
|
|
"number"
|
|
1
|
|
mp3> .headers[0].header.flags.unsynchronisation._name | ., type, length?
|
|
"unsynchronisation"
|
|
"string"
|
|
17
|
|
mp3> .headers[0].header.flags.unsynchronisation._actual | ., type, length?
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
|
|
0x0| 00 | . |.headers[0].header.flags.unsynchronisation: false
|
|
"boolean"
|
|
mp3> .headers[0].header.flags.unsynchronisation._sym | ., type, length?
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
|
|
0x0| 00 | . |.headers[0].header.flags.unsynchronisation: false
|
|
"null"
|
|
0
|
|
mp3> .headers[0].header.flags.unsynchronisation._description | ., type, length?
|
|
null
|
|
"null"
|
|
0
|
|
mp3> .headers[0].header.flags.unsynchronisation._path | ., type, length?
|
|
[
|
|
"headers",
|
|
0,
|
|
"header",
|
|
"flags",
|
|
"unsynchronisation"
|
|
]
|
|
"array"
|
|
5
|
|
mp3> .headers[0].header.flags.unsynchronisation._bits | ., type, length?
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
|
|
0x0| 00 | . |.: raw bits 0x5-0x5.1 (0.1)
|
|
"string"
|
|
1
|
|
mp3> .headers[0].header.flags.unsynchronisation._bytes | ., type, length?
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
|
|
0x0| 00 | . |.: raw bits 0x5-0x5.1 (0.1)
|
|
"string"
|
|
0
|
|
mp3> .headers[0].header.flags.unsynchronisation._error | ., type, length?
|
|
null
|
|
"null"
|
|
0
|
|
mp3> .headers[0].header.flags.unsynchronisation._gap | ., type, length?
|
|
false
|
|
"boolean"
|
|
mp3> .headers[0].header.flags.unsynchronisation.a = 1
|
|
error: setpath(["headers",0,"header","fl ...]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an object but got: boolean (false)
|
|
mp3> .headers[0].header.flags.unsynchronisation[0] = 1
|
|
error: setpath(["headers",0,"header","fl ...]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an array but got: boolean (false)
|
|
mp3> .headers[0].header.flags.unsynchronisation.a |= empty
|
|
error: delpaths([["headers",0,"header","f ...]) cannot be applied to {"footers":[],"frames":[{" ...: expected an object but got: boolean (false)
|
|
mp3> .headers[0].header.flags.unsynchronisation[0] |= empty
|
|
error: expected an array but got: boolean
|
|
mp3> .headers[0].header.flags.unsynchronisation | setpath(["a"]; 1)
|
|
error: setpath(["a"]; 1) cannot be applied to false: expected an object but got: boolean (false)
|
|
mp3> .headers[0].header.flags.unsynchronisation | setpath([0]; 1)
|
|
error: setpath([0]; 1) cannot be applied to false: expected an array but got: boolean (false)
|
|
mp3> .headers[0].header.flags.unsynchronisation | delpaths([["a"]])
|
|
error: delpaths([["a"]]) cannot be applied to false: expected an object but got: boolean (false)
|
|
mp3> .headers[0].header.flags.unsynchronisation | delpaths([[0]])
|
|
error: delpaths([[0]]) cannot be applied to false: expected an array but got: boolean (false)
|
|
mp3> ^D
|