diff --git a/packages/react-client/src/ReactFlightReplyClient.js b/packages/react-client/src/ReactFlightReplyClient.js index ebfcf8f4f5476..dc20eb55d2c1b 100644 --- a/packages/react-client/src/ReactFlightReplyClient.js +++ b/packages/react-client/src/ReactFlightReplyClient.js @@ -230,6 +230,10 @@ export function processReply( ); return serializePromiseID(promiseId); } + if (isArray(value)) { + // $FlowFixMe[incompatible-return] + return value; + } // TODO: Should we the Object.prototype.toString.call() to test for cross-realm objects? if (value instanceof FormData) { if (formData === null) { @@ -266,10 +270,6 @@ export function processReply( formData.append(formFieldPrefix + setId, partJSON); return serializeSetID(setId); } - if (isArray(value)) { - // $FlowFixMe[incompatible-return] - return value; - } const iteratorFn = getIteratorFn(value); if (iteratorFn) { return Array.from((value: any)); diff --git a/packages/react-server/src/ReactFlightServer.js b/packages/react-server/src/ReactFlightServer.js index 4bff817e4d5e3..6c08dd9948838 100644 --- a/packages/react-server/src/ReactFlightServer.js +++ b/packages/react-server/src/ReactFlightServer.js @@ -1049,6 +1049,11 @@ function resolveModelToJSON( return (undefined: any); } + if (isArray(value)) { + // $FlowFixMe[incompatible-return] + return value; + } + if (value instanceof Map) { return serializeMap(request, value); } @@ -1110,11 +1115,6 @@ function resolveModelToJSON( } } - if (isArray(value)) { - // $FlowFixMe[incompatible-return] - return value; - } - const iteratorFn = getIteratorFn(value); if (iteratorFn) { return Array.from((value: any));