react-server-dom-parcel 19.2.0 → 19.2.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.
@@ -31,7 +31,9 @@
31
31
  );
32
32
  }
33
33
  function requireModule(metadata) {
34
- return parcelRequire(metadata[0])[metadata[1]];
34
+ var moduleExports = parcelRequire(metadata[0]);
35
+ if (hasOwnProperty.call(moduleExports, metadata[1]))
36
+ return moduleExports[metadata[1]];
35
37
  }
36
38
  function _defineProperty(obj, key, value) {
37
39
  a: if ("object" == typeof key && key) {
@@ -3713,29 +3715,59 @@
3713
3715
  });
3714
3716
  enqueueFlush(request);
3715
3717
  }
3716
- function Chunk(status, value, reason, response) {
3718
+ function ReactPromise(status, value, reason) {
3717
3719
  this.status = status;
3718
3720
  this.value = value;
3719
3721
  this.reason = reason;
3720
- this._response = response;
3721
3722
  }
3722
- function createPendingChunk(response) {
3723
- return new Chunk("pending", null, null, response);
3723
+ function wakeChunk(response, listeners, value) {
3724
+ for (var i = 0; i < listeners.length; i++) {
3725
+ var listener = listeners[i];
3726
+ "function" === typeof listener
3727
+ ? listener(value)
3728
+ : fulfillReference(response, listener, value);
3729
+ }
3724
3730
  }
3725
- function wakeChunk(listeners, value) {
3726
- for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
3731
+ function rejectChunk(response, listeners, error) {
3732
+ for (var i = 0; i < listeners.length; i++) {
3733
+ var listener = listeners[i];
3734
+ "function" === typeof listener
3735
+ ? listener(error)
3736
+ : rejectReference(response, listener.handler, error);
3737
+ }
3727
3738
  }
3728
- function triggerErrorOnChunk(chunk, error) {
3739
+ function resolveBlockedCycle(resolvedChunk, reference) {
3740
+ var referencedChunk = reference.handler.chunk;
3741
+ if (null === referencedChunk) return null;
3742
+ if (referencedChunk === resolvedChunk) return reference.handler;
3743
+ reference = referencedChunk.value;
3744
+ if (null !== reference)
3745
+ for (
3746
+ referencedChunk = 0;
3747
+ referencedChunk < reference.length;
3748
+ referencedChunk++
3749
+ ) {
3750
+ var listener = reference[referencedChunk];
3751
+ if (
3752
+ "function" !== typeof listener &&
3753
+ ((listener = resolveBlockedCycle(resolvedChunk, listener)),
3754
+ null !== listener)
3755
+ )
3756
+ return listener;
3757
+ }
3758
+ return null;
3759
+ }
3760
+ function triggerErrorOnChunk(response, chunk, error) {
3729
3761
  if ("pending" !== chunk.status && "blocked" !== chunk.status)
3730
3762
  chunk.reason.error(error);
3731
3763
  else {
3732
3764
  var listeners = chunk.reason;
3733
3765
  chunk.status = "rejected";
3734
3766
  chunk.reason = error;
3735
- null !== listeners && wakeChunk(listeners, error);
3767
+ null !== listeners && rejectChunk(response, listeners, error);
3736
3768
  }
3737
3769
  }
3738
- function resolveModelChunk(chunk, value, id) {
3770
+ function resolveModelChunk(response, chunk, value, id) {
3739
3771
  if ("pending" !== chunk.status)
3740
3772
  (chunk = chunk.reason),
3741
3773
  "C" === value[0]
@@ -3746,42 +3778,74 @@
3746
3778
  rejectListeners = chunk.reason;
3747
3779
  chunk.status = "resolved_model";
3748
3780
  chunk.value = value;
3749
- chunk.reason = id;
3781
+ chunk.reason = _defineProperty({ id: id }, RESPONSE_SYMBOL, response);
3750
3782
  if (null !== resolveListeners)
3751
- switch ((initializeModelChunk(chunk), chunk.status)) {
3783
+ a: switch ((initializeModelChunk(chunk), chunk.status)) {
3752
3784
  case "fulfilled":
3753
- wakeChunk(resolveListeners, chunk.value);
3785
+ wakeChunk(response, resolveListeners, chunk.value);
3754
3786
  break;
3755
- case "pending":
3756
3787
  case "blocked":
3757
- case "cyclic":
3788
+ for (value = 0; value < resolveListeners.length; value++)
3789
+ if (
3790
+ ((id = resolveListeners[value]), "function" !== typeof id)
3791
+ ) {
3792
+ var cyclicHandler = resolveBlockedCycle(chunk, id);
3793
+ if (null !== cyclicHandler)
3794
+ switch (
3795
+ (fulfillReference(response, id, cyclicHandler.value),
3796
+ resolveListeners.splice(value, 1),
3797
+ value--,
3798
+ null !== rejectListeners &&
3799
+ ((id = rejectListeners.indexOf(id)),
3800
+ -1 !== id && rejectListeners.splice(id, 1)),
3801
+ chunk.status)
3802
+ ) {
3803
+ case "fulfilled":
3804
+ wakeChunk(response, resolveListeners, chunk.value);
3805
+ break a;
3806
+ case "rejected":
3807
+ null !== rejectListeners &&
3808
+ rejectChunk(response, rejectListeners, chunk.reason);
3809
+ break a;
3810
+ }
3811
+ }
3812
+ case "pending":
3758
3813
  if (chunk.value)
3759
- for (value = 0; value < resolveListeners.length; value++)
3760
- chunk.value.push(resolveListeners[value]);
3814
+ for (
3815
+ response = 0;
3816
+ response < resolveListeners.length;
3817
+ response++
3818
+ )
3819
+ chunk.value.push(resolveListeners[response]);
3761
3820
  else chunk.value = resolveListeners;
3762
3821
  if (chunk.reason) {
3763
3822
  if (rejectListeners)
3764
- for (value = 0; value < rejectListeners.length; value++)
3765
- chunk.reason.push(rejectListeners[value]);
3823
+ for (
3824
+ resolveListeners = 0;
3825
+ resolveListeners < rejectListeners.length;
3826
+ resolveListeners++
3827
+ )
3828
+ chunk.reason.push(rejectListeners[resolveListeners]);
3766
3829
  } else chunk.reason = rejectListeners;
3767
3830
  break;
3768
3831
  case "rejected":
3769
- rejectListeners && wakeChunk(rejectListeners, chunk.reason);
3832
+ rejectListeners &&
3833
+ wakeChunk(response, rejectListeners, chunk.reason);
3770
3834
  }
3771
3835
  }
3772
3836
  }
3773
3837
  function createResolvedIteratorResultChunk(response, value, done) {
3774
- return new Chunk(
3838
+ return new ReactPromise(
3775
3839
  "resolved_model",
3776
3840
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
3777
3841
  value +
3778
3842
  "}",
3779
- -1,
3780
- response
3843
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
3781
3844
  );
3782
3845
  }
3783
- function resolveIteratorResultChunk(chunk, value, done) {
3846
+ function resolveIteratorResultChunk(response, chunk, value, done) {
3784
3847
  resolveModelChunk(
3848
+ response,
3785
3849
  chunk,
3786
3850
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
3787
3851
  value +
@@ -3789,38 +3853,67 @@
3789
3853
  -1
3790
3854
  );
3791
3855
  }
3792
- function loadServerReference$1(
3793
- response,
3794
- id,
3795
- bound,
3796
- parentChunk,
3797
- parentObject,
3798
- key
3799
- ) {
3856
+ function loadServerReference$1(response, metaData, parentObject, key) {
3857
+ var id = metaData.id;
3858
+ if ("string" !== typeof id) return null;
3800
3859
  var serverReference = resolveServerReference(response._bundlerConfig, id);
3801
- id = preloadModule$1(serverReference);
3802
- if (bound)
3803
- bound = Promise.all([bound, id]).then(function (_ref) {
3804
- _ref = _ref[0];
3805
- var fn = requireModule(serverReference);
3806
- return fn.bind.apply(fn, [null].concat(_ref));
3807
- });
3808
- else if (id)
3809
- bound = Promise.resolve(id).then(function () {
3810
- return requireModule(serverReference);
3811
- });
3860
+ id = metaData.bound;
3861
+ var promise = preloadModule$1(serverReference);
3862
+ if (promise)
3863
+ id instanceof ReactPromise && (promise = Promise.all([promise, id]));
3864
+ else if (id instanceof ReactPromise) promise = Promise.resolve(id);
3812
3865
  else return requireModule(serverReference);
3813
- bound.then(
3814
- createModelResolver(
3815
- parentChunk,
3816
- parentObject,
3817
- key,
3818
- !1,
3819
- response,
3820
- createModel,
3821
- []
3822
- ),
3823
- createModelReject(parentChunk)
3866
+ if (initializingHandler) {
3867
+ var handler = initializingHandler;
3868
+ handler.deps++;
3869
+ } else
3870
+ handler = initializingHandler = {
3871
+ chunk: null,
3872
+ value: null,
3873
+ reason: null,
3874
+ deps: 1,
3875
+ errored: !1
3876
+ };
3877
+ promise.then(
3878
+ function () {
3879
+ var resolvedValue = requireModule(serverReference);
3880
+ if (metaData.bound) {
3881
+ var promiseValue = metaData.bound.value;
3882
+ promiseValue = Array.isArray(promiseValue)
3883
+ ? promiseValue.slice(0)
3884
+ : [];
3885
+ promiseValue.unshift(null);
3886
+ resolvedValue = resolvedValue.bind.apply(
3887
+ resolvedValue,
3888
+ promiseValue
3889
+ );
3890
+ }
3891
+ parentObject[key] = resolvedValue;
3892
+ "" === key &&
3893
+ null === handler.value &&
3894
+ (handler.value = resolvedValue);
3895
+ handler.deps--;
3896
+ 0 === handler.deps &&
3897
+ ((resolvedValue = handler.chunk),
3898
+ null !== resolvedValue &&
3899
+ "blocked" === resolvedValue.status &&
3900
+ ((promiseValue = resolvedValue.value),
3901
+ (resolvedValue.status = "fulfilled"),
3902
+ (resolvedValue.value = handler.value),
3903
+ null !== promiseValue &&
3904
+ wakeChunk(response, promiseValue, handler.value)));
3905
+ },
3906
+ function (error) {
3907
+ if (!handler.errored) {
3908
+ handler.errored = !0;
3909
+ handler.value = null;
3910
+ handler.reason = error;
3911
+ var chunk = handler.chunk;
3912
+ null !== chunk &&
3913
+ "blocked" === chunk.status &&
3914
+ triggerErrorOnChunk(response, chunk, error);
3915
+ }
3916
+ }
3824
3917
  );
3825
3918
  return null;
3826
3919
  }
@@ -3862,53 +3955,66 @@
3862
3955
  value[i],
3863
3956
  parentObj
3864
3957
  )),
3865
- void 0 !== parentObj ? (value[i] = parentObj) : delete value[i]);
3958
+ void 0 !== parentObj || "__proto__" === i
3959
+ ? (value[i] = parentObj)
3960
+ : delete value[i]);
3866
3961
  return value;
3867
3962
  }
3868
3963
  function initializeModelChunk(chunk) {
3869
- var prevChunk = initializingChunk,
3870
- prevBlocked = initializingChunkBlockedModel;
3871
- initializingChunk = chunk;
3872
- initializingChunkBlockedModel = null;
3873
- var rootReference =
3874
- -1 === chunk.reason ? void 0 : chunk.reason.toString(16),
3875
- resolvedModel = chunk.value;
3876
- chunk.status = "cyclic";
3964
+ var prevHandler = initializingHandler;
3965
+ initializingHandler = null;
3966
+ var _chunk$reason = chunk.reason,
3967
+ response = _chunk$reason[RESPONSE_SYMBOL];
3968
+ _chunk$reason = _chunk$reason.id;
3969
+ _chunk$reason =
3970
+ -1 === _chunk$reason ? void 0 : _chunk$reason.toString(16);
3971
+ var resolvedModel = chunk.value;
3972
+ chunk.status = "blocked";
3877
3973
  chunk.value = null;
3878
3974
  chunk.reason = null;
3879
3975
  try {
3880
3976
  var rawModel = JSON.parse(resolvedModel),
3881
3977
  value = reviveModel(
3882
- chunk._response,
3978
+ response,
3883
3979
  { "": rawModel },
3884
3980
  "",
3885
3981
  rawModel,
3886
- rootReference
3887
- );
3888
- if (
3889
- null !== initializingChunkBlockedModel &&
3890
- 0 < initializingChunkBlockedModel.deps
3891
- )
3892
- (initializingChunkBlockedModel.value = value),
3893
- (chunk.status = "blocked");
3894
- else {
3895
- var resolveListeners = chunk.value;
3896
- chunk.status = "fulfilled";
3897
- chunk.value = value;
3898
- null !== resolveListeners && wakeChunk(resolveListeners, value);
3982
+ _chunk$reason
3983
+ ),
3984
+ resolveListeners = chunk.value;
3985
+ if (null !== resolveListeners)
3986
+ for (
3987
+ chunk.value = null, chunk.reason = null, rawModel = 0;
3988
+ rawModel < resolveListeners.length;
3989
+ rawModel++
3990
+ ) {
3991
+ var listener = resolveListeners[rawModel];
3992
+ "function" === typeof listener
3993
+ ? listener(value)
3994
+ : fulfillReference(response, listener, value);
3995
+ }
3996
+ if (null !== initializingHandler) {
3997
+ if (initializingHandler.errored) throw initializingHandler.reason;
3998
+ if (0 < initializingHandler.deps) {
3999
+ initializingHandler.value = value;
4000
+ initializingHandler.chunk = chunk;
4001
+ return;
4002
+ }
3899
4003
  }
4004
+ chunk.status = "fulfilled";
4005
+ chunk.value = value;
3900
4006
  } catch (error) {
3901
4007
  (chunk.status = "rejected"), (chunk.reason = error);
3902
4008
  } finally {
3903
- (initializingChunk = prevChunk),
3904
- (initializingChunkBlockedModel = prevBlocked);
4009
+ initializingHandler = prevHandler;
3905
4010
  }
3906
4011
  }
3907
4012
  function reportGlobalError(response, error) {
3908
4013
  response._closed = !0;
3909
4014
  response._closedReason = error;
3910
4015
  response._chunks.forEach(function (chunk) {
3911
- "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
4016
+ "pending" === chunk.status &&
4017
+ triggerErrorOnChunk(response, chunk, error);
3912
4018
  });
3913
4019
  }
3914
4020
  function getChunk(response, id) {
@@ -3917,50 +4023,108 @@
3917
4023
  chunk ||
3918
4024
  ((chunk = response._formData.get(response._prefix + id)),
3919
4025
  (chunk =
3920
- null != chunk
3921
- ? new Chunk("resolved_model", chunk, id, response)
4026
+ "string" === typeof chunk
4027
+ ? new ReactPromise(
4028
+ "resolved_model",
4029
+ chunk,
4030
+ _defineProperty({ id: id }, RESPONSE_SYMBOL, response)
4031
+ )
3922
4032
  : response._closed
3923
- ? new Chunk("rejected", null, response._closedReason, response)
3924
- : createPendingChunk(response)),
4033
+ ? new ReactPromise("rejected", null, response._closedReason)
4034
+ : new ReactPromise("pending", null, null)),
3925
4035
  chunks.set(id, chunk));
3926
4036
  return chunk;
3927
4037
  }
3928
- function createModelResolver(
3929
- chunk,
4038
+ function fulfillReference(response, reference, value) {
4039
+ for (
4040
+ var handler = reference.handler,
4041
+ parentObject = reference.parentObject,
4042
+ key = reference.key,
4043
+ map = reference.map,
4044
+ path = reference.path,
4045
+ i = 1;
4046
+ i < path.length;
4047
+ i++
4048
+ ) {
4049
+ for (; value instanceof ReactPromise; ) {
4050
+ switch (value.status) {
4051
+ case "resolved_model":
4052
+ initializeModelChunk(value);
4053
+ }
4054
+ switch (value.status) {
4055
+ case "fulfilled":
4056
+ value = value.value;
4057
+ continue;
4058
+ case "blocked":
4059
+ case "pending":
4060
+ path.splice(0, i - 1);
4061
+ null === value.value
4062
+ ? (value.value = [reference])
4063
+ : value.value.push(reference);
4064
+ null === value.reason
4065
+ ? (value.reason = [reference])
4066
+ : value.reason.push(reference);
4067
+ return;
4068
+ default:
4069
+ rejectReference(response, reference.handler, value.reason);
4070
+ return;
4071
+ }
4072
+ }
4073
+ var name = path[i];
4074
+ "object" === typeof value &&
4075
+ hasOwnProperty.call(value, name) &&
4076
+ (value = value[name]);
4077
+ }
4078
+ reference = map(response, value, parentObject, key);
4079
+ parentObject[key] = reference;
4080
+ "" === key && null === handler.value && (handler.value = reference);
4081
+ handler.deps--;
4082
+ 0 === handler.deps &&
4083
+ ((parentObject = handler.chunk),
4084
+ null !== parentObject &&
4085
+ "blocked" === parentObject.status &&
4086
+ ((key = parentObject.value),
4087
+ (parentObject.status = "fulfilled"),
4088
+ (parentObject.value = handler.value),
4089
+ (parentObject.reason = handler.reason),
4090
+ null !== key && wakeChunk(response, key, handler.value)));
4091
+ }
4092
+ function rejectReference(response, handler, error) {
4093
+ handler.errored ||
4094
+ ((handler.errored = !0),
4095
+ (handler.value = null),
4096
+ (handler.reason = error),
4097
+ (handler = handler.chunk),
4098
+ null !== handler &&
4099
+ "blocked" === handler.status &&
4100
+ triggerErrorOnChunk(response, handler, error));
4101
+ }
4102
+ function waitForReference(
4103
+ referencedChunk,
3930
4104
  parentObject,
3931
4105
  key,
3932
- cyclic,
3933
4106
  response,
3934
4107
  map,
3935
4108
  path
3936
4109
  ) {
3937
- if (initializingChunkBlockedModel) {
3938
- var blocked = initializingChunkBlockedModel;
3939
- cyclic || blocked.deps++;
3940
- } else
3941
- blocked = initializingChunkBlockedModel = {
3942
- deps: cyclic ? 0 : 1,
3943
- value: null
3944
- };
3945
- return function (value) {
3946
- for (var i = 1; i < path.length; i++) value = value[path[i]];
3947
- parentObject[key] = map(response, value);
3948
- "" === key &&
3949
- null === blocked.value &&
3950
- (blocked.value = parentObject[key]);
3951
- blocked.deps--;
3952
- 0 === blocked.deps &&
3953
- "blocked" === chunk.status &&
3954
- ((value = chunk.value),
3955
- (chunk.status = "fulfilled"),
3956
- (chunk.value = blocked.value),
3957
- null !== value && wakeChunk(value, blocked.value));
3958
- };
3959
- }
3960
- function createModelReject(chunk) {
3961
- return function (error) {
3962
- return triggerErrorOnChunk(chunk, error);
4110
+ initializingHandler
4111
+ ? ((response = initializingHandler), response.deps++)
4112
+ : (response = initializingHandler =
4113
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
4114
+ parentObject = {
4115
+ handler: response,
4116
+ parentObject: parentObject,
4117
+ key: key,
4118
+ map: map,
4119
+ path: path
3963
4120
  };
4121
+ null === referencedChunk.value
4122
+ ? (referencedChunk.value = [parentObject])
4123
+ : referencedChunk.value.push(parentObject);
4124
+ null === referencedChunk.reason
4125
+ ? (referencedChunk.reason = [parentObject])
4126
+ : referencedChunk.reason.push(parentObject);
4127
+ return null;
3964
4128
  }
3965
4129
  function getOutlinedModel(response, reference, parentObject, key, map) {
3966
4130
  reference = reference.split(":");
@@ -3972,29 +4136,75 @@
3972
4136
  }
3973
4137
  switch (id.status) {
3974
4138
  case "fulfilled":
3975
- parentObject = id.value;
3976
- for (key = 1; key < reference.length; key++)
3977
- parentObject = parentObject[reference[key]];
3978
- return map(response, parentObject);
4139
+ var value = id.value;
4140
+ for (id = 1; id < reference.length; id++) {
4141
+ for (; value instanceof ReactPromise; ) {
4142
+ switch (value.status) {
4143
+ case "resolved_model":
4144
+ initializeModelChunk(value);
4145
+ }
4146
+ switch (value.status) {
4147
+ case "fulfilled":
4148
+ value = value.value;
4149
+ break;
4150
+ case "blocked":
4151
+ case "pending":
4152
+ return waitForReference(
4153
+ value,
4154
+ parentObject,
4155
+ key,
4156
+ response,
4157
+ map,
4158
+ reference.slice(id - 1)
4159
+ );
4160
+ default:
4161
+ return (
4162
+ initializingHandler
4163
+ ? ((initializingHandler.errored = !0),
4164
+ (initializingHandler.value = null),
4165
+ (initializingHandler.reason = value.reason))
4166
+ : (initializingHandler = {
4167
+ chunk: null,
4168
+ value: null,
4169
+ reason: value.reason,
4170
+ deps: 0,
4171
+ errored: !0
4172
+ }),
4173
+ null
4174
+ );
4175
+ }
4176
+ }
4177
+ var name = reference[id];
4178
+ "object" === typeof value &&
4179
+ hasOwnProperty.call(value, name) &&
4180
+ (value = value[name]);
4181
+ }
4182
+ return map(response, value, parentObject, key);
3979
4183
  case "pending":
3980
4184
  case "blocked":
3981
- case "cyclic":
3982
- var parentChunk = initializingChunk;
3983
- id.then(
3984
- createModelResolver(
3985
- parentChunk,
3986
- parentObject,
3987
- key,
3988
- "cyclic" === id.status,
3989
- response,
3990
- map,
3991
- reference
3992
- ),
3993
- createModelReject(parentChunk)
4185
+ return waitForReference(
4186
+ id,
4187
+ parentObject,
4188
+ key,
4189
+ response,
4190
+ map,
4191
+ reference
3994
4192
  );
3995
- return null;
3996
4193
  default:
3997
- throw id.reason;
4194
+ return (
4195
+ initializingHandler
4196
+ ? ((initializingHandler.errored = !0),
4197
+ (initializingHandler.value = null),
4198
+ (initializingHandler.reason = id.reason))
4199
+ : (initializingHandler = {
4200
+ chunk: null,
4201
+ value: null,
4202
+ reason: id.reason,
4203
+ deps: 0,
4204
+ errored: !0
4205
+ }),
4206
+ null
4207
+ );
3998
4208
  }
3999
4209
  }
4000
4210
  function createMap(response, model) {
@@ -4018,40 +4228,68 @@
4018
4228
  parentKey
4019
4229
  ) {
4020
4230
  reference = parseInt(reference.slice(2), 16);
4021
- reference = response._formData.get(response._prefix + reference);
4022
- reference =
4023
- constructor === ArrayBuffer
4024
- ? reference.arrayBuffer()
4025
- : reference.arrayBuffer().then(function (buffer) {
4026
- return new constructor(buffer);
4027
- });
4028
- bytesPerElement = initializingChunk;
4231
+ reference = response._formData
4232
+ .get(response._prefix + reference)
4233
+ .arrayBuffer();
4234
+ if (initializingHandler) {
4235
+ var handler = initializingHandler;
4236
+ handler.deps++;
4237
+ } else
4238
+ handler = initializingHandler = {
4239
+ chunk: null,
4240
+ value: null,
4241
+ reason: null,
4242
+ deps: 1,
4243
+ errored: !1
4244
+ };
4029
4245
  reference.then(
4030
- createModelResolver(
4031
- bytesPerElement,
4032
- parentObject,
4033
- parentKey,
4034
- !1,
4035
- response,
4036
- createModel,
4037
- []
4038
- ),
4039
- createModelReject(bytesPerElement)
4246
+ function (buffer) {
4247
+ buffer =
4248
+ constructor === ArrayBuffer ? buffer : new constructor(buffer);
4249
+ parentObject[parentKey] = buffer;
4250
+ "" === parentKey &&
4251
+ null === handler.value &&
4252
+ (handler.value = buffer);
4253
+ handler.deps--;
4254
+ if (
4255
+ 0 === handler.deps &&
4256
+ ((buffer = handler.chunk),
4257
+ null !== buffer && "blocked" === buffer.status)
4258
+ ) {
4259
+ var resolveListeners = buffer.value;
4260
+ buffer.status = "fulfilled";
4261
+ buffer.value = handler.value;
4262
+ null !== resolveListeners &&
4263
+ wakeChunk(response, resolveListeners, handler.value);
4264
+ }
4265
+ },
4266
+ function (error) {
4267
+ if (!handler.errored) {
4268
+ handler.errored = !0;
4269
+ handler.value = null;
4270
+ handler.reason = error;
4271
+ var chunk = handler.chunk;
4272
+ null !== chunk &&
4273
+ "blocked" === chunk.status &&
4274
+ triggerErrorOnChunk(response, chunk, error);
4275
+ }
4276
+ }
4040
4277
  );
4041
4278
  return null;
4042
4279
  }
4043
4280
  function resolveStream(response, id, stream, controller) {
4044
4281
  var chunks = response._chunks;
4045
- stream = new Chunk("fulfilled", stream, controller, response);
4282
+ stream = new ReactPromise("fulfilled", stream, controller);
4046
4283
  chunks.set(id, stream);
4047
4284
  response = response._formData.getAll(response._prefix + id);
4048
4285
  for (id = 0; id < response.length; id++)
4049
4286
  (chunks = response[id]),
4050
- "C" === chunks[0]
4051
- ? controller.close(
4052
- "C" === chunks ? '"$undefined"' : chunks.slice(1)
4053
- )
4054
- : controller.enqueueModel(chunks);
4287
+ "string" === typeof chunks &&
4288
+ ("C" === chunks[0]
4289
+ ? controller.close(
4290
+ "C" === chunks ? '"$undefined"' : chunks.slice(1)
4291
+ )
4292
+ : controller.enqueueModel(chunks));
4055
4293
  }
4056
4294
  function parseReadableStream(response, reference, type) {
4057
4295
  reference = parseInt(reference.slice(2), 16);
@@ -4066,7 +4304,11 @@
4066
4304
  resolveStream(response, reference, type, {
4067
4305
  enqueueModel: function (json) {
4068
4306
  if (null === previousBlockedChunk) {
4069
- var chunk = new Chunk("resolved_model", json, -1, response);
4307
+ var chunk = new ReactPromise(
4308
+ "resolved_model",
4309
+ json,
4310
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
4311
+ );
4070
4312
  initializeModelChunk(chunk);
4071
4313
  "fulfilled" === chunk.status
4072
4314
  ? controller.enqueue(chunk.value)
@@ -4081,7 +4323,7 @@
4081
4323
  (previousBlockedChunk = chunk));
4082
4324
  } else {
4083
4325
  chunk = previousBlockedChunk;
4084
- var _chunk = createPendingChunk(response);
4326
+ var _chunk = new ReactPromise("pending", null, null);
4085
4327
  _chunk.then(
4086
4328
  function (v) {
4087
4329
  return controller.enqueue(v);
@@ -4093,7 +4335,7 @@
4093
4335
  previousBlockedChunk = _chunk;
4094
4336
  chunk.then(function () {
4095
4337
  previousBlockedChunk === _chunk && (previousBlockedChunk = null);
4096
- resolveModelChunk(_chunk, json, -1);
4338
+ resolveModelChunk(response, _chunk, json, -1);
4097
4339
  });
4098
4340
  }
4099
4341
  },
@@ -4142,13 +4384,12 @@
4142
4384
  );
4143
4385
  if (nextReadIndex === buffer.length) {
4144
4386
  if (closed)
4145
- return new Chunk(
4387
+ return new ReactPromise(
4146
4388
  "fulfilled",
4147
4389
  { done: !0, value: void 0 },
4148
- null,
4149
- response
4390
+ null
4150
4391
  );
4151
- buffer[nextReadIndex] = createPendingChunk(response);
4392
+ buffer[nextReadIndex] = new ReactPromise("pending", null, null);
4152
4393
  }
4153
4394
  return buffer[nextReadIndex++];
4154
4395
  });
@@ -4162,7 +4403,12 @@
4162
4403
  value,
4163
4404
  !1
4164
4405
  ))
4165
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);
4406
+ : resolveIteratorResultChunk(
4407
+ response,
4408
+ buffer[nextWriteIndex],
4409
+ value,
4410
+ !1
4411
+ );
4166
4412
  nextWriteIndex++;
4167
4413
  },
4168
4414
  close: function (value) {
@@ -4173,9 +4419,15 @@
4173
4419
  value,
4174
4420
  !0
4175
4421
  ))
4176
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);
4422
+ : resolveIteratorResultChunk(
4423
+ response,
4424
+ buffer[nextWriteIndex],
4425
+ value,
4426
+ !0
4427
+ );
4177
4428
  for (nextWriteIndex++; nextWriteIndex < buffer.length; )
4178
4429
  resolveIteratorResultChunk(
4430
+ response,
4179
4431
  buffer[nextWriteIndex++],
4180
4432
  '"$undefined"',
4181
4433
  !0
@@ -4185,11 +4437,11 @@
4185
4437
  closed = !0;
4186
4438
  for (
4187
4439
  nextWriteIndex === buffer.length &&
4188
- (buffer[nextWriteIndex] = createPendingChunk(response));
4440
+ (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
4189
4441
  nextWriteIndex < buffer.length;
4190
4442
 
4191
4443
  )
4192
- triggerErrorOnChunk(buffer[nextWriteIndex++], error);
4444
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
4193
4445
  }
4194
4446
  });
4195
4447
  return iterator;
@@ -4206,21 +4458,7 @@
4206
4458
  case "F":
4207
4459
  return (
4208
4460
  (value = value.slice(2)),
4209
- (value = getOutlinedModel(
4210
- response,
4211
- value,
4212
- obj,
4213
- key,
4214
- createModel
4215
- )),
4216
- loadServerReference$1(
4217
- response,
4218
- value.id,
4219
- value.bound,
4220
- initializingChunk,
4221
- obj,
4222
- key
4223
- )
4461
+ getOutlinedModel(response, value, obj, key, loadServerReference$1)
4224
4462
  );
4225
4463
  case "T":
4226
4464
  if (
@@ -4513,6 +4751,7 @@
4513
4751
  decoderOptions = { stream: !0 },
4514
4752
  ReactDOMSharedInternals =
4515
4753
  ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
4754
+ hasOwnProperty = Object.prototype.hasOwnProperty,
4516
4755
  channel = new MessageChannel(),
4517
4756
  taskQueue = [];
4518
4757
  channel.port1.onmessage = function () {
@@ -4834,7 +5073,6 @@
4834
5073
  jsxPropsParents = new WeakMap(),
4835
5074
  jsxChildrenParents = new WeakMap(),
4836
5075
  CLIENT_REFERENCE_TAG = Symbol.for("react.client.reference"),
4837
- hasOwnProperty = Object.prototype.hasOwnProperty,
4838
5076
  doNotLimit = new WeakSet();
4839
5077
  "object" === typeof console &&
4840
5078
  null !== console &&
@@ -4864,33 +5102,32 @@
4864
5102
  CONSTRUCTOR_MARKER = Symbol(),
4865
5103
  debugModelRoot = null,
4866
5104
  debugNoOutline = null,
4867
- emptyRoot = {};
4868
- Chunk.prototype = Object.create(Promise.prototype);
4869
- Chunk.prototype.then = function (resolve, reject) {
5105
+ emptyRoot = {},
5106
+ RESPONSE_SYMBOL = Symbol();
5107
+ ReactPromise.prototype = Object.create(Promise.prototype);
5108
+ ReactPromise.prototype.then = function (resolve, reject) {
4870
5109
  switch (this.status) {
4871
5110
  case "resolved_model":
4872
5111
  initializeModelChunk(this);
4873
5112
  }
4874
5113
  switch (this.status) {
4875
5114
  case "fulfilled":
4876
- resolve(this.value);
5115
+ "function" === typeof resolve && resolve(this.value);
4877
5116
  break;
4878
5117
  case "pending":
4879
5118
  case "blocked":
4880
- case "cyclic":
4881
- resolve &&
5119
+ "function" === typeof resolve &&
4882
5120
  (null === this.value && (this.value = []),
4883
5121
  this.value.push(resolve));
4884
- reject &&
5122
+ "function" === typeof reject &&
4885
5123
  (null === this.reason && (this.reason = []),
4886
5124
  this.reason.push(reject));
4887
5125
  break;
4888
5126
  default:
4889
- reject(this.reason);
5127
+ "function" === typeof reject && reject(this.reason);
4890
5128
  }
4891
5129
  };
4892
- var initializingChunk = null,
4893
- initializingChunkBlockedModel = null,
5130
+ var initializingHandler = null,
4894
5131
  serverManifest = {};
4895
5132
  exports.createClientReference = function (
4896
5133
  id,