Tim Schaub
b04a36ede7
Replace use of filter with expressions
...
The canvas vector layer still has the (API candidate) `getFeatures` method that accepts an arbitrary expression (was filter). This, and the `getFeaturesObject` method under it are only used in the tests. The rendering code that was using filters is now calling `layer.getFeaturesObjectForExtent` with an explicit extent and optional geometry type.
2013-06-25 12:15:33 -06:00
Tim Schaub
a663d8fcae
Accept an expression string for rule filter
2013-06-25 12:11:50 -06:00
Tim Schaub
38b784d672
Support +/- unary operators for literals
2013-06-25 12:11:50 -06:00
Tim Schaub
d70a9eba01
Lib for well-known functions
...
This reveals a lexer bug that needs addressing.
2013-06-25 12:11:50 -06:00
Tim Schaub
bd5d9d572e
Lint
2013-06-25 12:11:50 -06:00
Tim Schaub
5e309e244b
Using ol.expression.parse
2013-06-25 12:11:50 -06:00
Tim Schaub
72d32ec71a
Correct index for tokens
2013-06-25 12:11:50 -06:00
Tim Schaub
f0567f5053
Expect the unexpected
2013-06-25 12:11:49 -06:00
Tim Schaub
62eb0dd72b
Give token an index and throw unexpected token from a common place
2013-06-25 12:11:49 -06:00
Tim Schaub
bb1b0cba95
Getter for not expression argument
2013-06-25 12:11:49 -06:00
Tim Schaub
c05fb8c61b
Getters for member expression properties
2013-06-25 12:11:49 -06:00
Tim Schaub
2528581642
Getters for math expression properties
2013-06-25 12:11:49 -06:00
Tim Schaub
4a617871da
Getters for logical expression properties
2013-06-25 12:11:49 -06:00
Tim Schaub
3de330eb99
Getter for literal expression value
2013-06-25 12:11:49 -06:00
Tim Schaub
6d6ec357e1
Getter for identifier expression name
2013-06-25 12:11:48 -06:00
Tim Schaub
582a52849c
Getters for comparison expression properties
2013-06-25 12:11:48 -06:00
Tim Schaub
be636d7f46
Getters for call expression properties
2013-06-25 12:11:48 -06:00
Tim Schaub
6458f98996
Describing the extent of support for ES-5 expressions
2013-06-25 12:11:48 -06:00
Tim Schaub
2fd8f4cb00
Integration testing for binary logical operators
2013-06-25 12:11:48 -06:00
Tim Schaub
973606e67a
Integration tests for equality operators
2013-06-25 12:11:48 -06:00
Tim Schaub
3a3f9bc20b
Integration testing for relational operators
...
No `instanceof` or `in` operator support.
2013-06-25 12:11:47 -06:00
Tim Schaub
9d5424236c
Integration testing for additive operators
2013-06-25 12:11:47 -06:00
Tim Schaub
7c2550fefa
Integration testing for multiplicative operators
2013-06-25 12:11:47 -06:00
Tim Schaub
2492515e8f
Integration testing for unary operators
...
Only supporting ! at the moment.
2013-06-25 12:11:47 -06:00
Tim Schaub
e6f03c8f22
Confirm whitespace is consumed as expected
2013-06-25 12:11:47 -06:00
Tim Schaub
26a7d907a2
Test unary expression parsing
2013-06-25 12:11:47 -06:00
Tim Schaub
a0bd736948
Left-hand-side expression parsing
2013-06-25 12:11:47 -06:00
Tim Schaub
803b3a3f7d
Binary expression parsing
2013-06-25 12:11:46 -06:00
Tim Schaub
40b12410f0
Increment after scanning >= and <= (and expect EOF in tests)
2013-06-25 12:11:46 -06:00
Tim Schaub
379ac82688
Test argument parsing
2013-06-25 12:11:46 -06:00
Tim Schaub
6d0badcf2a
Optional scope (works for expressions without identifiers)
2013-06-25 12:11:46 -06:00
Tim Schaub
d920d8e578
Test left-hand-side expression parsing
2013-06-25 12:11:46 -06:00
Tim Schaub
13d0b8b084
Provide ol.expression.parse method
...
This is the only method needed in the API.
2013-06-25 12:11:46 -06:00
Tim Schaub
3643ea164f
Cast boolean and null before creating literal expression
2013-06-25 12:11:46 -06:00
Tim Schaub
ce67aa2617
Make way for convenience functions in ol.expression package
2013-06-25 12:11:45 -06:00
Tim Schaub
7a1e69e288
Initial parsing tests
2013-06-25 12:11:45 -06:00
Tim Schaub
cb9725bdfb
Provide static method to check for valid operators
2013-06-25 12:11:45 -06:00
Tim Schaub
29b77a2dac
Member expressions
2013-06-25 12:11:45 -06:00
Tim Schaub
fbb028e15e
Call expressions
2013-06-25 12:11:45 -06:00
Tim Schaub
f050546fe2
Logical expressions
2013-06-25 12:11:44 -06:00
Tim Schaub
153df45f95
Math expressions
...
Just simple binary type expressions supported here. These can be serialized in a variety of formats. More complex operations to be supported by call expressions.
2013-06-25 12:11:44 -06:00
Tim Schaub
b2ff793ea1
Comparison expressions
2013-06-25 12:11:44 -06:00
Tim Schaub
052b973b39
Reduce to a single literal
2013-06-25 12:11:44 -06:00
Tim Schaub
20b66fc447
Proper specs
2013-06-25 12:11:43 -06:00
Tim Schaub
0abcbb9854
Stray not
2013-06-25 12:11:43 -06:00
Tim Schaub
a87ebfe97b
Specific expression types
2013-06-25 12:11:43 -06:00
Tim Schaub
063b461ffd
Fewer calls to charCodeAt
2013-06-25 12:11:43 -06:00
Tim Schaub
f272350e00
Expose next and peek methods
2013-06-25 12:11:42 -06:00
Tim Schaub
5baa38b82c
Test punctuator scanning
2013-06-25 12:11:42 -06:00
Tim Schaub
50f94911b1
Scan string literals
2013-06-25 12:11:42 -06:00