UNPKG

prepack

Version:

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

63 lines (47 loc) 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReactElementSet = void 0; var _realm = require("../realm.js"); var _index = require("../values/index.js"); var _invariant = _interopRequireDefault(require("../invariant.js")); var _ReactEquivalenceSet = require("./ReactEquivalenceSet.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 ReactElementSet { constructor(realm, reactEquivalenceSet) { this.realm = realm; this.reactEquivalenceSet = reactEquivalenceSet; } add(reactElement, visitedValues) { if (!visitedValues) visitedValues = new Set(); let reactEquivalenceSet = this.reactEquivalenceSet; let currentMap = reactEquivalenceSet.reactElementRoot; // type currentMap = reactEquivalenceSet.getKey("type", currentMap, visitedValues); let result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, "type", currentMap, visitedValues); currentMap = result.map; // key currentMap = reactEquivalenceSet.getKey("key", currentMap, visitedValues); result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, "key", currentMap, visitedValues); currentMap = result.map; // ref currentMap = reactEquivalenceSet.getKey("ref", currentMap, visitedValues); result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, "ref", currentMap, visitedValues); currentMap = result.map; // props currentMap = reactEquivalenceSet.getKey("props", currentMap, visitedValues); result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, "props", currentMap, visitedValues); if (result.value === null) { result.value = reactElement; } (0, _invariant.default)(result.value instanceof _index.ObjectValue); return result.value; } } exports.ReactElementSet = ReactElementSet; //# sourceMappingURL=ReactElementSet.js.map