scope-eval
Version:
Eval a string with a passed scope
23 lines (20 loc) • 584 B
JavaScript
// Generated by CoffeeScript 1.10.0
(function() {
var hasProp = {}.hasOwnProperty,
slice = [].slice;
module.exports = function(source, scope) {
var key, keys, value, values;
keys = [];
values = [];
for (key in scope) {
if (!hasProp.call(scope, key)) continue;
value = scope[key];
if (key === 'this') {
continue;
}
keys.push(key);
values.push(value);
}
return Function.apply(null, slice.call(keys).concat(["return eval(" + (JSON.stringify(source)) + ")"])).apply(scope["this"], values);
};
}).call(this);