| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- /**
- * @license React
- * use-sync-external-store-with-selector.development.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";
- "production" !== process.env.NODE_ENV &&
- (function () {
- function is(x, y) {
- return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);
- }
- "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
- "function" ===
- typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&
- __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
- var React = require("react"),
- objectIs = "function" === typeof Object.is ? Object.is : is,
- useSyncExternalStore = React.useSyncExternalStore,
- useRef = React.useRef,
- useEffect = React.useEffect,
- useMemo = React.useMemo,
- useDebugValue = React.useDebugValue;
- exports.useSyncExternalStoreWithSelector = function (
- subscribe,
- getSnapshot,
- getServerSnapshot,
- selector,
- isEqual
- ) {
- var instRef = useRef(null);
- if (null === instRef.current) {
- var inst = { hasValue: !1, value: null };
- instRef.current = inst;
- } else inst = instRef.current;
- instRef = useMemo(
- function () {
- function memoizedSelector(nextSnapshot) {
- if (!hasMemo) {
- hasMemo = !0;
- memoizedSnapshot = nextSnapshot;
- nextSnapshot = selector(nextSnapshot);
- if (void 0 !== isEqual && inst.hasValue) {
- var currentSelection = inst.value;
- if (isEqual(currentSelection, nextSnapshot))
- return (memoizedSelection = currentSelection);
- }
- return (memoizedSelection = nextSnapshot);
- }
- currentSelection = memoizedSelection;
- if (objectIs(memoizedSnapshot, nextSnapshot))
- return currentSelection;
- var nextSelection = selector(nextSnapshot);
- if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
- return (memoizedSnapshot = nextSnapshot), currentSelection;
- memoizedSnapshot = nextSnapshot;
- return (memoizedSelection = nextSelection);
- }
- var hasMemo = !1,
- memoizedSnapshot,
- memoizedSelection,
- maybeGetServerSnapshot =
- void 0 === getServerSnapshot ? null : getServerSnapshot;
- return [
- function () {
- return memoizedSelector(getSnapshot());
- },
- null === maybeGetServerSnapshot
- ? void 0
- : function () {
- return memoizedSelector(maybeGetServerSnapshot());
- }
- ];
- },
- [getSnapshot, getServerSnapshot, selector, isEqual]
- );
- var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);
- useEffect(
- function () {
- inst.hasValue = !0;
- inst.value = value;
- },
- [value]
- );
- useDebugValue(value);
- return value;
- };
- "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
- "function" ===
- typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
- __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
- })();
|