"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function () { var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var debugChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; (0, _initializeSingletons2.default)(); var r = new _realm.Realm(opts); if (debugChannel) { if (debugChannel.debuggerIsAttached()) { r.debuggerInstance = new _Debugger.DebugServer(debugChannel, r); } } var 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 (var name in evaluators) { r.evaluators[name] = evaluators[name]; }for (var _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