I have encountered a challenging situation with my angular orderBy filter. It works perfectly except when the expression starts with a hash followed by an integer.
Check out this fiddle to see the issue in action.
The filter structure I'm using looks like this:
[{'ced8d91c7921a884a131fcc7086239':{'value':'somevalue1'},
'0a9308d3092d092718e457d927f110': {'value':'anotherval'}},
{'ced8d91c7921a884a131fcc7086239':{'value':'axxfi'},
'0a9308d3092d092718e457d927f110': {'value':'zziojasf'}}];
A filter predicate like 'somehash.value' will only work if the hash starts with a letter.
I need to filter based on hash ids because the data is dynamic and Angular doesn't know the property names beforehand.
Even attempting to filter in JS using $filter results in the same error.
In reviewing the call stack, it seems that the problem lies within the Lexer.lex
function, specifically at this point:
else if (this.isNumber(ch) || ch === '.' && this.isNumber(this.peek())) {
this.readNumber();
Any suggestions to fix this issue?