index.js
function Alcatraz(method, source, domain) {
  if (!(this instanceof Alcatraz)) return new Alcatraz(method, source);

  this.domain = domain || ('undefined' !== typeof document ? document.domain : '');
  this.method = 'if ('+method+') '+ method;
  this.source = source;
  this.compiled = null;
}
function Alcatraz(method, source, domain) {
  if (!(this instanceof Alcatraz)) return new Alcatraz(method, source);

  this.domain = domain || ('undefined' !== typeof document ? document.domain : '');
  this.method = 'if ('+method+') '+ method;
  this.source = source;
  this.compiled = null;
}
function Alcatraz ( method , source , domain ) { if ( ! ( this instanceof Alcatraz ) ) return new Alcatraz ( method , source ) ; this . domain = domain || ( 'undefined' !== typeof document ? document . domain : '' ) ; this . method = 'if (' + method + ') ' + method ; this . source = source ; this . compiled = null ; }
Alcatraz is our source code sandboxing.

@constructor
@param {String} method The global/method name that processes messages.
@param {String} source The actual code.
@param {String} domain The domain name.
@api private
Alcatraz is our source code sandboxing .