@samitouri / QOS-React-1 / commits / 92686722ca

[Flight] Fix `reference` param type in `registerServerReference` (#27688)

The `reference` that is passed into `registerServerReference` can be a plain function. It does not need to have the three additonal properties of a `ServerRefeference`. In fact, adding these properties (plus `bind`) is precisely what `registerServerReference` does.

Hendrik Liebau committed Feb 15, 2024 at 22:09 UTC 92686722cae09ebc3dd5f4aec61b0d067fba1203
3 files changed +6 -6
packages/react-server-dom-esm/src/ReactFlightESMReferences.js
+2 -2
@@ -63,8 +63,8 @@ function bind(this: ServerReference<any>): any {
63 return newFn;
64 }
65
66 -export function registerServerReference<T>(
67 - reference: ServerReference<T>,
66 +export function registerServerReference<T: Function>(
67 + reference: T,
68 id: string,
69 exportName: string,
70 ): ServerReference<T> {
packages/react-server-dom-turbopack/src/ReactFlightTurbopackReferences.js
+2 -2
@@ -76,8 +76,8 @@ function bind(this: ServerReference<any>): any {
76 return newFn;
77 }
78
79 -export function registerServerReference<T>(
80 - reference: ServerReference<T>,
79 +export function registerServerReference<T: Function>(
80 + reference: T,
81 id: string,
82 exportName: null | string,
83 ): ServerReference<T> {
packages/react-server-dom-webpack/src/ReactFlightWebpackReferences.js
+2 -2
@@ -76,8 +76,8 @@ function bind(this: ServerReference<any>): any {
76 return newFn;
77 }
78
79 -export function registerServerReference<T>(
80 - reference: ServerReference<T>,
79 +export function registerServerReference<T: Function>(
80 + reference: T,
81 id: string,
82 exportName: null | string,
83 ): ServerReference<T> {