@vitejs/plugin-rsc 0.4.33 → 0.5.0

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 (93) hide show
  1. package/README.md +4 -0
  2. package/dist/{browser-CQv7Z3J4.d.ts → browser-STIFJSFF.d.ts} +1 -1
  3. package/dist/browser.d.ts +3 -3
  4. package/dist/browser.js +19 -1
  5. package/dist/{cjs-BamOAUgw.js → cjs-C5-IrxV9.js} +1 -1
  6. package/dist/core/browser.d.ts +1 -1
  7. package/dist/core/plugin.js +1 -1
  8. package/dist/core/rsc.d.ts +2 -2
  9. package/dist/core/rsc.js +1 -1
  10. package/dist/core/ssr.d.ts +2 -2
  11. package/dist/core/ssr.js +1 -1
  12. package/dist/{encryption-runtime-DT6dtlC5.js → encryption-runtime-FhNKiASK.js} +2 -2
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.js +7 -7
  15. package/dist/{plugin-BDLEZ1UW.js → plugin-CrduXSyi.js} +35 -24
  16. package/dist/{plugin-DCLI7Wh8.d.ts → plugin-DGhnAIi6.d.ts} +1 -5
  17. package/dist/plugin.d.ts +2 -2
  18. package/dist/plugin.js +7 -7
  19. package/dist/plugins/cjs.js +2 -2
  20. package/dist/react/browser.d.ts +3 -3
  21. package/dist/react/rsc.d.ts +3 -3
  22. package/dist/react/rsc.js +2 -2
  23. package/dist/react/ssr.d.ts +3 -3
  24. package/dist/react/ssr.js +2 -2
  25. package/dist/{rsc-3bkzqdsJ.d.ts → rsc-Cg31p8XR.d.ts} +1 -1
  26. package/dist/{rsc-BdCB3621.js → rsc-DdBcg-Lb.js} +1 -1
  27. package/dist/rsc.d.ts +4 -4
  28. package/dist/rsc.js +22 -5
  29. package/dist/{ssr-CMjeQ9AS.d.ts → ssr-00tY_Tdf.d.ts} +1 -1
  30. package/dist/{ssr-Cd4SbAaO.js → ssr-CE8X2HyS.js} +1 -1
  31. package/dist/ssr.d.ts +3 -3
  32. package/dist/ssr.js +52 -4
  33. package/dist/transforms/index.d.ts +1 -1
  34. package/dist/transforms/index.js +1 -1
  35. package/dist/utils/encryption-runtime.d.ts +1 -1
  36. package/dist/utils/encryption-runtime.js +4 -4
  37. package/dist/utils/rpc.js +1 -1
  38. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.development.js +2964 -774
  39. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.production.js +554 -312
  40. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.development.js +2721 -724
  41. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.production.js +541 -300
  42. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.development.js +2955 -858
  43. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.production.js +652 -332
  44. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.development.js +2956 -861
  45. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.production.js +652 -332
  46. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-plugin.js +6 -2
  47. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.development.js +1931 -713
  48. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.production.js +544 -295
  49. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.development.js +1926 -715
  50. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.production.js +542 -299
  51. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.development.js +2719 -743
  52. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.production.js +725 -338
  53. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.development.js +2703 -727
  54. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.production.js +725 -338
  55. package/dist/vendor/react-server-dom/package.json +3 -3
  56. package/dist/vendor/react-server-dom/server.node.js +3 -1
  57. package/dist/vendor/react-server-dom/server.node.unbundled.js +3 -1
  58. package/dist/vendor/react-server-dom/static.browser.js +1 -3
  59. package/dist/vendor/react-server-dom/static.edge.js +1 -3
  60. package/dist/vendor/react-server-dom/static.node.js +2 -3
  61. package/dist/vendor/react-server-dom/static.node.unbundled.js +1 -3
  62. package/package.json +12 -7
  63. package/types/index.d.ts +0 -4
  64. package/dist/browser--ZREVnM9.js +0 -22
  65. package/dist/client-C7Eok9hc.js +0 -23
  66. package/dist/extra/browser.d.ts +0 -14
  67. package/dist/extra/browser.js +0 -88
  68. package/dist/extra/rsc.d.ts +0 -2
  69. package/dist/extra/rsc.js +0 -56
  70. package/dist/extra/ssr.d.ts +0 -14
  71. package/dist/extra/ssr.js +0 -37
  72. package/dist/rsc-CiAoLCx8.js +0 -21
  73. package/dist/rsc-c22DF1A7.d.ts +0 -16
  74. package/dist/rsc-html-stream/browser.d.ts +0 -5
  75. package/dist/rsc-html-stream/browser.js +0 -8
  76. package/dist/rsc-html-stream/ssr.d.ts +0 -7
  77. package/dist/rsc-html-stream/ssr.js +0 -8
  78. package/dist/server-DMhFuTz_.js +0 -72
  79. package/dist/ssr-BQwZitKq.js +0 -53
  80. package/types/virtual.d.ts +0 -5
  81. /package/dist/{browser-DwWQeoll.d.ts → browser-CXHICuDc.d.ts} +0 -0
  82. /package/dist/{encryption-runtime-B8xcnJoN.d.ts → encryption-runtime-DwihLkYv.d.ts} +0 -0
  83. /package/dist/{encryption-utils-BDwwcMVT.js → encryption-utils-CoE0gWjC.js} +0 -0
  84. /package/dist/{index-B04iFwO5.d.ts → index-DYBWAuKP.d.ts} +0 -0
  85. /package/dist/{index-CPkExgij.d.ts → index-kBz3NvVt.d.ts} +0 -0
  86. /package/dist/{plugin-CZbI4rhS.js → plugin-BwI7mYXI.js} +0 -0
  87. /package/dist/{rpc-CUvSZurk.js → rpc-D7cb_Wd5.js} +0 -0
  88. /package/dist/{rsc-JJjz3Z0i.d.ts → rsc-Fgmk6j0z.d.ts} +0 -0
  89. /package/dist/{rsc-GFzFWyhT.js → rsc-cp4EenMG.js} +0 -0
  90. /package/dist/{shared-n-ykEs15.js → shared-CceFFukJ.js} +0 -0
  91. /package/dist/{ssr-BrSGyrxe.d.ts → ssr-BnYZ8xo9.d.ts} +0 -0
  92. /package/dist/{ssr-Cm2FP2zD.js → ssr-C468YlFl.js} +0 -0
  93. /package/dist/{transforms-CpF3zNE0.js → transforms-wFF-pWF7.js} +0 -0
@@ -234,11 +234,11 @@ function processReply(
234
234
  0 === pendingParts && resolve(data);
235
235
  } else
236
236
  try {
237
- var partJSON$22 = JSON.stringify(entry.value, resolveToJSON);
238
- data.append(formFieldPrefix + streamId, partJSON$22);
237
+ var partJSON$21 = JSON.stringify(entry.value, resolveToJSON);
238
+ data.append(formFieldPrefix + streamId, partJSON$21);
239
239
  iterator.next().then(progress, reject);
240
- } catch (x$23) {
241
- reject(x$23);
240
+ } catch (x$22) {
241
+ reject(x$22);
242
242
  }
243
243
  }
244
244
  null === formData && (formData = new FormData());
@@ -283,20 +283,20 @@ function processReply(
283
283
  "function" === typeof x.then
284
284
  ) {
285
285
  pendingParts++;
286
- var lazyId$24 = nextPartId++;
286
+ var lazyId$23 = nextPartId++;
287
287
  parentReference = function () {
288
288
  try {
289
- var partJSON$25 = serializeModel(value, lazyId$24),
290
- data$26 = formData;
291
- data$26.append(formFieldPrefix + lazyId$24, partJSON$25);
289
+ var partJSON$24 = serializeModel(value, lazyId$23),
290
+ data$25 = formData;
291
+ data$25.append(formFieldPrefix + lazyId$23, partJSON$24);
292
292
  pendingParts--;
293
- 0 === pendingParts && resolve(data$26);
293
+ 0 === pendingParts && resolve(data$25);
294
294
  } catch (reason) {
295
295
  reject(reason);
296
296
  }
297
297
  };
298
298
  x.then(parentReference, parentReference);
299
- return "$" + lazyId$24.toString(16);
299
+ return "$" + lazyId$23.toString(16);
300
300
  }
301
301
  reject(x);
302
302
  return null;
@@ -310,9 +310,9 @@ function processReply(
310
310
  var promiseId = nextPartId++;
311
311
  value.then(function (partValue) {
312
312
  try {
313
- var partJSON$28 = serializeModel(partValue, promiseId);
313
+ var partJSON$27 = serializeModel(partValue, promiseId);
314
314
  partValue = formData;
315
- partValue.append(formFieldPrefix + promiseId, partJSON$28);
315
+ partValue.append(formFieldPrefix + promiseId, partJSON$27);
316
316
  pendingParts--;
317
317
  0 === pendingParts && resolve(partValue);
318
318
  } catch (reason) {
@@ -336,11 +336,11 @@ function processReply(
336
336
  if (isArrayImpl(value)) return value;
337
337
  if (value instanceof FormData) {
338
338
  null === formData && (formData = new FormData());
339
- var data$32 = formData;
339
+ var data$31 = formData;
340
340
  key = nextPartId++;
341
341
  var prefix = formFieldPrefix + key + "_";
342
342
  value.forEach(function (originalValue, originalKey) {
343
- data$32.append(prefix + originalKey, originalValue);
343
+ data$31.append(prefix + originalKey, originalValue);
344
344
  });
345
345
  return "$K" + key.toString(16);
346
346
  }
@@ -530,11 +530,10 @@ function createBoundServerReference(metaData, callServer) {
530
530
  registerBoundServerReference(action, id, bound);
531
531
  return action;
532
532
  }
533
- function ReactPromise(status, value, reason, response) {
533
+ function ReactPromise(status, value, reason) {
534
534
  this.status = status;
535
535
  this.value = value;
536
536
  this.reason = reason;
537
- this._response = response;
538
537
  }
539
538
  ReactPromise.prototype = Object.create(Promise.prototype);
540
539
  ReactPromise.prototype.then = function (resolve, reject) {
@@ -547,17 +546,19 @@ ReactPromise.prototype.then = function (resolve, reject) {
547
546
  }
548
547
  switch (this.status) {
549
548
  case "fulfilled":
550
- resolve(this.value);
549
+ "function" === typeof resolve && resolve(this.value);
551
550
  break;
552
551
  case "pending":
553
552
  case "blocked":
554
- resolve &&
553
+ "function" === typeof resolve &&
555
554
  (null === this.value && (this.value = []), this.value.push(resolve));
556
- reject &&
555
+ "function" === typeof reject &&
557
556
  (null === this.reason && (this.reason = []), this.reason.push(reject));
558
557
  break;
558
+ case "halted":
559
+ break;
559
560
  default:
560
- reject && reject(this.reason);
561
+ "function" === typeof reject && reject(this.reason);
561
562
  }
562
563
  };
563
564
  function readChunk(chunk) {
@@ -573,26 +574,71 @@ function readChunk(chunk) {
573
574
  return chunk.value;
574
575
  case "pending":
575
576
  case "blocked":
577
+ case "halted":
576
578
  throw chunk;
577
579
  default:
578
580
  throw chunk.reason;
579
581
  }
580
582
  }
581
- function createPendingChunk(response) {
582
- return new ReactPromise("pending", null, null, response);
583
- }
584
583
  function wakeChunk(listeners, value) {
585
- for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
584
+ for (var i = 0; i < listeners.length; i++) {
585
+ var listener = listeners[i];
586
+ "function" === typeof listener
587
+ ? listener(value)
588
+ : fulfillReference(listener, value);
589
+ }
590
+ }
591
+ function rejectChunk(listeners, error) {
592
+ for (var i = 0; i < listeners.length; i++) {
593
+ var listener = listeners[i];
594
+ "function" === typeof listener
595
+ ? listener(error)
596
+ : rejectReference(listener, error);
597
+ }
598
+ }
599
+ function resolveBlockedCycle(resolvedChunk, reference) {
600
+ var referencedChunk = reference.handler.chunk;
601
+ if (null === referencedChunk) return null;
602
+ if (referencedChunk === resolvedChunk) return reference.handler;
603
+ reference = referencedChunk.value;
604
+ if (null !== reference)
605
+ for (
606
+ referencedChunk = 0;
607
+ referencedChunk < reference.length;
608
+ referencedChunk++
609
+ ) {
610
+ var listener = reference[referencedChunk];
611
+ if (
612
+ "function" !== typeof listener &&
613
+ ((listener = resolveBlockedCycle(resolvedChunk, listener)),
614
+ null !== listener)
615
+ )
616
+ return listener;
617
+ }
618
+ return null;
586
619
  }
587
620
  function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
588
621
  switch (chunk.status) {
589
622
  case "fulfilled":
590
623
  wakeChunk(resolveListeners, chunk.value);
591
624
  break;
592
- case "pending":
593
625
  case "blocked":
626
+ for (var i = 0; i < resolveListeners.length; i++) {
627
+ var listener = resolveListeners[i];
628
+ if ("function" !== typeof listener) {
629
+ var cyclicHandler = resolveBlockedCycle(chunk, listener);
630
+ null !== cyclicHandler &&
631
+ (fulfillReference(listener, cyclicHandler.value),
632
+ resolveListeners.splice(i, 1),
633
+ i--,
634
+ null !== rejectListeners &&
635
+ ((listener = rejectListeners.indexOf(listener)),
636
+ -1 !== listener && rejectListeners.splice(listener, 1)));
637
+ }
638
+ }
639
+ case "pending":
594
640
  if (chunk.value)
595
- for (var i = 0; i < resolveListeners.length; i++)
641
+ for (i = 0; i < resolveListeners.length; i++)
596
642
  chunk.value.push(resolveListeners[i]);
597
643
  else chunk.value = resolveListeners;
598
644
  if (chunk.reason) {
@@ -606,73 +652,80 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
606
652
  } else chunk.reason = rejectListeners;
607
653
  break;
608
654
  case "rejected":
609
- rejectListeners && wakeChunk(rejectListeners, chunk.reason);
655
+ rejectListeners && rejectChunk(rejectListeners, chunk.reason);
610
656
  }
611
657
  }
612
- function triggerErrorOnChunk(chunk, error) {
613
- if ("pending" !== chunk.status && "blocked" !== chunk.status)
614
- chunk.reason.error(error);
615
- else {
616
- var listeners = chunk.reason;
617
- chunk.status = "rejected";
618
- chunk.reason = error;
619
- null !== listeners && wakeChunk(listeners, error);
620
- }
658
+ function triggerErrorOnChunk(response, chunk, error) {
659
+ "pending" !== chunk.status && "blocked" !== chunk.status
660
+ ? chunk.reason.error(error)
661
+ : ((response = chunk.reason),
662
+ (chunk.status = "rejected"),
663
+ (chunk.reason = error),
664
+ null !== response && rejectChunk(response, error));
621
665
  }
622
666
  function createResolvedIteratorResultChunk(response, value, done) {
623
667
  return new ReactPromise(
624
668
  "resolved_model",
625
669
  (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}",
626
- null,
627
670
  response
628
671
  );
629
672
  }
630
- function resolveIteratorResultChunk(chunk, value, done) {
673
+ function resolveIteratorResultChunk(response, chunk, value, done) {
631
674
  resolveModelChunk(
675
+ response,
632
676
  chunk,
633
677
  (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}"
634
678
  );
635
679
  }
636
- function resolveModelChunk(chunk, value) {
680
+ function resolveModelChunk(response, chunk, value) {
637
681
  if ("pending" !== chunk.status) chunk.reason.enqueueModel(value);
638
682
  else {
639
683
  var resolveListeners = chunk.value,
640
684
  rejectListeners = chunk.reason;
641
685
  chunk.status = "resolved_model";
642
686
  chunk.value = value;
687
+ chunk.reason = response;
643
688
  null !== resolveListeners &&
644
689
  (initializeModelChunk(chunk),
645
690
  wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
646
691
  }
647
692
  }
648
- function resolveModuleChunk(chunk, value) {
693
+ function resolveModuleChunk(response, chunk, value) {
649
694
  if ("pending" === chunk.status || "blocked" === chunk.status) {
650
- var resolveListeners = chunk.value,
651
- rejectListeners = chunk.reason;
695
+ response = chunk.value;
696
+ var rejectListeners = chunk.reason;
652
697
  chunk.status = "resolved_module";
653
698
  chunk.value = value;
654
- null !== resolveListeners &&
699
+ null !== response &&
655
700
  (initializeModuleChunk(chunk),
656
- wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
701
+ wakeChunkIfInitialized(chunk, response, rejectListeners));
657
702
  }
658
703
  }
659
704
  var initializingHandler = null;
660
705
  function initializeModelChunk(chunk) {
661
706
  var prevHandler = initializingHandler;
662
707
  initializingHandler = null;
663
- var resolvedModel = chunk.value;
708
+ var resolvedModel = chunk.value,
709
+ response = chunk.reason;
664
710
  chunk.status = "blocked";
665
711
  chunk.value = null;
666
712
  chunk.reason = null;
667
713
  try {
668
- var value = JSON.parse(resolvedModel, chunk._response._fromJSON),
714
+ var value = JSON.parse(resolvedModel, response._fromJSON),
669
715
  resolveListeners = chunk.value;
670
- null !== resolveListeners &&
671
- ((chunk.value = null),
672
- (chunk.reason = null),
673
- wakeChunk(resolveListeners, value));
716
+ if (null !== resolveListeners)
717
+ for (
718
+ chunk.value = null, chunk.reason = null, resolvedModel = 0;
719
+ resolvedModel < resolveListeners.length;
720
+ resolvedModel++
721
+ ) {
722
+ var listener = resolveListeners[resolvedModel];
723
+ "function" === typeof listener
724
+ ? listener(value)
725
+ : fulfillReference(listener, value, chunk);
726
+ }
674
727
  if (null !== initializingHandler) {
675
- if (initializingHandler.errored) throw initializingHandler.value;
728
+ if (initializingHandler.errored) throw initializingHandler.reason;
676
729
  if (0 < initializingHandler.deps) {
677
730
  initializingHandler.value = value;
678
731
  initializingHandler.chunk = chunk;
@@ -696,11 +749,12 @@ function initializeModuleChunk(chunk) {
696
749
  (chunk.status = "rejected"), (chunk.reason = error);
697
750
  }
698
751
  }
699
- function reportGlobalError(response, error) {
700
- response._closed = !0;
701
- response._closedReason = error;
702
- response._chunks.forEach(function (chunk) {
703
- "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
752
+ function reportGlobalError(weakResponse, error) {
753
+ weakResponse._closed = !0;
754
+ weakResponse._closedReason = error;
755
+ weakResponse._chunks.forEach(function (chunk) {
756
+ "pending" === chunk.status &&
757
+ triggerErrorOnChunk(weakResponse, chunk, error);
704
758
  });
705
759
  }
706
760
  function createLazyChunkWrapper(chunk) {
@@ -711,11 +765,128 @@ function getChunk(response, id) {
711
765
  chunk = chunks.get(id);
712
766
  chunk ||
713
767
  ((chunk = response._closed
714
- ? new ReactPromise("rejected", null, response._closedReason, response)
715
- : createPendingChunk(response)),
768
+ ? new ReactPromise("rejected", null, response._closedReason)
769
+ : new ReactPromise("pending", null, null)),
716
770
  chunks.set(id, chunk));
717
771
  return chunk;
718
772
  }
773
+ function fulfillReference(reference, value) {
774
+ for (
775
+ var response = reference.response,
776
+ handler = reference.handler,
777
+ parentObject = reference.parentObject,
778
+ key = reference.key,
779
+ map = reference.map,
780
+ path = reference.path,
781
+ i = 1;
782
+ i < path.length;
783
+ i++
784
+ ) {
785
+ for (
786
+ ;
787
+ "object" === typeof value &&
788
+ null !== value &&
789
+ value.$$typeof === REACT_LAZY_TYPE;
790
+
791
+ )
792
+ if (((value = value._payload), value === handler.chunk))
793
+ value = handler.value;
794
+ else {
795
+ switch (value.status) {
796
+ case "resolved_model":
797
+ initializeModelChunk(value);
798
+ break;
799
+ case "resolved_module":
800
+ initializeModuleChunk(value);
801
+ }
802
+ switch (value.status) {
803
+ case "fulfilled":
804
+ value = value.value;
805
+ continue;
806
+ case "blocked":
807
+ var cyclicHandler = resolveBlockedCycle(value, reference);
808
+ if (null !== cyclicHandler) {
809
+ value = cyclicHandler.value;
810
+ continue;
811
+ }
812
+ case "pending":
813
+ path.splice(0, i - 1);
814
+ null === value.value
815
+ ? (value.value = [reference])
816
+ : value.value.push(reference);
817
+ null === value.reason
818
+ ? (value.reason = [reference])
819
+ : value.reason.push(reference);
820
+ return;
821
+ case "halted":
822
+ return;
823
+ default:
824
+ rejectReference(reference, value.reason);
825
+ return;
826
+ }
827
+ }
828
+ value = value[path[i]];
829
+ }
830
+ for (
831
+ ;
832
+ "object" === typeof value &&
833
+ null !== value &&
834
+ value.$$typeof === REACT_LAZY_TYPE;
835
+
836
+ )
837
+ if (((reference = value._payload), reference === handler.chunk))
838
+ value = handler.value;
839
+ else {
840
+ switch (reference.status) {
841
+ case "resolved_model":
842
+ initializeModelChunk(reference);
843
+ break;
844
+ case "resolved_module":
845
+ initializeModuleChunk(reference);
846
+ }
847
+ switch (reference.status) {
848
+ case "fulfilled":
849
+ value = reference.value;
850
+ continue;
851
+ }
852
+ break;
853
+ }
854
+ response = map(response, value, parentObject, key);
855
+ parentObject[key] = response;
856
+ "" === key && null === handler.value && (handler.value = response);
857
+ if (
858
+ parentObject[0] === REACT_ELEMENT_TYPE &&
859
+ "object" === typeof handler.value &&
860
+ null !== handler.value &&
861
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
862
+ )
863
+ switch (((parentObject = handler.value), key)) {
864
+ case "3":
865
+ parentObject.props = response;
866
+ }
867
+ handler.deps--;
868
+ 0 === handler.deps &&
869
+ ((key = handler.chunk),
870
+ null !== key &&
871
+ "blocked" === key.status &&
872
+ ((parentObject = key.value),
873
+ (key.status = "fulfilled"),
874
+ (key.value = handler.value),
875
+ (key.reason = handler.reason),
876
+ null !== parentObject && wakeChunk(parentObject, handler.value)));
877
+ }
878
+ function rejectReference(reference, error) {
879
+ var handler = reference.handler;
880
+ reference = reference.response;
881
+ handler.errored ||
882
+ ((handler.errored = !0),
883
+ (handler.value = null),
884
+ (handler.reason = error),
885
+ (handler = handler.chunk),
886
+ null !== handler &&
887
+ "blocked" === handler.status &&
888
+ triggerErrorOnChunk(reference, handler, error));
889
+ }
719
890
  function waitForReference(
720
891
  referencedChunk,
721
892
  parentObject,
@@ -724,52 +895,6 @@ function waitForReference(
724
895
  map,
725
896
  path
726
897
  ) {
727
- function fulfill(value) {
728
- for (var i = 1; i < path.length; i++) {
729
- for (; value.$$typeof === REACT_LAZY_TYPE; )
730
- if (((value = value._payload), value === handler.chunk))
731
- value = handler.value;
732
- else if ("fulfilled" === value.status) value = value.value;
733
- else {
734
- path.splice(0, i - 1);
735
- value.then(fulfill, reject);
736
- return;
737
- }
738
- value = value[path[i]];
739
- }
740
- i = map(response, value, parentObject, key);
741
- parentObject[key] = i;
742
- "" === key && null === handler.value && (handler.value = i);
743
- if (
744
- parentObject[0] === REACT_ELEMENT_TYPE &&
745
- "object" === typeof handler.value &&
746
- null !== handler.value &&
747
- handler.value.$$typeof === REACT_ELEMENT_TYPE
748
- )
749
- switch (((value = handler.value), key)) {
750
- case "3":
751
- value.props = i;
752
- }
753
- handler.deps--;
754
- 0 === handler.deps &&
755
- ((i = handler.chunk),
756
- null !== i &&
757
- "blocked" === i.status &&
758
- ((value = i.value),
759
- (i.status = "fulfilled"),
760
- (i.value = handler.value),
761
- null !== value && wakeChunk(value, handler.value)));
762
- }
763
- function reject(error) {
764
- if (!handler.errored) {
765
- handler.errored = !0;
766
- handler.value = error;
767
- var chunk = handler.chunk;
768
- null !== chunk &&
769
- "blocked" === chunk.status &&
770
- triggerErrorOnChunk(chunk, error);
771
- }
772
- }
773
898
  if (initializingHandler) {
774
899
  var handler = initializingHandler;
775
900
  handler.deps++;
@@ -778,27 +903,42 @@ function waitForReference(
778
903
  parent: null,
779
904
  chunk: null,
780
905
  value: null,
906
+ reason: null,
781
907
  deps: 1,
782
908
  errored: !1
783
909
  };
784
- referencedChunk.then(fulfill, reject);
910
+ parentObject = {
911
+ response: response,
912
+ handler: handler,
913
+ parentObject: parentObject,
914
+ key: key,
915
+ map: map,
916
+ path: path
917
+ };
918
+ null === referencedChunk.value
919
+ ? (referencedChunk.value = [parentObject])
920
+ : referencedChunk.value.push(parentObject);
921
+ null === referencedChunk.reason
922
+ ? (referencedChunk.reason = [parentObject])
923
+ : referencedChunk.reason.push(parentObject);
785
924
  return null;
786
925
  }
787
926
  function loadServerReference(response, metaData, parentObject, key) {
788
927
  if (!response._serverReferenceConfig)
789
928
  return createBoundServerReference(metaData, response._callServer);
790
929
  var serverReference = resolveServerReference(
791
- response._serverReferenceConfig,
792
- metaData.id
793
- );
794
- if ((response = preloadModule(serverReference)))
795
- metaData.bound && (response = Promise.all([response, metaData.bound]));
796
- else if (metaData.bound) response = Promise.resolve(metaData.bound);
930
+ response._serverReferenceConfig,
931
+ metaData.id
932
+ ),
933
+ promise = preloadModule(serverReference);
934
+ if (promise)
935
+ metaData.bound && (promise = Promise.all([promise, metaData.bound]));
936
+ else if (metaData.bound) promise = Promise.resolve(metaData.bound);
797
937
  else
798
938
  return (
799
- (response = requireModule(serverReference)),
800
- registerBoundServerReference(response, metaData.id, metaData.bound),
801
- response
939
+ (promise = requireModule(serverReference)),
940
+ registerBoundServerReference(promise, metaData.id, metaData.bound),
941
+ promise
802
942
  );
803
943
  if (initializingHandler) {
804
944
  var handler = initializingHandler;
@@ -808,10 +948,11 @@ function loadServerReference(response, metaData, parentObject, key) {
808
948
  parent: null,
809
949
  chunk: null,
810
950
  value: null,
951
+ reason: null,
811
952
  deps: 1,
812
953
  errored: !1
813
954
  };
814
- response.then(
955
+ promise.then(
815
956
  function () {
816
957
  var resolvedValue = requireModule(serverReference);
817
958
  if (metaData.bound) {
@@ -845,11 +986,12 @@ function loadServerReference(response, metaData, parentObject, key) {
845
986
  function (error) {
846
987
  if (!handler.errored) {
847
988
  handler.errored = !0;
848
- handler.value = error;
989
+ handler.value = null;
990
+ handler.reason = error;
849
991
  var chunk = handler.chunk;
850
992
  null !== chunk &&
851
993
  "blocked" === chunk.status &&
852
- triggerErrorOnChunk(chunk, error);
994
+ triggerErrorOnChunk(response, chunk, error);
853
995
  }
854
996
  }
855
997
  );
@@ -868,35 +1010,122 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
868
1010
  }
869
1011
  switch (id.status) {
870
1012
  case "fulfilled":
871
- var value = id.value;
872
- for (id = 1; id < reference.length; id++) {
873
- for (; value.$$typeof === REACT_LAZY_TYPE; )
874
- if (((value = value._payload), "fulfilled" === value.status))
875
- value = value.value;
876
- else
877
- return waitForReference(
878
- value,
879
- parentObject,
880
- key,
881
- response,
882
- map,
883
- reference.slice(id - 1)
884
- );
885
- value = value[reference[id]];
1013
+ id = id.value;
1014
+ for (var i = 1; i < reference.length; i++) {
1015
+ for (
1016
+ ;
1017
+ "object" === typeof id &&
1018
+ null !== id &&
1019
+ id.$$typeof === REACT_LAZY_TYPE;
1020
+
1021
+ ) {
1022
+ id = id._payload;
1023
+ switch (id.status) {
1024
+ case "resolved_model":
1025
+ initializeModelChunk(id);
1026
+ break;
1027
+ case "resolved_module":
1028
+ initializeModuleChunk(id);
1029
+ }
1030
+ switch (id.status) {
1031
+ case "fulfilled":
1032
+ id = id.value;
1033
+ break;
1034
+ case "blocked":
1035
+ case "pending":
1036
+ return waitForReference(
1037
+ id,
1038
+ parentObject,
1039
+ key,
1040
+ response,
1041
+ map,
1042
+ reference.slice(i - 1)
1043
+ );
1044
+ case "halted":
1045
+ return (
1046
+ initializingHandler
1047
+ ? ((response = initializingHandler), response.deps++)
1048
+ : (initializingHandler = {
1049
+ parent: null,
1050
+ chunk: null,
1051
+ value: null,
1052
+ reason: null,
1053
+ deps: 1,
1054
+ errored: !1
1055
+ }),
1056
+ null
1057
+ );
1058
+ default:
1059
+ return (
1060
+ initializingHandler
1061
+ ? ((initializingHandler.errored = !0),
1062
+ (initializingHandler.value = null),
1063
+ (initializingHandler.reason = id.reason))
1064
+ : (initializingHandler = {
1065
+ parent: null,
1066
+ chunk: null,
1067
+ value: null,
1068
+ reason: id.reason,
1069
+ deps: 0,
1070
+ errored: !0
1071
+ }),
1072
+ null
1073
+ );
1074
+ }
1075
+ }
1076
+ id = id[reference[i]];
886
1077
  }
887
- return map(response, value, parentObject, key);
1078
+ for (
1079
+ ;
1080
+ "object" === typeof id &&
1081
+ null !== id &&
1082
+ id.$$typeof === REACT_LAZY_TYPE;
1083
+
1084
+ ) {
1085
+ reference = id._payload;
1086
+ switch (reference.status) {
1087
+ case "resolved_model":
1088
+ initializeModelChunk(reference);
1089
+ break;
1090
+ case "resolved_module":
1091
+ initializeModuleChunk(reference);
1092
+ }
1093
+ switch (reference.status) {
1094
+ case "fulfilled":
1095
+ id = reference.value;
1096
+ continue;
1097
+ }
1098
+ break;
1099
+ }
1100
+ return map(response, id, parentObject, key);
888
1101
  case "pending":
889
1102
  case "blocked":
890
1103
  return waitForReference(id, parentObject, key, response, map, reference);
1104
+ case "halted":
1105
+ return (
1106
+ initializingHandler
1107
+ ? ((response = initializingHandler), response.deps++)
1108
+ : (initializingHandler = {
1109
+ parent: null,
1110
+ chunk: null,
1111
+ value: null,
1112
+ reason: null,
1113
+ deps: 1,
1114
+ errored: !1
1115
+ }),
1116
+ null
1117
+ );
891
1118
  default:
892
1119
  return (
893
1120
  initializingHandler
894
1121
  ? ((initializingHandler.errored = !0),
895
- (initializingHandler.value = id.reason))
1122
+ (initializingHandler.value = null),
1123
+ (initializingHandler.reason = id.reason))
896
1124
  : (initializingHandler = {
897
1125
  parent: null,
898
1126
  chunk: null,
899
- value: id.reason,
1127
+ value: null,
1128
+ reason: id.reason,
900
1129
  deps: 0,
901
1130
  errored: !0
902
1131
  }),
@@ -935,6 +1164,7 @@ function parseModelString(response, parentObject, key, value) {
935
1164
  parent: initializingHandler,
936
1165
  chunk: null,
937
1166
  value: null,
1167
+ reason: null,
938
1168
  deps: 0,
939
1169
  errored: !1
940
1170
  }),
@@ -950,9 +1180,10 @@ function parseModelString(response, parentObject, key, value) {
950
1180
  createLazyChunkWrapper(response)
951
1181
  );
952
1182
  case "@":
953
- if (2 === value.length) return new Promise(function () {});
954
- parentObject = parseInt(value.slice(2), 16);
955
- return getChunk(response, parentObject);
1183
+ return (
1184
+ (parentObject = parseInt(value.slice(2), 16)),
1185
+ getChunk(response, parentObject)
1186
+ );
956
1187
  case "S":
957
1188
  return Symbol.for(value.slice(2));
958
1189
  case "F":
@@ -1046,19 +1277,18 @@ function ResponseInstance(
1046
1277
  this._chunks = chunks;
1047
1278
  this._stringDecoder = new TextDecoder();
1048
1279
  this._fromJSON = null;
1049
- this._rowLength = this._rowTag = this._rowID = this._rowState = 0;
1050
- this._buffer = [];
1051
1280
  this._closed = !1;
1052
1281
  this._closedReason = null;
1053
1282
  this._tempRefs = temporaryReferences;
1054
1283
  this._fromJSON = createFromJSONCallback(this);
1055
1284
  }
1056
1285
  function resolveBuffer(response, id, buffer) {
1057
- var chunks = response._chunks,
1058
- chunk = chunks.get(id);
1286
+ response = response._chunks;
1287
+ var chunk = response.get(id);
1059
1288
  chunk && "pending" !== chunk.status
1060
1289
  ? chunk.reason.enqueueValue(buffer)
1061
- : chunks.set(id, new ReactPromise("fulfilled", buffer, null, response));
1290
+ : ((buffer = new ReactPromise("fulfilled", buffer, null)),
1291
+ response.set(id, buffer));
1062
1292
  }
1063
1293
  function resolveModule(response, id, model) {
1064
1294
  var chunks = response._chunks,
@@ -1070,38 +1300,34 @@ function resolveModule(response, id, model) {
1070
1300
  var blockedChunk = chunk;
1071
1301
  blockedChunk.status = "blocked";
1072
1302
  } else
1073
- (blockedChunk = new ReactPromise("blocked", null, null, response)),
1303
+ (blockedChunk = new ReactPromise("blocked", null, null)),
1074
1304
  chunks.set(id, blockedChunk);
1075
1305
  model.then(
1076
1306
  function () {
1077
- return resolveModuleChunk(blockedChunk, clientReference);
1307
+ return resolveModuleChunk(response, blockedChunk, clientReference);
1078
1308
  },
1079
1309
  function (error) {
1080
- return triggerErrorOnChunk(blockedChunk, error);
1310
+ return triggerErrorOnChunk(response, blockedChunk, error);
1081
1311
  }
1082
1312
  );
1083
1313
  } else
1084
1314
  chunk
1085
- ? resolveModuleChunk(chunk, clientReference)
1086
- : chunks.set(
1087
- id,
1088
- new ReactPromise("resolved_module", clientReference, null, response)
1089
- );
1315
+ ? resolveModuleChunk(response, chunk, clientReference)
1316
+ : ((chunk = new ReactPromise("resolved_module", clientReference, null)),
1317
+ chunks.set(id, chunk));
1090
1318
  }
1091
1319
  function resolveStream(response, id, stream, controller) {
1092
- var chunks = response._chunks,
1093
- chunk = chunks.get(id);
1320
+ response = response._chunks;
1321
+ var chunk = response.get(id);
1094
1322
  chunk
1095
1323
  ? "pending" === chunk.status &&
1096
- ((response = chunk.value),
1324
+ ((id = chunk.value),
1097
1325
  (chunk.status = "fulfilled"),
1098
1326
  (chunk.value = stream),
1099
1327
  (chunk.reason = controller),
1100
- null !== response && wakeChunk(response, chunk.value))
1101
- : chunks.set(
1102
- id,
1103
- new ReactPromise("fulfilled", stream, controller, response)
1104
- );
1328
+ null !== id && wakeChunk(id, chunk.value))
1329
+ : ((stream = new ReactPromise("fulfilled", stream, controller)),
1330
+ response.set(id, stream));
1105
1331
  }
1106
1332
  function startReadableStream(response, id, type) {
1107
1333
  var controller = null;
@@ -1122,7 +1348,7 @@ function startReadableStream(response, id, type) {
1122
1348
  },
1123
1349
  enqueueModel: function (json) {
1124
1350
  if (null === previousBlockedChunk) {
1125
- var chunk = new ReactPromise("resolved_model", json, null, response);
1351
+ var chunk = new ReactPromise("resolved_model", json, response);
1126
1352
  initializeModelChunk(chunk);
1127
1353
  "fulfilled" === chunk.status
1128
1354
  ? controller.enqueue(chunk.value)
@@ -1137,8 +1363,8 @@ function startReadableStream(response, id, type) {
1137
1363
  (previousBlockedChunk = chunk));
1138
1364
  } else {
1139
1365
  chunk = previousBlockedChunk;
1140
- var chunk$52 = createPendingChunk(response);
1141
- chunk$52.then(
1366
+ var chunk$54 = new ReactPromise("pending", null, null);
1367
+ chunk$54.then(
1142
1368
  function (v) {
1143
1369
  return controller.enqueue(v);
1144
1370
  },
@@ -1146,10 +1372,10 @@ function startReadableStream(response, id, type) {
1146
1372
  return controller.error(e);
1147
1373
  }
1148
1374
  );
1149
- previousBlockedChunk = chunk$52;
1375
+ previousBlockedChunk = chunk$54;
1150
1376
  chunk.then(function () {
1151
- previousBlockedChunk === chunk$52 && (previousBlockedChunk = null);
1152
- resolveModelChunk(chunk$52, json);
1377
+ previousBlockedChunk === chunk$54 && (previousBlockedChunk = null);
1378
+ resolveModelChunk(response, chunk$54, json);
1153
1379
  });
1154
1380
  }
1155
1381
  },
@@ -1187,41 +1413,37 @@ function startAsyncIterable(response, id, iterator) {
1187
1413
  var buffer = [],
1188
1414
  closed = !1,
1189
1415
  nextWriteIndex = 0,
1190
- $jscomp$compprop0 = {};
1191
- $jscomp$compprop0 =
1192
- (($jscomp$compprop0[ASYNC_ITERATOR] = function () {
1193
- var nextReadIndex = 0;
1194
- return createIterator(function (arg) {
1195
- if (void 0 !== arg)
1196
- throw Error(
1197
- "Values cannot be passed to next() of AsyncIterables passed to Client Components."
1416
+ iterable = {};
1417
+ iterable[ASYNC_ITERATOR] = function () {
1418
+ var nextReadIndex = 0;
1419
+ return createIterator(function (arg) {
1420
+ if (void 0 !== arg)
1421
+ throw Error(
1422
+ "Values cannot be passed to next() of AsyncIterables passed to Client Components."
1423
+ );
1424
+ if (nextReadIndex === buffer.length) {
1425
+ if (closed)
1426
+ return new ReactPromise(
1427
+ "fulfilled",
1428
+ { done: !0, value: void 0 },
1429
+ null
1198
1430
  );
1199
- if (nextReadIndex === buffer.length) {
1200
- if (closed)
1201
- return new ReactPromise(
1202
- "fulfilled",
1203
- { done: !0, value: void 0 },
1204
- null,
1205
- response
1206
- );
1207
- buffer[nextReadIndex] = createPendingChunk(response);
1208
- }
1209
- return buffer[nextReadIndex++];
1210
- });
1211
- }),
1212
- $jscomp$compprop0);
1431
+ buffer[nextReadIndex] = new ReactPromise("pending", null, null);
1432
+ }
1433
+ return buffer[nextReadIndex++];
1434
+ });
1435
+ };
1213
1436
  resolveStream(
1214
1437
  response,
1215
1438
  id,
1216
- iterator ? $jscomp$compprop0[ASYNC_ITERATOR]() : $jscomp$compprop0,
1439
+ iterator ? iterable[ASYNC_ITERATOR]() : iterable,
1217
1440
  {
1218
1441
  enqueueValue: function (value) {
1219
1442
  if (nextWriteIndex === buffer.length)
1220
1443
  buffer[nextWriteIndex] = new ReactPromise(
1221
1444
  "fulfilled",
1222
1445
  { done: !1, value: value },
1223
- null,
1224
- response
1446
+ null
1225
1447
  );
1226
1448
  else {
1227
1449
  var chunk = buffer[nextWriteIndex],
@@ -1241,7 +1463,12 @@ function startAsyncIterable(response, id, iterator) {
1241
1463
  value,
1242
1464
  !1
1243
1465
  ))
1244
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);
1466
+ : resolveIteratorResultChunk(
1467
+ response,
1468
+ buffer[nextWriteIndex],
1469
+ value,
1470
+ !1
1471
+ );
1245
1472
  nextWriteIndex++;
1246
1473
  },
1247
1474
  close: function (value) {
@@ -1252,9 +1479,15 @@ function startAsyncIterable(response, id, iterator) {
1252
1479
  value,
1253
1480
  !0
1254
1481
  ))
1255
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);
1482
+ : resolveIteratorResultChunk(
1483
+ response,
1484
+ buffer[nextWriteIndex],
1485
+ value,
1486
+ !0
1487
+ );
1256
1488
  for (nextWriteIndex++; nextWriteIndex < buffer.length; )
1257
1489
  resolveIteratorResultChunk(
1490
+ response,
1258
1491
  buffer[nextWriteIndex++],
1259
1492
  '"$undefined"',
1260
1493
  !0
@@ -1264,11 +1497,11 @@ function startAsyncIterable(response, id, iterator) {
1264
1497
  closed = !0;
1265
1498
  for (
1266
1499
  nextWriteIndex === buffer.length &&
1267
- (buffer[nextWriteIndex] = createPendingChunk(response));
1500
+ (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
1268
1501
  nextWriteIndex < buffer.length;
1269
1502
 
1270
1503
  )
1271
- triggerErrorOnChunk(buffer[nextWriteIndex++], error);
1504
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
1272
1505
  }
1273
1506
  }
1274
1507
  );
@@ -1284,8 +1517,8 @@ function mergeBuffer(buffer, lastChunk) {
1284
1517
  for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)
1285
1518
  byteLength += buffer[i].byteLength;
1286
1519
  byteLength = new Uint8Array(byteLength);
1287
- for (var i$53 = (i = 0); i$53 < l; i$53++) {
1288
- var chunk = buffer[i$53];
1520
+ for (var i$55 = (i = 0); i$55 < l; i$55++) {
1521
+ var chunk = buffer[i$55];
1289
1522
  byteLength.set(chunk, i);
1290
1523
  i += chunk.byteLength;
1291
1524
  }
@@ -1311,7 +1544,7 @@ function resolveTypedArray(
1311
1544
  );
1312
1545
  resolveBuffer(response, id, constructor);
1313
1546
  }
1314
- function processFullBinaryRow(response, id, tag, buffer, chunk) {
1547
+ function processFullBinaryRow(response, streamState, id, tag, buffer, chunk) {
1315
1548
  switch (tag) {
1316
1549
  case 65:
1317
1550
  resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);
@@ -1357,13 +1590,10 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1357
1590
  resolveTypedArray(response, id, buffer, chunk, DataView, 1);
1358
1591
  return;
1359
1592
  }
1360
- for (
1361
- var stringDecoder = response._stringDecoder, row = "", i = 0;
1362
- i < buffer.length;
1363
- i++
1364
- )
1365
- row += stringDecoder.decode(buffer[i], decoderOptions);
1366
- buffer = row += stringDecoder.decode(chunk);
1593
+ streamState = response._stringDecoder;
1594
+ for (var row = "", i = 0; i < buffer.length; i++)
1595
+ row += streamState.decode(buffer[i], decoderOptions);
1596
+ buffer = row += streamState.decode(chunk);
1367
1597
  switch (tag) {
1368
1598
  case 73:
1369
1599
  resolveModule(response, id, buffer);
@@ -1415,22 +1645,26 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1415
1645
  }
1416
1646
  break;
1417
1647
  case 69:
1418
- tag = JSON.parse(buffer);
1419
- buffer = resolveErrorProd();
1420
- buffer.digest = tag.digest;
1421
1648
  tag = response._chunks;
1422
- (chunk = tag.get(id))
1423
- ? triggerErrorOnChunk(chunk, buffer)
1424
- : tag.set(id, new ReactPromise("rejected", null, buffer, response));
1649
+ chunk = tag.get(id);
1650
+ buffer = JSON.parse(buffer);
1651
+ streamState = resolveErrorProd();
1652
+ streamState.digest = buffer.digest;
1653
+ chunk
1654
+ ? triggerErrorOnChunk(response, chunk, streamState)
1655
+ : ((response = new ReactPromise("rejected", null, streamState)),
1656
+ tag.set(id, response));
1425
1657
  break;
1426
1658
  case 84:
1427
- tag = response._chunks;
1428
- (chunk = tag.get(id)) && "pending" !== chunk.status
1429
- ? chunk.reason.enqueueValue(buffer)
1430
- : tag.set(id, new ReactPromise("fulfilled", buffer, null, response));
1659
+ response = response._chunks;
1660
+ (tag = response.get(id)) && "pending" !== tag.status
1661
+ ? tag.reason.enqueueValue(buffer)
1662
+ : ((buffer = new ReactPromise("fulfilled", buffer, null)),
1663
+ response.set(id, buffer));
1431
1664
  break;
1432
1665
  case 78:
1433
1666
  case 68:
1667
+ case 74:
1434
1668
  case 87:
1435
1669
  throw Error(
1436
1670
  "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."
@@ -1448,18 +1682,16 @@ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1448
1682
  startAsyncIterable(response, id, !0);
1449
1683
  break;
1450
1684
  case 67:
1451
- (response = response._chunks.get(id)) &&
1452
- "fulfilled" === response.status &&
1453
- response.reason.close("" === buffer ? '"$undefined"' : buffer);
1685
+ (id = response._chunks.get(id)) &&
1686
+ "fulfilled" === id.status &&
1687
+ id.reason.close("" === buffer ? '"$undefined"' : buffer);
1454
1688
  break;
1455
1689
  default:
1456
1690
  (tag = response._chunks),
1457
1691
  (chunk = tag.get(id))
1458
- ? resolveModelChunk(chunk, buffer)
1459
- : tag.set(
1460
- id,
1461
- new ReactPromise("resolved_model", buffer, null, response)
1462
- );
1692
+ ? resolveModelChunk(response, chunk, buffer)
1693
+ : ((response = new ReactPromise("resolved_model", buffer, response)),
1694
+ tag.set(id, response));
1463
1695
  }
1464
1696
  }
1465
1697
  function createFromJSONCallback(response) {
@@ -1483,15 +1715,10 @@ function createFromJSONCallback(response) {
1483
1715
  (initializingHandler = value.parent),
1484
1716
  value.errored)
1485
1717
  )
1486
- (key = new ReactPromise("rejected", null, value.value, response)),
1718
+ (key = new ReactPromise("rejected", null, value.reason)),
1487
1719
  (key = createLazyChunkWrapper(key));
1488
1720
  else if (0 < value.deps) {
1489
- var blockedChunk = new ReactPromise(
1490
- "blocked",
1491
- null,
1492
- null,
1493
- response
1494
- );
1721
+ var blockedChunk = new ReactPromise("blocked", null, null);
1495
1722
  value.value = key;
1496
1723
  value.chunk = blockedChunk;
1497
1724
  key = createLazyChunkWrapper(blockedChunk);
@@ -1502,6 +1729,9 @@ function createFromJSONCallback(response) {
1502
1729
  return value;
1503
1730
  };
1504
1731
  }
1732
+ function close(weakResponse) {
1733
+ reportGlobalError(weakResponse, Error("Connection closed."));
1734
+ }
1505
1735
  function createResponseFromOptions(options) {
1506
1736
  return new ResponseInstance(
1507
1737
  null,
@@ -1515,102 +1745,114 @@ function createResponseFromOptions(options) {
1515
1745
  : void 0
1516
1746
  );
1517
1747
  }
1518
- function startReadingFromStream(response, stream) {
1519
- function progress(_ref) {
1520
- var value = _ref.value;
1521
- if (_ref.done) reportGlobalError(response, Error("Connection closed."));
1522
- else {
1523
- var i = 0,
1524
- rowState = response._rowState;
1525
- _ref = response._rowID;
1526
- for (
1527
- var rowTag = response._rowTag,
1528
- rowLength = response._rowLength,
1529
- buffer = response._buffer,
1530
- chunkLength = value.length;
1531
- i < chunkLength;
1748
+ function startReadingFromStream(response, stream, onDone) {
1749
+ function progress(_ref2) {
1750
+ var value = _ref2.value;
1751
+ if (_ref2.done) return onDone();
1752
+ var i = 0,
1753
+ rowState = streamState._rowState;
1754
+ _ref2 = streamState._rowID;
1755
+ for (
1756
+ var rowTag = streamState._rowTag,
1757
+ rowLength = streamState._rowLength,
1758
+ buffer = streamState._buffer,
1759
+ chunkLength = value.length;
1760
+ i < chunkLength;
1532
1761
 
1533
- ) {
1534
- var lastIdx = -1;
1535
- switch (rowState) {
1536
- case 0:
1537
- lastIdx = value[i++];
1538
- 58 === lastIdx
1539
- ? (rowState = 1)
1540
- : (_ref =
1541
- (_ref << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1542
- continue;
1543
- case 1:
1544
- rowState = value[i];
1545
- 84 === rowState ||
1546
- 65 === rowState ||
1547
- 79 === rowState ||
1548
- 111 === rowState ||
1549
- 85 === rowState ||
1550
- 83 === rowState ||
1551
- 115 === rowState ||
1552
- 76 === rowState ||
1553
- 108 === rowState ||
1554
- 71 === rowState ||
1555
- 103 === rowState ||
1556
- 77 === rowState ||
1557
- 109 === rowState ||
1558
- 86 === rowState
1559
- ? ((rowTag = rowState), (rowState = 2), i++)
1560
- : (64 < rowState && 91 > rowState) ||
1561
- 35 === rowState ||
1562
- 114 === rowState ||
1563
- 120 === rowState
1564
- ? ((rowTag = rowState), (rowState = 3), i++)
1565
- : ((rowTag = 0), (rowState = 3));
1566
- continue;
1567
- case 2:
1568
- lastIdx = value[i++];
1569
- 44 === lastIdx
1570
- ? (rowState = 4)
1571
- : (rowLength =
1572
- (rowLength << 4) |
1573
- (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1574
- continue;
1575
- case 3:
1576
- lastIdx = value.indexOf(10, i);
1577
- break;
1578
- case 4:
1579
- (lastIdx = i + rowLength), lastIdx > value.length && (lastIdx = -1);
1580
- }
1581
- var offset = value.byteOffset + i;
1582
- if (-1 < lastIdx)
1583
- (rowLength = new Uint8Array(value.buffer, offset, lastIdx - i)),
1584
- processFullBinaryRow(response, _ref, rowTag, buffer, rowLength),
1585
- (i = lastIdx),
1586
- 3 === rowState && i++,
1587
- (rowLength = _ref = rowTag = rowState = 0),
1588
- (buffer.length = 0);
1589
- else {
1590
- value = new Uint8Array(value.buffer, offset, value.byteLength - i);
1591
- buffer.push(value);
1592
- rowLength -= value.byteLength;
1762
+ ) {
1763
+ var lastIdx = -1;
1764
+ switch (rowState) {
1765
+ case 0:
1766
+ lastIdx = value[i++];
1767
+ 58 === lastIdx
1768
+ ? (rowState = 1)
1769
+ : (_ref2 =
1770
+ (_ref2 << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1771
+ continue;
1772
+ case 1:
1773
+ rowState = value[i];
1774
+ 84 === rowState ||
1775
+ 65 === rowState ||
1776
+ 79 === rowState ||
1777
+ 111 === rowState ||
1778
+ 85 === rowState ||
1779
+ 83 === rowState ||
1780
+ 115 === rowState ||
1781
+ 76 === rowState ||
1782
+ 108 === rowState ||
1783
+ 71 === rowState ||
1784
+ 103 === rowState ||
1785
+ 77 === rowState ||
1786
+ 109 === rowState ||
1787
+ 86 === rowState
1788
+ ? ((rowTag = rowState), (rowState = 2), i++)
1789
+ : (64 < rowState && 91 > rowState) ||
1790
+ 35 === rowState ||
1791
+ 114 === rowState ||
1792
+ 120 === rowState
1793
+ ? ((rowTag = rowState), (rowState = 3), i++)
1794
+ : ((rowTag = 0), (rowState = 3));
1795
+ continue;
1796
+ case 2:
1797
+ lastIdx = value[i++];
1798
+ 44 === lastIdx
1799
+ ? (rowState = 4)
1800
+ : (rowLength =
1801
+ (rowLength << 4) |
1802
+ (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));
1803
+ continue;
1804
+ case 3:
1805
+ lastIdx = value.indexOf(10, i);
1593
1806
  break;
1594
- }
1807
+ case 4:
1808
+ (lastIdx = i + rowLength), lastIdx > value.length && (lastIdx = -1);
1809
+ }
1810
+ var offset = value.byteOffset + i;
1811
+ if (-1 < lastIdx)
1812
+ (rowLength = new Uint8Array(value.buffer, offset, lastIdx - i)),
1813
+ processFullBinaryRow(
1814
+ response,
1815
+ streamState,
1816
+ _ref2,
1817
+ rowTag,
1818
+ buffer,
1819
+ rowLength
1820
+ ),
1821
+ (i = lastIdx),
1822
+ 3 === rowState && i++,
1823
+ (rowLength = _ref2 = rowTag = rowState = 0),
1824
+ (buffer.length = 0);
1825
+ else {
1826
+ value = new Uint8Array(value.buffer, offset, value.byteLength - i);
1827
+ buffer.push(value);
1828
+ rowLength -= value.byteLength;
1829
+ break;
1595
1830
  }
1596
- response._rowState = rowState;
1597
- response._rowID = _ref;
1598
- response._rowTag = rowTag;
1599
- response._rowLength = rowLength;
1600
- return reader.read().then(progress).catch(error);
1601
1831
  }
1832
+ streamState._rowState = rowState;
1833
+ streamState._rowID = _ref2;
1834
+ streamState._rowTag = rowTag;
1835
+ streamState._rowLength = rowLength;
1836
+ return reader.read().then(progress).catch(error);
1602
1837
  }
1603
1838
  function error(e) {
1604
1839
  reportGlobalError(response, e);
1605
1840
  }
1606
- var reader = stream.getReader();
1841
+ var streamState = {
1842
+ _rowState: 0,
1843
+ _rowID: 0,
1844
+ _rowTag: 0,
1845
+ _rowLength: 0,
1846
+ _buffer: []
1847
+ },
1848
+ reader = stream.getReader();
1607
1849
  reader.read().then(progress).catch(error);
1608
1850
  }
1609
1851
  exports.createFromFetch = function (promiseForResponse, options) {
1610
1852
  var response = createResponseFromOptions(options);
1611
1853
  promiseForResponse.then(
1612
1854
  function (r) {
1613
- startReadingFromStream(response, r.body);
1855
+ startReadingFromStream(response, r.body, close.bind(null, response));
1614
1856
  },
1615
1857
  function (e) {
1616
1858
  reportGlobalError(response, e);
@@ -1620,7 +1862,7 @@ exports.createFromFetch = function (promiseForResponse, options) {
1620
1862
  };
1621
1863
  exports.createFromReadableStream = function (stream, options) {
1622
1864
  options = createResponseFromOptions(options);
1623
- startReadingFromStream(options, stream);
1865
+ startReadingFromStream(options, stream, close.bind(null, options));
1624
1866
  return getChunk(options, 0);
1625
1867
  };
1626
1868
  exports.createServerReference = function (id, callServer) {