Skip to content

Commit 8384991

Browse files
treat comma as an operation in ParseOp
1 parent 1f6e2e6 commit 8384991

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

parser.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ func parseOp(value Expression, tokens []Token, pos *int) (Expression, error) {
316316
return nil, errors.New("no value between ()")
317317
}
318318
return parseOp(op, tokens, pos)
319-
case CloseParen, CloseBracket:
319+
case CloseParen, CloseBracket, Comma:
320320
return value, nil
321321
default:
322322
return nil, fmt.Errorf("invalid token after ident %d %s", tok.kind, tok.value)

parser_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,18 @@ func TestParser(t *testing.T) {
198198
src: `{"field1":[]}`,
199199
expected: false,
200200
},
201+
{
202+
name: "ident IN value true",
203+
exp: `.field1 IN ["test"]`,
204+
src: `{"field1":"test"}`,
205+
expected: true,
206+
},
207+
{
208+
name: "ident IN value true multiple",
209+
exp: `.field1 IN ["test","foo","bar",]`,
210+
src: `{"field1":"test"}`,
211+
expected: true,
212+
},
201213
{
202214
name: "array eq false",
203215
exp: `[] == ["test"]`,

0 commit comments

Comments
 (0)