react-server-dom-parcel 19.2.1 → 19.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -223,13 +223,23 @@ function processReply(
223
223
  pendingParts--;
224
224
  }
225
225
  }
226
+ parentReference = writtenObjects.get(value);
226
227
  if ("function" === typeof value.then) {
228
+ if (void 0 !== parentReference)
229
+ if (modelRoot === value) modelRoot = null;
230
+ else return parentReference;
227
231
  null === formData && (formData = new FormData());
228
232
  pendingParts++;
229
233
  var promiseId = nextPartId++;
234
+ key = "$@" + promiseId.toString(16);
235
+ writtenObjects.set(value, key);
230
236
  value.then(function (partValue) {
231
237
  try {
232
- var partJSON$27 = serializeModel(partValue, promiseId);
238
+ var previousReference = writtenObjects.get(partValue);
239
+ var partJSON$27 =
240
+ void 0 !== previousReference
241
+ ? JSON.stringify(previousReference)
242
+ : serializeModel(partValue, promiseId);
233
243
  partValue = formData;
234
244
  partValue.append(formFieldPrefix + promiseId, partJSON$27);
235
245
  pendingParts--;
@@ -238,9 +248,8 @@ function processReply(
238
248
  reject(reason);
239
249
  }
240
250
  }, reject);
241
- return "$@" + promiseId.toString(16);
251
+ return key;
242
252
  }
243
- parentReference = writtenObjects.get(value);
244
253
  if (void 0 !== parentReference)
245
254
  if (modelRoot === value) modelRoot = null;
246
255
  else return parentReference;
@@ -364,7 +373,7 @@ function processReply(
364
373
  null === formData && (formData = new FormData()),
365
374
  (parentReference = nextPartId++),
366
375
  formData.set(formFieldPrefix + parentReference, key),
367
- "$F" + parentReference.toString(16)
376
+ "$h" + parentReference.toString(16)
368
377
  );
369
378
  if (
370
379
  void 0 !== temporaryReferences &&
@@ -507,12 +516,12 @@ function readChunk(chunk) {
507
516
  throw chunk.reason;
508
517
  }
509
518
  }
510
- function wakeChunk(listeners, value) {
519
+ function wakeChunk(listeners, value, chunk) {
511
520
  for (var i = 0; i < listeners.length; i++) {
512
521
  var listener = listeners[i];
513
522
  "function" === typeof listener
514
523
  ? listener(value)
515
- : fulfillReference(listener, value);
524
+ : fulfillReference(listener, value, chunk);
516
525
  }
517
526
  }
518
527
  function rejectChunk(listeners, error) {
@@ -547,20 +556,31 @@ function resolveBlockedCycle(resolvedChunk, reference) {
547
556
  function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
548
557
  switch (chunk.status) {
549
558
  case "fulfilled":
550
- wakeChunk(resolveListeners, chunk.value);
559
+ wakeChunk(resolveListeners, chunk.value, chunk);
551
560
  break;
552
561
  case "blocked":
553
562
  for (var i = 0; i < resolveListeners.length; i++) {
554
563
  var listener = resolveListeners[i];
555
564
  if ("function" !== typeof listener) {
556
565
  var cyclicHandler = resolveBlockedCycle(chunk, listener);
557
- null !== cyclicHandler &&
558
- (fulfillReference(listener, cyclicHandler.value),
559
- resolveListeners.splice(i, 1),
560
- i--,
561
- null !== rejectListeners &&
562
- ((listener = rejectListeners.indexOf(listener)),
563
- -1 !== listener && rejectListeners.splice(listener, 1)));
566
+ if (null !== cyclicHandler)
567
+ switch (
568
+ (fulfillReference(listener, cyclicHandler.value, chunk),
569
+ resolveListeners.splice(i, 1),
570
+ i--,
571
+ null !== rejectListeners &&
572
+ ((listener = rejectListeners.indexOf(listener)),
573
+ -1 !== listener && rejectListeners.splice(listener, 1)),
574
+ chunk.status)
575
+ ) {
576
+ case "fulfilled":
577
+ wakeChunk(resolveListeners, chunk.value, chunk);
578
+ return;
579
+ case "rejected":
580
+ null !== rejectListeners &&
581
+ rejectChunk(rejectListeners, chunk.reason);
582
+ return;
583
+ }
564
584
  }
565
585
  }
566
586
  case "pending":
@@ -623,6 +643,7 @@ function resolveModuleChunk(response, chunk, value) {
623
643
  var rejectListeners = chunk.reason;
624
644
  chunk.status = "resolved_module";
625
645
  chunk.value = value;
646
+ chunk.reason = null;
626
647
  null !== response &&
627
648
  (initializeModuleChunk(chunk),
628
649
  wakeChunkIfInitialized(chunk, response, rejectListeners));
@@ -680,8 +701,11 @@ function reportGlobalError(weakResponse, error) {
680
701
  weakResponse._closed = !0;
681
702
  weakResponse._closedReason = error;
682
703
  weakResponse._chunks.forEach(function (chunk) {
683
- "pending" === chunk.status &&
684
- triggerErrorOnChunk(weakResponse, chunk, error);
704
+ "pending" === chunk.status
705
+ ? triggerErrorOnChunk(weakResponse, chunk, error)
706
+ : "fulfilled" === chunk.status &&
707
+ null !== chunk.reason &&
708
+ chunk.reason.error(error);
685
709
  });
686
710
  }
687
711
  function createLazyChunkWrapper(chunk) {
@@ -698,109 +722,117 @@ function getChunk(response, id) {
698
722
  return chunk;
699
723
  }
700
724
  function fulfillReference(reference, value) {
701
- for (
702
- var response = reference.response,
703
- handler = reference.handler,
704
- parentObject = reference.parentObject,
705
- key = reference.key,
706
- map = reference.map,
707
- path = reference.path,
708
- i = 1;
709
- i < path.length;
710
- i++
711
- ) {
725
+ var response = reference.response,
726
+ handler = reference.handler,
727
+ parentObject = reference.parentObject,
728
+ key = reference.key,
729
+ map = reference.map,
730
+ path = reference.path;
731
+ try {
732
+ for (var i = 1; i < path.length; i++) {
733
+ for (
734
+ ;
735
+ "object" === typeof value &&
736
+ null !== value &&
737
+ value.$$typeof === REACT_LAZY_TYPE;
738
+
739
+ ) {
740
+ var referencedChunk = value._payload;
741
+ if (referencedChunk === handler.chunk) value = handler.value;
742
+ else {
743
+ switch (referencedChunk.status) {
744
+ case "resolved_model":
745
+ initializeModelChunk(referencedChunk);
746
+ break;
747
+ case "resolved_module":
748
+ initializeModuleChunk(referencedChunk);
749
+ }
750
+ switch (referencedChunk.status) {
751
+ case "fulfilled":
752
+ value = referencedChunk.value;
753
+ continue;
754
+ case "blocked":
755
+ var cyclicHandler = resolveBlockedCycle(
756
+ referencedChunk,
757
+ reference
758
+ );
759
+ if (null !== cyclicHandler) {
760
+ value = cyclicHandler.value;
761
+ continue;
762
+ }
763
+ case "pending":
764
+ path.splice(0, i - 1);
765
+ null === referencedChunk.value
766
+ ? (referencedChunk.value = [reference])
767
+ : referencedChunk.value.push(reference);
768
+ null === referencedChunk.reason
769
+ ? (referencedChunk.reason = [reference])
770
+ : referencedChunk.reason.push(reference);
771
+ return;
772
+ case "halted":
773
+ return;
774
+ default:
775
+ rejectReference(reference, referencedChunk.reason);
776
+ return;
777
+ }
778
+ }
779
+ }
780
+ value = value[path[i]];
781
+ }
712
782
  for (
713
783
  ;
714
784
  "object" === typeof value &&
715
785
  null !== value &&
716
786
  value.$$typeof === REACT_LAZY_TYPE;
717
787
 
718
- )
719
- if (((value = value._payload), value === handler.chunk))
720
- value = handler.value;
788
+ ) {
789
+ var referencedChunk$43 = value._payload;
790
+ if (referencedChunk$43 === handler.chunk) value = handler.value;
721
791
  else {
722
- switch (value.status) {
792
+ switch (referencedChunk$43.status) {
723
793
  case "resolved_model":
724
- initializeModelChunk(value);
794
+ initializeModelChunk(referencedChunk$43);
725
795
  break;
726
796
  case "resolved_module":
727
- initializeModuleChunk(value);
797
+ initializeModuleChunk(referencedChunk$43);
728
798
  }
729
- switch (value.status) {
799
+ switch (referencedChunk$43.status) {
730
800
  case "fulfilled":
731
- value = value.value;
801
+ value = referencedChunk$43.value;
732
802
  continue;
733
- case "blocked":
734
- var cyclicHandler = resolveBlockedCycle(value, reference);
735
- if (null !== cyclicHandler) {
736
- value = cyclicHandler.value;
737
- continue;
738
- }
739
- case "pending":
740
- path.splice(0, i - 1);
741
- null === value.value
742
- ? (value.value = [reference])
743
- : value.value.push(reference);
744
- null === value.reason
745
- ? (value.reason = [reference])
746
- : value.reason.push(reference);
747
- return;
748
- case "halted":
749
- return;
750
- default:
751
- rejectReference(reference, value.reason);
752
- return;
753
803
  }
804
+ break;
754
805
  }
755
- value = value[path[i]];
756
- }
757
- for (
758
- ;
759
- "object" === typeof value &&
760
- null !== value &&
761
- value.$$typeof === REACT_LAZY_TYPE;
762
-
763
- )
764
- if (((reference = value._payload), reference === handler.chunk))
765
- value = handler.value;
766
- else {
767
- switch (reference.status) {
768
- case "resolved_model":
769
- initializeModelChunk(reference);
770
- break;
771
- case "resolved_module":
772
- initializeModuleChunk(reference);
773
- }
774
- switch (reference.status) {
775
- case "fulfilled":
776
- value = reference.value;
777
- continue;
778
- }
779
- break;
780
806
  }
781
- response = map(response, value, parentObject, key);
782
- parentObject[key] = response;
783
- "" === key && null === handler.value && (handler.value = response);
784
- if (
785
- parentObject[0] === REACT_ELEMENT_TYPE &&
786
- "object" === typeof handler.value &&
787
- null !== handler.value &&
788
- handler.value.$$typeof === REACT_ELEMENT_TYPE
789
- )
790
- switch (((parentObject = handler.value), key)) {
791
- case "3":
792
- parentObject.props = response;
807
+ var mappedValue = map(response, value, parentObject, key);
808
+ parentObject[key] = mappedValue;
809
+ "" === key && null === handler.value && (handler.value = mappedValue);
810
+ if (
811
+ parentObject[0] === REACT_ELEMENT_TYPE &&
812
+ "object" === typeof handler.value &&
813
+ null !== handler.value &&
814
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
815
+ ) {
816
+ var element = handler.value;
817
+ switch (key) {
818
+ case "3":
819
+ element.props = mappedValue;
820
+ }
793
821
  }
822
+ } catch (error) {
823
+ rejectReference(reference, error);
824
+ return;
825
+ }
794
826
  handler.deps--;
795
827
  0 === handler.deps &&
796
- ((key = handler.chunk),
797
- null !== key &&
798
- "blocked" === key.status &&
799
- ((parentObject = key.value),
800
- (key.status = "fulfilled"),
801
- (key.value = handler.value),
802
- (key.reason = handler.reason),
803
- null !== parentObject && wakeChunk(parentObject, handler.value)));
828
+ ((reference = handler.chunk),
829
+ null !== reference &&
830
+ "blocked" === reference.status &&
831
+ ((value = reference.value),
832
+ (reference.status = "fulfilled"),
833
+ (reference.value = handler.value),
834
+ (reference.reason = handler.reason),
835
+ null !== value && wakeChunk(value, handler.value, reference)));
804
836
  }
805
837
  function rejectReference(reference, error) {
806
838
  var handler = reference.handler;
@@ -908,7 +940,9 @@ function loadServerReference(response, metaData, parentObject, key) {
908
940
  ((boundArgs = resolvedValue.value),
909
941
  (resolvedValue.status = "fulfilled"),
910
942
  (resolvedValue.value = handler.value),
911
- null !== boundArgs && wakeChunk(boundArgs, handler.value)));
943
+ (resolvedValue.reason = null),
944
+ null !== boundArgs &&
945
+ wakeChunk(boundArgs, handler.value, resolvedValue)));
912
946
  },
913
947
  function (error) {
914
948
  if (!handler.errored) {
@@ -1113,7 +1147,7 @@ function parseModelString(response, parentObject, key, value) {
1113
1147
  );
1114
1148
  case "S":
1115
1149
  return Symbol.for(value.slice(2));
1116
- case "F":
1150
+ case "h":
1117
1151
  return (
1118
1152
  (value = value.slice(2)),
1119
1153
  getOutlinedModel(
@@ -1251,12 +1285,13 @@ function resolveStream(response, id, stream, controller) {
1251
1285
  (chunk.status = "fulfilled"),
1252
1286
  (chunk.value = stream),
1253
1287
  (chunk.reason = controller),
1254
- null !== id && wakeChunk(id, chunk.value))
1288
+ null !== id && wakeChunk(id, chunk.value, chunk))
1255
1289
  : ((stream = new ReactPromise("fulfilled", stream, controller)),
1256
1290
  response.set(id, stream));
1257
1291
  }
1258
1292
  function startReadableStream(response, id, type) {
1259
- var controller = null;
1293
+ var controller = null,
1294
+ closed = !1;
1260
1295
  type = new ReadableStream({
1261
1296
  type: type,
1262
1297
  start: function (c) {
@@ -1306,24 +1341,27 @@ function startReadableStream(response, id, type) {
1306
1341
  }
1307
1342
  },
1308
1343
  close: function () {
1309
- if (null === previousBlockedChunk) controller.close();
1310
- else {
1311
- var blockedChunk = previousBlockedChunk;
1312
- previousBlockedChunk = null;
1313
- blockedChunk.then(function () {
1314
- return controller.close();
1315
- });
1316
- }
1344
+ if (!closed)
1345
+ if (((closed = !0), null === previousBlockedChunk)) controller.close();
1346
+ else {
1347
+ var blockedChunk = previousBlockedChunk;
1348
+ previousBlockedChunk = null;
1349
+ blockedChunk.then(function () {
1350
+ return controller.close();
1351
+ });
1352
+ }
1317
1353
  },
1318
1354
  error: function (error) {
1319
- if (null === previousBlockedChunk) controller.error(error);
1320
- else {
1321
- var blockedChunk = previousBlockedChunk;
1322
- previousBlockedChunk = null;
1323
- blockedChunk.then(function () {
1324
- return controller.error(error);
1325
- });
1326
- }
1355
+ if (!closed)
1356
+ if (((closed = !0), null === previousBlockedChunk))
1357
+ controller.error(error);
1358
+ else {
1359
+ var blockedChunk = previousBlockedChunk;
1360
+ previousBlockedChunk = null;
1361
+ blockedChunk.then(function () {
1362
+ return controller.error(error);
1363
+ });
1364
+ }
1327
1365
  }
1328
1366
  });
1329
1367
  }
@@ -1377,6 +1415,7 @@ function startAsyncIterable(response, id, iterator) {
1377
1415
  rejectListeners = chunk.reason;
1378
1416
  chunk.status = "fulfilled";
1379
1417
  chunk.value = { done: !1, value: value };
1418
+ chunk.reason = null;
1380
1419
  null !== resolveListeners &&
1381
1420
  wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);
1382
1421
  }
@@ -1398,36 +1437,46 @@ function startAsyncIterable(response, id, iterator) {
1398
1437
  nextWriteIndex++;
1399
1438
  },
1400
1439
  close: function (value) {
1401
- closed = !0;
1402
- nextWriteIndex === buffer.length
1403
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
1404
- response,
1405
- value,
1406
- !0
1407
- ))
1408
- : resolveIteratorResultChunk(
1440
+ if (!closed)
1441
+ for (
1442
+ closed = !0,
1443
+ nextWriteIndex === buffer.length
1444
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
1445
+ response,
1446
+ value,
1447
+ !0
1448
+ ))
1449
+ : resolveIteratorResultChunk(
1450
+ response,
1451
+ buffer[nextWriteIndex],
1452
+ value,
1453
+ !0
1454
+ ),
1455
+ nextWriteIndex++;
1456
+ nextWriteIndex < buffer.length;
1457
+
1458
+ )
1459
+ resolveIteratorResultChunk(
1409
1460
  response,
1410
- buffer[nextWriteIndex],
1411
- value,
1461
+ buffer[nextWriteIndex++],
1462
+ '"$undefined"',
1412
1463
  !0
1413
1464
  );
1414
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
1415
- resolveIteratorResultChunk(
1416
- response,
1417
- buffer[nextWriteIndex++],
1418
- '"$undefined"',
1419
- !0
1420
- );
1421
1465
  },
1422
1466
  error: function (error) {
1423
- closed = !0;
1424
- for (
1425
- nextWriteIndex === buffer.length &&
1426
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
1427
- nextWriteIndex < buffer.length;
1467
+ if (!closed)
1468
+ for (
1469
+ closed = !0,
1470
+ nextWriteIndex === buffer.length &&
1471
+ (buffer[nextWriteIndex] = new ReactPromise(
1472
+ "pending",
1473
+ null,
1474
+ null
1475
+ ));
1476
+ nextWriteIndex < buffer.length;
1428
1477
 
1429
- )
1430
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
1478
+ )
1479
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
1431
1480
  }
1432
1481
  }
1433
1482
  );