react-server-dom-parcel 19.2.1 → 19.2.3

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.
@@ -234,13 +234,23 @@ function processReply(
234
234
  pendingParts--;
235
235
  }
236
236
  }
237
+ parentReference = writtenObjects.get(value);
237
238
  if ("function" === typeof value.then) {
239
+ if (void 0 !== parentReference)
240
+ if (modelRoot === value) modelRoot = null;
241
+ else return parentReference;
238
242
  null === formData && (formData = new FormData());
239
243
  pendingParts++;
240
244
  var promiseId = nextPartId++;
245
+ key = "$@" + promiseId.toString(16);
246
+ writtenObjects.set(value, key);
241
247
  value.then(function (partValue) {
242
248
  try {
243
- var partJSON$27 = serializeModel(partValue, promiseId);
249
+ var previousReference = writtenObjects.get(partValue);
250
+ var partJSON$27 =
251
+ void 0 !== previousReference
252
+ ? JSON.stringify(previousReference)
253
+ : serializeModel(partValue, promiseId);
244
254
  partValue = formData;
245
255
  partValue.append(formFieldPrefix + promiseId, partJSON$27);
246
256
  pendingParts--;
@@ -249,9 +259,8 @@ function processReply(
249
259
  reject(reason);
250
260
  }
251
261
  }, reject);
252
- return "$@" + promiseId.toString(16);
262
+ return key;
253
263
  }
254
- parentReference = writtenObjects.get(value);
255
264
  if (void 0 !== parentReference)
256
265
  if (modelRoot === value) modelRoot = null;
257
266
  else return parentReference;
@@ -375,7 +384,7 @@ function processReply(
375
384
  null === formData && (formData = new FormData()),
376
385
  (parentReference = nextPartId++),
377
386
  formData.set(formFieldPrefix + parentReference, key),
378
- "$F" + parentReference.toString(16)
387
+ "$h" + parentReference.toString(16)
379
388
  );
380
389
  if (
381
390
  void 0 !== temporaryReferences &&
@@ -659,12 +668,12 @@ function readChunk(chunk) {
659
668
  throw chunk.reason;
660
669
  }
661
670
  }
662
- function wakeChunk(listeners, value) {
671
+ function wakeChunk(listeners, value, chunk) {
663
672
  for (var i = 0; i < listeners.length; i++) {
664
673
  var listener = listeners[i];
665
674
  "function" === typeof listener
666
675
  ? listener(value)
667
- : fulfillReference(listener, value);
676
+ : fulfillReference(listener, value, chunk);
668
677
  }
669
678
  }
670
679
  function rejectChunk(listeners, error) {
@@ -699,20 +708,31 @@ function resolveBlockedCycle(resolvedChunk, reference) {
699
708
  function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
700
709
  switch (chunk.status) {
701
710
  case "fulfilled":
702
- wakeChunk(resolveListeners, chunk.value);
711
+ wakeChunk(resolveListeners, chunk.value, chunk);
703
712
  break;
704
713
  case "blocked":
705
714
  for (var i = 0; i < resolveListeners.length; i++) {
706
715
  var listener = resolveListeners[i];
707
716
  if ("function" !== typeof listener) {
708
717
  var cyclicHandler = resolveBlockedCycle(chunk, listener);
709
- null !== cyclicHandler &&
710
- (fulfillReference(listener, cyclicHandler.value),
711
- resolveListeners.splice(i, 1),
712
- i--,
713
- null !== rejectListeners &&
714
- ((listener = rejectListeners.indexOf(listener)),
715
- -1 !== listener && rejectListeners.splice(listener, 1)));
718
+ if (null !== cyclicHandler)
719
+ switch (
720
+ (fulfillReference(listener, cyclicHandler.value, chunk),
721
+ resolveListeners.splice(i, 1),
722
+ i--,
723
+ null !== rejectListeners &&
724
+ ((listener = rejectListeners.indexOf(listener)),
725
+ -1 !== listener && rejectListeners.splice(listener, 1)),
726
+ chunk.status)
727
+ ) {
728
+ case "fulfilled":
729
+ wakeChunk(resolveListeners, chunk.value, chunk);
730
+ return;
731
+ case "rejected":
732
+ null !== rejectListeners &&
733
+ rejectChunk(rejectListeners, chunk.reason);
734
+ return;
735
+ }
716
736
  }
717
737
  }
718
738
  case "pending":
@@ -775,6 +795,7 @@ function resolveModuleChunk(response, chunk, value) {
775
795
  var rejectListeners = chunk.reason;
776
796
  chunk.status = "resolved_module";
777
797
  chunk.value = value;
798
+ chunk.reason = null;
778
799
  null !== response &&
779
800
  (initializeModuleChunk(chunk),
780
801
  wakeChunkIfInitialized(chunk, response, rejectListeners));
@@ -832,8 +853,11 @@ function reportGlobalError(weakResponse, error) {
832
853
  weakResponse._closed = !0;
833
854
  weakResponse._closedReason = error;
834
855
  weakResponse._chunks.forEach(function (chunk) {
835
- "pending" === chunk.status &&
836
- triggerErrorOnChunk(weakResponse, chunk, error);
856
+ "pending" === chunk.status
857
+ ? triggerErrorOnChunk(weakResponse, chunk, error)
858
+ : "fulfilled" === chunk.status &&
859
+ null !== chunk.reason &&
860
+ chunk.reason.error(error);
837
861
  });
838
862
  }
839
863
  function createLazyChunkWrapper(chunk) {
@@ -850,109 +874,117 @@ function getChunk(response, id) {
850
874
  return chunk;
851
875
  }
852
876
  function fulfillReference(reference, value) {
853
- for (
854
- var response = reference.response,
855
- handler = reference.handler,
856
- parentObject = reference.parentObject,
857
- key = reference.key,
858
- map = reference.map,
859
- path = reference.path,
860
- i = 1;
861
- i < path.length;
862
- i++
863
- ) {
877
+ var response = reference.response,
878
+ handler = reference.handler,
879
+ parentObject = reference.parentObject,
880
+ key = reference.key,
881
+ map = reference.map,
882
+ path = reference.path;
883
+ try {
884
+ for (var i = 1; i < path.length; i++) {
885
+ for (
886
+ ;
887
+ "object" === typeof value &&
888
+ null !== value &&
889
+ value.$$typeof === REACT_LAZY_TYPE;
890
+
891
+ ) {
892
+ var referencedChunk = value._payload;
893
+ if (referencedChunk === handler.chunk) value = handler.value;
894
+ else {
895
+ switch (referencedChunk.status) {
896
+ case "resolved_model":
897
+ initializeModelChunk(referencedChunk);
898
+ break;
899
+ case "resolved_module":
900
+ initializeModuleChunk(referencedChunk);
901
+ }
902
+ switch (referencedChunk.status) {
903
+ case "fulfilled":
904
+ value = referencedChunk.value;
905
+ continue;
906
+ case "blocked":
907
+ var cyclicHandler = resolveBlockedCycle(
908
+ referencedChunk,
909
+ reference
910
+ );
911
+ if (null !== cyclicHandler) {
912
+ value = cyclicHandler.value;
913
+ continue;
914
+ }
915
+ case "pending":
916
+ path.splice(0, i - 1);
917
+ null === referencedChunk.value
918
+ ? (referencedChunk.value = [reference])
919
+ : referencedChunk.value.push(reference);
920
+ null === referencedChunk.reason
921
+ ? (referencedChunk.reason = [reference])
922
+ : referencedChunk.reason.push(reference);
923
+ return;
924
+ case "halted":
925
+ return;
926
+ default:
927
+ rejectReference(reference, referencedChunk.reason);
928
+ return;
929
+ }
930
+ }
931
+ }
932
+ value = value[path[i]];
933
+ }
864
934
  for (
865
935
  ;
866
936
  "object" === typeof value &&
867
937
  null !== value &&
868
938
  value.$$typeof === REACT_LAZY_TYPE;
869
939
 
870
- )
871
- if (((value = value._payload), value === handler.chunk))
872
- value = handler.value;
940
+ ) {
941
+ var referencedChunk$43 = value._payload;
942
+ if (referencedChunk$43 === handler.chunk) value = handler.value;
873
943
  else {
874
- switch (value.status) {
944
+ switch (referencedChunk$43.status) {
875
945
  case "resolved_model":
876
- initializeModelChunk(value);
946
+ initializeModelChunk(referencedChunk$43);
877
947
  break;
878
948
  case "resolved_module":
879
- initializeModuleChunk(value);
949
+ initializeModuleChunk(referencedChunk$43);
880
950
  }
881
- switch (value.status) {
951
+ switch (referencedChunk$43.status) {
882
952
  case "fulfilled":
883
- value = value.value;
953
+ value = referencedChunk$43.value;
884
954
  continue;
885
- case "blocked":
886
- var cyclicHandler = resolveBlockedCycle(value, reference);
887
- if (null !== cyclicHandler) {
888
- value = cyclicHandler.value;
889
- continue;
890
- }
891
- case "pending":
892
- path.splice(0, i - 1);
893
- null === value.value
894
- ? (value.value = [reference])
895
- : value.value.push(reference);
896
- null === value.reason
897
- ? (value.reason = [reference])
898
- : value.reason.push(reference);
899
- return;
900
- case "halted":
901
- return;
902
- default:
903
- rejectReference(reference, value.reason);
904
- return;
905
955
  }
956
+ break;
906
957
  }
907
- value = value[path[i]];
908
- }
909
- for (
910
- ;
911
- "object" === typeof value &&
912
- null !== value &&
913
- value.$$typeof === REACT_LAZY_TYPE;
914
-
915
- )
916
- if (((reference = value._payload), reference === handler.chunk))
917
- value = handler.value;
918
- else {
919
- switch (reference.status) {
920
- case "resolved_model":
921
- initializeModelChunk(reference);
922
- break;
923
- case "resolved_module":
924
- initializeModuleChunk(reference);
925
- }
926
- switch (reference.status) {
927
- case "fulfilled":
928
- value = reference.value;
929
- continue;
930
- }
931
- break;
932
958
  }
933
- response = map(response, value, parentObject, key);
934
- parentObject[key] = response;
935
- "" === key && null === handler.value && (handler.value = response);
936
- if (
937
- parentObject[0] === REACT_ELEMENT_TYPE &&
938
- "object" === typeof handler.value &&
939
- null !== handler.value &&
940
- handler.value.$$typeof === REACT_ELEMENT_TYPE
941
- )
942
- switch (((parentObject = handler.value), key)) {
943
- case "3":
944
- parentObject.props = response;
959
+ var mappedValue = map(response, value, parentObject, key);
960
+ parentObject[key] = mappedValue;
961
+ "" === key && null === handler.value && (handler.value = mappedValue);
962
+ if (
963
+ parentObject[0] === REACT_ELEMENT_TYPE &&
964
+ "object" === typeof handler.value &&
965
+ null !== handler.value &&
966
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
967
+ ) {
968
+ var element = handler.value;
969
+ switch (key) {
970
+ case "3":
971
+ element.props = mappedValue;
972
+ }
945
973
  }
974
+ } catch (error) {
975
+ rejectReference(reference, error);
976
+ return;
977
+ }
946
978
  handler.deps--;
947
979
  0 === handler.deps &&
948
- ((key = handler.chunk),
949
- null !== key &&
950
- "blocked" === key.status &&
951
- ((parentObject = key.value),
952
- (key.status = "fulfilled"),
953
- (key.value = handler.value),
954
- (key.reason = handler.reason),
955
- null !== parentObject && wakeChunk(parentObject, handler.value)));
980
+ ((reference = handler.chunk),
981
+ null !== reference &&
982
+ "blocked" === reference.status &&
983
+ ((value = reference.value),
984
+ (reference.status = "fulfilled"),
985
+ (reference.value = handler.value),
986
+ (reference.reason = handler.reason),
987
+ null !== value && wakeChunk(value, handler.value, reference)));
956
988
  }
957
989
  function rejectReference(reference, error) {
958
990
  var handler = reference.handler;
@@ -1074,7 +1106,9 @@ function loadServerReference(response, metaData, parentObject, key) {
1074
1106
  ((boundArgs = resolvedValue.value),
1075
1107
  (resolvedValue.status = "fulfilled"),
1076
1108
  (resolvedValue.value = handler.value),
1077
- null !== boundArgs && wakeChunk(boundArgs, handler.value)));
1109
+ (resolvedValue.reason = null),
1110
+ null !== boundArgs &&
1111
+ wakeChunk(boundArgs, handler.value, resolvedValue)));
1078
1112
  },
1079
1113
  function (error) {
1080
1114
  if (!handler.errored) {
@@ -1279,7 +1313,7 @@ function parseModelString(response, parentObject, key, value) {
1279
1313
  );
1280
1314
  case "S":
1281
1315
  return Symbol.for(value.slice(2));
1282
- case "F":
1316
+ case "h":
1283
1317
  return (
1284
1318
  (value = value.slice(2)),
1285
1319
  getOutlinedModel(
@@ -1433,12 +1467,13 @@ function resolveStream(response, id, stream, controller) {
1433
1467
  (chunk.status = "fulfilled"),
1434
1468
  (chunk.value = stream),
1435
1469
  (chunk.reason = controller),
1436
- null !== id && wakeChunk(id, chunk.value))
1470
+ null !== id && wakeChunk(id, chunk.value, chunk))
1437
1471
  : ((stream = new ReactPromise("fulfilled", stream, controller)),
1438
1472
  response.set(id, stream));
1439
1473
  }
1440
1474
  function startReadableStream(response, id, type) {
1441
- var controller = null;
1475
+ var controller = null,
1476
+ closed = !1;
1442
1477
  type = new ReadableStream({
1443
1478
  type: type,
1444
1479
  start: function (c) {
@@ -1488,24 +1523,27 @@ function startReadableStream(response, id, type) {
1488
1523
  }
1489
1524
  },
1490
1525
  close: function () {
1491
- if (null === previousBlockedChunk) controller.close();
1492
- else {
1493
- var blockedChunk = previousBlockedChunk;
1494
- previousBlockedChunk = null;
1495
- blockedChunk.then(function () {
1496
- return controller.close();
1497
- });
1498
- }
1526
+ if (!closed)
1527
+ if (((closed = !0), null === previousBlockedChunk)) controller.close();
1528
+ else {
1529
+ var blockedChunk = previousBlockedChunk;
1530
+ previousBlockedChunk = null;
1531
+ blockedChunk.then(function () {
1532
+ return controller.close();
1533
+ });
1534
+ }
1499
1535
  },
1500
1536
  error: function (error) {
1501
- if (null === previousBlockedChunk) controller.error(error);
1502
- else {
1503
- var blockedChunk = previousBlockedChunk;
1504
- previousBlockedChunk = null;
1505
- blockedChunk.then(function () {
1506
- return controller.error(error);
1507
- });
1508
- }
1537
+ if (!closed)
1538
+ if (((closed = !0), null === previousBlockedChunk))
1539
+ controller.error(error);
1540
+ else {
1541
+ var blockedChunk = previousBlockedChunk;
1542
+ previousBlockedChunk = null;
1543
+ blockedChunk.then(function () {
1544
+ return controller.error(error);
1545
+ });
1546
+ }
1509
1547
  }
1510
1548
  });
1511
1549
  }
@@ -1559,6 +1597,7 @@ function startAsyncIterable(response, id, iterator) {
1559
1597
  rejectListeners = chunk.reason;
1560
1598
  chunk.status = "fulfilled";
1561
1599
  chunk.value = { done: !1, value: value };
1600
+ chunk.reason = null;
1562
1601
  null !== resolveListeners &&
1563
1602
  wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);
1564
1603
  }
@@ -1580,36 +1619,46 @@ function startAsyncIterable(response, id, iterator) {
1580
1619
  nextWriteIndex++;
1581
1620
  },
1582
1621
  close: function (value) {
1583
- closed = !0;
1584
- nextWriteIndex === buffer.length
1585
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
1586
- response,
1587
- value,
1588
- !0
1589
- ))
1590
- : resolveIteratorResultChunk(
1622
+ if (!closed)
1623
+ for (
1624
+ closed = !0,
1625
+ nextWriteIndex === buffer.length
1626
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
1627
+ response,
1628
+ value,
1629
+ !0
1630
+ ))
1631
+ : resolveIteratorResultChunk(
1632
+ response,
1633
+ buffer[nextWriteIndex],
1634
+ value,
1635
+ !0
1636
+ ),
1637
+ nextWriteIndex++;
1638
+ nextWriteIndex < buffer.length;
1639
+
1640
+ )
1641
+ resolveIteratorResultChunk(
1591
1642
  response,
1592
- buffer[nextWriteIndex],
1593
- value,
1643
+ buffer[nextWriteIndex++],
1644
+ '"$undefined"',
1594
1645
  !0
1595
1646
  );
1596
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
1597
- resolveIteratorResultChunk(
1598
- response,
1599
- buffer[nextWriteIndex++],
1600
- '"$undefined"',
1601
- !0
1602
- );
1603
1647
  },
1604
1648
  error: function (error) {
1605
- closed = !0;
1606
- for (
1607
- nextWriteIndex === buffer.length &&
1608
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
1609
- nextWriteIndex < buffer.length;
1649
+ if (!closed)
1650
+ for (
1651
+ closed = !0,
1652
+ nextWriteIndex === buffer.length &&
1653
+ (buffer[nextWriteIndex] = new ReactPromise(
1654
+ "pending",
1655
+ null,
1656
+ null
1657
+ ));
1658
+ nextWriteIndex < buffer.length;
1610
1659
 
1611
- )
1612
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
1660
+ )
1661
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
1613
1662
  }
1614
1663
  }
1615
1664
  );