UNPKG

prepack

Version:

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

201 lines (153 loc) 4.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _index = require("./index.js"); var _invariant = _interopRequireDefault(require("../invariant.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Copyright (c) 2017-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ class Value { constructor(realm, intrinsicName) { (0, _invariant.default)(realm, "realm required"); this.$Realm = realm; this.intrinsicName = intrinsicName; this.expressionLocation = realm.currentLocation; } // Name from original source if existant toDisplayString() { return "[" + this.constructor.name + " originally; " + (this.__originalName ? this.__originalName : "undefined") + "]"; } equals(x) { (0, _invariant.default)(false, "abstract method; please override"); } getHash() { (0, _invariant.default)(false, "abstract method; please override"); } getType() { return this.constructor; } static isTypeCompatibleWith(type, Constructor) { return type.prototype instanceof Constructor || type.prototype === Constructor.prototype; } // this => val. A false value does not imply that !(this => val). implies(val, depth = 0) { if (!this.mightNotBeFalse()) return true; if (this.equals(val)) return true; return false; } // this => !val. A false value does not imply that !(this => !val). impliesNot(val, depth = 0) { if (!this.mightNotBeFalse()) return true; if (this.equals(val)) return false; return false; } isIntrinsic() { return !!this.intrinsicName; } isTemporal() { (0, _invariant.default)(false, "abstract method; please override"); } isPartialObject() { return false; } isSimpleObject() { return false; } mightBeFalse() { (0, _invariant.default)(false, "abstract method; please override"); } mightNotBeFalse() { (0, _invariant.default)(false, "abstract method; please override"); } mightBeNull() { (0, _invariant.default)(false, "abstract method; please override"); } mightNotBeNull() { (0, _invariant.default)(false, "abstract method; please override"); } mightBeNumber() { (0, _invariant.default)(false, "abstract method; please override"); } mightNotBeNumber() { (0, _invariant.default)(false, "abstract method; please override"); } mightNotBeObject() { (0, _invariant.default)(false, "abstract method; please override"); } mightBeObject() { (0, _invariant.default)(false, "abstract method; please override"); } mightBeString() { (0, _invariant.default)(false, "abstract method; please override"); } mightNotBeString() { (0, _invariant.default)(false, "abstract method; please override"); } mightBeTrue() { return this.mightNotBeFalse(); } mightNotBeTrue() { return this.mightBeFalse(); } mightBeUndefined() { (0, _invariant.default)(false, "abstract method; please override"); } mightNotBeUndefined() { (0, _invariant.default)(false, "abstract method; please override"); } mightHaveBeenDeleted() { (0, _invariant.default)(false, "abstract method; please override"); } promoteEmptyToUndefined() { (0, _invariant.default)(false, "abstract method; please override"); } throwIfNotConcrete() { (0, _invariant.default)(false, "abstract method; please override"); } throwIfNotConcreteNumber() { (0, _invariant.default)(false, "abstract method; please override"); } throwIfNotConcreteString() { throw new Error("abstract method; please override"); } throwIfNotConcreteBoolean() { throw new Error("abstract method; please override"); } throwIfNotConcreteSymbol() { throw new Error("abstract method; please override"); } throwIfNotConcreteObject() { (0, _invariant.default)(false, "abstract method; please override"); } throwIfNotConcretePrimitive() { (0, _invariant.default)(false, "abstract method; please override"); } throwIfNotObject() { (0, _invariant.default)(false, "abstract method; please override"); } serialize(stack = new Map()) { if (stack.has(this)) { return stack.get(this); } else { let set = val => { stack.set(this, val); return val; }; return set(this._serialize(set, stack)); } } _serialize(set, stack) { (0, _invariant.default)(false, "abstract method; please override"); } getDebugName() { return this.intrinsicName || this.__originalName; } } exports.default = Value; //# sourceMappingURL=Value.js.map