0.1.1 • Published 10 years ago

sandbox-runner v0.1.1

Weekly downloads
4
License
MIT
Repository
github
Last release
10 years ago

sandbox-runner NPM version Build Status Dependency Status

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 as this 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

NPM downloads