0.1.1 • Published 10 years ago
sandbox-runner v0.1.1
sandbox-runner
Eval a piece of javascript text in a sandbox environment Could be useful to test code generation or test javascript without proper module encapsulation.
Install
Install using npm.
$ npm install sandbox-runner
Usage
var fs = require('fs');
var sandbox = require('sandbox-runner');
var codeSnippet = fs.readFileSync('./templates.js', {encoding:'utf8'});
/* Content of templates.js
this.Templates = this.Templates != null ? this.Templates : {};
this.Templates["hello"] = function (name) {
return 'hello ' + name + '!';
};
this.Templates["foo"] = function () {
return 'foo';
};
*/
var context = sandbox.run(codeSnippet);
context.Templates.hello('world').should.equal('hello world !');
API
sanbox.run(script, context = {})
run the script snippet, a
context
is provided asthis
pointer.
- script The script text to be executed
- context The context that used in execution. An empty object will be provide if omitted.
HINT Exception is thrown when error occurs in script. Remember to catch the exception in async code.
sandbox.moduleRun(script, filename = '')
run the script snippet as a node.js module
- script The script text to be executed
- filenae The fake file name that of the module in file system.
License
MIT