@vitejs/plugin-rsc 0.4.34 → 0.5.1

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.
Files changed (100) hide show
  1. package/dist/{browser-D8OPzpF5.js → browser-B4C0Zb4m.js} +1 -1
  2. package/dist/{browser-CQv7Z3J4.d.ts → browser-C8KlM-b7.d.ts} +2 -2
  3. package/dist/{browser-DwWQeoll.d.ts → browser-CDBRiZjk.d.ts} +1 -1
  4. package/dist/{browser-7NhxQxuk.js → browser-U86erGOy.js} +3 -3
  5. package/dist/browser.d.ts +3 -3
  6. package/dist/browser.js +23 -5
  7. package/dist/chunk-Cdb3zUqJ.js +30 -0
  8. package/dist/{cjs-BamOAUgw.js → cjs-zUv66MZg.js} +3 -3
  9. package/dist/core/browser.d.ts +1 -1
  10. package/dist/core/browser.js +3 -3
  11. package/dist/core/plugin.js +1 -1
  12. package/dist/core/rsc.d.ts +2 -2
  13. package/dist/core/rsc.js +3 -3
  14. package/dist/core/ssr.d.ts +2 -2
  15. package/dist/core/ssr.js +3 -3
  16. package/dist/{dist-DiJnRA1C.js → dist-CNbFy2EZ.js} +1 -1
  17. package/dist/{encryption-runtime-B8xcnJoN.d.ts → encryption-runtime-BDgc4dBr.d.ts} +1 -1
  18. package/dist/{encryption-runtime-DT6dtlC5.js → encryption-runtime-D5_PLt4C.js} +4 -4
  19. package/dist/{encryption-utils-BDwwcMVT.js → encryption-utils-DdqSKS_O.js} +1 -1
  20. package/dist/{index-CPkExgij.d.ts → index-BY8KUQhI.d.ts} +1 -1
  21. package/dist/{index-B04iFwO5.d.ts → index-DJ0AhQ9B.d.ts} +1 -1
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.js +8 -8
  24. package/dist/picocolors-BRKobevN.js +74 -0
  25. package/dist/{plugin-CZbI4rhS.js → plugin-4UFT-s0w.js} +1 -1
  26. package/dist/{plugin-BLedJFh7.js → plugin-DNwmUjn4.js} +32 -22
  27. package/dist/{plugin-DCLI7Wh8.d.ts → plugin-fbbM1muv.d.ts} +2 -6
  28. package/dist/plugin.d.ts +2 -2
  29. package/dist/plugin.js +8 -8
  30. package/dist/plugins/cjs.js +3 -3
  31. package/dist/react/browser.d.ts +3 -3
  32. package/dist/react/browser.js +4 -4
  33. package/dist/react/rsc.d.ts +3 -3
  34. package/dist/react/rsc.js +4 -4
  35. package/dist/react/ssr.d.ts +3 -3
  36. package/dist/react/ssr.js +4 -4
  37. package/dist/{rpc-CUvSZurk.js → rpc-nwJuNojy.js} +1 -1
  38. package/dist/{rsc-JJjz3Z0i.d.ts → rsc-03j1e3xp.d.ts} +4 -4
  39. package/dist/{rsc-BdCB3621.js → rsc-B_DQ_Sju.js} +2 -2
  40. package/dist/{rsc-3bkzqdsJ.d.ts → rsc-OCbFObYE.d.ts} +2 -2
  41. package/dist/{rsc-GFzFWyhT.js → rsc-bL1QvQCm.js} +3 -3
  42. package/dist/rsc.d.ts +4 -4
  43. package/dist/rsc.js +24 -7
  44. package/dist/{shared-CXg_u-4h.js → shared-C8PSRwR2.js} +1 -1
  45. package/dist/{shared-n-ykEs15.js → shared-DlspEItJ.js} +1 -1
  46. package/dist/{ssr-BrSGyrxe.d.ts → ssr-Dgbl_mOS.d.ts} +1 -1
  47. package/dist/{ssr-Cd4SbAaO.js → ssr-DzY6rnEv.js} +2 -2
  48. package/dist/{ssr-Cm2FP2zD.js → ssr-EH7rBPkK.js} +3 -3
  49. package/dist/{ssr-CMjeQ9AS.d.ts → ssr-fBV4xXen.d.ts} +2 -2
  50. package/dist/ssr.d.ts +3 -3
  51. package/dist/ssr.js +54 -6
  52. package/dist/transforms/index.d.ts +1 -1
  53. package/dist/transforms/index.js +2 -2
  54. package/dist/{transforms-CpF3zNE0.js → transforms-CSPqW3RX.js} +3 -2
  55. package/dist/utils/encryption-runtime.d.ts +1 -1
  56. package/dist/utils/encryption-runtime.js +6 -6
  57. package/dist/utils/rpc.js +1 -1
  58. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.development.js +2964 -774
  59. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.production.js +554 -312
  60. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.development.js +2721 -724
  61. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.production.js +541 -300
  62. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.development.js +2955 -858
  63. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.production.js +652 -332
  64. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.development.js +2956 -861
  65. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.production.js +652 -332
  66. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-plugin.js +6 -2
  67. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.development.js +1931 -713
  68. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.production.js +544 -295
  69. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.development.js +1926 -715
  70. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.production.js +542 -299
  71. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.development.js +2719 -743
  72. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.production.js +725 -338
  73. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.development.js +2703 -727
  74. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.production.js +725 -338
  75. package/dist/vendor/react-server-dom/package.json +3 -3
  76. package/dist/vendor/react-server-dom/server.node.js +3 -1
  77. package/dist/vendor/react-server-dom/server.node.unbundled.js +3 -1
  78. package/dist/vendor/react-server-dom/static.browser.js +1 -3
  79. package/dist/vendor/react-server-dom/static.edge.js +1 -3
  80. package/dist/vendor/react-server-dom/static.node.js +2 -3
  81. package/dist/vendor/react-server-dom/static.node.unbundled.js +1 -3
  82. package/package.json +11 -10
  83. package/types/index.d.ts +0 -4
  84. package/dist/browser--ZREVnM9.js +0 -22
  85. package/dist/client-C7Eok9hc.js +0 -23
  86. package/dist/extra/browser.d.ts +0 -14
  87. package/dist/extra/browser.js +0 -88
  88. package/dist/extra/rsc.d.ts +0 -2
  89. package/dist/extra/rsc.js +0 -56
  90. package/dist/extra/ssr.d.ts +0 -14
  91. package/dist/extra/ssr.js +0 -37
  92. package/dist/rsc-CiAoLCx8.js +0 -21
  93. package/dist/rsc-c22DF1A7.d.ts +0 -16
  94. package/dist/rsc-html-stream/browser.d.ts +0 -5
  95. package/dist/rsc-html-stream/browser.js +0 -8
  96. package/dist/rsc-html-stream/ssr.d.ts +0 -7
  97. package/dist/rsc-html-stream/ssr.js +0 -8
  98. package/dist/server-DMhFuTz_.js +0 -72
  99. package/dist/ssr-BQwZitKq.js +0 -53
  100. package/types/virtual.d.ts +0 -5
@@ -246,11 +246,11 @@ function processReply(
246
246
  0 === pendingParts && resolve(data);
247
247
  } else
248
248
  try {
249
- var partJSON$22 = JSON.stringify(entry.value, resolveToJSON);
250
- data.append(formFieldPrefix + streamId, partJSON$22);
249
+ var partJSON$21 = JSON.stringify(entry.value, resolveToJSON);
250
+ data.append(formFieldPrefix + streamId, partJSON$21);
251
251
  iterator.next().then(progress, reject);
252
- } catch (x$23) {
253
- reject(x$23);
252
+ } catch (x$22) {
253
+ reject(x$22);
254
254
  }
255
255
  }
256
256
  null === formData && (formData = new FormData());
@@ -295,20 +295,20 @@ function processReply(
295
295
  "function" === typeof x.then
296
296
  ) {
297
297
  pendingParts++;
298
- var lazyId$24 = nextPartId++;
298
+ var lazyId$23 = nextPartId++;
299
299
  parentReference = function () {
300
300
  try {
301
- var partJSON$25 = serializeModel(value, lazyId$24),
302
- data$26 = formData;
303
- data$26.append(formFieldPrefix + lazyId$24, partJSON$25);
301
+ var partJSON$24 = serializeModel(value, lazyId$23),
302
+ data$25 = formData;
303
+ data$25.append(formFieldPrefix + lazyId$23, partJSON$24);
304
304
  pendingParts--;
305
- 0 === pendingParts && resolve(data$26);
305
+ 0 === pendingParts && resolve(data$25);
306
306
  } catch (reason) {
307
307
  reject(reason);
308
308
  }
309
309
  };
310
310
  x.then(parentReference, parentReference);
311
- return "$" + lazyId$24.toString(16);
311
+ return "$" + lazyId$23.toString(16);
312
312
  }
313
313
  reject(x);
314
314
  return null;
@@ -322,9 +322,9 @@ function processReply(
322
322
  var promiseId = nextPartId++;
323
323
  value.then(function (partValue) {
324
324
  try {
325
- var partJSON$28 = serializeModel(partValue, promiseId);
325
+ var partJSON$27 = serializeModel(partValue, promiseId);
326
326
  partValue = formData;
327
- partValue.append(formFieldPrefix + promiseId, partJSON$28);
327
+ partValue.append(formFieldPrefix + promiseId, partJSON$27);
328
328
  pendingParts--;
329
329
  0 === pendingParts && resolve(partValue);
330
330
  } catch (reason) {
@@ -348,11 +348,11 @@ function processReply(
348
348
  if (isArrayImpl(value)) return value;
349
349
  if (value instanceof FormData) {
350
350
  null === formData && (formData = new FormData());
351
- var data$32 = formData;
351
+ var data$31 = formData;
352
352
  key = nextPartId++;
353
353
  var prefix = formFieldPrefix + key + "_";
354
354
  value.forEach(function (originalValue, originalKey) {
355
- data$32.append(prefix + originalKey, originalValue);
355
+ data$31.append(prefix + originalKey, originalValue);
356
356
  });
357
357
  return "$K" + key.toString(16);
358
358
  }
@@ -691,11 +691,10 @@ function createServerReference$1(id, callServer, encodeFormAction) {
691
691
  registerBoundServerReference(action, id, null, encodeFormAction);
692
692
  return action;
693
693
  }
694
- function ReactPromise(status, value, reason, response) {
694
+ function ReactPromise(status, value, reason) {
695
695
  this.status = status;
696
696
  this.value = value;
697
697
  this.reason = reason;
698
- this._response = response;
699
698
  }
700
699
  ReactPromise.prototype = Object.create(Promise.prototype);
701
700
  ReactPromise.prototype.then = function (resolve, reject) {
@@ -708,17 +707,19 @@ ReactPromise.prototype.then = function (resolve, reject) {
708
707
  }
709
708
  switch (this.status) {
710
709
  case "fulfilled":
711
- resolve(this.value);
710
+ "function" === typeof resolve && resolve(this.value);
712
711
  break;
713
712
  case "pending":
714
713
  case "blocked":
715
- resolve &&
714
+ "function" === typeof resolve &&
716
715
  (null === this.value && (this.value = []), this.value.push(resolve));
717
- reject &&
716
+ "function" === typeof reject &&
718
717
  (null === this.reason && (this.reason = []), this.reason.push(reject));
719
718
  break;
719
+ case "halted":
720
+ break;
720
721
  default:
721
- reject && reject(this.reason);
722
+ "function" === typeof reject && reject(this.reason);
722
723
  }
723
724
  };
724
725
  function readChunk(chunk) {
@@ -734,26 +735,71 @@ function readChunk(chunk) {
734
735
  return chunk.value;
735
736
  case "pending":
736
737
  case "blocked":
738
+ case "halted":
737
739
  throw chunk;
738
740
  default:
739
741
  throw chunk.reason;
740
742
  }
741
743
  }
742
- function createPendingChunk(response) {
743
- return new ReactPromise("pending", null, null, response);
744
- }
745
744
  function wakeChunk(listeners, value) {
746
- for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
745
+ for (var i = 0; i < listeners.length; i++) {
746
+ var listener = listeners[i];
747
+ "function" === typeof listener
748
+ ? listener(value)
749
+ : fulfillReference(listener, value);
750
+ }
751
+ }
752
+ function rejectChunk(listeners, error) {
753
+ for (var i = 0; i < listeners.length; i++) {
754
+ var listener = listeners[i];
755
+ "function" === typeof listener
756
+ ? listener(error)
757
+ : rejectReference(listener, error);
758
+ }
759
+ }
760
+ function resolveBlockedCycle(resolvedChunk, reference) {
761
+ var referencedChunk = reference.handler.chunk;
762
+ if (null === referencedChunk) return null;
763
+ if (referencedChunk === resolvedChunk) return reference.handler;
764
+ reference = referencedChunk.value;
765
+ if (null !== reference)
766
+ for (
767
+ referencedChunk = 0;
768
+ referencedChunk < reference.length;
769
+ referencedChunk++
770
+ ) {
771
+ var listener = reference[referencedChunk];
772
+ if (
773
+ "function" !== typeof listener &&
774
+ ((listener = resolveBlockedCycle(resolvedChunk, listener)),
775
+ null !== listener)
776
+ )
777
+ return listener;
778
+ }
779
+ return null;
747
780
  }
748
781
  function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
749
782
  switch (chunk.status) {
750
783
  case "fulfilled":
751
784
  wakeChunk(resolveListeners, chunk.value);
752
785
  break;
753
- case "pending":
754
786
  case "blocked":
787
+ for (var i = 0; i < resolveListeners.length; i++) {
788
+ var listener = resolveListeners[i];
789
+ if ("function" !== typeof listener) {
790
+ var cyclicHandler = resolveBlockedCycle(chunk, listener);
791
+ null !== cyclicHandler &&
792
+ (fulfillReference(listener, cyclicHandler.value),
793
+ resolveListeners.splice(i, 1),
794
+ i--,
795
+ null !== rejectListeners &&
796
+ ((listener = rejectListeners.indexOf(listener)),
797
+ -1 !== listener && rejectListeners.splice(listener, 1)));
798
+ }
799
+ }
800
+ case "pending":
755
801
  if (chunk.value)
756
- for (var i = 0; i < resolveListeners.length; i++)
802
+ for (i = 0; i < resolveListeners.length; i++)
757
803
  chunk.value.push(resolveListeners[i]);
758
804
  else chunk.value = resolveListeners;
759
805
  if (chunk.reason) {
@@ -767,73 +813,80 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
767
813
  } else chunk.reason = rejectListeners;
768
814
  break;
769
815
  case "rejected":
770
- rejectListeners && wakeChunk(rejectListeners, chunk.reason);
816
+ rejectListeners && rejectChunk(rejectListeners, chunk.reason);
771
817
  }
772
818
  }
773
- function triggerErrorOnChunk(chunk, error) {
774
- if ("pending" !== chunk.status && "blocked" !== chunk.status)
775
- chunk.reason.error(error);
776
- else {
777
- var listeners = chunk.reason;
778
- chunk.status = "rejected";
779
- chunk.reason = error;
780
- null !== listeners && wakeChunk(listeners, error);
781
- }
819
+ function triggerErrorOnChunk(response, chunk, error) {
820
+ "pending" !== chunk.status && "blocked" !== chunk.status
821
+ ? chunk.reason.error(error)
822
+ : ((response = chunk.reason),
823
+ (chunk.status = "rejected"),
824
+ (chunk.reason = error),
825
+ null !== response && rejectChunk(response, error));
782
826
  }
783
827
  function createResolvedIteratorResultChunk(response, value, done) {
784
828
  return new ReactPromise(
785
829
  "resolved_model",
786
830
  (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}",
787
- null,
788
831
  response
789
832
  );
790
833
  }
791
- function resolveIteratorResultChunk(chunk, value, done) {
834
+ function resolveIteratorResultChunk(response, chunk, value, done) {
792
835
  resolveModelChunk(
836
+ response,
793
837
  chunk,
794
838
  (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}"
795
839
  );
796
840
  }
797
- function resolveModelChunk(chunk, value) {
841
+ function resolveModelChunk(response, chunk, value) {
798
842
  if ("pending" !== chunk.status) chunk.reason.enqueueModel(value);
799
843
  else {
800
844
  var resolveListeners = chunk.value,
801
845
  rejectListeners = chunk.reason;
802
846
  chunk.status = "resolved_model";
803
847
  chunk.value = value;
848
+ chunk.reason = response;
804
849
  null !== resolveListeners &&
805
850
  (initializeModelChunk(chunk),
806
851
  wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
807
852
  }
808
853
  }
809
- function resolveModuleChunk(chunk, value) {
854
+ function resolveModuleChunk(response, chunk, value) {
810
855
  if ("pending" === chunk.status || "blocked" === chunk.status) {
811
- var resolveListeners = chunk.value,
812
- rejectListeners = chunk.reason;
856
+ response = chunk.value;
857
+ var rejectListeners = chunk.reason;
813
858
  chunk.status = "resolved_module";
814
859
  chunk.value = value;
815
- null !== resolveListeners &&
860
+ null !== response &&
816
861
  (initializeModuleChunk(chunk),
817
- wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
862
+ wakeChunkIfInitialized(chunk, response, rejectListeners));
818
863
  }
819
864
  }
820
865
  var initializingHandler = null;
821
866
  function initializeModelChunk(chunk) {
822
867
  var prevHandler = initializingHandler;
823
868
  initializingHandler = null;
824
- var resolvedModel = chunk.value;
869
+ var resolvedModel = chunk.value,
870
+ response = chunk.reason;
825
871
  chunk.status = "blocked";
826
872
  chunk.value = null;
827
873
  chunk.reason = null;
828
874
  try {
829
- var value = JSON.parse(resolvedModel, chunk._response._fromJSON),
875
+ var value = JSON.parse(resolvedModel, response._fromJSON),
830
876
  resolveListeners = chunk.value;
831
- null !== resolveListeners &&
832
- ((chunk.value = null),
833
- (chunk.reason = null),
834
- wakeChunk(resolveListeners, value));
877
+ if (null !== resolveListeners)
878
+ for (
879
+ chunk.value = null, chunk.reason = null, resolvedModel = 0;
880
+ resolvedModel < resolveListeners.length;
881
+ resolvedModel++
882
+ ) {
883
+ var listener = resolveListeners[resolvedModel];
884
+ "function" === typeof listener
885
+ ? listener(value)
886
+ : fulfillReference(listener, value, chunk);
887
+ }
835
888
  if (null !== initializingHandler) {
836
- if (initializingHandler.errored) throw initializingHandler.value;
889
+ if (initializingHandler.errored) throw initializingHandler.reason;
837
890
  if (0 < initializingHandler.deps) {
838
891
  initializingHandler.value = value;
839
892
  initializingHandler.chunk = chunk;
@@ -857,11 +910,12 @@ function initializeModuleChunk(chunk) {
857
910
  (chunk.status = "rejected"), (chunk.reason = error);
858
911
  }
859
912
  }
860
- function reportGlobalError(response, error) {
861
- response._closed = !0;
862
- response._closedReason = error;
863
- response._chunks.forEach(function (chunk) {
864
- "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
913
+ function reportGlobalError(weakResponse, error) {
914
+ weakResponse._closed = !0;
915
+ weakResponse._closedReason = error;
916
+ weakResponse._chunks.forEach(function (chunk) {
917
+ "pending" === chunk.status &&
918
+ triggerErrorOnChunk(weakResponse, chunk, error);
865
919
  });
866
920
  }
867
921
  function createLazyChunkWrapper(chunk) {
@@ -872,11 +926,128 @@ function getChunk(response, id) {
872
926
  chunk = chunks.get(id);
873
927
  chunk ||
874
928
  ((chunk = response._closed
875
- ? new ReactPromise("rejected", null, response._closedReason, response)
876
- : createPendingChunk(response)),
929
+ ? new ReactPromise("rejected", null, response._closedReason)
930
+ : new ReactPromise("pending", null, null)),
877
931
  chunks.set(id, chunk));
878
932
  return chunk;
879
933
  }
934
+ function fulfillReference(reference, value) {
935
+ for (
936
+ var response = reference.response,
937
+ handler = reference.handler,
938
+ parentObject = reference.parentObject,
939
+ key = reference.key,
940
+ map = reference.map,
941
+ path = reference.path,
942
+ i = 1;
943
+ i < path.length;
944
+ i++
945
+ ) {
946
+ for (
947
+ ;
948
+ "object" === typeof value &&
949
+ null !== value &&
950
+ value.$$typeof === REACT_LAZY_TYPE;
951
+
952
+ )
953
+ if (((value = value._payload), value === handler.chunk))
954
+ value = handler.value;
955
+ else {
956
+ switch (value.status) {
957
+ case "resolved_model":
958
+ initializeModelChunk(value);
959
+ break;
960
+ case "resolved_module":
961
+ initializeModuleChunk(value);
962
+ }
963
+ switch (value.status) {
964
+ case "fulfilled":
965
+ value = value.value;
966
+ continue;
967
+ case "blocked":
968
+ var cyclicHandler = resolveBlockedCycle(value, reference);
969
+ if (null !== cyclicHandler) {
970
+ value = cyclicHandler.value;
971
+ continue;
972
+ }
973
+ case "pending":
974
+ path.splice(0, i - 1);
975
+ null === value.value
976
+ ? (value.value = [reference])
977
+ : value.value.push(reference);
978
+ null === value.reason
979
+ ? (value.reason = [reference])
980
+ : value.reason.push(reference);
981
+ return;
982
+ case "halted":
983
+ return;
984
+ default:
985
+ rejectReference(reference, value.reason);
986
+ return;
987
+ }
988
+ }
989
+ value = value[path[i]];
990
+ }
991
+ for (
992
+ ;
993
+ "object" === typeof value &&
994
+ null !== value &&
995
+ value.$$typeof === REACT_LAZY_TYPE;
996
+
997
+ )
998
+ if (((reference = value._payload), reference === handler.chunk))
999
+ value = handler.value;
1000
+ else {
1001
+ switch (reference.status) {
1002
+ case "resolved_model":
1003
+ initializeModelChunk(reference);
1004
+ break;
1005
+ case "resolved_module":
1006
+ initializeModuleChunk(reference);
1007
+ }
1008
+ switch (reference.status) {
1009
+ case "fulfilled":
1010
+ value = reference.value;
1011
+ continue;
1012
+ }
1013
+ break;
1014
+ }
1015
+ response = map(response, value, parentObject, key);
1016
+ parentObject[key] = response;
1017
+ "" === key && null === handler.value && (handler.value = response);
1018
+ if (
1019
+ parentObject[0] === REACT_ELEMENT_TYPE &&
1020
+ "object" === typeof handler.value &&
1021
+ null !== handler.value &&
1022
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
1023
+ )
1024
+ switch (((parentObject = handler.value), key)) {
1025
+ case "3":
1026
+ parentObject.props = response;
1027
+ }
1028
+ handler.deps--;
1029
+ 0 === handler.deps &&
1030
+ ((key = handler.chunk),
1031
+ null !== key &&
1032
+ "blocked" === key.status &&
1033
+ ((parentObject = key.value),
1034
+ (key.status = "fulfilled"),
1035
+ (key.value = handler.value),
1036
+ (key.reason = handler.reason),
1037
+ null !== parentObject && wakeChunk(parentObject, handler.value)));
1038
+ }
1039
+ function rejectReference(reference, error) {
1040
+ var handler = reference.handler;
1041
+ reference = reference.response;
1042
+ handler.errored ||
1043
+ ((handler.errored = !0),
1044
+ (handler.value = null),
1045
+ (handler.reason = error),
1046
+ (handler = handler.chunk),
1047
+ null !== handler &&
1048
+ "blocked" === handler.status &&
1049
+ triggerErrorOnChunk(reference, handler, error));
1050
+ }
880
1051
  function waitForReference(
881
1052
  referencedChunk,
882
1053
  parentObject,
@@ -885,52 +1056,6 @@ function waitForReference(
885
1056
  map,
886
1057
  path
887
1058
  ) {
888
- function fulfill(value) {
889
- for (var i = 1; i < path.length; i++) {
890
- for (; value.$$typeof === REACT_LAZY_TYPE; )
891
- if (((value = value._payload), value === handler.chunk))
892
- value = handler.value;
893
- else if ("fulfilled" === value.status) value = value.value;
894
- else {
895
- path.splice(0, i - 1);
896
- value.then(fulfill, reject);
897
- return;
898
- }
899
- value = value[path[i]];
900
- }
901
- i = map(response, value, parentObject, key);
902
- parentObject[key] = i;
903
- "" === key && null === handler.value && (handler.value = i);
904
- if (
905
- parentObject[0] === REACT_ELEMENT_TYPE &&
906
- "object" === typeof handler.value &&
907
- null !== handler.value &&
908
- handler.value.$$typeof === REACT_ELEMENT_TYPE
909
- )
910
- switch (((value = handler.value), key)) {
911
- case "3":
912
- value.props = i;
913
- }
914
- handler.deps--;
915
- 0 === handler.deps &&
916
- ((i = handler.chunk),
917
- null !== i &&
918
- "blocked" === i.status &&
919
- ((value = i.value),
920
- (i.status = "fulfilled"),
921
- (i.value = handler.value),
922
- null !== value && wakeChunk(value, handler.value)));
923
- }
924
- function reject(error) {
925
- if (!handler.errored) {
926
- handler.errored = !0;
927
- handler.value = error;
928
- var chunk = handler.chunk;
929
- null !== chunk &&
930
- "blocked" === chunk.status &&
931
- triggerErrorOnChunk(chunk, error);
932
- }
933
- }
934
1059
  if (initializingHandler) {
935
1060
  var handler = initializingHandler;
936
1061
  handler.deps++;
@@ -939,10 +1064,24 @@ function waitForReference(
939
1064
  parent: null,
940
1065
  chunk: null,
941
1066
  value: null,
1067
+ reason: null,
942
1068
  deps: 1,
943
1069
  errored: !1
944
1070
  };
945
- referencedChunk.then(fulfill, reject);
1071
+ parentObject = {
1072
+ response: response,
1073
+ handler: handler,
1074
+ parentObject: parentObject,
1075
+ key: key,
1076
+ map: map,
1077
+ path: path
1078
+ };
1079
+ null === referencedChunk.value
1080
+ ? (referencedChunk.value = [parentObject])
1081
+ : referencedChunk.value.push(parentObject);
1082
+ null === referencedChunk.reason
1083
+ ? (referencedChunk.reason = [parentObject])
1084
+ : referencedChunk.reason.push(parentObject);
946
1085
  return null;
947
1086
  }
948
1087
  function loadServerReference(response, metaData, parentObject, key) {
@@ -979,6 +1118,7 @@ function loadServerReference(response, metaData, parentObject, key) {
979
1118
  parent: null,
980
1119
  chunk: null,
981
1120
  value: null,
1121
+ reason: null,
982
1122
  deps: 1,
983
1123
  errored: !1
984
1124
  };
@@ -1021,11 +1161,12 @@ function loadServerReference(response, metaData, parentObject, key) {
1021
1161
  function (error) {
1022
1162
  if (!handler.errored) {
1023
1163
  handler.errored = !0;
1024
- handler.value = error;
1164
+ handler.value = null;
1165
+ handler.reason = error;
1025
1166
  var chunk = handler.chunk;
1026
1167
  null !== chunk &&
1027
1168
  "blocked" === chunk.status &&
1028
- triggerErrorOnChunk(chunk, error);
1169
+ triggerErrorOnChunk(response, chunk, error);
1029
1170
  }
1030
1171
  }
1031
1172
  );
@@ -1044,35 +1185,122 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
1044
1185
  }
1045
1186
  switch (id.status) {
1046
1187
  case "fulfilled":
1047
- var value = id.value;
1048
- for (id = 1; id < reference.length; id++) {
1049
- for (; value.$$typeof === REACT_LAZY_TYPE; )
1050
- if (((value = value._payload), "fulfilled" === value.status))
1051
- value = value.value;
1052
- else
1053
- return waitForReference(
1054
- value,
1055
- parentObject,
1056
- key,
1057
- response,
1058
- map,
1059
- reference.slice(id - 1)
1060
- );
1061
- value = value[reference[id]];
1188
+ id = id.value;
1189
+ for (var i = 1; i < reference.length; i++) {
1190
+ for (
1191
+ ;
1192
+ "object" === typeof id &&
1193
+ null !== id &&
1194
+ id.$$typeof === REACT_LAZY_TYPE;
1195
+
1196
+ ) {
1197
+ id = id._payload;
1198
+ switch (id.status) {
1199
+ case "resolved_model":
1200
+ initializeModelChunk(id);
1201
+ break;
1202
+ case "resolved_module":
1203
+ initializeModuleChunk(id);
1204
+ }
1205
+ switch (id.status) {
1206
+ case "fulfilled":
1207
+ id = id.value;
1208
+ break;
1209
+ case "blocked":
1210
+ case "pending":
1211
+ return waitForReference(
1212
+ id,
1213
+ parentObject,
1214
+ key,
1215
+ response,
1216
+ map,
1217
+ reference.slice(i - 1)
1218
+ );
1219
+ case "halted":
1220
+ return (
1221
+ initializingHandler
1222
+ ? ((response = initializingHandler), response.deps++)
1223
+ : (initializingHandler = {
1224
+ parent: null,
1225
+ chunk: null,
1226
+ value: null,
1227
+ reason: null,
1228
+ deps: 1,
1229
+ errored: !1
1230
+ }),
1231
+ null
1232
+ );
1233
+ default:
1234
+ return (
1235
+ initializingHandler
1236
+ ? ((initializingHandler.errored = !0),
1237
+ (initializingHandler.value = null),
1238
+ (initializingHandler.reason = id.reason))
1239
+ : (initializingHandler = {
1240
+ parent: null,
1241
+ chunk: null,
1242
+ value: null,
1243
+ reason: id.reason,
1244
+ deps: 0,
1245
+ errored: !0
1246
+ }),
1247
+ null
1248
+ );
1249
+ }
1250
+ }
1251
+ id = id[reference[i]];
1252
+ }
1253
+ for (
1254
+ ;
1255
+ "object" === typeof id &&
1256
+ null !== id &&
1257
+ id.$$typeof === REACT_LAZY_TYPE;
1258
+
1259
+ ) {
1260
+ reference = id._payload;
1261
+ switch (reference.status) {
1262
+ case "resolved_model":
1263
+ initializeModelChunk(reference);
1264
+ break;
1265
+ case "resolved_module":
1266
+ initializeModuleChunk(reference);
1267
+ }
1268
+ switch (reference.status) {
1269
+ case "fulfilled":
1270
+ id = reference.value;
1271
+ continue;
1272
+ }
1273
+ break;
1062
1274
  }
1063
- return map(response, value, parentObject, key);
1275
+ return map(response, id, parentObject, key);
1064
1276
  case "pending":
1065
1277
  case "blocked":
1066
1278
  return waitForReference(id, parentObject, key, response, map, reference);
1279
+ case "halted":
1280
+ return (
1281
+ initializingHandler
1282
+ ? ((response = initializingHandler), response.deps++)
1283
+ : (initializingHandler = {
1284
+ parent: null,
1285
+ chunk: null,
1286
+ value: null,
1287
+ reason: null,
1288
+ deps: 1,
1289
+ errored: !1
1290
+ }),
1291
+ null
1292
+ );
1067
1293
  default:
1068
1294
  return (
1069
1295
  initializingHandler
1070
1296
  ? ((initializingHandler.errored = !0),
1071
- (initializingHandler.value = id.reason))
1297
+ (initializingHandler.value = null),
1298
+ (initializingHandler.reason = id.reason))
1072
1299
  : (initializingHandler = {
1073
1300
  parent: null,
1074
1301
  chunk: null,
1075
- value: id.reason,
1302
+ value: null,
1303
+ reason: id.reason,
1076
1304
  deps: 0,
1077
1305
  errored: !0
1078
1306
  }),
@@ -1111,6 +1339,7 @@ function parseModelString(response, parentObject, key, value) {
1111
1339
  parent: initializingHandler,
1112
1340
  chunk: null,
1113
1341
  value: null,
1342
+ reason: null,
1114
1343
  deps: 0,
1115
1344
  errored: !1
1116
1345
  }),
@@ -1126,9 +1355,10 @@ function parseModelString(response, parentObject, key, value) {
1126
1355
  createLazyChunkWrapper(response)
1127
1356
  );
1128
1357
  case "@":
1129
- if (2 === value.length) return new Promise(function () {});
1130
- parentObject = parseInt(value.slice(2), 16);
1131
- return getChunk(response, parentObject);
1358
+ return (
1359
+ (parentObject = parseInt(value.slice(2), 16)),
1360
+ getChunk(response, parentObject)
1361
+ );
1132
1362
  case "S":
1133
1363
  return Symbol.for(value.slice(2));
1134
1364
  case "F":
@@ -1222,19 +1452,18 @@ function ResponseInstance(
1222
1452
  this._chunks = chunks;
1223
1453
  this._stringDecoder = new TextDecoder();
1224
1454
  this._fromJSON = null;
1225
- this._rowLength = this._rowTag = this._rowID = this._rowState = 0;
1226
- this._buffer = [];
1227
1455
  this._closed = !1;
1228
1456
  this._closedReason = null;
1229
1457
  this._tempRefs = temporaryReferences;
1230
1458
  this._fromJSON = createFromJSONCallback(this);
1231
1459
  }
1232
1460
  function resolveBuffer(response, id, buffer) {
1233
- var chunks = response._chunks,
1234
- chunk = chunks.get(id);
1461
+ response = response._chunks;
1462
+ var chunk = response.get(id);
1235
1463
  chunk && "pending" !== chunk.status
1236
1464
  ? chunk.reason.enqueueValue(buffer)
1237
- : chunks.set(id, new ReactPromise("fulfilled", buffer, null, response));
1465
+ : ((buffer = new ReactPromise("fulfilled", buffer, null)),
1466
+ response.set(id, buffer));
1238
1467
  }
1239
1468
  function resolveModule(response, id, model) {
1240
1469
  var chunks = response._chunks,
@@ -1251,38 +1480,34 @@ function resolveModule(response, id, model) {
1251
1480
  var blockedChunk = chunk;
1252
1481
  blockedChunk.status = "blocked";
1253
1482
  } else
1254
- (blockedChunk = new ReactPromise("blocked", null, null, response)),
1483
+ (blockedChunk = new ReactPromise("blocked", null, null)),
1255
1484
  chunks.set(id, blockedChunk);
1256
1485
  model.then(
1257
1486
  function () {
1258
- return resolveModuleChunk(blockedChunk, clientReference);
1487
+ return resolveModuleChunk(response, blockedChunk, clientReference);
1259
1488
  },
1260
1489
  function (error) {
1261
- return triggerErrorOnChunk(blockedChunk, error);
1490
+ return triggerErrorOnChunk(response, blockedChunk, error);
1262
1491
  }
1263
1492
  );
1264
1493
  } else
1265
1494
  chunk
1266
- ? resolveModuleChunk(chunk, clientReference)
1267
- : chunks.set(
1268
- id,
1269
- new ReactPromise("resolved_module", clientReference, null, response)
1270
- );
1495
+ ? resolveModuleChunk(response, chunk, clientReference)
1496
+ : ((chunk = new ReactPromise("resolved_module", clientReference, null)),
1497
+ chunks.set(id, chunk));
1271
1498
  }
1272
1499
  function resolveStream(response, id, stream, controller) {
1273
- var chunks = response._chunks,
1274
- chunk = chunks.get(id);
1500
+ response = response._chunks;
1501
+ var chunk = response.get(id);
1275
1502
  chunk
1276
1503
  ? "pending" === chunk.status &&
1277
- ((response = chunk.value),
1504
+ ((id = chunk.value),
1278
1505
  (chunk.status = "fulfilled"),
1279
1506
  (chunk.value = stream),
1280
1507
  (chunk.reason = controller),
1281
- null !== response && wakeChunk(response, chunk.value))
1282
- : chunks.set(
1283
- id,
1284
- new ReactPromise("fulfilled", stream, controller, response)
1285
- );
1508
+ null !== id && wakeChunk(id, chunk.value))
1509
+ : ((stream = new ReactPromise("fulfilled", stream, controller)),
1510
+ response.set(id, stream));
1286
1511
  }
1287
1512
  function startReadableStream(response, id, type) {
1288
1513
  var controller = null;
@@ -1303,7 +1528,7 @@ function startReadableStream(response, id, type) {
1303
1528
  },
1304
1529
  enqueueModel: function (json) {
1305
1530
  if (null === previousBlockedChunk) {
1306
- var chunk = new ReactPromise("resolved_model", json, null, response);
1531
+ var chunk = new ReactPromise("resolved_model", json, response);
1307
1532
  initializeModelChunk(chunk);
1308
1533
  "fulfilled" === chunk.status
1309
1534
  ? controller.enqueue(chunk.value)
@@ -1318,8 +1543,8 @@ function startReadableStream(response, id, type) {
1318
1543
  (previousBlockedChunk = chunk));
1319
1544
  } else {
1320
1545
  chunk = previousBlockedChunk;
1321
- var chunk$52 = createPendingChunk(response);
1322
- chunk$52.then(
1546
+ var chunk$54 = new ReactPromise("pending", null, null);
1547
+ chunk$54.then(
1323
1548
  function (v) {
1324
1549
  return controller.enqueue(v);
1325
1550
  },
@@ -1327,10 +1552,10 @@ function startReadableStream(response, id, type) {
1327
1552
  return controller.error(e);
1328
1553
  }
1329
1554
  );
1330
- previousBlockedChunk = chunk$52;
1555
+ previousBlockedChunk = chunk$54;
1331
1556
  chunk.then(function () {
1332
- previousBlockedChunk === chunk$52 && (previousBlockedChunk = null);
1333
- resolveModelChunk(chunk$52, json);
1557
+ previousBlockedChunk === chunk$54 && (previousBlockedChunk = null);
1558
+ resolveModelChunk(response, chunk$54, json);
1334
1559
  });
1335
1560
  }
1336
1561
  },
@@ -1368,41 +1593,37 @@ function startAsyncIterable(response, id, iterator) {
1368
1593
  var buffer = [],
1369
1594
  closed = !1,
1370
1595
  nextWriteIndex = 0,
1371
- $jscomp$compprop0 = {};
1372
- $jscomp$compprop0 =
1373
- (($jscomp$compprop0[ASYNC_ITERATOR] = function () {
1374
- var nextReadIndex = 0;
1375
- return createIterator(function (arg) {
1376
- if (void 0 !== arg)
1377
- throw Error(
1378
- "Values cannot be passed to next() of AsyncIterables passed to Client Components."
1596
+ iterable = {};
1597
+ iterable[ASYNC_ITERATOR] = function () {
1598
+ var nextReadIndex = 0;
1599
+ return createIterator(function (arg) {
1600
+ if (void 0 !== arg)
1601
+ throw Error(
1602
+ "Values cannot be passed to next() of AsyncIterables passed to Client Components."
1603
+ );
1604
+ if (nextReadIndex === buffer.length) {
1605
+ if (closed)
1606
+ return new ReactPromise(
1607
+ "fulfilled",
1608
+ { done: !0, value: void 0 },
1609
+ null
1379
1610
  );
1380
- if (nextReadIndex === buffer.length) {
1381
- if (closed)
1382
- return new ReactPromise(
1383
- "fulfilled",
1384
- { done: !0, value: void 0 },
1385
- null,
1386
- response
1387
- );
1388
- buffer[nextReadIndex] = createPendingChunk(response);
1389
- }
1390
- return buffer[nextReadIndex++];
1391
- });
1392
- }),
1393
- $jscomp$compprop0);
1611
+ buffer[nextReadIndex] = new ReactPromise("pending", null, null);
1612
+ }
1613
+ return buffer[nextReadIndex++];
1614
+ });
1615
+ };
1394
1616
  resolveStream(
1395
1617
  response,
1396
1618
  id,
1397
- iterator ? $jscomp$compprop0[ASYNC_ITERATOR]() : $jscomp$compprop0,
1619
+ iterator ? iterable[ASYNC_ITERATOR]() : iterable,
1398
1620
  {
1399
1621
  enqueueValue: function (value) {
1400
1622
  if (nextWriteIndex === buffer.length)
1401
1623
  buffer[nextWriteIndex] = new ReactPromise(
1402
1624
  "fulfilled",
1403
1625
  { done: !1, value: value },
1404
- null,
1405
- response
1626
+ null
1406
1627
  );
1407
1628
  else {
1408
1629
  var chunk = buffer[nextWriteIndex],
@@ -1422,7 +1643,12 @@ function startAsyncIterable(response, id, iterator) {
1422
1643
  value,
1423
1644
  !1
1424
1645
  ))
1425
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);
1646
+ : resolveIteratorResultChunk(
1647
+ response,
1648
+ buffer[nextWriteIndex],
1649
+ value,
1650
+ !1
1651
+ );
1426
1652
  nextWriteIndex++;
1427
1653
  },
1428
1654
  close: function (value) {
@@ -1433,9 +1659,15 @@ function startAsyncIterable(response, id, iterator) {
1433
1659
  value,
1434
1660
  !0
1435
1661
  ))
1436
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);
1662
+ : resolveIteratorResultChunk(
1663
+ response,
1664
+ buffer[nextWriteIndex],
1665
+ value,
1666
+ !0
1667
+ );
1437
1668
  for (nextWriteIndex++; nextWriteIndex < buffer.length; )
1438
1669
  resolveIteratorResultChunk(
1670
+ response,
1439
1671
  buffer[nextWriteIndex++],
1440
1672
  '"$undefined"',
1441
1673
  !0
@@ -1445,11 +1677,11 @@ function startAsyncIterable(response, id, iterator) {
1445
1677
  closed = !0;
1446
1678
  for (
1447
1679
  nextWriteIndex === buffer.length &&
1448
- (buffer[nextWriteIndex] = createPendingChunk(response));
1680
+ (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
1449
1681
  nextWriteIndex < buffer.length;
1450
1682
 
1451
1683
  )
1452
- triggerErrorOnChunk(buffer[nextWriteIndex++], error);
1684
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
1453
1685
  }
1454
1686
  }
1455
1687
  );
@@ -1465,8 +1697,8 @@ function mergeBuffer(buffer, lastChunk) {
1465
1697
  for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)
1466
1698
  byteLength += buffer[i].byteLength;
1467
1699
  byteLength = new Uint8Array(byteLength);
1468
- for (var i$53 = (i = 0); i$53 < l; i$53++) {
1469
- var chunk = buffer[i$53];
1700
+ for (var i$55 = (i = 0); i$55 < l; i$55++) {
1701
+ var chunk = buffer[i$55];
1470
1702
  byteLength.set(chunk, i);
1471
1703
  i += chunk.byteLength;
1472
1704
  }
@@ -1492,7 +1724,7 @@ function resolveTypedArray(
1492
1724
  );
1493
1725
  resolveBuffer(response, id, constructor);
1494
1726
  }
1495
- function processFullBinaryRow(response, id, tag, buffer, chunk) {
1727
+ function processFullBinaryRow(response, streamState, id, tag, buffer, chunk) {
1496
1728
  switch (tag) {
1497
1729
  case 65:
1498
1730
  resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);
@@ -1538,13 +1770,10 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1538
1770
  resolveTypedArray(response, id, buffer, chunk, DataView, 1);
1539
1771
  return;
1540
1772
  }
1541
- for (
1542
- var stringDecoder = response._stringDecoder, row = "", i = 0;
1543
- i < buffer.length;
1544
- i++
1545
- )
1546
- row += stringDecoder.decode(buffer[i], decoderOptions);
1547
- buffer = row += stringDecoder.decode(chunk);
1773
+ streamState = response._stringDecoder;
1774
+ for (var row = "", i = 0; i < buffer.length; i++)
1775
+ row += streamState.decode(buffer[i], decoderOptions);
1776
+ buffer = row += streamState.decode(chunk);
1548
1777
  switch (tag) {
1549
1778
  case 73:
1550
1779
  resolveModule(response, id, buffer);
@@ -1596,22 +1825,26 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1596
1825
  }
1597
1826
  break;
1598
1827
  case 69:
1599
- tag = JSON.parse(buffer);
1600
- buffer = resolveErrorProd();
1601
- buffer.digest = tag.digest;
1602
1828
  tag = response._chunks;
1603
- (chunk = tag.get(id))
1604
- ? triggerErrorOnChunk(chunk, buffer)
1605
- : tag.set(id, new ReactPromise("rejected", null, buffer, response));
1829
+ chunk = tag.get(id);
1830
+ buffer = JSON.parse(buffer);
1831
+ streamState = resolveErrorProd();
1832
+ streamState.digest = buffer.digest;
1833
+ chunk
1834
+ ? triggerErrorOnChunk(response, chunk, streamState)
1835
+ : ((response = new ReactPromise("rejected", null, streamState)),
1836
+ tag.set(id, response));
1606
1837
  break;
1607
1838
  case 84:
1608
- tag = response._chunks;
1609
- (chunk = tag.get(id)) && "pending" !== chunk.status
1610
- ? chunk.reason.enqueueValue(buffer)
1611
- : tag.set(id, new ReactPromise("fulfilled", buffer, null, response));
1839
+ response = response._chunks;
1840
+ (tag = response.get(id)) && "pending" !== tag.status
1841
+ ? tag.reason.enqueueValue(buffer)
1842
+ : ((buffer = new ReactPromise("fulfilled", buffer, null)),
1843
+ response.set(id, buffer));
1612
1844
  break;
1613
1845
  case 78:
1614
1846
  case 68:
1847
+ case 74:
1615
1848
  case 87:
1616
1849
  throw Error(
1617
1850
  "Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client."
@@ -1629,18 +1862,16 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1629
1862
  startAsyncIterable(response, id, !0);
1630
1863
  break;
1631
1864
  case 67:
1632
- (response = response._chunks.get(id)) &&
1633
- "fulfilled" === response.status &&
1634
- response.reason.close("" === buffer ? '"$undefined"' : buffer);
1865
+ (id = response._chunks.get(id)) &&
1866
+ "fulfilled" === id.status &&
1867
+ id.reason.close("" === buffer ? '"$undefined"' : buffer);
1635
1868
  break;
1636
1869
  default:
1637
1870
  (tag = response._chunks),
1638
1871
  (chunk = tag.get(id))
1639
- ? resolveModelChunk(chunk, buffer)
1640
- : tag.set(
1641
- id,
1642
- new ReactPromise("resolved_model", buffer, null, response)
1643
- );
1872
+ ? resolveModelChunk(response, chunk, buffer)
1873
+ : ((response = new ReactPromise("resolved_model", buffer, response)),
1874
+ tag.set(id, response));
1644
1875
  }
1645
1876
  }
1646
1877
  function createFromJSONCallback(response) {
@@ -1664,15 +1895,10 @@ function createFromJSONCallback(response) {
1664
1895
  (initializingHandler = value.parent),
1665
1896
  value.errored)
1666
1897
  )
1667
- (key = new ReactPromise("rejected", null, value.value, response)),
1898
+ (key = new ReactPromise("rejected", null, value.reason)),
1668
1899
  (key = createLazyChunkWrapper(key));
1669
1900
  else if (0 < value.deps) {
1670
- var blockedChunk = new ReactPromise(
1671
- "blocked",
1672
- null,
1673
- null,
1674
- response
1675
- );
1901
+ var blockedChunk = new ReactPromise("blocked", null, null);
1676
1902
  value.value = key;
1677
1903
  value.chunk = blockedChunk;
1678
1904
  key = createLazyChunkWrapper(blockedChunk);
@@ -1683,6 +1909,9 @@ function createFromJSONCallback(response) {
1683
1909
  return value;
1684
1910
  };
1685
1911
  }
1912
+ function close(weakResponse) {
1913
+ reportGlobalError(weakResponse, Error("Connection closed."));
1914
+ }
1686
1915
  function noServerCall() {
1687
1916
  throw Error(
1688
1917
  "Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead."
@@ -1701,102 +1930,114 @@ function createResponseFromOptions(options) {
1701
1930
  : void 0
1702
1931
  );
1703
1932
  }
1704
- function startReadingFromStream(response, stream) {
1933
+ function startReadingFromStream(response, stream, onDone) {
1705
1934
  function progress(_ref) {
1706
1935
  var value = _ref.value;
1707
- if (_ref.done) reportGlobalError(response, Error("Connection closed."));
1708
- else {
1709
- var i = 0,
1710
- rowState = response._rowState;
1711
- _ref = response._rowID;
1712
- for (
1713
- var rowTag = response._rowTag,
1714
- rowLength = response._rowLength,
1715
- buffer = response._buffer,
1716
- chunkLength = value.length;
1717
- i < chunkLength;
1936
+ if (_ref.done) return onDone();
1937
+ var i = 0,
1938
+ rowState = streamState._rowState;
1939
+ _ref = streamState._rowID;
1940
+ for (
1941
+ var rowTag = streamState._rowTag,
1942
+ rowLength = streamState._rowLength,
1943
+ buffer = streamState._buffer,
1944
+ chunkLength = value.length;
1945
+ i < chunkLength;
1718
1946
 
1719
- ) {
1720
- var lastIdx = -1;
1721
- switch (rowState) {
1722
- case 0:
1723
- lastIdx = value[i++];
1724
- 58 === lastIdx
1725
- ? (rowState = 1)
1726
- : (_ref =
1727
- (_ref << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1728
- continue;
1729
- case 1:
1730
- rowState = value[i];
1731
- 84 === rowState ||
1732
- 65 === rowState ||
1733
- 79 === rowState ||
1734
- 111 === rowState ||
1735
- 85 === rowState ||
1736
- 83 === rowState ||
1737
- 115 === rowState ||
1738
- 76 === rowState ||
1739
- 108 === rowState ||
1740
- 71 === rowState ||
1741
- 103 === rowState ||
1742
- 77 === rowState ||
1743
- 109 === rowState ||
1744
- 86 === rowState
1745
- ? ((rowTag = rowState), (rowState = 2), i++)
1746
- : (64 < rowState && 91 > rowState) ||
1747
- 35 === rowState ||
1748
- 114 === rowState ||
1749
- 120 === rowState
1750
- ? ((rowTag = rowState), (rowState = 3), i++)
1751
- : ((rowTag = 0), (rowState = 3));
1752
- continue;
1753
- case 2:
1754
- lastIdx = value[i++];
1755
- 44 === lastIdx
1756
- ? (rowState = 4)
1757
- : (rowLength =
1758
- (rowLength << 4) |
1759
- (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1760
- continue;
1761
- case 3:
1762
- lastIdx = value.indexOf(10, i);
1763
- break;
1764
- case 4:
1765
- (lastIdx = i + rowLength), lastIdx > value.length && (lastIdx = -1);
1766
- }
1767
- var offset = value.byteOffset + i;
1768
- if (-1 < lastIdx)
1769
- (rowLength = new Uint8Array(value.buffer, offset, lastIdx - i)),
1770
- processFullBinaryRow(response, _ref, rowTag, buffer, rowLength),
1771
- (i = lastIdx),
1772
- 3 === rowState && i++,
1773
- (rowLength = _ref = rowTag = rowState = 0),
1774
- (buffer.length = 0);
1775
- else {
1776
- value = new Uint8Array(value.buffer, offset, value.byteLength - i);
1777
- buffer.push(value);
1778
- rowLength -= value.byteLength;
1947
+ ) {
1948
+ var lastIdx = -1;
1949
+ switch (rowState) {
1950
+ case 0:
1951
+ lastIdx = value[i++];
1952
+ 58 === lastIdx
1953
+ ? (rowState = 1)
1954
+ : (_ref =
1955
+ (_ref << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1956
+ continue;
1957
+ case 1:
1958
+ rowState = value[i];
1959
+ 84 === rowState ||
1960
+ 65 === rowState ||
1961
+ 79 === rowState ||
1962
+ 111 === rowState ||
1963
+ 85 === rowState ||
1964
+ 83 === rowState ||
1965
+ 115 === rowState ||
1966
+ 76 === rowState ||
1967
+ 108 === rowState ||
1968
+ 71 === rowState ||
1969
+ 103 === rowState ||
1970
+ 77 === rowState ||
1971
+ 109 === rowState ||
1972
+ 86 === rowState
1973
+ ? ((rowTag = rowState), (rowState = 2), i++)
1974
+ : (64 < rowState && 91 > rowState) ||
1975
+ 35 === rowState ||
1976
+ 114 === rowState ||
1977
+ 120 === rowState
1978
+ ? ((rowTag = rowState), (rowState = 3), i++)
1979
+ : ((rowTag = 0), (rowState = 3));
1980
+ continue;
1981
+ case 2:
1982
+ lastIdx = value[i++];
1983
+ 44 === lastIdx
1984
+ ? (rowState = 4)
1985
+ : (rowLength =
1986
+ (rowLength << 4) |
1987
+ (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1988
+ continue;
1989
+ case 3:
1990
+ lastIdx = value.indexOf(10, i);
1779
1991
  break;
1780
- }
1992
+ case 4:
1993
+ (lastIdx = i + rowLength), lastIdx > value.length && (lastIdx = -1);
1994
+ }
1995
+ var offset = value.byteOffset + i;
1996
+ if (-1 < lastIdx)
1997
+ (rowLength = new Uint8Array(value.buffer, offset, lastIdx - i)),
1998
+ processFullBinaryRow(
1999
+ response,
2000
+ streamState,
2001
+ _ref,
2002
+ rowTag,
2003
+ buffer,
2004
+ rowLength
2005
+ ),
2006
+ (i = lastIdx),
2007
+ 3 === rowState && i++,
2008
+ (rowLength = _ref = rowTag = rowState = 0),
2009
+ (buffer.length = 0);
2010
+ else {
2011
+ value = new Uint8Array(value.buffer, offset, value.byteLength - i);
2012
+ buffer.push(value);
2013
+ rowLength -= value.byteLength;
2014
+ break;
1781
2015
  }
1782
- response._rowState = rowState;
1783
- response._rowID = _ref;
1784
- response._rowTag = rowTag;
1785
- response._rowLength = rowLength;
1786
- return reader.read().then(progress).catch(error);
1787
2016
  }
2017
+ streamState._rowState = rowState;
2018
+ streamState._rowID = _ref;
2019
+ streamState._rowTag = rowTag;
2020
+ streamState._rowLength = rowLength;
2021
+ return reader.read().then(progress).catch(error);
1788
2022
  }
1789
2023
  function error(e) {
1790
2024
  reportGlobalError(response, e);
1791
2025
  }
1792
- var reader = stream.getReader();
2026
+ var streamState = {
2027
+ _rowState: 0,
2028
+ _rowID: 0,
2029
+ _rowTag: 0,
2030
+ _rowLength: 0,
2031
+ _buffer: []
2032
+ },
2033
+ reader = stream.getReader();
1793
2034
  reader.read().then(progress).catch(error);
1794
2035
  }
1795
2036
  exports.createFromFetch = function (promiseForResponse, options) {
1796
2037
  var response = createResponseFromOptions(options);
1797
2038
  promiseForResponse.then(
1798
2039
  function (r) {
1799
- startReadingFromStream(response, r.body);
2040
+ startReadingFromStream(response, r.body, close.bind(null, response));
1800
2041
  },
1801
2042
  function (e) {
1802
2043
  reportGlobalError(response, e);
@@ -1806,7 +2047,7 @@ exports.createFromFetch = function (promiseForResponse, options) {
1806
2047
  };
1807
2048
  exports.createFromReadableStream = function (stream, options) {
1808
2049
  options = createResponseFromOptions(options);
1809
- startReadingFromStream(options, stream);
2050
+ startReadingFromStream(options, stream, close.bind(null, options));
1810
2051
  return getChunk(options, 0);
1811
2052
  };
1812
2053
  exports.createServerReference = function (id) {