Skip to content

Commit 9531b21

Browse files
committed
Rename typed array characters
N->M F->G d->g C->O c->o These overlap with other tags on references where as previously they were only used for row tags.
1 parent 8fe66f6 commit 9531b21

File tree

4 files changed

+70
-78
lines changed

4 files changed

+70
-78
lines changed

packages/react-client/src/ReactFlightClient.js

+10-10
Original file line numberDiff line numberDiff line change
@@ -1262,10 +1262,10 @@ function processFullRow(
12621262
// We must always clone to extract it into a separate buffer instead of just a view.
12631263
resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);
12641264
return;
1265-
case 67 /* "C" */:
1265+
case 79 /* "O" */:
12661266
resolveTypedArray(response, id, buffer, chunk, Int8Array, 1);
12671267
return;
1268-
case 99 /* "c" */:
1268+
case 111 /* "o" */:
12691269
resolveBuffer(
12701270
response,
12711271
id,
@@ -1287,13 +1287,13 @@ function processFullRow(
12871287
case 108 /* "l" */:
12881288
resolveTypedArray(response, id, buffer, chunk, Uint32Array, 4);
12891289
return;
1290-
case 70 /* "F" */:
1290+
case 71 /* "G" */:
12911291
resolveTypedArray(response, id, buffer, chunk, Float32Array, 4);
12921292
return;
1293-
case 100 /* "d" */:
1293+
case 103 /* "g" */:
12941294
resolveTypedArray(response, id, buffer, chunk, Float64Array, 8);
12951295
return;
1296-
case 78 /* "N" */:
1296+
case 77 /* "M" */:
12971297
resolveTypedArray(response, id, buffer, chunk, BigInt64Array, 8);
12981298
return;
12991299
case 109 /* "m" */:
@@ -1417,16 +1417,16 @@ export function processBinaryChunk(
14171417
resolvedRowTag === 84 /* "T" */ ||
14181418
(enableBinaryFlight &&
14191419
(resolvedRowTag === 65 /* "A" */ ||
1420-
resolvedRowTag === 67 /* "C" */ ||
1421-
resolvedRowTag === 99 /* "c" */ ||
1420+
resolvedRowTag === 79 /* "O" */ ||
1421+
resolvedRowTag === 111 /* "o" */ ||
14221422
resolvedRowTag === 85 /* "U" */ ||
14231423
resolvedRowTag === 83 /* "S" */ ||
14241424
resolvedRowTag === 115 /* "s" */ ||
14251425
resolvedRowTag === 76 /* "L" */ ||
14261426
resolvedRowTag === 108 /* "l" */ ||
1427-
resolvedRowTag === 70 /* "F" */ ||
1428-
resolvedRowTag === 100 /* "d" */ ||
1429-
resolvedRowTag === 78 /* "N" */ ||
1427+
resolvedRowTag === 71 /* "G" */ ||
1428+
resolvedRowTag === 103 /* "g" */ ||
1429+
resolvedRowTag === 77 /* "M" */ ||
14301430
resolvedRowTag === 109 /* "m" */ ||
14311431
resolvedRowTag === 86)) /* "V" */
14321432
) {

packages/react-client/src/ReactFlightReplyClient.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ export function processReply(
188188
formData = new FormData();
189189
}
190190
formData.append(formFieldPrefix + blobId, blob);
191-
return '$Y' + tag + blobId.toString(16);
191+
return '$' + tag + blobId.toString(16);
192192
}
193193

194194
function resolveToJSON(
@@ -389,11 +389,11 @@ export function processReply(
389389
}
390390
if (value instanceof Int8Array) {
391391
// char
392-
return serializeTypedArray('C', value);
392+
return serializeTypedArray('O', value);
393393
}
394394
if (value instanceof Uint8Array) {
395395
// unsigned char
396-
return serializeTypedArray('c', value);
396+
return serializeTypedArray('o', value);
397397
}
398398
if (value instanceof Uint8ClampedArray) {
399399
// unsigned clamped char
@@ -417,15 +417,15 @@ export function processReply(
417417
}
418418
if (value instanceof Float32Array) {
419419
// float
420-
return serializeTypedArray('F', value);
420+
return serializeTypedArray('G', value);
421421
}
422422
if (value instanceof Float64Array) {
423423
// double
424-
return serializeTypedArray('d', value);
424+
return serializeTypedArray('g', value);
425425
}
426426
if (value instanceof BigInt64Array) {
427427
// number
428-
return serializeTypedArray('N', value);
428+
return serializeTypedArray('M', value);
429429
}
430430
if (value instanceof BigUint64Array) {
431431
// unsigned number

packages/react-server/src/ReactFlightReplyServer.js

+44-52
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ function parseTypedArray(
387387
parentObject: Object,
388388
parentKey: string,
389389
): null {
390-
const id = parseInt(reference.slice(3), 16);
390+
const id = parseInt(reference.slice(2), 16);
391391
const prefix = response._prefix;
392392
const key = prefix + id;
393393
// We should have this backingEntry in the store already because we emitted
@@ -508,58 +508,50 @@ function parseModelString(
508508
}
509509
}
510510
if (enableBinaryFlight) {
511-
if (value[1] === 'Y')
512-
switch (value[2]) {
513-
case 'A':
514-
return parseTypedArray(response, value, ArrayBuffer, 1, obj, key);
515-
case 'C':
516-
return parseTypedArray(response, value, Int8Array, 1, obj, key);
517-
case 'c':
518-
return parseTypedArray(response, value, Uint8Array, 1, obj, key);
519-
case 'U':
520-
return parseTypedArray(
521-
response,
522-
value,
523-
Uint8ClampedArray,
524-
1,
525-
obj,
526-
key,
527-
);
528-
case 'S':
529-
return parseTypedArray(response, value, Int16Array, 2, obj, key);
530-
case 's':
531-
return parseTypedArray(response, value, Uint16Array, 2, obj, key);
532-
case 'L':
533-
return parseTypedArray(response, value, Int32Array, 4, obj, key);
534-
case 'l':
535-
return parseTypedArray(response, value, Uint32Array, 4, obj, key);
536-
case 'F':
537-
return parseTypedArray(response, value, Float32Array, 4, obj, key);
538-
case 'd':
539-
return parseTypedArray(response, value, Float64Array, 8, obj, key);
540-
case 'N':
541-
return parseTypedArray(response, value, BigInt64Array, 8, obj, key);
542-
case 'm':
543-
return parseTypedArray(
544-
response,
545-
value,
546-
BigUint64Array,
547-
8,
548-
obj,
549-
key,
550-
);
551-
case 'V':
552-
return parseTypedArray(response, value, DataView, 1, obj, key);
511+
switch (value[1]) {
512+
case 'A':
513+
return parseTypedArray(response, value, ArrayBuffer, 1, obj, key);
514+
case 'O':
515+
return parseTypedArray(response, value, Int8Array, 1, obj, key);
516+
case 'o':
517+
return parseTypedArray(response, value, Uint8Array, 1, obj, key);
518+
case 'U':
519+
return parseTypedArray(
520+
response,
521+
value,
522+
Uint8ClampedArray,
523+
1,
524+
obj,
525+
key,
526+
);
527+
case 'S':
528+
return parseTypedArray(response, value, Int16Array, 2, obj, key);
529+
case 's':
530+
return parseTypedArray(response, value, Uint16Array, 2, obj, key);
531+
case 'L':
532+
return parseTypedArray(response, value, Int32Array, 4, obj, key);
533+
case 'l':
534+
return parseTypedArray(response, value, Uint32Array, 4, obj, key);
535+
case 'G':
536+
return parseTypedArray(response, value, Float32Array, 4, obj, key);
537+
case 'g':
538+
return parseTypedArray(response, value, Float64Array, 8, obj, key);
539+
case 'M':
540+
return parseTypedArray(response, value, BigInt64Array, 8, obj, key);
541+
case 'm':
542+
return parseTypedArray(response, value, BigUint64Array, 8, obj, key);
543+
case 'V':
544+
return parseTypedArray(response, value, DataView, 1, obj, key);
545+
case 'B': {
546+
// Blob
547+
const id = parseInt(value.slice(2), 16);
548+
const prefix = response._prefix;
549+
const blobKey = prefix + id;
550+
// We should have this backingEntry in the store already because we emitted
551+
// it before referencing it. It should be a Blob.
552+
const backingEntry: Blob = (response._formData.get(blobKey): any);
553+
return backingEntry;
553554
}
554-
if (value[1] === 'B') {
555-
// Blob
556-
const id = parseInt(value.slice(2), 16);
557-
const prefix = response._prefix;
558-
const key = prefix + id;
559-
// We should have this backingEntry in the store already because we emitted
560-
// it before referencing it. It should be a Blob.
561-
const backingEntry: Blob = (response._formData.get(key): any);
562-
return backingEntry;
563555
}
564556
}
565557

packages/react-server/src/ReactFlightServer.js

+10-10
Original file line numberDiff line numberDiff line change
@@ -1610,11 +1610,11 @@ function renderModelDestructive(
16101610
}
16111611
if (value instanceof Int8Array) {
16121612
// char
1613-
return serializeTypedArray(request, 'C', value);
1613+
return serializeTypedArray(request, 'O', value);
16141614
}
16151615
if (value instanceof Uint8Array) {
16161616
// unsigned char
1617-
return serializeTypedArray(request, 'c', value);
1617+
return serializeTypedArray(request, 'o', value);
16181618
}
16191619
if (value instanceof Uint8ClampedArray) {
16201620
// unsigned clamped char
@@ -1638,15 +1638,15 @@ function renderModelDestructive(
16381638
}
16391639
if (value instanceof Float32Array) {
16401640
// float
1641-
return serializeTypedArray(request, 'F', value);
1641+
return serializeTypedArray(request, 'G', value);
16421642
}
16431643
if (value instanceof Float64Array) {
16441644
// double
1645-
return serializeTypedArray(request, 'd', value);
1645+
return serializeTypedArray(request, 'g', value);
16461646
}
16471647
if (value instanceof BigInt64Array) {
16481648
// number
1649-
return serializeTypedArray(request, 'N', value);
1649+
return serializeTypedArray(request, 'M', value);
16501650
}
16511651
if (value instanceof BigUint64Array) {
16521652
// unsigned number
@@ -2158,11 +2158,11 @@ function renderConsoleValue(
21582158
}
21592159
if (value instanceof Int8Array) {
21602160
// char
2161-
return serializeTypedArray(request, 'C', value);
2161+
return serializeTypedArray(request, 'O', value);
21622162
}
21632163
if (value instanceof Uint8Array) {
21642164
// unsigned char
2165-
return serializeTypedArray(request, 'c', value);
2165+
return serializeTypedArray(request, 'o', value);
21662166
}
21672167
if (value instanceof Uint8ClampedArray) {
21682168
// unsigned clamped char
@@ -2186,15 +2186,15 @@ function renderConsoleValue(
21862186
}
21872187
if (value instanceof Float32Array) {
21882188
// float
2189-
return serializeTypedArray(request, 'F', value);
2189+
return serializeTypedArray(request, 'G', value);
21902190
}
21912191
if (value instanceof Float64Array) {
21922192
// double
2193-
return serializeTypedArray(request, 'd', value);
2193+
return serializeTypedArray(request, 'g', value);
21942194
}
21952195
if (value instanceof BigInt64Array) {
21962196
// number
2197-
return serializeTypedArray(request, 'N', value);
2197+
return serializeTypedArray(request, 'M', value);
21982198
}
21992199
if (value instanceof BigUint64Array) {
22002200
// unsigned number

0 commit comments

Comments
 (0)