prepack
Version:
Execute a JS bundle, serialize global state and side effects to a snapshot that can be quickly restored.
63 lines (43 loc) • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (opts = {}, debugChannel = undefined) {
(0, _initializeSingletons2.default)();
let r = new _realm.Realm(opts);
if (debugChannel) {
if (debugChannel.debuggerIsAttached()) {
r.debuggerInstance = new _Debugger.DebugServer(debugChannel, r);
}
}
let i = r.intrinsics;
(0, _index.initialize)(i, r);
// TODO: Find a way to let different environments initialize their own global
// object for special magic host objects such as the window object in the DOM.
r.$GlobalObject = new _index4.ObjectValue(r, i.ObjectPrototype, "global");
(0, _global2.default)(r);
for (let name in evaluators) r.evaluators[name] = evaluators[name];
for (let name in partialEvaluators) r.partialEvaluators[name] = partialEvaluators[name];
r.simplifyAndRefineAbstractValue = _simplifier2.default.bind(null, r, false);
r.simplifyAndRefineAbstractCondition = _simplifier2.default.bind(null, r, true);
r.$GlobalEnv = _singletons.Environment.NewGlobalEnvironment(r, r.$GlobalObject, r.$GlobalObject);
return r;
};
var _realm = require("./realm.js");
var _initializeSingletons = require("./initialize-singletons.js");
var _initializeSingletons2 = _interopRequireDefault(_initializeSingletons);
var _index = require("./intrinsics/index.js");
var _global = require("./intrinsics/ecma262/global.js");
var _global2 = _interopRequireDefault(_global);
var _index2 = require("./evaluators/index.js");
var evaluators = _interopRequireWildcard(_index2);
var _index3 = require("./partial-evaluators/index.js");
var partialEvaluators = _interopRequireWildcard(_index3);
var _singletons = require("./singletons.js");
var _index4 = require("./values/index.js");
var _Debugger = require("./debugger/server/Debugger.js");
var _simplifier = require("./utils/simplifier.js");
var _simplifier2 = _interopRequireDefault(_simplifier);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=construct_realm.js.map