UNPKG

prepack

Version:

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

103 lines (82 loc) 4.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMockReactDOM = createMockReactDOM; exports.createMockReactDOMServer = createMockReactDOMServer; var _index = require("../../values/index.js"); var _utils = require("../../react/utils.js"); var _invariant = _interopRequireDefault(require("../../invariant.js")); var _utils2 = require("./utils.js"); var _rendering = require("../../react/experimental-server-rendering/rendering.js"); var _generator = require("../../utils/generator.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. */ function createMockReactDOM(realm, reactDomRequireName) { let reactDomValue = new _index.ObjectValue(realm, realm.intrinsics.ObjectPrototype); reactDomValue.refuseSerialization = true; (0, _utils2.updateIntrinsicNames)(realm, reactDomValue, reactDomRequireName); const genericTemporalFunc = (funcVal, args) => { let reactDomMethod = _index.AbstractValue.createTemporalFromBuildFunction(realm, _index.FunctionValue, [funcVal, ...args], (0, _generator.createOperationDescriptor)("REACT_TEMPORAL_FUNC"), { skipInvariant: true, isPure: true }); (0, _invariant.default)(reactDomMethod instanceof _index.AbstractObjectValue); return reactDomMethod; }; (0, _utils2.addMockFunctionToObject)(realm, reactDomValue, reactDomRequireName, "render", genericTemporalFunc); (0, _utils2.addMockFunctionToObject)(realm, reactDomValue, reactDomRequireName, "hydrate", genericTemporalFunc); (0, _utils2.addMockFunctionToObject)(realm, reactDomValue, reactDomRequireName, "findDOMNode", genericTemporalFunc); (0, _utils2.addMockFunctionToObject)(realm, reactDomValue, reactDomRequireName, "unmountComponentAtNode", genericTemporalFunc); const createPortalFunc = (funcVal, [reactPortalValue, domNodeValue]) => { let reactDomMethod = _index.AbstractValue.createTemporalFromBuildFunction(realm, _index.ObjectValue, [funcVal, reactPortalValue, domNodeValue], (0, _generator.createOperationDescriptor)("REACT_TEMPORAL_FUNC"), { skipInvariant: true, isPure: true }); (0, _invariant.default)(reactDomMethod instanceof _index.AbstractObjectValue); realm.react.abstractHints.set(reactDomMethod, (0, _utils.createReactHintObject)(reactDomValue, "createPortal", [reactPortalValue, domNodeValue], realm.intrinsics.undefined)); return reactDomMethod; }; (0, _utils2.addMockFunctionToObject)(realm, reactDomValue, reactDomRequireName, "createPortal", createPortalFunc); reactDomValue.refuseSerialization = false; reactDomValue.makeFinal(); return reactDomValue; } function createMockReactDOMServer(realm, requireName) { let reactDomServerValue = new _index.ObjectValue(realm, realm.intrinsics.ObjectPrototype); reactDomServerValue.refuseSerialization = true; (0, _utils2.updateIntrinsicNames)(realm, reactDomServerValue, requireName); const genericTemporalFunc = (funcVal, args) => { let reactDomMethod = _index.AbstractValue.createTemporalFromBuildFunction(realm, _index.FunctionValue, [funcVal, ...args], (0, _generator.createOperationDescriptor)("REACT_TEMPORAL_FUNC"), { skipInvariant: true, isPure: true }); (0, _invariant.default)(reactDomMethod instanceof _index.AbstractObjectValue); return reactDomMethod; }; (0, _utils2.addMockFunctionToObject)(realm, reactDomServerValue, requireName, "renderToString", (funcVal, [input]) => { if (input instanceof _index.ObjectValue && (0, _utils.isReactElement)(input)) { return (0, _rendering.renderToString)(realm, input, false); } return genericTemporalFunc(funcVal, [input]); }); (0, _utils2.addMockFunctionToObject)(realm, reactDomServerValue, requireName, "renderToStaticMarkup", (funcVal, [input]) => { if (input instanceof _index.ObjectValue && (0, _utils.isReactElement)(input)) { return (0, _rendering.renderToString)(realm, input, true); } return genericTemporalFunc(funcVal, [input]); }); (0, _utils2.addMockFunctionToObject)(realm, reactDomServerValue, requireName, "renderToNodeStream", genericTemporalFunc); (0, _utils2.addMockFunctionToObject)(realm, reactDomServerValue, requireName, "renderToStaticNodeStream", genericTemporalFunc); reactDomServerValue.refuseSerialization = false; reactDomServerValue.makeFinal(); return reactDomServerValue; } //# sourceMappingURL=react-dom-mocks.js.map