| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * @license React
- * use-sync-external-store-shim.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$2(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;
- }
- }
- function useSyncExternalStore$1(subscribe, getSnapshot) {
- return getSnapshot();
- }
- var shim =
- "undefined" === typeof window ||
- "undefined" === typeof window.document ||
- "undefined" === typeof window.document.createElement
- ? useSyncExternalStore$1
- : useSyncExternalStore$2;
- exports.useSyncExternalStore =
- void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;
|