mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 15:06:33 +01:00
6ac8bdc0ab
Many of the util.is*() methods used to check data types simply compare against a single value or the result of typeof. This commit replaces calls to these methods with equivalent checks. This commit does not touch calls to the more complex methods (isRegExp(), isDate(), etc.). Fixes: https://github.com/iojs/io.js/issues/607 PR-URL: https://github.com/iojs/io.js/pull/647 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
const binding = process.binding('contextify');
|
|
const Script = binding.ContextifyScript;
|
|
|
|
// The binding provides a few useful primitives:
|
|
// - ContextifyScript(code, { filename = "evalmachine.anonymous",
|
|
// displayErrors = true } = {})
|
|
// with methods:
|
|
// - runInThisContext({ displayErrors = true } = {})
|
|
// - runInContext(sandbox, { displayErrors = true, timeout = undefined } = {})
|
|
// - makeContext(sandbox)
|
|
// - isContext(sandbox)
|
|
// From this we build the entire documented API.
|
|
|
|
Script.prototype.runInNewContext = function(sandbox, options) {
|
|
var context = exports.createContext(sandbox);
|
|
return this.runInContext(context, options);
|
|
};
|
|
|
|
exports.Script = Script;
|
|
|
|
exports.createScript = function(code, options) {
|
|
return new Script(code, options);
|
|
};
|
|
|
|
exports.createContext = function(sandbox) {
|
|
if (sandbox === undefined) {
|
|
sandbox = {};
|
|
} else if (binding.isContext(sandbox)) {
|
|
return sandbox;
|
|
}
|
|
|
|
binding.makeContext(sandbox);
|
|
return sandbox;
|
|
};
|
|
|
|
exports.runInDebugContext = function(code) {
|
|
return binding.runInDebugContext(code);
|
|
};
|
|
|
|
exports.runInContext = function(code, contextifiedSandbox, options) {
|
|
var script = new Script(code, options);
|
|
return script.runInContext(contextifiedSandbox, options);
|
|
};
|
|
|
|
exports.runInNewContext = function(code, sandbox, options) {
|
|
var script = new Script(code, options);
|
|
return script.runInNewContext(sandbox, options);
|
|
};
|
|
|
|
exports.runInThisContext = function(code, options) {
|
|
var script = new Script(code, options);
|
|
return script.runInThisContext(options);
|
|
};
|
|
|
|
exports.isContext = binding.isContext;
|