UNPKG

prepack

Version:

Execute a JS bundle, serialize global state and side effects to a snapshot that can be quickly restored.

43 lines (32 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (realm, obj) { // ECMA262 19.3.1 obj.$BooleanData = realm.intrinsics.false; const tsTemplateSrc = "(A).toString()"; const tsTemplate = (0, _builder2.default)(tsTemplateSrc); // ECMA262 19.3.3.3 obj.defineNativeMethod("toString", 0, context => { const target = context instanceof _index.ObjectValue ? context.$BooleanData : context; if (target instanceof _index.AbstractValue && target.getType() === _index.BooleanValue) { return _index.AbstractValue.createFromTemplate(realm, tsTemplate, _index.StringValue, [target], tsTemplateSrc); } // 1. Let b be ? thisBooleanValue(this value). let b = _singletons.To.thisBooleanValue(realm, context); // 2. If b is true, return "true"; else return "false". return new _index.StringValue(realm, b.value ? "true" : "false"); }); // ECMA262 19.3.3.4 obj.defineNativeMethod("valueOf", 0, context => { // 1. Return ? thisBooleanValue(this value). return _singletons.To.thisBooleanValue(realm, context); }); }; var _index = require("../../values/index.js"); var _singletons = require("../../singletons.js"); var _builder = require("../../utils/builder.js"); var _builder2 = _interopRequireDefault(_builder); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } //# sourceMappingURL=BooleanPrototype.js.map