react-server-dom-webpack 19.0.0-rc.0 → 19.0.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 (28) hide show
  1. package/cjs/react-server-dom-webpack-client.browser.development.js +2483 -3269
  2. package/cjs/react-server-dom-webpack-client.browser.production.js +420 -215
  3. package/cjs/react-server-dom-webpack-client.edge.development.js +2656 -3546
  4. package/cjs/react-server-dom-webpack-client.edge.production.js +424 -218
  5. package/cjs/react-server-dom-webpack-client.node.development.js +2693 -3498
  6. package/cjs/react-server-dom-webpack-client.node.production.js +546 -263
  7. package/cjs/react-server-dom-webpack-client.node.unbundled.development.js +2638 -3434
  8. package/cjs/react-server-dom-webpack-client.node.unbundled.production.js +526 -257
  9. package/cjs/react-server-dom-webpack-plugin.js +11 -11
  10. package/cjs/react-server-dom-webpack-server.browser.development.js +3700 -5229
  11. package/cjs/react-server-dom-webpack-server.browser.production.js +447 -276
  12. package/cjs/react-server-dom-webpack-server.edge.development.js +3730 -5241
  13. package/cjs/react-server-dom-webpack-server.edge.production.js +435 -283
  14. package/cjs/react-server-dom-webpack-server.node.development.js +3794 -5384
  15. package/cjs/react-server-dom-webpack-server.node.production.js +428 -289
  16. package/cjs/react-server-dom-webpack-server.node.unbundled.development.js +3756 -5310
  17. package/cjs/react-server-dom-webpack-server.node.unbundled.production.js +421 -284
  18. package/esm/react-server-dom-webpack-node-loader.production.js +238 -44
  19. package/package.json +27 -4
  20. package/server.browser.js +12 -2
  21. package/server.edge.js +12 -2
  22. package/server.node.js +13 -2
  23. package/server.node.unbundled.js +13 -2
  24. package/static.browser.js +12 -0
  25. package/static.edge.js +12 -0
  26. package/static.js +6 -0
  27. package/static.node.js +12 -0
  28. package/static.node.unbundled.js +12 -0
@@ -14,15 +14,15 @@ var ReactDOM = require("react-dom"),
14
14
  function resolveClientReference(bundlerConfig, metadata) {
15
15
  if (bundlerConfig) {
16
16
  var moduleExports = bundlerConfig[metadata[0]];
17
- if ((bundlerConfig = moduleExports[metadata[2]]))
17
+ if ((bundlerConfig = moduleExports && moduleExports[metadata[2]]))
18
18
  moduleExports = bundlerConfig.name;
19
19
  else {
20
- bundlerConfig = moduleExports["*"];
20
+ bundlerConfig = moduleExports && moduleExports["*"];
21
21
  if (!bundlerConfig)
22
22
  throw Error(
23
23
  'Could not find the module "' +
24
24
  metadata[0] +
25
- '" in the React SSR Manifest. This is probably a bug in the React Server Components bundler.'
25
+ '" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.'
26
26
  );
27
27
  moduleExports = metadata[2];
28
28
  }
@@ -32,6 +32,26 @@ function resolveClientReference(bundlerConfig, metadata) {
32
32
  }
33
33
  return metadata;
34
34
  }
35
+ function resolveServerReference(bundlerConfig, id) {
36
+ var name = "",
37
+ resolvedModuleData = bundlerConfig[id];
38
+ if (resolvedModuleData) name = resolvedModuleData.name;
39
+ else {
40
+ var idx = id.lastIndexOf("#");
41
+ -1 !== idx &&
42
+ ((name = id.slice(idx + 1)),
43
+ (resolvedModuleData = bundlerConfig[id.slice(0, idx)]));
44
+ if (!resolvedModuleData)
45
+ throw Error(
46
+ 'Could not find the module "' +
47
+ id +
48
+ '" in the React Server Manifest. This is probably a bug in the React Server Components bundler.'
49
+ );
50
+ }
51
+ return resolvedModuleData.async
52
+ ? [resolvedModuleData.id, resolvedModuleData.chunks, name, 1]
53
+ : [resolvedModuleData.id, resolvedModuleData.chunks, name];
54
+ }
35
55
  var chunkCache = new Map();
36
56
  function requireAsyncModule(id) {
37
57
  var promise = __webpack_require__(id);
@@ -71,8 +91,22 @@ function preloadModule(metadata) {
71
91
  return requireAsyncModule(metadata[0]);
72
92
  })
73
93
  : 0 < promises.length
74
- ? Promise.all(promises)
75
- : null;
94
+ ? Promise.all(promises)
95
+ : null;
96
+ }
97
+ function requireModule(metadata) {
98
+ var moduleExports = __webpack_require__(metadata[0]);
99
+ if (4 === metadata.length && "function" === typeof moduleExports.then)
100
+ if ("fulfilled" === moduleExports.status)
101
+ moduleExports = moduleExports.value;
102
+ else throw moduleExports.reason;
103
+ return "*" === metadata[2]
104
+ ? moduleExports
105
+ : "" === metadata[2]
106
+ ? moduleExports.__esModule
107
+ ? moduleExports.default
108
+ : moduleExports
109
+ : moduleExports[metadata[2]];
76
110
  }
77
111
  var chunkMap = new Map(),
78
112
  webpackGetChunkFilename = __webpack_require__.u;
@@ -105,10 +139,10 @@ function serializeNumber(number) {
105
139
  ? "$-0"
106
140
  : number
107
141
  : Infinity === number
108
- ? "$Infinity"
109
- : -Infinity === number
110
- ? "$-Infinity"
111
- : "$NaN";
142
+ ? "$Infinity"
143
+ : -Infinity === number
144
+ ? "$-Infinity"
145
+ : "$NaN";
112
146
  }
113
147
  function processReply(
114
148
  root,
@@ -457,24 +491,45 @@ function processReply(
457
491
  pendingParts = 0,
458
492
  formData = null,
459
493
  writtenObjects = new WeakMap(),
460
- modelRoot = root;
461
- root = serializeModel(root, 0);
494
+ modelRoot = root,
495
+ json = serializeModel(root, 0);
462
496
  null === formData
463
- ? resolve(root)
464
- : (formData.set(formFieldPrefix + "0", root),
497
+ ? resolve(json)
498
+ : (formData.set(formFieldPrefix + "0", json),
465
499
  0 === pendingParts && resolve(formData));
500
+ return function () {
501
+ 0 < pendingParts &&
502
+ ((pendingParts = 0),
503
+ null === formData ? resolve(json) : resolve(formData));
504
+ };
466
505
  }
467
506
  function registerServerReference(proxy, reference) {
468
507
  knownServerReferences.set(proxy, reference);
469
508
  }
470
- function Chunk(status, value, reason, response) {
509
+ function createBoundServerReference(metaData, callServer) {
510
+ function action() {
511
+ var args = Array.prototype.slice.call(arguments);
512
+ return bound
513
+ ? "fulfilled" === bound.status
514
+ ? callServer(id, bound.value.concat(args))
515
+ : Promise.resolve(bound).then(function (boundArgs) {
516
+ return callServer(id, boundArgs.concat(args));
517
+ })
518
+ : callServer(id, args);
519
+ }
520
+ var id = metaData.id,
521
+ bound = metaData.bound;
522
+ registerServerReference(action, { id: id, bound: bound });
523
+ return action;
524
+ }
525
+ function ReactPromise(status, value, reason, response) {
471
526
  this.status = status;
472
527
  this.value = value;
473
528
  this.reason = reason;
474
529
  this._response = response;
475
530
  }
476
- Chunk.prototype = Object.create(Promise.prototype);
477
- Chunk.prototype.then = function (resolve, reject) {
531
+ ReactPromise.prototype = Object.create(Promise.prototype);
532
+ ReactPromise.prototype.then = function (resolve, reject) {
478
533
  switch (this.status) {
479
534
  case "resolved_model":
480
535
  initializeModelChunk(this);
@@ -488,7 +543,6 @@ Chunk.prototype.then = function (resolve, reject) {
488
543
  break;
489
544
  case "pending":
490
545
  case "blocked":
491
- case "cyclic":
492
546
  resolve &&
493
547
  (null === this.value && (this.value = []), this.value.push(resolve));
494
548
  reject &&
@@ -511,14 +565,13 @@ function readChunk(chunk) {
511
565
  return chunk.value;
512
566
  case "pending":
513
567
  case "blocked":
514
- case "cyclic":
515
568
  throw chunk;
516
569
  default:
517
570
  throw chunk.reason;
518
571
  }
519
572
  }
520
573
  function createPendingChunk(response) {
521
- return new Chunk("pending", null, null, response);
574
+ return new ReactPromise("pending", null, null, response);
522
575
  }
523
576
  function wakeChunk(listeners, value) {
524
577
  for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
@@ -530,7 +583,6 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
530
583
  break;
531
584
  case "pending":
532
585
  case "blocked":
533
- case "cyclic":
534
586
  if (chunk.value)
535
587
  for (var i = 0; i < resolveListeners.length; i++)
536
588
  chunk.value.push(resolveListeners[i]);
@@ -560,7 +612,7 @@ function triggerErrorOnChunk(chunk, error) {
560
612
  }
561
613
  }
562
614
  function createResolvedIteratorResultChunk(response, value, done) {
563
- return new Chunk(
615
+ return new ReactPromise(
564
616
  "resolved_model",
565
617
  (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}",
566
618
  null,
@@ -596,55 +648,42 @@ function resolveModuleChunk(chunk, value) {
596
648
  wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
597
649
  }
598
650
  }
599
- var initializingChunk = null,
600
- initializingChunkBlockedModel = null;
651
+ var initializingHandler = null;
601
652
  function initializeModelChunk(chunk) {
602
- var prevChunk = initializingChunk,
603
- prevBlocked = initializingChunkBlockedModel;
604
- initializingChunk = chunk;
605
- initializingChunkBlockedModel = null;
653
+ var prevHandler = initializingHandler;
654
+ initializingHandler = null;
606
655
  var resolvedModel = chunk.value;
607
- chunk.status = "cyclic";
656
+ chunk.status = "blocked";
608
657
  chunk.value = null;
609
658
  chunk.reason = null;
610
659
  try {
611
- var value = JSON.parse(resolvedModel, chunk._response._fromJSON);
612
- if (
613
- null !== initializingChunkBlockedModel &&
614
- 0 < initializingChunkBlockedModel.deps
615
- )
616
- (initializingChunkBlockedModel.value = value), (chunk.status = "blocked");
617
- else {
618
- var resolveListeners = chunk.value;
619
- chunk.status = "fulfilled";
620
- chunk.value = value;
621
- null !== resolveListeners && wakeChunk(resolveListeners, value);
660
+ var value = JSON.parse(resolvedModel, chunk._response._fromJSON),
661
+ resolveListeners = chunk.value;
662
+ null !== resolveListeners &&
663
+ ((chunk.value = null),
664
+ (chunk.reason = null),
665
+ wakeChunk(resolveListeners, value));
666
+ if (null !== initializingHandler) {
667
+ if (initializingHandler.errored) throw initializingHandler.value;
668
+ if (0 < initializingHandler.deps) {
669
+ initializingHandler.value = value;
670
+ initializingHandler.chunk = chunk;
671
+ return;
672
+ }
622
673
  }
674
+ chunk.status = "fulfilled";
675
+ chunk.value = value;
623
676
  } catch (error) {
624
677
  (chunk.status = "rejected"), (chunk.reason = error);
625
678
  } finally {
626
- (initializingChunk = prevChunk),
627
- (initializingChunkBlockedModel = prevBlocked);
679
+ initializingHandler = prevHandler;
628
680
  }
629
681
  }
630
682
  function initializeModuleChunk(chunk) {
631
683
  try {
632
- var metadata = chunk.value,
633
- moduleExports = __webpack_require__(metadata[0]);
634
- if (4 === metadata.length && "function" === typeof moduleExports.then)
635
- if ("fulfilled" === moduleExports.status)
636
- moduleExports = moduleExports.value;
637
- else throw moduleExports.reason;
638
- var JSCompiler_inline_result =
639
- "*" === metadata[2]
640
- ? moduleExports
641
- : "" === metadata[2]
642
- ? moduleExports.__esModule
643
- ? moduleExports.default
644
- : moduleExports
645
- : moduleExports[metadata[2]];
684
+ var value = requireModule(chunk.value);
646
685
  chunk.status = "fulfilled";
647
- chunk.value = JSCompiler_inline_result;
686
+ chunk.value = value;
648
687
  } catch (error) {
649
688
  (chunk.status = "rejected"), (chunk.reason = error);
650
689
  }
@@ -654,62 +693,147 @@ function reportGlobalError(response, error) {
654
693
  "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
655
694
  });
656
695
  }
696
+ function createLazyChunkWrapper(chunk) {
697
+ return { $$typeof: REACT_LAZY_TYPE, _payload: chunk, _init: readChunk };
698
+ }
657
699
  function getChunk(response, id) {
658
700
  var chunks = response._chunks,
659
701
  chunk = chunks.get(id);
660
702
  chunk || ((chunk = createPendingChunk(response)), chunks.set(id, chunk));
661
703
  return chunk;
662
704
  }
663
- function createModelResolver(
664
- chunk,
705
+ function waitForReference(
706
+ referencedChunk,
665
707
  parentObject,
666
708
  key,
667
- cyclic,
668
709
  response,
669
710
  map,
670
711
  path
671
712
  ) {
672
- if (initializingChunkBlockedModel) {
673
- var blocked = initializingChunkBlockedModel;
674
- cyclic || blocked.deps++;
713
+ function fulfill(value) {
714
+ for (var i = 1; i < path.length; i++) {
715
+ for (; value.$$typeof === REACT_LAZY_TYPE; )
716
+ if (((value = value._payload), value === handler.chunk))
717
+ value = handler.value;
718
+ else if ("fulfilled" === value.status) value = value.value;
719
+ else {
720
+ path.splice(0, i - 1);
721
+ value.then(fulfill, reject);
722
+ return;
723
+ }
724
+ value = value[path[i]];
725
+ }
726
+ i = map(response, value, parentObject, key);
727
+ parentObject[key] = i;
728
+ "" === key && null === handler.value && (handler.value = i);
729
+ if (
730
+ parentObject[0] === REACT_ELEMENT_TYPE &&
731
+ "object" === typeof handler.value &&
732
+ null !== handler.value &&
733
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
734
+ )
735
+ switch (((value = handler.value), key)) {
736
+ case "3":
737
+ value.props = i;
738
+ }
739
+ handler.deps--;
740
+ 0 === handler.deps &&
741
+ ((i = handler.chunk),
742
+ null !== i &&
743
+ "blocked" === i.status &&
744
+ ((value = i.value),
745
+ (i.status = "fulfilled"),
746
+ (i.value = handler.value),
747
+ null !== value && wakeChunk(value, handler.value)));
748
+ }
749
+ function reject(error) {
750
+ if (!handler.errored) {
751
+ handler.errored = !0;
752
+ handler.value = error;
753
+ var chunk = handler.chunk;
754
+ null !== chunk &&
755
+ "blocked" === chunk.status &&
756
+ triggerErrorOnChunk(chunk, error);
757
+ }
758
+ }
759
+ if (initializingHandler) {
760
+ var handler = initializingHandler;
761
+ handler.deps++;
675
762
  } else
676
- blocked = initializingChunkBlockedModel = {
677
- deps: cyclic ? 0 : 1,
678
- value: null
763
+ handler = initializingHandler = {
764
+ parent: null,
765
+ chunk: null,
766
+ value: null,
767
+ deps: 1,
768
+ errored: !1
679
769
  };
680
- return function (value) {
681
- for (var i = 1; i < path.length; i++) value = value[path[i]];
682
- parentObject[key] = map(response, value);
683
- "" === key && null === blocked.value && (blocked.value = parentObject[key]);
684
- blocked.deps--;
685
- 0 === blocked.deps &&
686
- "blocked" === chunk.status &&
687
- ((value = chunk.value),
688
- (chunk.status = "fulfilled"),
689
- (chunk.value = blocked.value),
690
- null !== value && wakeChunk(value, blocked.value));
691
- };
692
- }
693
- function createModelReject(chunk) {
694
- return function (error) {
695
- return triggerErrorOnChunk(chunk, error);
696
- };
770
+ referencedChunk.then(fulfill, reject);
771
+ return null;
697
772
  }
698
- function createServerReferenceProxy(response, metaData) {
699
- function proxy() {
700
- var args = Array.prototype.slice.call(arguments),
701
- p = metaData.bound;
702
- return p
703
- ? "fulfilled" === p.status
704
- ? callServer(metaData.id, p.value.concat(args))
705
- : Promise.resolve(p).then(function (bound) {
706
- return callServer(metaData.id, bound.concat(args));
707
- })
708
- : callServer(metaData.id, args);
709
- }
710
- var callServer = response._callServer;
711
- knownServerReferences.set(proxy, metaData);
712
- return proxy;
773
+ function loadServerReference(response, metaData, parentObject, key) {
774
+ if (!response._serverReferenceConfig)
775
+ return createBoundServerReference(metaData, response._callServer);
776
+ var serverReference = resolveServerReference(
777
+ response._serverReferenceConfig,
778
+ metaData.id
779
+ );
780
+ if ((response = preloadModule(serverReference)))
781
+ metaData.bound && (response = Promise.all([response, metaData.bound]));
782
+ else if (metaData.bound) response = Promise.resolve(metaData.bound);
783
+ else return requireModule(serverReference);
784
+ if (initializingHandler) {
785
+ var handler = initializingHandler;
786
+ handler.deps++;
787
+ } else
788
+ handler = initializingHandler = {
789
+ parent: null,
790
+ chunk: null,
791
+ value: null,
792
+ deps: 1,
793
+ errored: !1
794
+ };
795
+ response.then(
796
+ function () {
797
+ var resolvedValue = requireModule(serverReference);
798
+ if (metaData.bound) {
799
+ var boundArgs = metaData.bound.value.slice(0);
800
+ boundArgs.unshift(null);
801
+ resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs);
802
+ }
803
+ parentObject[key] = resolvedValue;
804
+ "" === key && null === handler.value && (handler.value = resolvedValue);
805
+ if (
806
+ parentObject[0] === REACT_ELEMENT_TYPE &&
807
+ "object" === typeof handler.value &&
808
+ null !== handler.value &&
809
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
810
+ )
811
+ switch (((boundArgs = handler.value), key)) {
812
+ case "3":
813
+ boundArgs.props = resolvedValue;
814
+ }
815
+ handler.deps--;
816
+ 0 === handler.deps &&
817
+ ((resolvedValue = handler.chunk),
818
+ null !== resolvedValue &&
819
+ "blocked" === resolvedValue.status &&
820
+ ((boundArgs = resolvedValue.value),
821
+ (resolvedValue.status = "fulfilled"),
822
+ (resolvedValue.value = handler.value),
823
+ null !== boundArgs && wakeChunk(boundArgs, handler.value)));
824
+ },
825
+ function (error) {
826
+ if (!handler.errored) {
827
+ handler.errored = !0;
828
+ handler.value = error;
829
+ var chunk = handler.chunk;
830
+ null !== chunk &&
831
+ "blocked" === chunk.status &&
832
+ triggerErrorOnChunk(chunk, error);
833
+ }
834
+ }
835
+ );
836
+ return null;
713
837
  }
714
838
  function getOutlinedModel(response, reference, parentObject, key, map) {
715
839
  reference = reference.split(":");
@@ -724,29 +848,40 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
724
848
  }
725
849
  switch (id.status) {
726
850
  case "fulfilled":
727
- parentObject = id.value;
728
- for (key = 1; key < reference.length; key++)
729
- parentObject = parentObject[reference[key]];
730
- return map(response, parentObject);
851
+ var value = id.value;
852
+ for (id = 1; id < reference.length; id++) {
853
+ for (; value.$$typeof === REACT_LAZY_TYPE; )
854
+ if (((value = value._payload), "fulfilled" === value.status))
855
+ value = value.value;
856
+ else
857
+ return waitForReference(
858
+ value,
859
+ parentObject,
860
+ key,
861
+ response,
862
+ map,
863
+ reference.slice(id - 1)
864
+ );
865
+ value = value[reference[id]];
866
+ }
867
+ return map(response, value, parentObject, key);
731
868
  case "pending":
732
869
  case "blocked":
733
- case "cyclic":
734
- var parentChunk = initializingChunk;
735
- id.then(
736
- createModelResolver(
737
- parentChunk,
738
- parentObject,
739
- key,
740
- "cyclic" === id.status,
741
- response,
742
- map,
743
- reference
744
- ),
745
- createModelReject(parentChunk)
746
- );
747
- return null;
870
+ return waitForReference(id, parentObject, key, response, map, reference);
748
871
  default:
749
- throw id.reason;
872
+ return (
873
+ initializingHandler
874
+ ? ((initializingHandler.errored = !0),
875
+ (initializingHandler.value = id.reason))
876
+ : (initializingHandler = {
877
+ parent: null,
878
+ chunk: null,
879
+ value: id.reason,
880
+ deps: 0,
881
+ errored: !0
882
+ }),
883
+ null
884
+ );
750
885
  }
751
886
  }
752
887
  function createMap(response, model) {
@@ -772,7 +907,19 @@ function createModel(response, model) {
772
907
  }
773
908
  function parseModelString(response, parentObject, key, value) {
774
909
  if ("$" === value[0]) {
775
- if ("$" === value) return REACT_ELEMENT_TYPE;
910
+ if ("$" === value)
911
+ return (
912
+ null !== initializingHandler &&
913
+ "0" === key &&
914
+ (initializingHandler = {
915
+ parent: initializingHandler,
916
+ chunk: null,
917
+ value: null,
918
+ deps: 0,
919
+ errored: !1
920
+ }),
921
+ REACT_ELEMENT_TYPE
922
+ );
776
923
  switch (value[1]) {
777
924
  case "$":
778
925
  return value.slice(1);
@@ -780,7 +927,7 @@ function parseModelString(response, parentObject, key, value) {
780
927
  return (
781
928
  (parentObject = parseInt(value.slice(2), 16)),
782
929
  (response = getChunk(response, parentObject)),
783
- { $$typeof: REACT_LAZY_TYPE, _payload: response, _init: readChunk }
930
+ createLazyChunkWrapper(response)
784
931
  );
785
932
  case "@":
786
933
  if (2 === value.length) return new Promise(function () {});
@@ -796,7 +943,7 @@ function parseModelString(response, parentObject, key, value) {
796
943
  value,
797
944
  parentObject,
798
945
  key,
799
- createServerReferenceProxy
946
+ loadServerReference
800
947
  )
801
948
  );
802
949
  case "T":
@@ -827,6 +974,8 @@ function parseModelString(response, parentObject, key, value) {
827
974
  (value = value.slice(2)),
828
975
  getOutlinedModel(response, value, parentObject, key, createFormData)
829
976
  );
977
+ case "Z":
978
+ return resolveErrorProd();
830
979
  case "i":
831
980
  return (
832
981
  (value = value.slice(2)),
@@ -858,12 +1007,36 @@ function missingCall() {
858
1007
  'Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.'
859
1008
  );
860
1009
  }
1010
+ function ResponseInstance(
1011
+ bundlerConfig,
1012
+ serverReferenceConfig,
1013
+ moduleLoading,
1014
+ callServer,
1015
+ encodeFormAction,
1016
+ nonce,
1017
+ temporaryReferences
1018
+ ) {
1019
+ var chunks = new Map();
1020
+ this._bundlerConfig = bundlerConfig;
1021
+ this._serverReferenceConfig = serverReferenceConfig;
1022
+ this._moduleLoading = moduleLoading;
1023
+ this._callServer = void 0 !== callServer ? callServer : missingCall;
1024
+ this._encodeFormAction = encodeFormAction;
1025
+ this._nonce = nonce;
1026
+ this._chunks = chunks;
1027
+ this._stringDecoder = new TextDecoder();
1028
+ this._fromJSON = null;
1029
+ this._rowLength = this._rowTag = this._rowID = this._rowState = 0;
1030
+ this._buffer = [];
1031
+ this._tempRefs = temporaryReferences;
1032
+ this._fromJSON = createFromJSONCallback(this);
1033
+ }
861
1034
  function resolveBuffer(response, id, buffer) {
862
1035
  var chunks = response._chunks,
863
1036
  chunk = chunks.get(id);
864
1037
  chunk && "pending" !== chunk.status
865
1038
  ? chunk.reason.enqueueValue(buffer)
866
- : chunks.set(id, new Chunk("fulfilled", buffer, null, response));
1039
+ : chunks.set(id, new ReactPromise("fulfilled", buffer, null, response));
867
1040
  }
868
1041
  function resolveModule(response, id, model) {
869
1042
  var chunks = response._chunks,
@@ -875,7 +1048,7 @@ function resolveModule(response, id, model) {
875
1048
  var blockedChunk = chunk;
876
1049
  blockedChunk.status = "blocked";
877
1050
  } else
878
- (blockedChunk = new Chunk("blocked", null, null, response)),
1051
+ (blockedChunk = new ReactPromise("blocked", null, null, response)),
879
1052
  chunks.set(id, blockedChunk);
880
1053
  model.then(
881
1054
  function () {
@@ -890,7 +1063,7 @@ function resolveModule(response, id, model) {
890
1063
  ? resolveModuleChunk(chunk, clientReference)
891
1064
  : chunks.set(
892
1065
  id,
893
- new Chunk("resolved_module", clientReference, null, response)
1066
+ new ReactPromise("resolved_module", clientReference, null, response)
894
1067
  );
895
1068
  }
896
1069
  function resolveStream(response, id, stream, controller) {
@@ -903,7 +1076,10 @@ function resolveStream(response, id, stream, controller) {
903
1076
  (chunk.value = stream),
904
1077
  (chunk.reason = controller),
905
1078
  null !== response && wakeChunk(response, chunk.value))
906
- : chunks.set(id, new Chunk("fulfilled", stream, controller, response));
1079
+ : chunks.set(
1080
+ id,
1081
+ new ReactPromise("fulfilled", stream, controller, response)
1082
+ );
907
1083
  }
908
1084
  function startReadableStream(response, id, type) {
909
1085
  var controller = null;
@@ -924,7 +1100,7 @@ function startReadableStream(response, id, type) {
924
1100
  },
925
1101
  enqueueModel: function (json) {
926
1102
  if (null === previousBlockedChunk) {
927
- var chunk = new Chunk("resolved_model", json, null, response);
1103
+ var chunk = new ReactPromise("resolved_model", json, null, response);
928
1104
  initializeModelChunk(chunk);
929
1105
  "fulfilled" === chunk.status
930
1106
  ? controller.enqueue(chunk.value)
@@ -939,8 +1115,8 @@ function startReadableStream(response, id, type) {
939
1115
  (previousBlockedChunk = chunk));
940
1116
  } else {
941
1117
  chunk = previousBlockedChunk;
942
- var chunk$51 = createPendingChunk(response);
943
- chunk$51.then(
1118
+ var chunk$52 = createPendingChunk(response);
1119
+ chunk$52.then(
944
1120
  function (v) {
945
1121
  return controller.enqueue(v);
946
1122
  },
@@ -948,10 +1124,10 @@ function startReadableStream(response, id, type) {
948
1124
  return controller.error(e);
949
1125
  }
950
1126
  );
951
- previousBlockedChunk = chunk$51;
1127
+ previousBlockedChunk = chunk$52;
952
1128
  chunk.then(function () {
953
- previousBlockedChunk === chunk$51 && (previousBlockedChunk = null);
954
- resolveModelChunk(chunk$51, json);
1129
+ previousBlockedChunk === chunk$52 && (previousBlockedChunk = null);
1130
+ resolveModelChunk(chunk$52, json);
955
1131
  });
956
1132
  }
957
1133
  },
@@ -1000,7 +1176,7 @@ function startAsyncIterable(response, id, iterator) {
1000
1176
  );
1001
1177
  if (nextReadIndex === buffer.length) {
1002
1178
  if (closed)
1003
- return new Chunk(
1179
+ return new ReactPromise(
1004
1180
  "fulfilled",
1005
1181
  { done: !0, value: void 0 },
1006
1182
  null,
@@ -1019,7 +1195,7 @@ function startAsyncIterable(response, id, iterator) {
1019
1195
  {
1020
1196
  enqueueValue: function (value) {
1021
1197
  if (nextWriteIndex === buffer.length)
1022
- buffer[nextWriteIndex] = new Chunk(
1198
+ buffer[nextWriteIndex] = new ReactPromise(
1023
1199
  "fulfilled",
1024
1200
  { done: !1, value: value },
1025
1201
  null,
@@ -1075,12 +1251,19 @@ function startAsyncIterable(response, id, iterator) {
1075
1251
  }
1076
1252
  );
1077
1253
  }
1254
+ function resolveErrorProd() {
1255
+ var error = Error(
1256
+ "An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error."
1257
+ );
1258
+ error.stack = "Error: " + error.message;
1259
+ return error;
1260
+ }
1078
1261
  function mergeBuffer(buffer, lastChunk) {
1079
1262
  for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)
1080
1263
  byteLength += buffer[i].byteLength;
1081
1264
  byteLength = new Uint8Array(byteLength);
1082
- for (var i$52 = (i = 0); i$52 < l; i$52++) {
1083
- var chunk = buffer[i$52];
1265
+ for (var i$53 = (i = 0); i$53 < l; i$53++) {
1266
+ var chunk = buffer[i$53];
1084
1267
  byteLength.set(chunk, i);
1085
1268
  i += chunk.byteLength;
1086
1269
  }
@@ -1106,7 +1289,7 @@ function resolveTypedArray(
1106
1289
  );
1107
1290
  resolveBuffer(response, id, constructor);
1108
1291
  }
1109
- function processFullRow(response, id, tag, buffer, chunk) {
1292
+ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1110
1293
  switch (tag) {
1111
1294
  case 65:
1112
1295
  resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);
@@ -1158,44 +1341,46 @@ function processFullRow(response, id, tag, buffer, chunk) {
1158
1341
  i++
1159
1342
  )
1160
1343
  row += stringDecoder.decode(buffer[i], decoderOptions);
1161
- row += stringDecoder.decode(chunk);
1344
+ buffer = row += stringDecoder.decode(chunk);
1162
1345
  switch (tag) {
1163
1346
  case 73:
1164
- resolveModule(response, id, row);
1347
+ resolveModule(response, id, buffer);
1165
1348
  break;
1166
1349
  case 72:
1167
- id = row[0];
1168
- row = row.slice(1);
1169
- response = JSON.parse(row, response._fromJSON);
1170
- row = ReactDOMSharedInternals.d;
1350
+ id = buffer[0];
1351
+ buffer = buffer.slice(1);
1352
+ response = JSON.parse(buffer, response._fromJSON);
1353
+ buffer = ReactDOMSharedInternals.d;
1171
1354
  switch (id) {
1172
1355
  case "D":
1173
- row.D(response);
1356
+ buffer.D(response);
1174
1357
  break;
1175
1358
  case "C":
1176
1359
  "string" === typeof response
1177
- ? row.C(response)
1178
- : row.C(response[0], response[1]);
1360
+ ? buffer.C(response)
1361
+ : buffer.C(response[0], response[1]);
1179
1362
  break;
1180
1363
  case "L":
1181
1364
  id = response[0];
1182
1365
  tag = response[1];
1183
- 3 === response.length ? row.L(id, tag, response[2]) : row.L(id, tag);
1366
+ 3 === response.length
1367
+ ? buffer.L(id, tag, response[2])
1368
+ : buffer.L(id, tag);
1184
1369
  break;
1185
1370
  case "m":
1186
1371
  "string" === typeof response
1187
- ? row.m(response)
1188
- : row.m(response[0], response[1]);
1372
+ ? buffer.m(response)
1373
+ : buffer.m(response[0], response[1]);
1189
1374
  break;
1190
1375
  case "X":
1191
1376
  "string" === typeof response
1192
- ? row.X(response)
1193
- : row.X(response[0], response[1]);
1377
+ ? buffer.X(response)
1378
+ : buffer.X(response[0], response[1]);
1194
1379
  break;
1195
1380
  case "S":
1196
1381
  "string" === typeof response
1197
- ? row.S(response)
1198
- : row.S(
1382
+ ? buffer.S(response)
1383
+ : buffer.S(
1199
1384
  response[0],
1200
1385
  0 === response[1] ? void 0 : response[1],
1201
1386
  3 === response.length ? response[2] : void 0
@@ -1203,27 +1388,24 @@ function processFullRow(response, id, tag, buffer, chunk) {
1203
1388
  break;
1204
1389
  case "M":
1205
1390
  "string" === typeof response
1206
- ? row.M(response)
1207
- : row.M(response[0], response[1]);
1391
+ ? buffer.M(response)
1392
+ : buffer.M(response[0], response[1]);
1208
1393
  }
1209
1394
  break;
1210
1395
  case 69:
1211
- tag = JSON.parse(row).digest;
1212
- row = Error(
1213
- "An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error."
1214
- );
1215
- row.stack = "Error: " + row.message;
1216
- row.digest = tag;
1396
+ tag = JSON.parse(buffer);
1397
+ buffer = resolveErrorProd();
1398
+ buffer.digest = tag.digest;
1217
1399
  tag = response._chunks;
1218
- (buffer = tag.get(id))
1219
- ? triggerErrorOnChunk(buffer, row)
1220
- : tag.set(id, new Chunk("rejected", null, row, response));
1400
+ (chunk = tag.get(id))
1401
+ ? triggerErrorOnChunk(chunk, buffer)
1402
+ : tag.set(id, new ReactPromise("rejected", null, buffer, response));
1221
1403
  break;
1222
1404
  case 84:
1223
1405
  tag = response._chunks;
1224
- (buffer = tag.get(id)) && "pending" !== buffer.status
1225
- ? buffer.reason.enqueueValue(row)
1226
- : tag.set(id, new Chunk("fulfilled", row, null, response));
1406
+ (chunk = tag.get(id)) && "pending" !== chunk.status
1407
+ ? chunk.reason.enqueueValue(buffer)
1408
+ : tag.set(id, new ReactPromise("fulfilled", buffer, null, response));
1227
1409
  break;
1228
1410
  case 68:
1229
1411
  case 87:
@@ -1245,59 +1427,70 @@ function processFullRow(response, id, tag, buffer, chunk) {
1245
1427
  case 67:
1246
1428
  (response = response._chunks.get(id)) &&
1247
1429
  "fulfilled" === response.status &&
1248
- response.reason.close("" === row ? '"$undefined"' : row);
1430
+ response.reason.close("" === buffer ? '"$undefined"' : buffer);
1249
1431
  break;
1250
1432
  default:
1251
1433
  (tag = response._chunks),
1252
- (buffer = tag.get(id))
1253
- ? resolveModelChunk(buffer, row)
1254
- : tag.set(id, new Chunk("resolved_model", row, null, response));
1434
+ (chunk = tag.get(id))
1435
+ ? resolveModelChunk(chunk, buffer)
1436
+ : tag.set(
1437
+ id,
1438
+ new ReactPromise("resolved_model", buffer, null, response)
1439
+ );
1255
1440
  }
1256
1441
  }
1257
1442
  function createFromJSONCallback(response) {
1258
1443
  return function (key, value) {
1259
- return "string" === typeof value
1260
- ? parseModelString(response, this, key, value)
1261
- : "object" === typeof value && null !== value
1262
- ? ((key =
1263
- value[0] === REACT_ELEMENT_TYPE
1264
- ? {
1265
- $$typeof: REACT_ELEMENT_TYPE,
1266
- type: value[1],
1267
- key: value[2],
1268
- ref: null,
1269
- props: value[3]
1270
- }
1271
- : value),
1272
- key)
1273
- : value;
1444
+ if ("string" === typeof value)
1445
+ return parseModelString(response, this, key, value);
1446
+ if ("object" === typeof value && null !== value) {
1447
+ if (value[0] === REACT_ELEMENT_TYPE) {
1448
+ if (
1449
+ ((key = {
1450
+ $$typeof: REACT_ELEMENT_TYPE,
1451
+ type: value[1],
1452
+ key: value[2],
1453
+ ref: null,
1454
+ props: value[3]
1455
+ }),
1456
+ null !== initializingHandler)
1457
+ )
1458
+ if (
1459
+ ((value = initializingHandler),
1460
+ (initializingHandler = value.parent),
1461
+ value.errored)
1462
+ )
1463
+ (key = new ReactPromise("rejected", null, value.value, response)),
1464
+ (key = createLazyChunkWrapper(key));
1465
+ else if (0 < value.deps) {
1466
+ var blockedChunk = new ReactPromise(
1467
+ "blocked",
1468
+ null,
1469
+ null,
1470
+ response
1471
+ );
1472
+ value.value = key;
1473
+ value.chunk = blockedChunk;
1474
+ key = createLazyChunkWrapper(blockedChunk);
1475
+ }
1476
+ } else key = value;
1477
+ return key;
1478
+ }
1479
+ return value;
1274
1480
  };
1275
1481
  }
1276
1482
  function createResponseFromOptions(options) {
1277
- var callServer = options && options.callServer ? options.callServer : void 0;
1278
- options =
1483
+ return new ResponseInstance(
1484
+ null,
1485
+ null,
1486
+ null,
1487
+ options && options.callServer ? options.callServer : void 0,
1488
+ void 0,
1489
+ void 0,
1279
1490
  options && options.temporaryReferences
1280
1491
  ? options.temporaryReferences
1281
- : void 0;
1282
- var chunks = new Map();
1283
- callServer = {
1284
- _bundlerConfig: null,
1285
- _moduleLoading: null,
1286
- _callServer: void 0 !== callServer ? callServer : missingCall,
1287
- _encodeFormAction: void 0,
1288
- _nonce: void 0,
1289
- _chunks: chunks,
1290
- _stringDecoder: new TextDecoder(),
1291
- _fromJSON: null,
1292
- _rowState: 0,
1293
- _rowID: 0,
1294
- _rowTag: 0,
1295
- _rowLength: 0,
1296
- _buffer: [],
1297
- _tempRefs: options
1298
- };
1299
- callServer._fromJSON = createFromJSONCallback(callServer);
1300
- return callServer;
1492
+ : void 0
1493
+ );
1301
1494
  }
1302
1495
  function startReadingFromStream(response, stream) {
1303
1496
  function progress(_ref) {
@@ -1342,10 +1535,11 @@ function startReadingFromStream(response, stream) {
1342
1535
  86 === rowState
1343
1536
  ? ((rowTag = rowState), (rowState = 2), i++)
1344
1537
  : (64 < rowState && 91 > rowState) ||
1345
- 114 === rowState ||
1346
- 120 === rowState
1347
- ? ((rowTag = rowState), (rowState = 3), i++)
1348
- : ((rowTag = 0), (rowState = 3));
1538
+ 35 === rowState ||
1539
+ 114 === rowState ||
1540
+ 120 === rowState
1541
+ ? ((rowTag = rowState), (rowState = 3), i++)
1542
+ : ((rowTag = 0), (rowState = 3));
1349
1543
  continue;
1350
1544
  case 2:
1351
1545
  lastIdx = value[i++];
@@ -1364,7 +1558,7 @@ function startReadingFromStream(response, stream) {
1364
1558
  var offset = value.byteOffset + i;
1365
1559
  if (-1 < lastIdx)
1366
1560
  (rowLength = new Uint8Array(value.buffer, offset, lastIdx - i)),
1367
- processFullRow(response, _ref, rowTag, buffer, rowLength),
1561
+ processFullBinaryRow(response, _ref, rowTag, buffer, rowLength),
1368
1562
  (i = lastIdx),
1369
1563
  3 === rowState && i++,
1370
1564
  (rowLength = _ref = rowTag = rowState = 0),
@@ -1407,19 +1601,19 @@ exports.createFromReadableStream = function (stream, options) {
1407
1601
  return getChunk(options, 0);
1408
1602
  };
1409
1603
  exports.createServerReference = function (id, callServer) {
1410
- function proxy() {
1604
+ function action() {
1411
1605
  var args = Array.prototype.slice.call(arguments);
1412
1606
  return callServer(id, args);
1413
1607
  }
1414
- registerServerReference(proxy, { id: id, bound: null });
1415
- return proxy;
1608
+ registerServerReference(action, { id: id, bound: null });
1609
+ return action;
1416
1610
  };
1417
1611
  exports.createTemporaryReferenceSet = function () {
1418
1612
  return new Map();
1419
1613
  };
1420
1614
  exports.encodeReply = function (value, options) {
1421
1615
  return new Promise(function (resolve, reject) {
1422
- processReply(
1616
+ var abort = processReply(
1423
1617
  value,
1424
1618
  "",
1425
1619
  options && options.temporaryReferences
@@ -1428,5 +1622,16 @@ exports.encodeReply = function (value, options) {
1428
1622
  resolve,
1429
1623
  reject
1430
1624
  );
1625
+ if (options && options.signal) {
1626
+ var signal = options.signal;
1627
+ if (signal.aborted) abort(signal.reason);
1628
+ else {
1629
+ var listener = function () {
1630
+ abort(signal.reason);
1631
+ signal.removeEventListener("abort", listener);
1632
+ };
1633
+ signal.addEventListener("abort", listener);
1634
+ }
1635
+ }
1431
1636
  });
1432
1637
  };