Skip to content

Commit da5cbb5

Browse files
committed
allow query of all fields from event type using syntax type(*). see square#80
1 parent ce8322b commit da5cbb5

File tree

4 files changed

+180
-85
lines changed

4 files changed

+180
-85
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
JS_TESTER = ./node_modules/vows/bin/vows
2-
PEG_COMPILER = ./node_modules/pegjs/bin/pegjs
1+
JS_TESTER = /usr/bin/vows
2+
PEG_COMPILER = /usr/bin/pegjs
33

44
.PHONY: test
55

lib/cube/event-expression.js

Lines changed: 171 additions & 81 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/cube/event-expression.peg

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313

1414
function noop() {}
1515

16+
function everything(fields) {
17+
delete fields.t;
18+
}
19+
1620
function filter(op) {
1721
return function(o, k, v) {
1822
var f = o[k];
@@ -90,7 +94,8 @@ event_filter_expression
9094
= op:filter_operator _ "(" _ member:event_member_expression _ "," _ value:literal _ ")" { return function(o) { op(o, member.field, value); }; }
9195

9296
event_value_expression
93-
= type:type _ "(" _ head:event_member_expression tail:(_ "," _ event_member_expression)* _ ")" { return compoundFields(type, head, tail); }
97+
= type:type _ "(" _ "*" _ ")" { return {type: type, exists: noop, fields: everything}; }
98+
/ type:type _ "(" _ head:event_member_expression tail:(_ "," _ event_member_expression)* _ ")" { return compoundFields(type, head, tail); }
9499
/ type:type { return {type: type, exists: noop, fields: noop}; }
95100

96101
event_member_expression

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"dependencies": {
1919
"mongodb": "^2.2.25",
2020
"node-static": "0.6.5",
21-
"pegjs": "0.7.0",
21+
"pegjs": "0.6.2",
2222
"vows": "0.7.0",
2323
"websocket": "1.0.8",
2424
"node-websocket-server": "1.1.4"

0 commit comments

Comments
 (0)