[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> {