mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
f101c2d0d3
We've heard from multiple contributors that the Reconciler forking mechanism was confusing and/or annoying to deal with. Since it's currently unused and there's no immediate plans to start using it again, this removes the forking. Fully removing the fork is split into 2 steps to preserve file history: **#25774 previous PR that did the bulk of the work:** - remove `enableNewReconciler` feature flag. - remove `unstable_isNewReconciler` export - remove eslint rules for cross fork imports - remove `*.new.js` files and update imports - merge non-suffixed files into `*.old` files where both exist (sometimes types were defined there) **This PR** - rename `*.old` files
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
/**
|
|
* 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.
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
import type {CacheDispatcher} from './ReactInternalTypes';
|
|
import type {Cache} from './ReactFiberCacheComponent';
|
|
|
|
import {enableCache} from 'shared/ReactFeatureFlags';
|
|
import {readContext} from './ReactFiberNewContext';
|
|
import {CacheContext} from './ReactFiberCacheComponent';
|
|
|
|
function getCacheSignal(): AbortSignal {
|
|
if (!enableCache) {
|
|
throw new Error('Not implemented.');
|
|
}
|
|
const cache: Cache = readContext(CacheContext);
|
|
return cache.controller.signal;
|
|
}
|
|
|
|
function getCacheForType<T>(resourceType: () => T): T {
|
|
if (!enableCache) {
|
|
throw new Error('Not implemented.');
|
|
}
|
|
const cache: Cache = readContext(CacheContext);
|
|
let cacheForType: T | void = (cache.data.get(resourceType): any);
|
|
if (cacheForType === undefined) {
|
|
cacheForType = resourceType();
|
|
cache.data.set(resourceType, cacheForType);
|
|
}
|
|
return cacheForType;
|
|
}
|
|
|
|
export const DefaultCacheDispatcher: CacheDispatcher = {
|
|
getCacheSignal,
|
|
getCacheForType,
|
|
};
|