Skip to content

Commit 3d44ba2

Browse files
committed
Merge pull request #24 from caseycrites/string_comparisons
Compare strings with >, >=, < and <=
2 parents d642d73 + 2cebcd0 commit 3d44ba2

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/jsonselect.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,13 @@
161161
'%': [ 9, function(lhs, rhs) { return lhs % rhs; } ],
162162
'+': [ 7, function(lhs, rhs) { return lhs + rhs; } ],
163163
'-': [ 7, function(lhs, rhs) { return lhs - rhs; } ],
164-
'<=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs <= rhs; } ],
165-
'>=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs >= rhs; } ],
164+
'<=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs <= rhs || is(lhs, 'string') && is(rhs, 'string') && lhs <= rhs; } ],
165+
'>=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs >= rhs || is(lhs, 'string') && is(rhs, 'string') && lhs >= rhs; } ],
166166
'$=': [ 5, function(lhs, rhs) { return is(lhs, 'string') && is(rhs, 'string') && lhs.lastIndexOf(rhs) === lhs.length - rhs.length; } ],
167167
'^=': [ 5, function(lhs, rhs) { return is(lhs, 'string') && is(rhs, 'string') && lhs.indexOf(rhs) === 0; } ],
168168
'*=': [ 5, function(lhs, rhs) { return is(lhs, 'string') && is(rhs, 'string') && lhs.indexOf(rhs) !== -1; } ],
169-
'>': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs > rhs; } ],
170-
'<': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs < rhs; } ],
169+
'>': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs > rhs || is(lhs, 'string') && is(rhs, 'string') && lhs > rhs; } ],
170+
'<': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs < rhs || is(lhs, 'string') && is(rhs, 'string') && lhs < rhs; } ],
171171
'=': [ 3, function(lhs, rhs) { return lhs === rhs; } ],
172172
'!=': [ 3, function(lhs, rhs) { return lhs !== rhs; } ],
173173
'&&': [ 2, function(lhs, rhs) { return lhs && rhs; } ],

0 commit comments

Comments
 (0)