first commit
This commit is contained in:
36
build/node_modules/prepack/lib/evaluators/ConditionalExpression.js
generated
vendored
Normal file
36
build/node_modules/prepack/lib/evaluators/ConditionalExpression.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
exports.default = function (ast, strictCode, env, realm) {
|
||||
var exprRef = env.evaluate(ast.test, strictCode);
|
||||
var exprValue = _singletons.Environment.GetConditionValue(realm, exprRef);
|
||||
|
||||
if (exprValue instanceof _index.ConcreteValue) {
|
||||
if (_singletons.To.ToBoolean(realm, exprValue)) {
|
||||
return env.evaluate(ast.consequent, strictCode);
|
||||
} else {
|
||||
return env.evaluate(ast.alternate, strictCode);
|
||||
}
|
||||
}
|
||||
(0, _invariant2.default)(exprValue instanceof _index.AbstractValue);
|
||||
|
||||
if (!exprValue.mightNotBeTrue()) return env.evaluate(ast.consequent, strictCode);
|
||||
if (!exprValue.mightNotBeFalse()) return env.evaluate(ast.alternate, strictCode);
|
||||
return (0, _IfStatement.evaluateWithAbstractConditional)(exprValue, ast.consequent, ast.alternate, strictCode, env, realm);
|
||||
};
|
||||
|
||||
var _index = require("../values/index.js");
|
||||
|
||||
var _IfStatement = require("./IfStatement.js");
|
||||
|
||||
var _singletons = require("../singletons.js");
|
||||
|
||||
var _invariant = require("../invariant.js");
|
||||
|
||||
var _invariant2 = _interopRequireDefault(_invariant);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
//# sourceMappingURL=ConditionalExpression.js.map
|
||||
Reference in New Issue
Block a user