Skip to content

Commit 1a36e39

Browse files
committed
allow use of global Date & new keyword inside expressions (fix #784)
1 parent 85799df commit 1a36e39

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/parsers/expression.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var Cache = require('../cache')
44
var expressionCache = new Cache(1000)
55

66
var keywords =
7-
'Math,break,case,catch,continue,debugger,default,' +
7+
'Math,Date,break,case,catch,continue,debugger,default,' +
88
'delete,do,else,false,finally,for,function,if,in,' +
99
'instanceof,new,null,return,switch,this,throw,true,try,' +
1010
'typeof,var,void,while,with,undefined,abstract,boolean,' +
@@ -16,7 +16,7 @@ var keywords =
1616

1717
var wsRE = /\s/g
1818
var newlineRE = /\n/g
19-
var saveRE = /[\{,]\s*[\w\$_]+\s*:|('[^']*'|"[^"]*")/g
19+
var saveRE = /[\{,]\s*[\w\$_]+\s*:|('[^']*'|"[^"]*")|new /g
2020
var restoreRE = /"(\d+)"/g
2121
var pathTestRE = /^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\])*$/
2222
var pathReplaceRE = /[^\w$\.]([A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\])*)/g

test/unit/specs/parsers/expression_spec.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,13 @@ var testCases = [
197197
},
198198
expected: true,
199199
paths: []
200+
},
201+
{
202+
// Date global
203+
exp: 'Date.now() > new Date("2000-01-01")',
204+
scope: {},
205+
expected: true,
206+
paths: []
200207
}
201208
]
202209

0 commit comments

Comments
 (0)