Skip to content

Commit fa3dba1

Browse files
committed
gojq: Update fq fork
Changes from upstream: 8fcc90e implement abs function cbbd4bb fix default module paths assuming gojq is located in a bin directory 45d4c5b change behavior of walk with multiple outputs 846cf99 fix stderr to output strings in raw format c352d50 change zero division to produce an error when dividend is zero d579009 fix empty string repeating with the maximum integer d4de65c fix string multiplication by zero to emit empty string 04b48fd remove deprecated leaf_paths function c882861 bump up version to 0.12.13 c310d5d update CHANGELOG.md for v0.12.13 8fb5cc3 update dependencies fb00b66 improve error message of indices, setpath, delpaths functions
1 parent ed720c5 commit fa3dba1

File tree

11 files changed

+50
-39
lines changed

11 files changed

+50
-39
lines changed

CHANGES.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
# 0.8.0 - WIP
2+
3+
- Updated gojq fork with fixes from upstream:
4+
- Improved error messages for indices, setpath, delpaths
5+
- Add `abs` function
6+
- Change behavior of walk with multiple outputs
7+
- Change zero division to produce an error when dividend is zero
8+
- Fix empty string repeating with the maximum integer
9+
- Fix string multiplication by zero to emit empty string
10+
- Remove deprecated `leaf_paths` function
11+
112
# 0.7.0
213

314
Added LuaJIT bytecode decoder by @dlatchx, otherwise mostly small things. Been busy with nice weather and

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
require (
66
// fork of github.com/itchyny/gojq, see github.com/wader/gojq fq branch
7-
github.com/wader/gojq v0.12.1-0.20230529153812-b7e613069119
7+
github.com/wader/gojq v0.12.1-0.20230808095425-173f59d33159
88
// fork of github.com/chzyer/readline, see github.com/wader/readline fq branch
99
github.com/wader/readline v0.0.0-20230307172220-bcb7158e7448
1010
)

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWb
2323
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
2424
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
2525
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
26-
github.com/wader/gojq v0.12.1-0.20230529153812-b7e613069119 h1:9GNJxrBtaN5wHFGapIrWcZMCIjXNjPDgiJJUONo73fk=
27-
github.com/wader/gojq v0.12.1-0.20230529153812-b7e613069119/go.mod h1:jQY39j9tgky+JYcJrKNz5OYTe/sPDAw7FvVj13JGqVk=
26+
github.com/wader/gojq v0.12.1-0.20230808095425-173f59d33159 h1:Xz+k6HkJetG8PR7Y/JLdMYWTMfPjWg1ch4rGXwNfr9g=
27+
github.com/wader/gojq v0.12.1-0.20230808095425-173f59d33159/go.mod h1:kWVMiqIHem9U93XhJV1jj8MLMRdLjWmWFWLb3jA5SRU=
2828
github.com/wader/readline v0.0.0-20230307172220-bcb7158e7448 h1:AzpBtmgdXa3uznrb3esNeEoaLqtNEwckRmaUH0qWD6w=
2929
github.com/wader/readline v0.0.0-20230307172220-bcb7158e7448/go.mod h1:Zgz8IJWvJoe7NK23CCPpC109XMCqJCpUhpHcnnA4XaM=
3030
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=

pkg/interp/testdata/value_array.fqtest

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ mp3> .headers._gap | ., type, length?
189189
false
190190
"boolean"
191191
mp3> .headers.a = 1
192-
error: expected an object but got: array ([{"frames":[{"flags":{"co ...])
192+
error: setpath(["headers","a"]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an object but got: array ([{"frames":[{"flags":{"co ...])
193193
mp3> .headers[0] = 1
194194
{
195195
"footers": [],
@@ -853,13 +853,13 @@ mp3> .headers[0] |= empty
853853
"headers": []
854854
}
855855
mp3> .headers | setpath(["a"]; 1)
856-
error: expected an object but got: array ([{"frames":[{"flags":{"co ...])
856+
error: setpath(["a"]; 1) cannot be applied to [{"frames":[{"flags":{"com ...: expected an object but got: array ([{"frames":[{"flags":{"co ...])
857857
mp3> .headers | setpath([0]; 1)
858858
[
859859
1
860860
]
861861
mp3> .headers | delpaths([["a"]])
862-
error: expected an object but got: array ([{"frames":[{"flags":{"co ...])
862+
error: delpaths([["a"]]) cannot be applied to [{"frames":[{"flags":{"com ...: expected an object but got: array ([{"frames":[{"flags":{"co ...])
863863
mp3> .headers | delpaths([[0]])
864864
[]
865865
mp3> ^D

pkg/interp/testdata/value_boolean.fqtest

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,19 @@ mp3> .headers[0].header.flags.unsynchronisation._gap | ., type, length?
9595
false
9696
"boolean"
9797
mp3> .headers[0].header.flags.unsynchronisation.a = 1
98-
error: expected an object but got: boolean (false)
98+
error: setpath(["headers",0,"header","fl ...]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an object but got: boolean (false)
9999
mp3> .headers[0].header.flags.unsynchronisation[0] = 1
100-
error: expected an array but got: boolean (false)
100+
error: setpath(["headers",0,"header","fl ...]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an array but got: boolean (false)
101101
mp3> .headers[0].header.flags.unsynchronisation.a |= empty
102102
error: expected an object but got: boolean
103103
mp3> .headers[0].header.flags.unsynchronisation[0] |= empty
104104
error: expected an array but got: boolean
105105
mp3> .headers[0].header.flags.unsynchronisation | setpath(["a"]; 1)
106-
error: expected an object but got: boolean (false)
106+
error: setpath(["a"]; 1) cannot be applied to false: expected an object but got: boolean (false)
107107
mp3> .headers[0].header.flags.unsynchronisation | setpath([0]; 1)
108-
error: expected an array but got: boolean (false)
108+
error: setpath([0]; 1) cannot be applied to false: expected an array but got: boolean (false)
109109
mp3> .headers[0].header.flags.unsynchronisation | delpaths([["a"]])
110-
error: expected an object but got: boolean (false)
110+
error: delpaths([["a"]]) cannot be applied to false: expected an object but got: boolean (false)
111111
mp3> .headers[0].header.flags.unsynchronisation | delpaths([[0]])
112-
error: expected an array but got: boolean (false)
112+
error: delpaths([[0]]) cannot be applied to false: expected an array but got: boolean (false)
113113
mp3> ^D

pkg/interp/testdata/value_json_array.fqtest

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,13 @@ error: expected an object but got: array
111111
json> (.)[0] |= empty
112112
[]
113113
json> (.) | setpath(["a"]; 1)
114-
error: expected an object but got: array ([])
114+
error: setpath(["a"]; 1) cannot be applied to []: expected an object but got: array ([])
115115
json> (.) | setpath([0]; 1)
116116
[
117117
1
118118
]
119119
json> (.) | delpaths([["a"]])
120-
error: expected an object but got: array ([])
120+
error: delpaths([["a"]]) cannot be applied to []: expected an object but got: array ([])
121121
json> (.) | delpaths([[0]])
122122
[]
123123
json> ^D

pkg/interp/testdata/value_json_object.fqtest

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ json> (.) | setpath(["a"]; 1)
105105
"a": 1
106106
}
107107
json> (.) | setpath([0]; 1)
108-
error: expected an array but got: object ({})
108+
error: setpath([0]; 1) cannot be applied to {}: expected an array but got: object ({})
109109
json> (.) | delpaths([["a"]])
110110
{}
111111
json> (.) | delpaths([[0]])
112-
error: expected an array but got: object ({})
112+
error: delpaths([[0]]) cannot be applied to {}: expected an array but got: object ({})
113113
json> ^D

pkg/interp/testdata/value_null.fqtest

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,19 @@ mp3> .headers[0].padding._gap | ., type, length?
107107
false
108108
"boolean"
109109
mp3> .headers[0].padding.a = 1
110-
error: expected an object but got: string ("\u0000\u0000\u0000\u0000 ...")
110+
error: setpath(["headers",0,"padding","a"]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an object but got: string ("\u0000\u0000\u0000\u0000 ...")
111111
mp3> .headers[0].padding[0] = 1
112-
error: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
112+
error: setpath(["headers",0,"padding",0]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
113113
mp3> .headers[0].padding.a |= empty
114114
error: expected an object with key "a" but got: string
115115
mp3> .headers[0].padding[0] |= empty
116-
error: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
116+
error: delpaths([["headers",0,"padding",0]]) cannot be applied to {"footers":[],"frames":[{" ...: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
117117
mp3> .headers[0].padding | setpath(["a"]; 1)
118-
error: expected an object but got: string ("\u0000\u0000\u0000\u0000 ...")
118+
error: setpath(["a"]; 1) cannot be applied to "\u0000\u0000\u0000\u0000\ ...: expected an object but got: string ("\u0000\u0000\u0000\u0000 ...")
119119
mp3> .headers[0].padding | setpath([0]; 1)
120-
error: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
120+
error: setpath([0]; 1) cannot be applied to "\u0000\u0000\u0000\u0000\ ...: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
121121
mp3> .headers[0].padding | delpaths([["a"]])
122-
error: expected an object but got: string ("\u0000\u0000\u0000\u0000 ...")
122+
error: delpaths([["a"]]) cannot be applied to "\u0000\u0000\u0000\u0000\ ...: expected an object but got: string ("\u0000\u0000\u0000\u0000 ...")
123123
mp3> .headers[0].padding | delpaths([[0]])
124-
error: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
124+
error: delpaths([[0]]) cannot be applied to "\u0000\u0000\u0000\u0000\ ...: expected an array but got: string ("\u0000\u0000\u0000\u0000 ...")
125125
mp3> ^D

pkg/interp/testdata/value_number.fqtest

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,19 +96,19 @@ mp3> .headers[0].header.version._gap | ., type, length?
9696
false
9797
"boolean"
9898
mp3> .headers[0].header.version.a = 1
99-
error: expected an object but got: number (4)
99+
error: setpath(["headers",0,"header","ve ...]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an object but got: number (4)
100100
mp3> .headers[0].header.version[0] = 1
101-
error: expected an array but got: number (4)
101+
error: setpath(["headers",0,"header","ve ...]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an array but got: number (4)
102102
mp3> .headers[0].header.version.a |= empty
103103
error: expected an object but got: number
104104
mp3> .headers[0].header.version[0] |= empty
105105
error: expected an array but got: number
106106
mp3> .headers[0].header.version | setpath(["a"]; 1)
107-
error: expected an object but got: number (4)
107+
error: setpath(["a"]; 1) cannot be applied to 4: expected an object but got: number (4)
108108
mp3> .headers[0].header.version | setpath([0]; 1)
109-
error: expected an array but got: number (4)
109+
error: setpath([0]; 1) cannot be applied to 4: expected an array but got: number (4)
110110
mp3> .headers[0].header.version | delpaths([["a"]])
111-
error: expected an object but got: number (4)
111+
error: delpaths([["a"]]) cannot be applied to 4: expected an object but got: number (4)
112112
mp3> .headers[0].header.version | delpaths([[0]])
113-
error: expected an array but got: number (4)
113+
error: delpaths([[0]]) cannot be applied to 4: expected an array but got: number (4)
114114
mp3> ^D

pkg/interp/testdata/value_object.fqtest

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ mp3> .headers[0].header.flags.a = 1
477477
]
478478
}
479479
mp3> .headers[0].header.flags[0] = 1
480-
error: expected an array but got: object ({"experimental_indicator" ...})
480+
error: setpath(["headers",0,"header","fl ...]; 1) cannot be applied to {"footers":[],"frames":[{" ...: expected an array but got: object ({"experimental_indicator" ...})
481481
mp3> .headers[0].header.flags.a |= empty
482482
{
483483
"footers": [],
@@ -855,7 +855,7 @@ mp3> .headers[0].header.flags | setpath(["a"]; 1)
855855
"unused": 0
856856
}
857857
mp3> .headers[0].header.flags | setpath([0]; 1)
858-
error: expected an array but got: object ({"experimental_indicator" ...})
858+
error: setpath([0]; 1) cannot be applied to {"experimental_indicator": ...: expected an array but got: object ({"experimental_indicator" ...})
859859
mp3> .headers[0].header.flags | delpaths([["a"]])
860860
{
861861
"experimental_indicator": false,
@@ -864,5 +864,5 @@ mp3> .headers[0].header.flags | delpaths([["a"]])
864864
"unused": 0
865865
}
866866
mp3> .headers[0].header.flags | delpaths([[0]])
867-
error: expected an array but got: object ({"experimental_indicator" ...})
867+
error: delpaths([[0]]) cannot be applied to {"experimental_indicator": ...: expected an array but got: object ({"experimental_indicator" ...})
868868
mp3> ^D

0 commit comments

Comments
 (0)