@vitejs/plugin-rsc 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +37 -6
  2. package/dist/{browser-U86erGOy.js → browser-Dtp2JGlz.js} +2 -2
  3. package/dist/{browser-C8KlM-b7.d.ts → browser-_r3sM3qR.d.ts} +1 -1
  4. package/dist/browser.d.ts +3 -3
  5. package/dist/browser.js +4 -4
  6. package/dist/{chunk-Cdb3zUqJ.js → chunk-ezxmLbPQ.js} +12 -10
  7. package/dist/{cjs-zUv66MZg.js → cjs-D5eQjp5l.js} +2 -2
  8. package/dist/core/browser.d.ts +1 -1
  9. package/dist/core/browser.js +3 -3
  10. package/dist/core/plugin.js +1 -1
  11. package/dist/core/rsc.d.ts +2 -2
  12. package/dist/core/rsc.js +3 -3
  13. package/dist/core/ssr.d.ts +2 -2
  14. package/dist/core/ssr.js +3 -3
  15. package/dist/{encryption-runtime-D5_PLt4C.js → encryption-runtime-BeCv59UO.js} +3 -3
  16. package/dist/index.d.ts +2 -2
  17. package/dist/index.js +8 -8
  18. package/dist/{picocolors-BRKobevN.js → picocolors-AGVbN-ya.js} +3 -3
  19. package/dist/{plugin-fbbM1muv.d.ts → plugin-24ZutaDY.d.ts} +1 -1
  20. package/dist/{plugin-DNwmUjn4.js → plugin-yqduHnqG.js} +37 -19
  21. package/dist/plugin.d.ts +2 -2
  22. package/dist/plugin.js +8 -8
  23. package/dist/plugins/cjs.js +3 -3
  24. package/dist/react/browser.d.ts +3 -3
  25. package/dist/react/browser.js +4 -4
  26. package/dist/react/rsc.d.ts +3 -3
  27. package/dist/react/rsc.js +4 -4
  28. package/dist/react/ssr.d.ts +3 -3
  29. package/dist/react/ssr.js +4 -4
  30. package/dist/{rsc-bL1QvQCm.js → rsc-CvqvlKO2.js} +2 -2
  31. package/dist/{rsc-B_DQ_Sju.js → rsc-DCIXw4uj.js} +2 -2
  32. package/dist/{rsc-OCbFObYE.d.ts → rsc-GHO-HEzG.d.ts} +1 -1
  33. package/dist/{rsc-03j1e3xp.d.ts → rsc-g5utSLBE.d.ts} +3 -3
  34. package/dist/rsc.d.ts +4 -4
  35. package/dist/rsc.js +6 -6
  36. package/dist/{ssr-DzY6rnEv.js → ssr-B-bLmlbm.js} +1 -1
  37. package/dist/{ssr-fBV4xXen.d.ts → ssr-CB7zlVBC.d.ts} +1 -1
  38. package/dist/{ssr-EH7rBPkK.js → ssr-CDPTWY93.js} +2 -2
  39. package/dist/ssr.d.ts +3 -3
  40. package/dist/ssr.js +5 -5
  41. package/dist/transforms/index.d.ts +1 -1
  42. package/dist/transforms/index.js +2 -2
  43. package/dist/{transforms-CSPqW3RX.js → transforms-BcLQCXiC.js} +2 -2
  44. package/dist/utils/encryption-runtime.d.ts +1 -1
  45. package/dist/utils/encryption-runtime.js +6 -6
  46. package/dist/utils/rpc.js +1 -1
  47. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.development.js +8 -10
  48. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.production.js +7 -8
  49. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.development.js +6 -8
  50. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.production.js +7 -8
  51. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.development.js +6 -8
  52. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.production.js +7 -8
  53. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.development.js +5 -6
  54. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.production.js +6 -6
  55. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.development.js +430 -197
  56. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.production.js +425 -201
  57. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.development.js +438 -204
  58. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.production.js +428 -203
  59. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.development.js +475 -228
  60. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.production.js +469 -227
  61. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.development.js +473 -225
  62. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.production.js +467 -224
  63. package/dist/vendor/react-server-dom/package.json +3 -3
  64. package/package.json +13 -13
  65. /package/dist/{browser-B4C0Zb4m.js → browser-BJvYpz0J.js} +0 -0
  66. /package/dist/{browser-CDBRiZjk.d.ts → browser-nNQlWmRe.d.ts} +0 -0
  67. /package/dist/{dist-CNbFy2EZ.js → dist-BRSdGcl7.js} +0 -0
  68. /package/dist/{encryption-runtime-BDgc4dBr.d.ts → encryption-runtime-C6wgt7G4.d.ts} +0 -0
  69. /package/dist/{encryption-utils-DdqSKS_O.js → encryption-utils-6p8t4Xqm.js} +0 -0
  70. /package/dist/{index-DJ0AhQ9B.d.ts → index-CM9Mmb_C.d.ts} +0 -0
  71. /package/dist/{index-BY8KUQhI.d.ts → index-CvmuS4Ks.d.ts} +0 -0
  72. /package/dist/{plugin-4UFT-s0w.js → plugin-D1MQNdps.js} +0 -0
  73. /package/dist/{rpc-nwJuNojy.js → rpc-DgBxsMKW.js} +0 -0
  74. /package/dist/{shared-DlspEItJ.js → shared-BbMae1Gg.js} +0 -0
  75. /package/dist/{shared-C8PSRwR2.js → shared-DEpnONZf.js} +0 -0
  76. /package/dist/{ssr-Dgbl_mOS.d.ts → ssr-Bnw-VQBr.d.ts} +0 -0
@@ -3862,41 +3862,69 @@
3862
3862
  if ("fulfilled" === moduleExports.status)
3863
3863
  moduleExports = moduleExports.value;
3864
3864
  else throw moduleExports.reason;
3865
- return "*" === metadata[2]
3866
- ? moduleExports
3867
- : "" === metadata[2]
3868
- ? moduleExports.__esModule
3869
- ? moduleExports.default
3870
- : moduleExports
3871
- : moduleExports[metadata[2]];
3865
+ if ("*" === metadata[2]) return moduleExports;
3866
+ if ("" === metadata[2])
3867
+ return moduleExports.__esModule ? moduleExports.default : moduleExports;
3868
+ if (hasOwnProperty.call(moduleExports, metadata[2]))
3869
+ return moduleExports[metadata[2]];
3872
3870
  }
3873
3871
  function loadChunk(chunkId, filename) {
3874
3872
  chunkMap.set(chunkId, filename);
3875
3873
  return __webpack_chunk_load__(chunkId);
3876
3874
  }
3877
- function Chunk(status, value, reason, response) {
3875
+ function ReactPromise(status, value, reason) {
3878
3876
  this.status = status;
3879
3877
  this.value = value;
3880
3878
  this.reason = reason;
3881
- this._response = response;
3882
3879
  }
3883
- function createPendingChunk(response) {
3884
- return new Chunk("pending", null, null, response);
3880
+ function wakeChunk(response, listeners, value) {
3881
+ for (var i = 0; i < listeners.length; i++) {
3882
+ var listener = listeners[i];
3883
+ "function" === typeof listener
3884
+ ? listener(value)
3885
+ : fulfillReference(response, listener, value);
3886
+ }
3887
+ }
3888
+ function rejectChunk(response, listeners, error) {
3889
+ for (var i = 0; i < listeners.length; i++) {
3890
+ var listener = listeners[i];
3891
+ "function" === typeof listener
3892
+ ? listener(error)
3893
+ : rejectReference(response, listener.handler, error);
3894
+ }
3885
3895
  }
3886
- function wakeChunk(listeners, value) {
3887
- for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
3896
+ function resolveBlockedCycle(resolvedChunk, reference) {
3897
+ var referencedChunk = reference.handler.chunk;
3898
+ if (null === referencedChunk) return null;
3899
+ if (referencedChunk === resolvedChunk) return reference.handler;
3900
+ reference = referencedChunk.value;
3901
+ if (null !== reference)
3902
+ for (
3903
+ referencedChunk = 0;
3904
+ referencedChunk < reference.length;
3905
+ referencedChunk++
3906
+ ) {
3907
+ var listener = reference[referencedChunk];
3908
+ if (
3909
+ "function" !== typeof listener &&
3910
+ ((listener = resolveBlockedCycle(resolvedChunk, listener)),
3911
+ null !== listener)
3912
+ )
3913
+ return listener;
3914
+ }
3915
+ return null;
3888
3916
  }
3889
- function triggerErrorOnChunk(chunk, error) {
3917
+ function triggerErrorOnChunk(response, chunk, error) {
3890
3918
  if ("pending" !== chunk.status && "blocked" !== chunk.status)
3891
3919
  chunk.reason.error(error);
3892
3920
  else {
3893
3921
  var listeners = chunk.reason;
3894
3922
  chunk.status = "rejected";
3895
3923
  chunk.reason = error;
3896
- null !== listeners && wakeChunk(listeners, error);
3924
+ null !== listeners && rejectChunk(response, listeners, error);
3897
3925
  }
3898
3926
  }
3899
- function resolveModelChunk(chunk, value, id) {
3927
+ function resolveModelChunk(response, chunk, value, id) {
3900
3928
  if ("pending" !== chunk.status)
3901
3929
  (chunk = chunk.reason),
3902
3930
  "C" === value[0]
@@ -3907,42 +3935,74 @@
3907
3935
  rejectListeners = chunk.reason;
3908
3936
  chunk.status = "resolved_model";
3909
3937
  chunk.value = value;
3910
- chunk.reason = id;
3938
+ chunk.reason = _defineProperty({ id: id }, RESPONSE_SYMBOL, response);
3911
3939
  if (null !== resolveListeners)
3912
- switch ((initializeModelChunk(chunk), chunk.status)) {
3940
+ a: switch ((initializeModelChunk(chunk), chunk.status)) {
3913
3941
  case "fulfilled":
3914
- wakeChunk(resolveListeners, chunk.value);
3942
+ wakeChunk(response, resolveListeners, chunk.value);
3915
3943
  break;
3916
- case "pending":
3917
3944
  case "blocked":
3918
- case "cyclic":
3945
+ for (value = 0; value < resolveListeners.length; value++)
3946
+ if (
3947
+ ((id = resolveListeners[value]), "function" !== typeof id)
3948
+ ) {
3949
+ var cyclicHandler = resolveBlockedCycle(chunk, id);
3950
+ if (null !== cyclicHandler)
3951
+ switch (
3952
+ (fulfillReference(response, id, cyclicHandler.value),
3953
+ resolveListeners.splice(value, 1),
3954
+ value--,
3955
+ null !== rejectListeners &&
3956
+ ((id = rejectListeners.indexOf(id)),
3957
+ -1 !== id && rejectListeners.splice(id, 1)),
3958
+ chunk.status)
3959
+ ) {
3960
+ case "fulfilled":
3961
+ wakeChunk(response, resolveListeners, chunk.value);
3962
+ break a;
3963
+ case "rejected":
3964
+ null !== rejectListeners &&
3965
+ rejectChunk(response, rejectListeners, chunk.reason);
3966
+ break a;
3967
+ }
3968
+ }
3969
+ case "pending":
3919
3970
  if (chunk.value)
3920
- for (value = 0; value < resolveListeners.length; value++)
3921
- chunk.value.push(resolveListeners[value]);
3971
+ for (
3972
+ response = 0;
3973
+ response < resolveListeners.length;
3974
+ response++
3975
+ )
3976
+ chunk.value.push(resolveListeners[response]);
3922
3977
  else chunk.value = resolveListeners;
3923
3978
  if (chunk.reason) {
3924
3979
  if (rejectListeners)
3925
- for (value = 0; value < rejectListeners.length; value++)
3926
- chunk.reason.push(rejectListeners[value]);
3980
+ for (
3981
+ resolveListeners = 0;
3982
+ resolveListeners < rejectListeners.length;
3983
+ resolveListeners++
3984
+ )
3985
+ chunk.reason.push(rejectListeners[resolveListeners]);
3927
3986
  } else chunk.reason = rejectListeners;
3928
3987
  break;
3929
3988
  case "rejected":
3930
- rejectListeners && wakeChunk(rejectListeners, chunk.reason);
3989
+ rejectListeners &&
3990
+ wakeChunk(response, rejectListeners, chunk.reason);
3931
3991
  }
3932
3992
  }
3933
3993
  }
3934
3994
  function createResolvedIteratorResultChunk(response, value, done) {
3935
- return new Chunk(
3995
+ return new ReactPromise(
3936
3996
  "resolved_model",
3937
3997
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
3938
3998
  value +
3939
3999
  "}",
3940
- -1,
3941
- response
4000
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
3942
4001
  );
3943
4002
  }
3944
- function resolveIteratorResultChunk(chunk, value, done) {
4003
+ function resolveIteratorResultChunk(response, chunk, value, done) {
3945
4004
  resolveModelChunk(
4005
+ response,
3946
4006
  chunk,
3947
4007
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
3948
4008
  value +
@@ -3950,38 +4010,67 @@
3950
4010
  -1
3951
4011
  );
3952
4012
  }
3953
- function loadServerReference$1(
3954
- response,
3955
- id,
3956
- bound,
3957
- parentChunk,
3958
- parentObject,
3959
- key
3960
- ) {
4013
+ function loadServerReference$1(response, metaData, parentObject, key) {
4014
+ var id = metaData.id;
4015
+ if ("string" !== typeof id) return null;
3961
4016
  var serverReference = resolveServerReference(response._bundlerConfig, id);
3962
- id = preloadModule(serverReference);
3963
- if (bound)
3964
- bound = Promise.all([bound, id]).then(function (_ref) {
3965
- _ref = _ref[0];
3966
- var fn = requireModule(serverReference);
3967
- return fn.bind.apply(fn, [null].concat(_ref));
3968
- });
3969
- else if (id)
3970
- bound = Promise.resolve(id).then(function () {
3971
- return requireModule(serverReference);
3972
- });
4017
+ id = metaData.bound;
4018
+ var promise = preloadModule(serverReference);
4019
+ if (promise)
4020
+ id instanceof ReactPromise && (promise = Promise.all([promise, id]));
4021
+ else if (id instanceof ReactPromise) promise = Promise.resolve(id);
3973
4022
  else return requireModule(serverReference);
3974
- bound.then(
3975
- createModelResolver(
3976
- parentChunk,
3977
- parentObject,
3978
- key,
3979
- !1,
3980
- response,
3981
- createModel,
3982
- []
3983
- ),
3984
- createModelReject(parentChunk)
4023
+ if (initializingHandler) {
4024
+ var handler = initializingHandler;
4025
+ handler.deps++;
4026
+ } else
4027
+ handler = initializingHandler = {
4028
+ chunk: null,
4029
+ value: null,
4030
+ reason: null,
4031
+ deps: 1,
4032
+ errored: !1
4033
+ };
4034
+ promise.then(
4035
+ function () {
4036
+ var resolvedValue = requireModule(serverReference);
4037
+ if (metaData.bound) {
4038
+ var promiseValue = metaData.bound.value;
4039
+ promiseValue = Array.isArray(promiseValue)
4040
+ ? promiseValue.slice(0)
4041
+ : [];
4042
+ promiseValue.unshift(null);
4043
+ resolvedValue = resolvedValue.bind.apply(
4044
+ resolvedValue,
4045
+ promiseValue
4046
+ );
4047
+ }
4048
+ parentObject[key] = resolvedValue;
4049
+ "" === key &&
4050
+ null === handler.value &&
4051
+ (handler.value = resolvedValue);
4052
+ handler.deps--;
4053
+ 0 === handler.deps &&
4054
+ ((resolvedValue = handler.chunk),
4055
+ null !== resolvedValue &&
4056
+ "blocked" === resolvedValue.status &&
4057
+ ((promiseValue = resolvedValue.value),
4058
+ (resolvedValue.status = "fulfilled"),
4059
+ (resolvedValue.value = handler.value),
4060
+ null !== promiseValue &&
4061
+ wakeChunk(response, promiseValue, handler.value)));
4062
+ },
4063
+ function (error) {
4064
+ if (!handler.errored) {
4065
+ handler.errored = !0;
4066
+ handler.value = null;
4067
+ handler.reason = error;
4068
+ var chunk = handler.chunk;
4069
+ null !== chunk &&
4070
+ "blocked" === chunk.status &&
4071
+ triggerErrorOnChunk(response, chunk, error);
4072
+ }
4073
+ }
3985
4074
  );
3986
4075
  return null;
3987
4076
  }
@@ -4023,53 +4112,66 @@
4023
4112
  value[i],
4024
4113
  parentObj
4025
4114
  )),
4026
- void 0 !== parentObj ? (value[i] = parentObj) : delete value[i]);
4115
+ void 0 !== parentObj || "__proto__" === i
4116
+ ? (value[i] = parentObj)
4117
+ : delete value[i]);
4027
4118
  return value;
4028
4119
  }
4029
4120
  function initializeModelChunk(chunk) {
4030
- var prevChunk = initializingChunk,
4031
- prevBlocked = initializingChunkBlockedModel;
4032
- initializingChunk = chunk;
4033
- initializingChunkBlockedModel = null;
4034
- var rootReference =
4035
- -1 === chunk.reason ? void 0 : chunk.reason.toString(16),
4036
- resolvedModel = chunk.value;
4037
- chunk.status = "cyclic";
4121
+ var prevHandler = initializingHandler;
4122
+ initializingHandler = null;
4123
+ var _chunk$reason = chunk.reason,
4124
+ response = _chunk$reason[RESPONSE_SYMBOL];
4125
+ _chunk$reason = _chunk$reason.id;
4126
+ _chunk$reason =
4127
+ -1 === _chunk$reason ? void 0 : _chunk$reason.toString(16);
4128
+ var resolvedModel = chunk.value;
4129
+ chunk.status = "blocked";
4038
4130
  chunk.value = null;
4039
4131
  chunk.reason = null;
4040
4132
  try {
4041
4133
  var rawModel = JSON.parse(resolvedModel),
4042
4134
  value = reviveModel(
4043
- chunk._response,
4135
+ response,
4044
4136
  { "": rawModel },
4045
4137
  "",
4046
4138
  rawModel,
4047
- rootReference
4048
- );
4049
- if (
4050
- null !== initializingChunkBlockedModel &&
4051
- 0 < initializingChunkBlockedModel.deps
4052
- )
4053
- (initializingChunkBlockedModel.value = value),
4054
- (chunk.status = "blocked");
4055
- else {
4056
- var resolveListeners = chunk.value;
4057
- chunk.status = "fulfilled";
4058
- chunk.value = value;
4059
- null !== resolveListeners && wakeChunk(resolveListeners, value);
4139
+ _chunk$reason
4140
+ ),
4141
+ resolveListeners = chunk.value;
4142
+ if (null !== resolveListeners)
4143
+ for (
4144
+ chunk.value = null, chunk.reason = null, rawModel = 0;
4145
+ rawModel < resolveListeners.length;
4146
+ rawModel++
4147
+ ) {
4148
+ var listener = resolveListeners[rawModel];
4149
+ "function" === typeof listener
4150
+ ? listener(value)
4151
+ : fulfillReference(response, listener, value);
4152
+ }
4153
+ if (null !== initializingHandler) {
4154
+ if (initializingHandler.errored) throw initializingHandler.reason;
4155
+ if (0 < initializingHandler.deps) {
4156
+ initializingHandler.value = value;
4157
+ initializingHandler.chunk = chunk;
4158
+ return;
4159
+ }
4060
4160
  }
4161
+ chunk.status = "fulfilled";
4162
+ chunk.value = value;
4061
4163
  } catch (error) {
4062
4164
  (chunk.status = "rejected"), (chunk.reason = error);
4063
4165
  } finally {
4064
- (initializingChunk = prevChunk),
4065
- (initializingChunkBlockedModel = prevBlocked);
4166
+ initializingHandler = prevHandler;
4066
4167
  }
4067
4168
  }
4068
4169
  function reportGlobalError(response, error) {
4069
4170
  response._closed = !0;
4070
4171
  response._closedReason = error;
4071
4172
  response._chunks.forEach(function (chunk) {
4072
- "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
4173
+ "pending" === chunk.status &&
4174
+ triggerErrorOnChunk(response, chunk, error);
4073
4175
  });
4074
4176
  }
4075
4177
  function getChunk(response, id) {
@@ -4078,50 +4180,108 @@
4078
4180
  chunk ||
4079
4181
  ((chunk = response._formData.get(response._prefix + id)),
4080
4182
  (chunk =
4081
- null != chunk
4082
- ? new Chunk("resolved_model", chunk, id, response)
4183
+ "string" === typeof chunk
4184
+ ? new ReactPromise(
4185
+ "resolved_model",
4186
+ chunk,
4187
+ _defineProperty({ id: id }, RESPONSE_SYMBOL, response)
4188
+ )
4083
4189
  : response._closed
4084
- ? new Chunk("rejected", null, response._closedReason, response)
4085
- : createPendingChunk(response)),
4190
+ ? new ReactPromise("rejected", null, response._closedReason)
4191
+ : new ReactPromise("pending", null, null)),
4086
4192
  chunks.set(id, chunk));
4087
4193
  return chunk;
4088
4194
  }
4089
- function createModelResolver(
4090
- chunk,
4195
+ function fulfillReference(response, reference, value) {
4196
+ for (
4197
+ var handler = reference.handler,
4198
+ parentObject = reference.parentObject,
4199
+ key = reference.key,
4200
+ map = reference.map,
4201
+ path = reference.path,
4202
+ i = 1;
4203
+ i < path.length;
4204
+ i++
4205
+ ) {
4206
+ for (; value instanceof ReactPromise; ) {
4207
+ switch (value.status) {
4208
+ case "resolved_model":
4209
+ initializeModelChunk(value);
4210
+ }
4211
+ switch (value.status) {
4212
+ case "fulfilled":
4213
+ value = value.value;
4214
+ continue;
4215
+ case "blocked":
4216
+ case "pending":
4217
+ path.splice(0, i - 1);
4218
+ null === value.value
4219
+ ? (value.value = [reference])
4220
+ : value.value.push(reference);
4221
+ null === value.reason
4222
+ ? (value.reason = [reference])
4223
+ : value.reason.push(reference);
4224
+ return;
4225
+ default:
4226
+ rejectReference(response, reference.handler, value.reason);
4227
+ return;
4228
+ }
4229
+ }
4230
+ var name = path[i];
4231
+ "object" === typeof value &&
4232
+ hasOwnProperty.call(value, name) &&
4233
+ (value = value[name]);
4234
+ }
4235
+ reference = map(response, value, parentObject, key);
4236
+ parentObject[key] = reference;
4237
+ "" === key && null === handler.value && (handler.value = reference);
4238
+ handler.deps--;
4239
+ 0 === handler.deps &&
4240
+ ((parentObject = handler.chunk),
4241
+ null !== parentObject &&
4242
+ "blocked" === parentObject.status &&
4243
+ ((key = parentObject.value),
4244
+ (parentObject.status = "fulfilled"),
4245
+ (parentObject.value = handler.value),
4246
+ (parentObject.reason = handler.reason),
4247
+ null !== key && wakeChunk(response, key, handler.value)));
4248
+ }
4249
+ function rejectReference(response, handler, error) {
4250
+ handler.errored ||
4251
+ ((handler.errored = !0),
4252
+ (handler.value = null),
4253
+ (handler.reason = error),
4254
+ (handler = handler.chunk),
4255
+ null !== handler &&
4256
+ "blocked" === handler.status &&
4257
+ triggerErrorOnChunk(response, handler, error));
4258
+ }
4259
+ function waitForReference(
4260
+ referencedChunk,
4091
4261
  parentObject,
4092
4262
  key,
4093
- cyclic,
4094
4263
  response,
4095
4264
  map,
4096
4265
  path
4097
4266
  ) {
4098
- if (initializingChunkBlockedModel) {
4099
- var blocked = initializingChunkBlockedModel;
4100
- cyclic || blocked.deps++;
4101
- } else
4102
- blocked = initializingChunkBlockedModel = {
4103
- deps: cyclic ? 0 : 1,
4104
- value: null
4105
- };
4106
- return function (value) {
4107
- for (var i = 1; i < path.length; i++) value = value[path[i]];
4108
- parentObject[key] = map(response, value);
4109
- "" === key &&
4110
- null === blocked.value &&
4111
- (blocked.value = parentObject[key]);
4112
- blocked.deps--;
4113
- 0 === blocked.deps &&
4114
- "blocked" === chunk.status &&
4115
- ((value = chunk.value),
4116
- (chunk.status = "fulfilled"),
4117
- (chunk.value = blocked.value),
4118
- null !== value && wakeChunk(value, blocked.value));
4119
- };
4120
- }
4121
- function createModelReject(chunk) {
4122
- return function (error) {
4123
- return triggerErrorOnChunk(chunk, error);
4267
+ initializingHandler
4268
+ ? ((response = initializingHandler), response.deps++)
4269
+ : (response = initializingHandler =
4270
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
4271
+ parentObject = {
4272
+ handler: response,
4273
+ parentObject: parentObject,
4274
+ key: key,
4275
+ map: map,
4276
+ path: path
4124
4277
  };
4278
+ null === referencedChunk.value
4279
+ ? (referencedChunk.value = [parentObject])
4280
+ : referencedChunk.value.push(parentObject);
4281
+ null === referencedChunk.reason
4282
+ ? (referencedChunk.reason = [parentObject])
4283
+ : referencedChunk.reason.push(parentObject);
4284
+ return null;
4125
4285
  }
4126
4286
  function getOutlinedModel(response, reference, parentObject, key, map) {
4127
4287
  reference = reference.split(":");
@@ -4133,29 +4293,75 @@
4133
4293
  }
4134
4294
  switch (id.status) {
4135
4295
  case "fulfilled":
4136
- parentObject = id.value;
4137
- for (key = 1; key < reference.length; key++)
4138
- parentObject = parentObject[reference[key]];
4139
- return map(response, parentObject);
4296
+ var value = id.value;
4297
+ for (id = 1; id < reference.length; id++) {
4298
+ for (; value instanceof ReactPromise; ) {
4299
+ switch (value.status) {
4300
+ case "resolved_model":
4301
+ initializeModelChunk(value);
4302
+ }
4303
+ switch (value.status) {
4304
+ case "fulfilled":
4305
+ value = value.value;
4306
+ break;
4307
+ case "blocked":
4308
+ case "pending":
4309
+ return waitForReference(
4310
+ value,
4311
+ parentObject,
4312
+ key,
4313
+ response,
4314
+ map,
4315
+ reference.slice(id - 1)
4316
+ );
4317
+ default:
4318
+ return (
4319
+ initializingHandler
4320
+ ? ((initializingHandler.errored = !0),
4321
+ (initializingHandler.value = null),
4322
+ (initializingHandler.reason = value.reason))
4323
+ : (initializingHandler = {
4324
+ chunk: null,
4325
+ value: null,
4326
+ reason: value.reason,
4327
+ deps: 0,
4328
+ errored: !0
4329
+ }),
4330
+ null
4331
+ );
4332
+ }
4333
+ }
4334
+ var name = reference[id];
4335
+ "object" === typeof value &&
4336
+ hasOwnProperty.call(value, name) &&
4337
+ (value = value[name]);
4338
+ }
4339
+ return map(response, value, parentObject, key);
4140
4340
  case "pending":
4141
4341
  case "blocked":
4142
- case "cyclic":
4143
- var parentChunk = initializingChunk;
4144
- id.then(
4145
- createModelResolver(
4146
- parentChunk,
4147
- parentObject,
4148
- key,
4149
- "cyclic" === id.status,
4150
- response,
4151
- map,
4152
- reference
4153
- ),
4154
- createModelReject(parentChunk)
4342
+ return waitForReference(
4343
+ id,
4344
+ parentObject,
4345
+ key,
4346
+ response,
4347
+ map,
4348
+ reference
4155
4349
  );
4156
- return null;
4157
4350
  default:
4158
- throw id.reason;
4351
+ return (
4352
+ initializingHandler
4353
+ ? ((initializingHandler.errored = !0),
4354
+ (initializingHandler.value = null),
4355
+ (initializingHandler.reason = id.reason))
4356
+ : (initializingHandler = {
4357
+ chunk: null,
4358
+ value: null,
4359
+ reason: id.reason,
4360
+ deps: 0,
4361
+ errored: !0
4362
+ }),
4363
+ null
4364
+ );
4159
4365
  }
4160
4366
  }
4161
4367
  function createMap(response, model) {
@@ -4179,40 +4385,68 @@
4179
4385
  parentKey
4180
4386
  ) {
4181
4387
  reference = parseInt(reference.slice(2), 16);
4182
- reference = response._formData.get(response._prefix + reference);
4183
- reference =
4184
- constructor === ArrayBuffer
4185
- ? reference.arrayBuffer()
4186
- : reference.arrayBuffer().then(function (buffer) {
4187
- return new constructor(buffer);
4188
- });
4189
- bytesPerElement = initializingChunk;
4388
+ reference = response._formData
4389
+ .get(response._prefix + reference)
4390
+ .arrayBuffer();
4391
+ if (initializingHandler) {
4392
+ var handler = initializingHandler;
4393
+ handler.deps++;
4394
+ } else
4395
+ handler = initializingHandler = {
4396
+ chunk: null,
4397
+ value: null,
4398
+ reason: null,
4399
+ deps: 1,
4400
+ errored: !1
4401
+ };
4190
4402
  reference.then(
4191
- createModelResolver(
4192
- bytesPerElement,
4193
- parentObject,
4194
- parentKey,
4195
- !1,
4196
- response,
4197
- createModel,
4198
- []
4199
- ),
4200
- createModelReject(bytesPerElement)
4403
+ function (buffer) {
4404
+ buffer =
4405
+ constructor === ArrayBuffer ? buffer : new constructor(buffer);
4406
+ parentObject[parentKey] = buffer;
4407
+ "" === parentKey &&
4408
+ null === handler.value &&
4409
+ (handler.value = buffer);
4410
+ handler.deps--;
4411
+ if (
4412
+ 0 === handler.deps &&
4413
+ ((buffer = handler.chunk),
4414
+ null !== buffer && "blocked" === buffer.status)
4415
+ ) {
4416
+ var resolveListeners = buffer.value;
4417
+ buffer.status = "fulfilled";
4418
+ buffer.value = handler.value;
4419
+ null !== resolveListeners &&
4420
+ wakeChunk(response, resolveListeners, handler.value);
4421
+ }
4422
+ },
4423
+ function (error) {
4424
+ if (!handler.errored) {
4425
+ handler.errored = !0;
4426
+ handler.value = null;
4427
+ handler.reason = error;
4428
+ var chunk = handler.chunk;
4429
+ null !== chunk &&
4430
+ "blocked" === chunk.status &&
4431
+ triggerErrorOnChunk(response, chunk, error);
4432
+ }
4433
+ }
4201
4434
  );
4202
4435
  return null;
4203
4436
  }
4204
4437
  function resolveStream(response, id, stream, controller) {
4205
4438
  var chunks = response._chunks;
4206
- stream = new Chunk("fulfilled", stream, controller, response);
4439
+ stream = new ReactPromise("fulfilled", stream, controller);
4207
4440
  chunks.set(id, stream);
4208
4441
  response = response._formData.getAll(response._prefix + id);
4209
4442
  for (id = 0; id < response.length; id++)
4210
4443
  (chunks = response[id]),
4211
- "C" === chunks[0]
4212
- ? controller.close(
4213
- "C" === chunks ? '"$undefined"' : chunks.slice(1)
4214
- )
4215
- : controller.enqueueModel(chunks);
4444
+ "string" === typeof chunks &&
4445
+ ("C" === chunks[0]
4446
+ ? controller.close(
4447
+ "C" === chunks ? '"$undefined"' : chunks.slice(1)
4448
+ )
4449
+ : controller.enqueueModel(chunks));
4216
4450
  }
4217
4451
  function parseReadableStream(response, reference, type) {
4218
4452
  reference = parseInt(reference.slice(2), 16);
@@ -4227,7 +4461,11 @@
4227
4461
  resolveStream(response, reference, type, {
4228
4462
  enqueueModel: function (json) {
4229
4463
  if (null === previousBlockedChunk) {
4230
- var chunk = new Chunk("resolved_model", json, -1, response);
4464
+ var chunk = new ReactPromise(
4465
+ "resolved_model",
4466
+ json,
4467
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
4468
+ );
4231
4469
  initializeModelChunk(chunk);
4232
4470
  "fulfilled" === chunk.status
4233
4471
  ? controller.enqueue(chunk.value)
@@ -4242,7 +4480,7 @@
4242
4480
  (previousBlockedChunk = chunk));
4243
4481
  } else {
4244
4482
  chunk = previousBlockedChunk;
4245
- var _chunk = createPendingChunk(response);
4483
+ var _chunk = new ReactPromise("pending", null, null);
4246
4484
  _chunk.then(
4247
4485
  function (v) {
4248
4486
  return controller.enqueue(v);
@@ -4254,7 +4492,7 @@
4254
4492
  previousBlockedChunk = _chunk;
4255
4493
  chunk.then(function () {
4256
4494
  previousBlockedChunk === _chunk && (previousBlockedChunk = null);
4257
- resolveModelChunk(_chunk, json, -1);
4495
+ resolveModelChunk(response, _chunk, json, -1);
4258
4496
  });
4259
4497
  }
4260
4498
  },
@@ -4303,13 +4541,12 @@
4303
4541
  );
4304
4542
  if (nextReadIndex === buffer.length) {
4305
4543
  if (closed)
4306
- return new Chunk(
4544
+ return new ReactPromise(
4307
4545
  "fulfilled",
4308
4546
  { done: !0, value: void 0 },
4309
- null,
4310
- response
4547
+ null
4311
4548
  );
4312
- buffer[nextReadIndex] = createPendingChunk(response);
4549
+ buffer[nextReadIndex] = new ReactPromise("pending", null, null);
4313
4550
  }
4314
4551
  return buffer[nextReadIndex++];
4315
4552
  });
@@ -4323,7 +4560,12 @@
4323
4560
  value,
4324
4561
  !1
4325
4562
  ))
4326
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);
4563
+ : resolveIteratorResultChunk(
4564
+ response,
4565
+ buffer[nextWriteIndex],
4566
+ value,
4567
+ !1
4568
+ );
4327
4569
  nextWriteIndex++;
4328
4570
  },
4329
4571
  close: function (value) {
@@ -4334,9 +4576,15 @@
4334
4576
  value,
4335
4577
  !0
4336
4578
  ))
4337
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);
4579
+ : resolveIteratorResultChunk(
4580
+ response,
4581
+ buffer[nextWriteIndex],
4582
+ value,
4583
+ !0
4584
+ );
4338
4585
  for (nextWriteIndex++; nextWriteIndex < buffer.length; )
4339
4586
  resolveIteratorResultChunk(
4587
+ response,
4340
4588
  buffer[nextWriteIndex++],
4341
4589
  '"$undefined"',
4342
4590
  !0
@@ -4346,11 +4594,11 @@
4346
4594
  closed = !0;
4347
4595
  for (
4348
4596
  nextWriteIndex === buffer.length &&
4349
- (buffer[nextWriteIndex] = createPendingChunk(response));
4597
+ (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
4350
4598
  nextWriteIndex < buffer.length;
4351
4599
 
4352
4600
  )
4353
- triggerErrorOnChunk(buffer[nextWriteIndex++], error);
4601
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
4354
4602
  }
4355
4603
  });
4356
4604
  return iterator;
@@ -4367,21 +4615,7 @@
4367
4615
  case "F":
4368
4616
  return (
4369
4617
  (value = value.slice(2)),
4370
- (value = getOutlinedModel(
4371
- response,
4372
- value,
4373
- obj,
4374
- key,
4375
- createModel
4376
- )),
4377
- loadServerReference$1(
4378
- response,
4379
- value.id,
4380
- value.bound,
4381
- initializingChunk,
4382
- obj,
4383
- key
4384
- )
4618
+ getOutlinedModel(response, value, obj, key, loadServerReference$1)
4385
4619
  );
4386
4620
  case "T":
4387
4621
  if (
@@ -5060,32 +5294,31 @@
5060
5294
  ? flightChunk
5061
5295
  : webpackGetChunkFilename(chunkId);
5062
5296
  };
5063
- Chunk.prototype = Object.create(Promise.prototype);
5064
- Chunk.prototype.then = function (resolve, reject) {
5297
+ var RESPONSE_SYMBOL = Symbol();
5298
+ ReactPromise.prototype = Object.create(Promise.prototype);
5299
+ ReactPromise.prototype.then = function (resolve, reject) {
5065
5300
  switch (this.status) {
5066
5301
  case "resolved_model":
5067
5302
  initializeModelChunk(this);
5068
5303
  }
5069
5304
  switch (this.status) {
5070
5305
  case "fulfilled":
5071
- resolve(this.value);
5306
+ "function" === typeof resolve && resolve(this.value);
5072
5307
  break;
5073
5308
  case "pending":
5074
5309
  case "blocked":
5075
- case "cyclic":
5076
- resolve &&
5310
+ "function" === typeof resolve &&
5077
5311
  (null === this.value && (this.value = []),
5078
5312
  this.value.push(resolve));
5079
- reject &&
5313
+ "function" === typeof reject &&
5080
5314
  (null === this.reason && (this.reason = []),
5081
5315
  this.reason.push(reject));
5082
5316
  break;
5083
5317
  default:
5084
- reject(this.reason);
5318
+ "function" === typeof reject && reject(this.reason);
5085
5319
  }
5086
5320
  };
5087
- var initializingChunk = null,
5088
- initializingChunkBlockedModel = null;
5321
+ var initializingHandler = null;
5089
5322
  exports.createClientModuleProxy = function (moduleId) {
5090
5323
  moduleId = registerClientReferenceImpl({}, moduleId, !1);
5091
5324
  return new Proxy(moduleId, proxyHandlers$1);