From d5d6023a01b025afe991000585c9d28c2895bb28 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Tue, 9 Apr 2024 13:11:45 -0400 Subject: [PATCH] Rename CacheDispatcher to AsyncDispatcher --- .../react-reconciler/src/ReactFiberCache.js | 4 ++-- .../src/ReactFiberWorkLoop.js | 22 +++++++++---------- .../src/ReactInternalTypes.js | 2 +- packages/react-server/src/ReactFizzCache.js | 4 ++-- packages/react-server/src/ReactFizzServer.js | 10 ++++----- .../react-server/src/ReactFlightServer.js | 8 +++---- .../src/flight/ReactFlightServerCache.js | 4 ++-- .../src/ReactSuspenseTestUtils.js | 10 ++++----- packages/react/src/ReactCacheImpl.js | 2 +- packages/react/src/ReactFetch.js | 2 +- packages/react/src/ReactHooks.js | 2 +- .../react/src/ReactSharedInternalsClient.js | 6 ++--- .../react/src/ReactSharedInternalsServer.js | 6 ++--- .../forks/ReactSharedInternalsClient.umd.js | 0 14 files changed, 41 insertions(+), 41 deletions(-) create mode 100644 packages/react/src/forks/ReactSharedInternalsClient.umd.js diff --git a/packages/react-reconciler/src/ReactFiberCache.js b/packages/react-reconciler/src/ReactFiberCache.js index 3f465d8b88..08a1406904 100644 --- a/packages/react-reconciler/src/ReactFiberCache.js +++ b/packages/react-reconciler/src/ReactFiberCache.js @@ -7,7 +7,7 @@ * @flow */ -import type {CacheDispatcher} from './ReactInternalTypes'; +import type {AsyncDispatcher} from './ReactInternalTypes'; import type {Cache} from './ReactFiberCacheComponent'; import {enableCache} from 'shared/ReactFeatureFlags'; @@ -27,6 +27,6 @@ function getCacheForType(resourceType: () => T): T { return cacheForType; } -export const DefaultCacheDispatcher: CacheDispatcher = { +export const DefaultAsyncDispatcher: AsyncDispatcher = { getCacheForType, }; diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.js b/packages/react-reconciler/src/ReactFiberWorkLoop.js index 8b0c872950..ceb4b7f47d 100644 --- a/packages/react-reconciler/src/ReactFiberWorkLoop.js +++ b/packages/react-reconciler/src/ReactFiberWorkLoop.js @@ -203,7 +203,7 @@ import { resetHooksOnUnwind, ContextOnlyDispatcher, } from './ReactFiberHooks'; -import {DefaultCacheDispatcher} from './ReactFiberCache'; +import {DefaultAsyncDispatcher} from './ReactFiberCache'; import { createCapturedValueAtFiber, type CapturedValue, @@ -1874,19 +1874,19 @@ function popDispatcher(prevDispatcher: any) { ReactSharedInternals.H = prevDispatcher; } -function pushCacheDispatcher() { +function pushAsyncDispatcher() { if (enableCache) { - const prevCacheDispatcher = ReactSharedInternals.C; - ReactSharedInternals.C = DefaultCacheDispatcher; - return prevCacheDispatcher; + const prevAsyncDispatcher = ReactSharedInternals.A; + ReactSharedInternals.A = DefaultAsyncDispatcher; + return prevAsyncDispatcher; } else { return null; } } -function popCacheDispatcher(prevCacheDispatcher: any) { +function popAsyncDispatcher(prevAsyncDispatcher: any) { if (enableCache) { - ReactSharedInternals.C = prevCacheDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; } } @@ -1963,7 +1963,7 @@ function renderRootSync(root: FiberRoot, lanes: Lanes) { const prevExecutionContext = executionContext; executionContext |= RenderContext; const prevDispatcher = pushDispatcher(root.containerInfo); - const prevCacheDispatcher = pushCacheDispatcher(); + const prevAsyncDispatcher = pushAsyncDispatcher(); // If the root or lanes have changed, throw out the existing stack // and prepare a fresh one. Otherwise we'll continue where we left off. @@ -2061,7 +2061,7 @@ function renderRootSync(root: FiberRoot, lanes: Lanes) { executionContext = prevExecutionContext; popDispatcher(prevDispatcher); - popCacheDispatcher(prevCacheDispatcher); + popAsyncDispatcher(prevAsyncDispatcher); if (workInProgress !== null) { // This is a sync render, so we should have finished the whole tree. @@ -2104,7 +2104,7 @@ function renderRootConcurrent(root: FiberRoot, lanes: Lanes) { const prevExecutionContext = executionContext; executionContext |= RenderContext; const prevDispatcher = pushDispatcher(root.containerInfo); - const prevCacheDispatcher = pushCacheDispatcher(); + const prevAsyncDispatcher = pushAsyncDispatcher(); // If the root or lanes have changed, throw out the existing stack // and prepare a fresh one. Otherwise we'll continue where we left off. @@ -2317,7 +2317,7 @@ function renderRootConcurrent(root: FiberRoot, lanes: Lanes) { resetContextDependencies(); popDispatcher(prevDispatcher); - popCacheDispatcher(prevCacheDispatcher); + popAsyncDispatcher(prevAsyncDispatcher); executionContext = prevExecutionContext; if (__DEV__) { diff --git a/packages/react-reconciler/src/ReactInternalTypes.js b/packages/react-reconciler/src/ReactInternalTypes.js index f12b9a16c5..db5078e3f5 100644 --- a/packages/react-reconciler/src/ReactInternalTypes.js +++ b/packages/react-reconciler/src/ReactInternalTypes.js @@ -434,6 +434,6 @@ export type Dispatcher = { ) => [Awaited, (P) => void, boolean], }; -export type CacheDispatcher = { +export type AsyncDispatcher = { getCacheForType: (resourceType: () => T) => T, }; diff --git a/packages/react-server/src/ReactFizzCache.js b/packages/react-server/src/ReactFizzCache.js index 10ff0ed7c0..c77b650e79 100644 --- a/packages/react-server/src/ReactFizzCache.js +++ b/packages/react-server/src/ReactFizzCache.js @@ -7,12 +7,12 @@ * @flow */ -import type {CacheDispatcher} from 'react-reconciler/src/ReactInternalTypes'; +import type {AsyncDispatcher} from 'react-reconciler/src/ReactInternalTypes'; function getCacheForType(resourceType: () => T): T { throw new Error('Not implemented.'); } -export const DefaultCacheDispatcher: CacheDispatcher = { +export const DefaultAsyncDispatcher: AsyncDispatcher = { getCacheForType, }; diff --git a/packages/react-server/src/ReactFizzServer.js b/packages/react-server/src/ReactFizzServer.js index 7ba6f334e7..f5b232ab81 100644 --- a/packages/react-server/src/ReactFizzServer.js +++ b/packages/react-server/src/ReactFizzServer.js @@ -109,7 +109,7 @@ import { getActionStateCount, getActionStateMatchingIndex, } from './ReactFizzHooks'; -import {DefaultCacheDispatcher} from './ReactFizzCache'; +import {DefaultAsyncDispatcher} from './ReactFizzCache'; import {getStackByComponentStackNode} from './ReactFizzComponentStack'; import {emptyTreeContext, pushTreeContext} from './ReactFizzTreeContext'; @@ -3663,10 +3663,10 @@ export function performWork(request: Request): void { const prevContext = getActiveContext(); const prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = HooksDispatcher; - let prevCacheDispatcher = null; + let prevAsyncDispatcher = null; if (enableCache) { - prevCacheDispatcher = ReactSharedInternals.C; - ReactSharedInternals.C = DefaultCacheDispatcher; + prevAsyncDispatcher = ReactSharedInternals.A; + ReactSharedInternals.A = DefaultAsyncDispatcher; } const prevRequest = currentRequest; @@ -3698,7 +3698,7 @@ export function performWork(request: Request): void { setCurrentResumableState(prevResumableState); ReactSharedInternals.H = prevDispatcher; if (enableCache) { - ReactSharedInternals.C = prevCacheDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; } if (__DEV__) { diff --git a/packages/react-server/src/ReactFlightServer.js b/packages/react-server/src/ReactFlightServer.js index 93924692d2..06d6ee44c3 100644 --- a/packages/react-server/src/ReactFlightServer.js +++ b/packages/react-server/src/ReactFlightServer.js @@ -89,7 +89,7 @@ import { getThenableStateAfterSuspending, resetHooksForRequest, } from './ReactFlightHooks'; -import {DefaultCacheDispatcher} from './flight/ReactFlightServerCache'; +import {DefaultAsyncDispatcher} from './flight/ReactFlightServerCache'; import { getIteratorFn, @@ -358,14 +358,14 @@ export function createRequest( environmentName: void | string, ): Request { if ( - ReactSharedInternals.C !== null && - ReactSharedInternals.C !== DefaultCacheDispatcher + ReactSharedInternals.A !== null && + ReactSharedInternals.A !== DefaultAsyncDispatcher ) { throw new Error( 'Currently React only supports one RSC renderer at a time.', ); } - ReactSharedInternals.C = DefaultCacheDispatcher; + ReactSharedInternals.A = DefaultAsyncDispatcher; const abortSet: Set = new Set(); const pingedTasks: Array = []; diff --git a/packages/react-server/src/flight/ReactFlightServerCache.js b/packages/react-server/src/flight/ReactFlightServerCache.js index 5c2469a2a9..eefc5f9f3e 100644 --- a/packages/react-server/src/flight/ReactFlightServerCache.js +++ b/packages/react-server/src/flight/ReactFlightServerCache.js @@ -7,7 +7,7 @@ * @flow */ -import type {CacheDispatcher} from 'react-reconciler/src/ReactInternalTypes'; +import type {AsyncDispatcher} from 'react-reconciler/src/ReactInternalTypes'; import {resolveRequest, getCache} from '../ReactFlightServer'; @@ -19,7 +19,7 @@ function resolveCache(): Map { return new Map(); } -export const DefaultCacheDispatcher: CacheDispatcher = { +export const DefaultAsyncDispatcher: AsyncDispatcher = { getCacheForType(resourceType: () => T): T { const cache = resolveCache(); let entry: T | void = (cache.get(resourceType): any); diff --git a/packages/react-suspense-test-utils/src/ReactSuspenseTestUtils.js b/packages/react-suspense-test-utils/src/ReactSuspenseTestUtils.js index b3bc53006d..35b59b61d1 100644 --- a/packages/react-suspense-test-utils/src/ReactSuspenseTestUtils.js +++ b/packages/react-suspense-test-utils/src/ReactSuspenseTestUtils.js @@ -7,12 +7,12 @@ * @flow */ -import type {CacheDispatcher} from 'react-reconciler/src/ReactInternalTypes'; +import type {AsyncDispatcher} from 'react-reconciler/src/ReactInternalTypes'; import ReactSharedInternals from 'shared/ReactSharedInternals'; export function waitForSuspense(fn: () => T): Promise { const cache: Map = new Map(); - const testDispatcher: CacheDispatcher = { + const testDispatcher: AsyncDispatcher = { getCacheForType(resourceType: () => R): R { let entry: R | void = (cache.get(resourceType): any); if (entry === undefined) { @@ -26,8 +26,8 @@ export function waitForSuspense(fn: () => T): Promise { // Not using async/await because we don't compile it. return new Promise((resolve, reject) => { function retry() { - const prevDispatcher = ReactSharedInternals.C; - ReactSharedInternals.C = testDispatcher; + const prevDispatcher = ReactSharedInternals.A; + ReactSharedInternals.A = testDispatcher; try { const result = fn(); resolve(result); @@ -38,7 +38,7 @@ export function waitForSuspense(fn: () => T): Promise { reject(thrownValue); } } finally { - ReactSharedInternals.C = prevDispatcher; + ReactSharedInternals.A = prevDispatcher; } } retry(); diff --git a/packages/react/src/ReactCacheImpl.js b/packages/react/src/ReactCacheImpl.js index 99a3809bc9..cc3136897e 100644 --- a/packages/react/src/ReactCacheImpl.js +++ b/packages/react/src/ReactCacheImpl.js @@ -54,7 +54,7 @@ function createCacheNode(): CacheNode { export function cache, T>(fn: (...A) => T): (...A) => T { return function () { - const dispatcher = ReactSharedInternals.C; + const dispatcher = ReactSharedInternals.A; if (!dispatcher) { // If there is no dispatcher, then we treat this as not being cached. // $FlowFixMe[incompatible-call]: We don't want to use rest arguments since we transpile the code. diff --git a/packages/react/src/ReactFetch.js b/packages/react/src/ReactFetch.js index e5cb1f6dd4..5cc2ba903b 100644 --- a/packages/react/src/ReactFetch.js +++ b/packages/react/src/ReactFetch.js @@ -46,7 +46,7 @@ if (enableCache && enableFetchInstrumentation) { resource: URL | RequestInfo, options?: RequestOptions, ) { - const dispatcher = ReactSharedInternals.C; + const dispatcher = ReactSharedInternals.A; if (!dispatcher) { // We're outside a cached scope. return originalFetch(resource, options); diff --git a/packages/react/src/ReactHooks.js b/packages/react/src/ReactHooks.js index 79513656ce..93d9fa28f0 100644 --- a/packages/react/src/ReactHooks.js +++ b/packages/react/src/ReactHooks.js @@ -44,7 +44,7 @@ function resolveDispatcher() { } export function getCacheForType(resourceType: () => T): T { - const dispatcher = ReactSharedInternals.C; + const dispatcher = ReactSharedInternals.A; if (!dispatcher) { // If there is no dispatcher, then we treat this as not being cached. return resourceType(); diff --git a/packages/react/src/ReactSharedInternalsClient.js b/packages/react/src/ReactSharedInternalsClient.js index ea57f2fcdc..5a6925b0fa 100644 --- a/packages/react/src/ReactSharedInternalsClient.js +++ b/packages/react/src/ReactSharedInternalsClient.js @@ -8,7 +8,7 @@ */ import type {Dispatcher} from 'react-reconciler/src/ReactInternalTypes'; -import type {CacheDispatcher} from 'react-reconciler/src/ReactInternalTypes'; +import type {AsyncDispatcher} from 'react-reconciler/src/ReactInternalTypes'; import type {BatchConfigTransition} from 'react-reconciler/src/ReactFiberTracingMarkerComponent'; import type {Fiber} from 'react-reconciler/src/ReactInternalTypes'; @@ -16,7 +16,7 @@ import {disableStringRefs} from 'shared/ReactFeatureFlags'; export type SharedStateClient = { H: null | Dispatcher, // ReactCurrentDispatcher for Hooks - C: null | CacheDispatcher, // ReactCurrentCache for Cache + A: null | AsyncDispatcher, // ReactCurrentCache for Cache T: null | BatchConfigTransition, // ReactCurrentBatchConfig for Transitions // DEV-only-ish @@ -47,7 +47,7 @@ export type RendererTask = boolean => RendererTask | null; const ReactSharedInternals: SharedStateClient = ({ H: null, - C: null, + A: null, T: null, }: any); diff --git a/packages/react/src/ReactSharedInternalsServer.js b/packages/react/src/ReactSharedInternalsServer.js index be5dd91d21..2f032bb212 100644 --- a/packages/react/src/ReactSharedInternalsServer.js +++ b/packages/react/src/ReactSharedInternalsServer.js @@ -8,7 +8,7 @@ */ import type {Dispatcher} from 'react-reconciler/src/ReactInternalTypes'; -import type {CacheDispatcher} from 'react-reconciler/src/ReactInternalTypes'; +import type {AsyncDispatcher} from 'react-reconciler/src/ReactInternalTypes'; import type {ReactComponentInfo} from 'shared/ReactTypes'; import type { @@ -28,7 +28,7 @@ import {disableStringRefs, enableTaint} from 'shared/ReactFeatureFlags'; export type SharedStateServer = { H: null | Dispatcher, // ReactCurrentDispatcher for Hooks - C: null | CacheDispatcher, // ReactCurrentCache for Cache + A: null | AsyncDispatcher, // ReactCurrentCache for Cache // enableTaint TaintRegistryObjects: WeakMap, @@ -49,7 +49,7 @@ export type RendererTask = boolean => RendererTask | null; const ReactSharedInternals: SharedStateServer = ({ H: null, - C: null, + A: null, }: any); if (enableTaint) { diff --git a/packages/react/src/forks/ReactSharedInternalsClient.umd.js b/packages/react/src/forks/ReactSharedInternalsClient.umd.js new file mode 100644 index 0000000000..e69de29bb2