react-server-dom-webpack 19.0.0-rc.0 → 19.0.0-rc.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 (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);
@@ -70,8 +90,22 @@ function preloadModule(metadata) {
70
90
  return requireAsyncModule(metadata[0]);
71
91
  })
72
92
  : 0 < promises.length
73
- ? Promise.all(promises)
74
- : null;
93
+ ? Promise.all(promises)
94
+ : null;
95
+ }
96
+ function requireModule(metadata) {
97
+ var moduleExports = __webpack_require__(metadata[0]);
98
+ if (4 === metadata.length && "function" === typeof moduleExports.then)
99
+ if ("fulfilled" === moduleExports.status)
100
+ moduleExports = moduleExports.value;
101
+ else throw moduleExports.reason;
102
+ return "*" === metadata[2]
103
+ ? moduleExports
104
+ : "" === metadata[2]
105
+ ? moduleExports.__esModule
106
+ ? moduleExports.default
107
+ : moduleExports
108
+ : moduleExports[metadata[2]];
75
109
  }
76
110
  function prepareDestinationWithChunks(moduleLoading, chunks, nonce$jscomp$0) {
77
111
  if (null !== moduleLoading)
@@ -117,10 +151,10 @@ function serializeNumber(number) {
117
151
  ? "$-0"
118
152
  : number
119
153
  : Infinity === number
120
- ? "$Infinity"
121
- : -Infinity === number
122
- ? "$-Infinity"
123
- : "$NaN";
154
+ ? "$Infinity"
155
+ : -Infinity === number
156
+ ? "$-Infinity"
157
+ : "$NaN";
124
158
  }
125
159
  function processReply(
126
160
  root,
@@ -469,12 +503,17 @@ function processReply(
469
503
  pendingParts = 0,
470
504
  formData = null,
471
505
  writtenObjects = new WeakMap(),
472
- modelRoot = root;
473
- root = serializeModel(root, 0);
506
+ modelRoot = root,
507
+ json = serializeModel(root, 0);
474
508
  null === formData
475
- ? resolve(root)
476
- : (formData.set(formFieldPrefix + "0", root),
509
+ ? resolve(json)
510
+ : (formData.set(formFieldPrefix + "0", json),
477
511
  0 === pendingParts && resolve(formData));
512
+ return function () {
513
+ 0 < pendingParts &&
514
+ ((pendingParts = 0),
515
+ null === formData ? resolve(json) : resolve(formData));
516
+ };
478
517
  }
479
518
  var boundCache = new WeakMap();
480
519
  function encodeFormData(reference) {
@@ -613,22 +652,38 @@ function bind() {
613
652
  }
614
653
  return newFn;
615
654
  }
655
+ function createBoundServerReference(metaData, callServer, encodeFormAction) {
656
+ function action() {
657
+ var args = Array.prototype.slice.call(arguments);
658
+ return bound
659
+ ? "fulfilled" === bound.status
660
+ ? callServer(id, bound.value.concat(args))
661
+ : Promise.resolve(bound).then(function (boundArgs) {
662
+ return callServer(id, boundArgs.concat(args));
663
+ })
664
+ : callServer(id, args);
665
+ }
666
+ var id = metaData.id,
667
+ bound = metaData.bound;
668
+ registerServerReference(action, { id: id, bound: bound }, encodeFormAction);
669
+ return action;
670
+ }
616
671
  function createServerReference$1(id, callServer, encodeFormAction) {
617
- function proxy() {
672
+ function action() {
618
673
  var args = Array.prototype.slice.call(arguments);
619
674
  return callServer(id, args);
620
675
  }
621
- registerServerReference(proxy, { id: id, bound: null }, encodeFormAction);
622
- return proxy;
676
+ registerServerReference(action, { id: id, bound: null }, encodeFormAction);
677
+ return action;
623
678
  }
624
- function Chunk(status, value, reason, response) {
679
+ function ReactPromise(status, value, reason, response) {
625
680
  this.status = status;
626
681
  this.value = value;
627
682
  this.reason = reason;
628
683
  this._response = response;
629
684
  }
630
- Chunk.prototype = Object.create(Promise.prototype);
631
- Chunk.prototype.then = function (resolve, reject) {
685
+ ReactPromise.prototype = Object.create(Promise.prototype);
686
+ ReactPromise.prototype.then = function (resolve, reject) {
632
687
  switch (this.status) {
633
688
  case "resolved_model":
634
689
  initializeModelChunk(this);
@@ -642,7 +697,6 @@ Chunk.prototype.then = function (resolve, reject) {
642
697
  break;
643
698
  case "pending":
644
699
  case "blocked":
645
- case "cyclic":
646
700
  resolve &&
647
701
  (null === this.value && (this.value = []), this.value.push(resolve));
648
702
  reject &&
@@ -665,14 +719,13 @@ function readChunk(chunk) {
665
719
  return chunk.value;
666
720
  case "pending":
667
721
  case "blocked":
668
- case "cyclic":
669
722
  throw chunk;
670
723
  default:
671
724
  throw chunk.reason;
672
725
  }
673
726
  }
674
727
  function createPendingChunk(response) {
675
- return new Chunk("pending", null, null, response);
728
+ return new ReactPromise("pending", null, null, response);
676
729
  }
677
730
  function wakeChunk(listeners, value) {
678
731
  for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
@@ -684,7 +737,6 @@ function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {
684
737
  break;
685
738
  case "pending":
686
739
  case "blocked":
687
- case "cyclic":
688
740
  if (chunk.value)
689
741
  for (var i = 0; i < resolveListeners.length; i++)
690
742
  chunk.value.push(resolveListeners[i]);
@@ -714,7 +766,7 @@ function triggerErrorOnChunk(chunk, error) {
714
766
  }
715
767
  }
716
768
  function createResolvedIteratorResultChunk(response, value, done) {
717
- return new Chunk(
769
+ return new ReactPromise(
718
770
  "resolved_model",
719
771
  (done ? '{"done":true,"value":' : '{"done":false,"value":') + value + "}",
720
772
  null,
@@ -750,55 +802,42 @@ function resolveModuleChunk(chunk, value) {
750
802
  wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));
751
803
  }
752
804
  }
753
- var initializingChunk = null,
754
- initializingChunkBlockedModel = null;
805
+ var initializingHandler = null;
755
806
  function initializeModelChunk(chunk) {
756
- var prevChunk = initializingChunk,
757
- prevBlocked = initializingChunkBlockedModel;
758
- initializingChunk = chunk;
759
- initializingChunkBlockedModel = null;
807
+ var prevHandler = initializingHandler;
808
+ initializingHandler = null;
760
809
  var resolvedModel = chunk.value;
761
- chunk.status = "cyclic";
810
+ chunk.status = "blocked";
762
811
  chunk.value = null;
763
812
  chunk.reason = null;
764
813
  try {
765
- var value = JSON.parse(resolvedModel, chunk._response._fromJSON);
766
- if (
767
- null !== initializingChunkBlockedModel &&
768
- 0 < initializingChunkBlockedModel.deps
769
- )
770
- (initializingChunkBlockedModel.value = value), (chunk.status = "blocked");
771
- else {
772
- var resolveListeners = chunk.value;
773
- chunk.status = "fulfilled";
774
- chunk.value = value;
775
- null !== resolveListeners && wakeChunk(resolveListeners, value);
814
+ var value = JSON.parse(resolvedModel, chunk._response._fromJSON),
815
+ resolveListeners = chunk.value;
816
+ null !== resolveListeners &&
817
+ ((chunk.value = null),
818
+ (chunk.reason = null),
819
+ wakeChunk(resolveListeners, value));
820
+ if (null !== initializingHandler) {
821
+ if (initializingHandler.errored) throw initializingHandler.value;
822
+ if (0 < initializingHandler.deps) {
823
+ initializingHandler.value = value;
824
+ initializingHandler.chunk = chunk;
825
+ return;
826
+ }
776
827
  }
828
+ chunk.status = "fulfilled";
829
+ chunk.value = value;
777
830
  } catch (error) {
778
831
  (chunk.status = "rejected"), (chunk.reason = error);
779
832
  } finally {
780
- (initializingChunk = prevChunk),
781
- (initializingChunkBlockedModel = prevBlocked);
833
+ initializingHandler = prevHandler;
782
834
  }
783
835
  }
784
836
  function initializeModuleChunk(chunk) {
785
837
  try {
786
- var metadata = chunk.value,
787
- moduleExports = __webpack_require__(metadata[0]);
788
- if (4 === metadata.length && "function" === typeof moduleExports.then)
789
- if ("fulfilled" === moduleExports.status)
790
- moduleExports = moduleExports.value;
791
- else throw moduleExports.reason;
792
- var JSCompiler_inline_result =
793
- "*" === metadata[2]
794
- ? moduleExports
795
- : "" === metadata[2]
796
- ? moduleExports.__esModule
797
- ? moduleExports.default
798
- : moduleExports
799
- : moduleExports[metadata[2]];
838
+ var value = requireModule(chunk.value);
800
839
  chunk.status = "fulfilled";
801
- chunk.value = JSCompiler_inline_result;
840
+ chunk.value = value;
802
841
  } catch (error) {
803
842
  (chunk.status = "rejected"), (chunk.reason = error);
804
843
  }
@@ -808,62 +847,151 @@ function reportGlobalError(response, error) {
808
847
  "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
809
848
  });
810
849
  }
850
+ function createLazyChunkWrapper(chunk) {
851
+ return { $$typeof: REACT_LAZY_TYPE, _payload: chunk, _init: readChunk };
852
+ }
811
853
  function getChunk(response, id) {
812
854
  var chunks = response._chunks,
813
855
  chunk = chunks.get(id);
814
856
  chunk || ((chunk = createPendingChunk(response)), chunks.set(id, chunk));
815
857
  return chunk;
816
858
  }
817
- function createModelResolver(
818
- chunk,
859
+ function waitForReference(
860
+ referencedChunk,
819
861
  parentObject,
820
862
  key,
821
- cyclic,
822
863
  response,
823
864
  map,
824
865
  path
825
866
  ) {
826
- if (initializingChunkBlockedModel) {
827
- var blocked = initializingChunkBlockedModel;
828
- cyclic || blocked.deps++;
867
+ function fulfill(value) {
868
+ for (var i = 1; i < path.length; i++) {
869
+ for (; value.$$typeof === REACT_LAZY_TYPE; )
870
+ if (((value = value._payload), value === handler.chunk))
871
+ value = handler.value;
872
+ else if ("fulfilled" === value.status) value = value.value;
873
+ else {
874
+ path.splice(0, i - 1);
875
+ value.then(fulfill, reject);
876
+ return;
877
+ }
878
+ value = value[path[i]];
879
+ }
880
+ i = map(response, value, parentObject, key);
881
+ parentObject[key] = i;
882
+ "" === key && null === handler.value && (handler.value = i);
883
+ if (
884
+ parentObject[0] === REACT_ELEMENT_TYPE &&
885
+ "object" === typeof handler.value &&
886
+ null !== handler.value &&
887
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
888
+ )
889
+ switch (((value = handler.value), key)) {
890
+ case "3":
891
+ value.props = i;
892
+ }
893
+ handler.deps--;
894
+ 0 === handler.deps &&
895
+ ((i = handler.chunk),
896
+ null !== i &&
897
+ "blocked" === i.status &&
898
+ ((value = i.value),
899
+ (i.status = "fulfilled"),
900
+ (i.value = handler.value),
901
+ null !== value && wakeChunk(value, handler.value)));
902
+ }
903
+ function reject(error) {
904
+ if (!handler.errored) {
905
+ handler.errored = !0;
906
+ handler.value = error;
907
+ var chunk = handler.chunk;
908
+ null !== chunk &&
909
+ "blocked" === chunk.status &&
910
+ triggerErrorOnChunk(chunk, error);
911
+ }
912
+ }
913
+ if (initializingHandler) {
914
+ var handler = initializingHandler;
915
+ handler.deps++;
829
916
  } else
830
- blocked = initializingChunkBlockedModel = {
831
- deps: cyclic ? 0 : 1,
832
- value: null
917
+ handler = initializingHandler = {
918
+ parent: null,
919
+ chunk: null,
920
+ value: null,
921
+ deps: 1,
922
+ errored: !1
833
923
  };
834
- return function (value) {
835
- for (var i = 1; i < path.length; i++) value = value[path[i]];
836
- parentObject[key] = map(response, value);
837
- "" === key && null === blocked.value && (blocked.value = parentObject[key]);
838
- blocked.deps--;
839
- 0 === blocked.deps &&
840
- "blocked" === chunk.status &&
841
- ((value = chunk.value),
842
- (chunk.status = "fulfilled"),
843
- (chunk.value = blocked.value),
844
- null !== value && wakeChunk(value, blocked.value));
845
- };
924
+ referencedChunk.then(fulfill, reject);
925
+ return null;
846
926
  }
847
- function createModelReject(chunk) {
848
- return function (error) {
849
- return triggerErrorOnChunk(chunk, error);
850
- };
851
- }
852
- function createServerReferenceProxy(response, metaData) {
853
- function proxy() {
854
- var args = Array.prototype.slice.call(arguments),
855
- p = metaData.bound;
856
- return p
857
- ? "fulfilled" === p.status
858
- ? callServer(metaData.id, p.value.concat(args))
859
- : Promise.resolve(p).then(function (bound) {
860
- return callServer(metaData.id, bound.concat(args));
861
- })
862
- : callServer(metaData.id, args);
863
- }
864
- var callServer = response._callServer;
865
- registerServerReference(proxy, metaData, response._encodeFormAction);
866
- return proxy;
927
+ function loadServerReference(response, metaData, parentObject, key) {
928
+ if (!response._serverReferenceConfig)
929
+ return createBoundServerReference(
930
+ metaData,
931
+ response._callServer,
932
+ response._encodeFormAction
933
+ );
934
+ var serverReference = resolveServerReference(
935
+ response._serverReferenceConfig,
936
+ metaData.id
937
+ );
938
+ if ((response = preloadModule(serverReference)))
939
+ metaData.bound && (response = Promise.all([response, metaData.bound]));
940
+ else if (metaData.bound) response = Promise.resolve(metaData.bound);
941
+ else return requireModule(serverReference);
942
+ if (initializingHandler) {
943
+ var handler = initializingHandler;
944
+ handler.deps++;
945
+ } else
946
+ handler = initializingHandler = {
947
+ parent: null,
948
+ chunk: null,
949
+ value: null,
950
+ deps: 1,
951
+ errored: !1
952
+ };
953
+ response.then(
954
+ function () {
955
+ var resolvedValue = requireModule(serverReference);
956
+ if (metaData.bound) {
957
+ var boundArgs = metaData.bound.value.slice(0);
958
+ boundArgs.unshift(null);
959
+ resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs);
960
+ }
961
+ parentObject[key] = resolvedValue;
962
+ "" === key && null === handler.value && (handler.value = resolvedValue);
963
+ if (
964
+ parentObject[0] === REACT_ELEMENT_TYPE &&
965
+ "object" === typeof handler.value &&
966
+ null !== handler.value &&
967
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
968
+ )
969
+ switch (((boundArgs = handler.value), key)) {
970
+ case "3":
971
+ boundArgs.props = resolvedValue;
972
+ }
973
+ handler.deps--;
974
+ 0 === handler.deps &&
975
+ ((resolvedValue = handler.chunk),
976
+ null !== resolvedValue &&
977
+ "blocked" === resolvedValue.status &&
978
+ ((boundArgs = resolvedValue.value),
979
+ (resolvedValue.status = "fulfilled"),
980
+ (resolvedValue.value = handler.value),
981
+ null !== boundArgs && wakeChunk(boundArgs, handler.value)));
982
+ },
983
+ function (error) {
984
+ if (!handler.errored) {
985
+ handler.errored = !0;
986
+ handler.value = error;
987
+ var chunk = handler.chunk;
988
+ null !== chunk &&
989
+ "blocked" === chunk.status &&
990
+ triggerErrorOnChunk(chunk, error);
991
+ }
992
+ }
993
+ );
994
+ return null;
867
995
  }
868
996
  function getOutlinedModel(response, reference, parentObject, key, map) {
869
997
  reference = reference.split(":");
@@ -878,29 +1006,40 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
878
1006
  }
879
1007
  switch (id.status) {
880
1008
  case "fulfilled":
881
- parentObject = id.value;
882
- for (key = 1; key < reference.length; key++)
883
- parentObject = parentObject[reference[key]];
884
- return map(response, parentObject);
1009
+ var value = id.value;
1010
+ for (id = 1; id < reference.length; id++) {
1011
+ for (; value.$$typeof === REACT_LAZY_TYPE; )
1012
+ if (((value = value._payload), "fulfilled" === value.status))
1013
+ value = value.value;
1014
+ else
1015
+ return waitForReference(
1016
+ value,
1017
+ parentObject,
1018
+ key,
1019
+ response,
1020
+ map,
1021
+ reference.slice(id - 1)
1022
+ );
1023
+ value = value[reference[id]];
1024
+ }
1025
+ return map(response, value, parentObject, key);
885
1026
  case "pending":
886
1027
  case "blocked":
887
- case "cyclic":
888
- var parentChunk = initializingChunk;
889
- id.then(
890
- createModelResolver(
891
- parentChunk,
892
- parentObject,
893
- key,
894
- "cyclic" === id.status,
895
- response,
896
- map,
897
- reference
898
- ),
899
- createModelReject(parentChunk)
900
- );
901
- return null;
1028
+ return waitForReference(id, parentObject, key, response, map, reference);
902
1029
  default:
903
- throw id.reason;
1030
+ return (
1031
+ initializingHandler
1032
+ ? ((initializingHandler.errored = !0),
1033
+ (initializingHandler.value = id.reason))
1034
+ : (initializingHandler = {
1035
+ parent: null,
1036
+ chunk: null,
1037
+ value: id.reason,
1038
+ deps: 0,
1039
+ errored: !0
1040
+ }),
1041
+ null
1042
+ );
904
1043
  }
905
1044
  }
906
1045
  function createMap(response, model) {
@@ -926,7 +1065,19 @@ function createModel(response, model) {
926
1065
  }
927
1066
  function parseModelString(response, parentObject, key, value) {
928
1067
  if ("$" === value[0]) {
929
- if ("$" === value) return REACT_ELEMENT_TYPE;
1068
+ if ("$" === value)
1069
+ return (
1070
+ null !== initializingHandler &&
1071
+ "0" === key &&
1072
+ (initializingHandler = {
1073
+ parent: initializingHandler,
1074
+ chunk: null,
1075
+ value: null,
1076
+ deps: 0,
1077
+ errored: !1
1078
+ }),
1079
+ REACT_ELEMENT_TYPE
1080
+ );
930
1081
  switch (value[1]) {
931
1082
  case "$":
932
1083
  return value.slice(1);
@@ -934,7 +1085,7 @@ function parseModelString(response, parentObject, key, value) {
934
1085
  return (
935
1086
  (parentObject = parseInt(value.slice(2), 16)),
936
1087
  (response = getChunk(response, parentObject)),
937
- { $$typeof: REACT_LAZY_TYPE, _payload: response, _init: readChunk }
1088
+ createLazyChunkWrapper(response)
938
1089
  );
939
1090
  case "@":
940
1091
  if (2 === value.length) return new Promise(function () {});
@@ -950,7 +1101,7 @@ function parseModelString(response, parentObject, key, value) {
950
1101
  value,
951
1102
  parentObject,
952
1103
  key,
953
- createServerReferenceProxy
1104
+ loadServerReference
954
1105
  )
955
1106
  );
956
1107
  case "T":
@@ -981,6 +1132,8 @@ function parseModelString(response, parentObject, key, value) {
981
1132
  (value = value.slice(2)),
982
1133
  getOutlinedModel(response, value, parentObject, key, createFormData)
983
1134
  );
1135
+ case "Z":
1136
+ return resolveErrorProd();
984
1137
  case "i":
985
1138
  return (
986
1139
  (value = value.slice(2)),
@@ -1012,12 +1165,36 @@ function missingCall() {
1012
1165
  'Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.'
1013
1166
  );
1014
1167
  }
1168
+ function ResponseInstance(
1169
+ bundlerConfig,
1170
+ serverReferenceConfig,
1171
+ moduleLoading,
1172
+ callServer,
1173
+ encodeFormAction,
1174
+ nonce,
1175
+ temporaryReferences
1176
+ ) {
1177
+ var chunks = new Map();
1178
+ this._bundlerConfig = bundlerConfig;
1179
+ this._serverReferenceConfig = serverReferenceConfig;
1180
+ this._moduleLoading = moduleLoading;
1181
+ this._callServer = void 0 !== callServer ? callServer : missingCall;
1182
+ this._encodeFormAction = encodeFormAction;
1183
+ this._nonce = nonce;
1184
+ this._chunks = chunks;
1185
+ this._stringDecoder = new TextDecoder();
1186
+ this._fromJSON = null;
1187
+ this._rowLength = this._rowTag = this._rowID = this._rowState = 0;
1188
+ this._buffer = [];
1189
+ this._tempRefs = temporaryReferences;
1190
+ this._fromJSON = createFromJSONCallback(this);
1191
+ }
1015
1192
  function resolveBuffer(response, id, buffer) {
1016
1193
  var chunks = response._chunks,
1017
1194
  chunk = chunks.get(id);
1018
1195
  chunk && "pending" !== chunk.status
1019
1196
  ? chunk.reason.enqueueValue(buffer)
1020
- : chunks.set(id, new Chunk("fulfilled", buffer, null, response));
1197
+ : chunks.set(id, new ReactPromise("fulfilled", buffer, null, response));
1021
1198
  }
1022
1199
  function resolveModule(response, id, model) {
1023
1200
  var chunks = response._chunks,
@@ -1034,7 +1211,7 @@ function resolveModule(response, id, model) {
1034
1211
  var blockedChunk = chunk;
1035
1212
  blockedChunk.status = "blocked";
1036
1213
  } else
1037
- (blockedChunk = new Chunk("blocked", null, null, response)),
1214
+ (blockedChunk = new ReactPromise("blocked", null, null, response)),
1038
1215
  chunks.set(id, blockedChunk);
1039
1216
  model.then(
1040
1217
  function () {
@@ -1049,7 +1226,7 @@ function resolveModule(response, id, model) {
1049
1226
  ? resolveModuleChunk(chunk, clientReference)
1050
1227
  : chunks.set(
1051
1228
  id,
1052
- new Chunk("resolved_module", clientReference, null, response)
1229
+ new ReactPromise("resolved_module", clientReference, null, response)
1053
1230
  );
1054
1231
  }
1055
1232
  function resolveStream(response, id, stream, controller) {
@@ -1062,7 +1239,10 @@ function resolveStream(response, id, stream, controller) {
1062
1239
  (chunk.value = stream),
1063
1240
  (chunk.reason = controller),
1064
1241
  null !== response && wakeChunk(response, chunk.value))
1065
- : chunks.set(id, new Chunk("fulfilled", stream, controller, response));
1242
+ : chunks.set(
1243
+ id,
1244
+ new ReactPromise("fulfilled", stream, controller, response)
1245
+ );
1066
1246
  }
1067
1247
  function startReadableStream(response, id, type) {
1068
1248
  var controller = null;
@@ -1083,7 +1263,7 @@ function startReadableStream(response, id, type) {
1083
1263
  },
1084
1264
  enqueueModel: function (json) {
1085
1265
  if (null === previousBlockedChunk) {
1086
- var chunk = new Chunk("resolved_model", json, null, response);
1266
+ var chunk = new ReactPromise("resolved_model", json, null, response);
1087
1267
  initializeModelChunk(chunk);
1088
1268
  "fulfilled" === chunk.status
1089
1269
  ? controller.enqueue(chunk.value)
@@ -1098,8 +1278,8 @@ function startReadableStream(response, id, type) {
1098
1278
  (previousBlockedChunk = chunk));
1099
1279
  } else {
1100
1280
  chunk = previousBlockedChunk;
1101
- var chunk$51 = createPendingChunk(response);
1102
- chunk$51.then(
1281
+ var chunk$52 = createPendingChunk(response);
1282
+ chunk$52.then(
1103
1283
  function (v) {
1104
1284
  return controller.enqueue(v);
1105
1285
  },
@@ -1107,10 +1287,10 @@ function startReadableStream(response, id, type) {
1107
1287
  return controller.error(e);
1108
1288
  }
1109
1289
  );
1110
- previousBlockedChunk = chunk$51;
1290
+ previousBlockedChunk = chunk$52;
1111
1291
  chunk.then(function () {
1112
- previousBlockedChunk === chunk$51 && (previousBlockedChunk = null);
1113
- resolveModelChunk(chunk$51, json);
1292
+ previousBlockedChunk === chunk$52 && (previousBlockedChunk = null);
1293
+ resolveModelChunk(chunk$52, json);
1114
1294
  });
1115
1295
  }
1116
1296
  },
@@ -1159,7 +1339,7 @@ function startAsyncIterable(response, id, iterator) {
1159
1339
  );
1160
1340
  if (nextReadIndex === buffer.length) {
1161
1341
  if (closed)
1162
- return new Chunk(
1342
+ return new ReactPromise(
1163
1343
  "fulfilled",
1164
1344
  { done: !0, value: void 0 },
1165
1345
  null,
@@ -1178,7 +1358,7 @@ function startAsyncIterable(response, id, iterator) {
1178
1358
  {
1179
1359
  enqueueValue: function (value) {
1180
1360
  if (nextWriteIndex === buffer.length)
1181
- buffer[nextWriteIndex] = new Chunk(
1361
+ buffer[nextWriteIndex] = new ReactPromise(
1182
1362
  "fulfilled",
1183
1363
  { done: !1, value: value },
1184
1364
  null,
@@ -1234,12 +1414,19 @@ function startAsyncIterable(response, id, iterator) {
1234
1414
  }
1235
1415
  );
1236
1416
  }
1417
+ function resolveErrorProd() {
1418
+ var error = Error(
1419
+ "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."
1420
+ );
1421
+ error.stack = "Error: " + error.message;
1422
+ return error;
1423
+ }
1237
1424
  function mergeBuffer(buffer, lastChunk) {
1238
1425
  for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)
1239
1426
  byteLength += buffer[i].byteLength;
1240
1427
  byteLength = new Uint8Array(byteLength);
1241
- for (var i$52 = (i = 0); i$52 < l; i$52++) {
1242
- var chunk = buffer[i$52];
1428
+ for (var i$53 = (i = 0); i$53 < l; i$53++) {
1429
+ var chunk = buffer[i$53];
1243
1430
  byteLength.set(chunk, i);
1244
1431
  i += chunk.byteLength;
1245
1432
  }
@@ -1265,7 +1452,7 @@ function resolveTypedArray(
1265
1452
  );
1266
1453
  resolveBuffer(response, id, constructor);
1267
1454
  }
1268
- function processFullRow(response, id, tag, buffer, chunk) {
1455
+ function processFullBinaryRow(response, id, tag, buffer, chunk) {
1269
1456
  switch (tag) {
1270
1457
  case 65:
1271
1458
  resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);
@@ -1317,44 +1504,46 @@ function processFullRow(response, id, tag, buffer, chunk) {
1317
1504
  i++
1318
1505
  )
1319
1506
  row += stringDecoder.decode(buffer[i], decoderOptions);
1320
- row += stringDecoder.decode(chunk);
1507
+ buffer = row += stringDecoder.decode(chunk);
1321
1508
  switch (tag) {
1322
1509
  case 73:
1323
- resolveModule(response, id, row);
1510
+ resolveModule(response, id, buffer);
1324
1511
  break;
1325
1512
  case 72:
1326
- id = row[0];
1327
- row = row.slice(1);
1328
- response = JSON.parse(row, response._fromJSON);
1329
- row = ReactDOMSharedInternals.d;
1513
+ id = buffer[0];
1514
+ buffer = buffer.slice(1);
1515
+ response = JSON.parse(buffer, response._fromJSON);
1516
+ buffer = ReactDOMSharedInternals.d;
1330
1517
  switch (id) {
1331
1518
  case "D":
1332
- row.D(response);
1519
+ buffer.D(response);
1333
1520
  break;
1334
1521
  case "C":
1335
1522
  "string" === typeof response
1336
- ? row.C(response)
1337
- : row.C(response[0], response[1]);
1523
+ ? buffer.C(response)
1524
+ : buffer.C(response[0], response[1]);
1338
1525
  break;
1339
1526
  case "L":
1340
1527
  id = response[0];
1341
1528
  tag = response[1];
1342
- 3 === response.length ? row.L(id, tag, response[2]) : row.L(id, tag);
1529
+ 3 === response.length
1530
+ ? buffer.L(id, tag, response[2])
1531
+ : buffer.L(id, tag);
1343
1532
  break;
1344
1533
  case "m":
1345
1534
  "string" === typeof response
1346
- ? row.m(response)
1347
- : row.m(response[0], response[1]);
1535
+ ? buffer.m(response)
1536
+ : buffer.m(response[0], response[1]);
1348
1537
  break;
1349
1538
  case "X":
1350
1539
  "string" === typeof response
1351
- ? row.X(response)
1352
- : row.X(response[0], response[1]);
1540
+ ? buffer.X(response)
1541
+ : buffer.X(response[0], response[1]);
1353
1542
  break;
1354
1543
  case "S":
1355
1544
  "string" === typeof response
1356
- ? row.S(response)
1357
- : row.S(
1545
+ ? buffer.S(response)
1546
+ : buffer.S(
1358
1547
  response[0],
1359
1548
  0 === response[1] ? void 0 : response[1],
1360
1549
  3 === response.length ? response[2] : void 0
@@ -1362,27 +1551,24 @@ function processFullRow(response, id, tag, buffer, chunk) {
1362
1551
  break;
1363
1552
  case "M":
1364
1553
  "string" === typeof response
1365
- ? row.M(response)
1366
- : row.M(response[0], response[1]);
1554
+ ? buffer.M(response)
1555
+ : buffer.M(response[0], response[1]);
1367
1556
  }
1368
1557
  break;
1369
1558
  case 69:
1370
- tag = JSON.parse(row).digest;
1371
- row = Error(
1372
- "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."
1373
- );
1374
- row.stack = "Error: " + row.message;
1375
- row.digest = tag;
1559
+ tag = JSON.parse(buffer);
1560
+ buffer = resolveErrorProd();
1561
+ buffer.digest = tag.digest;
1376
1562
  tag = response._chunks;
1377
- (buffer = tag.get(id))
1378
- ? triggerErrorOnChunk(buffer, row)
1379
- : tag.set(id, new Chunk("rejected", null, row, response));
1563
+ (chunk = tag.get(id))
1564
+ ? triggerErrorOnChunk(chunk, buffer)
1565
+ : tag.set(id, new ReactPromise("rejected", null, buffer, response));
1380
1566
  break;
1381
1567
  case 84:
1382
1568
  tag = response._chunks;
1383
- (buffer = tag.get(id)) && "pending" !== buffer.status
1384
- ? buffer.reason.enqueueValue(row)
1385
- : tag.set(id, new Chunk("fulfilled", row, null, response));
1569
+ (chunk = tag.get(id)) && "pending" !== chunk.status
1570
+ ? chunk.reason.enqueueValue(buffer)
1571
+ : tag.set(id, new ReactPromise("fulfilled", buffer, null, response));
1386
1572
  break;
1387
1573
  case 68:
1388
1574
  case 87:
@@ -1404,32 +1590,56 @@ function processFullRow(response, id, tag, buffer, chunk) {
1404
1590
  case 67:
1405
1591
  (response = response._chunks.get(id)) &&
1406
1592
  "fulfilled" === response.status &&
1407
- response.reason.close("" === row ? '"$undefined"' : row);
1593
+ response.reason.close("" === buffer ? '"$undefined"' : buffer);
1408
1594
  break;
1409
1595
  default:
1410
1596
  (tag = response._chunks),
1411
- (buffer = tag.get(id))
1412
- ? resolveModelChunk(buffer, row)
1413
- : tag.set(id, new Chunk("resolved_model", row, null, response));
1597
+ (chunk = tag.get(id))
1598
+ ? resolveModelChunk(chunk, buffer)
1599
+ : tag.set(
1600
+ id,
1601
+ new ReactPromise("resolved_model", buffer, null, response)
1602
+ );
1414
1603
  }
1415
1604
  }
1416
1605
  function createFromJSONCallback(response) {
1417
1606
  return function (key, value) {
1418
- return "string" === typeof value
1419
- ? parseModelString(response, this, key, value)
1420
- : "object" === typeof value && null !== value
1421
- ? ((key =
1422
- value[0] === REACT_ELEMENT_TYPE
1423
- ? {
1424
- $$typeof: REACT_ELEMENT_TYPE,
1425
- type: value[1],
1426
- key: value[2],
1427
- ref: null,
1428
- props: value[3]
1429
- }
1430
- : value),
1431
- key)
1432
- : value;
1607
+ if ("string" === typeof value)
1608
+ return parseModelString(response, this, key, value);
1609
+ if ("object" === typeof value && null !== value) {
1610
+ if (value[0] === REACT_ELEMENT_TYPE) {
1611
+ if (
1612
+ ((key = {
1613
+ $$typeof: REACT_ELEMENT_TYPE,
1614
+ type: value[1],
1615
+ key: value[2],
1616
+ ref: null,
1617
+ props: value[3]
1618
+ }),
1619
+ null !== initializingHandler)
1620
+ )
1621
+ if (
1622
+ ((value = initializingHandler),
1623
+ (initializingHandler = value.parent),
1624
+ value.errored)
1625
+ )
1626
+ (key = new ReactPromise("rejected", null, value.value, response)),
1627
+ (key = createLazyChunkWrapper(key));
1628
+ else if (0 < value.deps) {
1629
+ var blockedChunk = new ReactPromise(
1630
+ "blocked",
1631
+ null,
1632
+ null,
1633
+ response
1634
+ );
1635
+ value.value = key;
1636
+ value.chunk = blockedChunk;
1637
+ key = createLazyChunkWrapper(blockedChunk);
1638
+ }
1639
+ } else key = value;
1640
+ return key;
1641
+ }
1642
+ return value;
1433
1643
  };
1434
1644
  }
1435
1645
  function noServerCall() {
@@ -1438,33 +1648,17 @@ function noServerCall() {
1438
1648
  );
1439
1649
  }
1440
1650
  function createResponseFromOptions(options) {
1441
- var bundlerConfig = options.ssrManifest.moduleMap,
1442
- moduleLoading = options.ssrManifest.moduleLoading,
1443
- encodeFormAction = options.encodeFormAction,
1444
- nonce = "string" === typeof options.nonce ? options.nonce : void 0;
1445
- options =
1651
+ return new ResponseInstance(
1652
+ options.serverConsumerManifest.moduleMap,
1653
+ options.serverConsumerManifest.serverModuleMap,
1654
+ options.serverConsumerManifest.moduleLoading,
1655
+ noServerCall,
1656
+ options.encodeFormAction,
1657
+ "string" === typeof options.nonce ? options.nonce : void 0,
1446
1658
  options && options.temporaryReferences
1447
1659
  ? options.temporaryReferences
1448
- : void 0;
1449
- var chunks = new Map();
1450
- bundlerConfig = {
1451
- _bundlerConfig: bundlerConfig,
1452
- _moduleLoading: moduleLoading,
1453
- _callServer: void 0 !== noServerCall ? noServerCall : missingCall,
1454
- _encodeFormAction: encodeFormAction,
1455
- _nonce: nonce,
1456
- _chunks: chunks,
1457
- _stringDecoder: new TextDecoder(),
1458
- _fromJSON: null,
1459
- _rowState: 0,
1460
- _rowID: 0,
1461
- _rowTag: 0,
1462
- _rowLength: 0,
1463
- _buffer: [],
1464
- _tempRefs: options
1465
- };
1466
- bundlerConfig._fromJSON = createFromJSONCallback(bundlerConfig);
1467
- return bundlerConfig;
1660
+ : void 0
1661
+ );
1468
1662
  }
1469
1663
  function startReadingFromStream(response, stream) {
1470
1664
  function progress(_ref) {
@@ -1509,10 +1703,11 @@ function startReadingFromStream(response, stream) {
1509
1703
  86 === rowState
1510
1704
  ? ((rowTag = rowState), (rowState = 2), i++)
1511
1705
  : (64 < rowState && 91 > rowState) ||
1512
- 114 === rowState ||
1513
- 120 === rowState
1514
- ? ((rowTag = rowState), (rowState = 3), i++)
1515
- : ((rowTag = 0), (rowState = 3));
1706
+ 35 === rowState ||
1707
+ 114 === rowState ||
1708
+ 120 === rowState
1709
+ ? ((rowTag = rowState), (rowState = 3), i++)
1710
+ : ((rowTag = 0), (rowState = 3));
1516
1711
  continue;
1517
1712
  case 2:
1518
1713
  lastIdx = value[i++];
@@ -1531,7 +1726,7 @@ function startReadingFromStream(response, stream) {
1531
1726
  var offset = value.byteOffset + i;
1532
1727
  if (-1 < lastIdx)
1533
1728
  (rowLength = new Uint8Array(value.buffer, offset, lastIdx - i)),
1534
- processFullRow(response, _ref, rowTag, buffer, rowLength),
1729
+ processFullBinaryRow(response, _ref, rowTag, buffer, rowLength),
1535
1730
  (i = lastIdx),
1536
1731
  3 === rowState && i++,
1537
1732
  (rowLength = _ref = rowTag = rowState = 0),
@@ -1581,7 +1776,7 @@ exports.createTemporaryReferenceSet = function () {
1581
1776
  };
1582
1777
  exports.encodeReply = function (value, options) {
1583
1778
  return new Promise(function (resolve, reject) {
1584
- processReply(
1779
+ var abort = processReply(
1585
1780
  value,
1586
1781
  "",
1587
1782
  options && options.temporaryReferences
@@ -1590,5 +1785,16 @@ exports.encodeReply = function (value, options) {
1590
1785
  resolve,
1591
1786
  reject
1592
1787
  );
1788
+ if (options && options.signal) {
1789
+ var signal = options.signal;
1790
+ if (signal.aborted) abort(signal.reason);
1791
+ else {
1792
+ var listener = function () {
1793
+ abort(signal.reason);
1794
+ signal.removeEventListener("abort", listener);
1795
+ };
1796
+ signal.addEventListener("abort", listener);
1797
+ }
1798
+ }
1593
1799
  });
1594
1800
  };