Skip to content

Commit 2cebcd0

Browse files
committed
Modified the >, >=, < and <= to accept values if they're both strings as well as numbers.
1 parent f169259 commit 2cebcd0

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/jsonselect.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,13 @@
124124
'%': [ 9, function(lhs, rhs) { return lhs % rhs; } ],
125125
'+': [ 7, function(lhs, rhs) { return lhs + rhs; } ],
126126
'-': [ 7, function(lhs, rhs) { return lhs - rhs; } ],
127-
'<=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs <= rhs; } ],
128-
'>=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs >= rhs; } ],
127+
'<=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs <= rhs || is(lhs, 'string') && is(rhs, 'string') && lhs <= rhs; } ],
128+
'>=': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs >= rhs || is(lhs, 'string') && is(rhs, 'string') && lhs >= rhs; } ],
129129
'$=': [ 5, function(lhs, rhs) { return is(lhs, 'string') && is(rhs, 'string') && lhs.lastIndexOf(rhs) === lhs.length - rhs.length; } ],
130130
'^=': [ 5, function(lhs, rhs) { return is(lhs, 'string') && is(rhs, 'string') && lhs.indexOf(rhs) === 0; } ],
131131
'*=': [ 5, function(lhs, rhs) { return is(lhs, 'string') && is(rhs, 'string') && lhs.indexOf(rhs) !== -1; } ],
132-
'>': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs > rhs; } ],
133-
'<': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs < rhs; } ],
132+
'>': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs > rhs || is(lhs, 'string') && is(rhs, 'string') && lhs > rhs; } ],
133+
'<': [ 5, function(lhs, rhs) { return is(lhs, 'number') && is(rhs, 'number') && lhs < rhs || is(lhs, 'string') && is(rhs, 'string') && lhs < rhs; } ],
134134
'=': [ 3, function(lhs, rhs) { return lhs === rhs; } ],
135135
'!=': [ 3, function(lhs, rhs) { return lhs !== rhs; } ],
136136
'&&': [ 2, function(lhs, rhs) { return lhs && rhs; } ],

0 commit comments

Comments
 (0)