| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /**
- * @license React
- * use-sync-external-store-shim.native.production.js
- *
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- "use strict";
- var React = require("react");
- function is(x, y) {
- return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);
- }
- var objectIs = "function" === typeof Object.is ? Object.is : is,
- useState = React.useState,
- useEffect = React.useEffect,
- useLayoutEffect = React.useLayoutEffect,
- useDebugValue = React.useDebugValue;
- function useSyncExternalStore$1(subscribe, getSnapshot) {
- var value = getSnapshot(),
- _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),
- inst = _useState[0].inst,
- forceUpdate = _useState[1];
- useLayoutEffect(
- function () {
- inst.value = value;
- inst.getSnapshot = getSnapshot;
- checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });
- },
- [subscribe, value, getSnapshot]
- );
- useEffect(
- function () {
- checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });
- return subscribe(function () {
- checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });
- });
- },
- [subscribe]
- );
- useDebugValue(value);
- return value;
- }
- function checkIfSnapshotChanged(inst) {
- var latestGetSnapshot = inst.getSnapshot;
- inst = inst.value;
- try {
- var nextValue = latestGetSnapshot();
- return !objectIs(inst, nextValue);
- } catch (error) {
- return !0;
- }
- }
- exports.useSyncExternalStore =
- void 0 !== React.useSyncExternalStore
- ? React.useSyncExternalStore
- : useSyncExternalStore$1;
|