react-server-dom-parcel 19.2.1 → 19.2.2

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.
@@ -2274,7 +2274,7 @@
2274
2274
  function serializeServerReference(request, serverReference) {
2275
2275
  var writtenServerReferences = request.writtenServerReferences,
2276
2276
  existingId = writtenServerReferences.get(serverReference);
2277
- if (void 0 !== existingId) return "$F" + existingId.toString(16);
2277
+ if (void 0 !== existingId) return "$h" + existingId.toString(16);
2278
2278
  existingId = serverReference.$$bound;
2279
2279
  existingId = null === existingId ? null : Promise.resolve(existingId);
2280
2280
  var id = serverReference.$$id,
@@ -2300,7 +2300,7 @@
2300
2300
  : { id: id, bound: existingId };
2301
2301
  request = outlineModel(request, existingId);
2302
2302
  writtenServerReferences.set(serverReference, request);
2303
- return "$F" + request.toString(16);
2303
+ return "$h" + request.toString(16);
2304
2304
  }
2305
2305
  function serializeLargeTextString(request, text) {
2306
2306
  request.pendingChunks++;
@@ -4333,7 +4333,7 @@
4333
4333
  }
4334
4334
  function loadServerReference$1(response, metaData, parentObject, key) {
4335
4335
  var id = metaData.id;
4336
- if ("string" !== typeof id) return null;
4336
+ if ("string" !== typeof id || "then" === key) return null;
4337
4337
  var serverReference = resolveServerReference(response._bundlerConfig, id);
4338
4338
  id = metaData.bound;
4339
4339
  var promise = preloadModule(serverReference);
@@ -4378,6 +4378,7 @@
4378
4378
  ((promiseValue = resolvedValue.value),
4379
4379
  (resolvedValue.status = "fulfilled"),
4380
4380
  (resolvedValue.value = handler.value),
4381
+ (resolvedValue.reason = null),
4381
4382
  null !== promiseValue &&
4382
4383
  wakeChunk(response, promiseValue, handler.value)));
4383
4384
  },
@@ -4481,6 +4482,7 @@
4481
4482
  }
4482
4483
  chunk.status = "fulfilled";
4483
4484
  chunk.value = value;
4485
+ chunk.reason = null;
4484
4486
  } catch (error) {
4485
4487
  (chunk.status = "rejected"), (chunk.reason = error);
4486
4488
  } finally {
@@ -4491,8 +4493,11 @@
4491
4493
  response._closed = !0;
4492
4494
  response._closedReason = error;
4493
4495
  response._chunks.forEach(function (chunk) {
4494
- "pending" === chunk.status &&
4495
- triggerErrorOnChunk(response, chunk, error);
4496
+ "pending" === chunk.status
4497
+ ? triggerErrorOnChunk(response, chunk, error)
4498
+ : "fulfilled" === chunk.status &&
4499
+ null !== chunk.reason &&
4500
+ chunk.reason.error(error);
4496
4501
  });
4497
4502
  }
4498
4503
  function getChunk(response, id) {
@@ -4514,58 +4519,39 @@
4514
4519
  return chunk;
4515
4520
  }
4516
4521
  function fulfillReference(response, reference, value) {
4517
- for (
4518
- var handler = reference.handler,
4519
- parentObject = reference.parentObject,
4520
- key = reference.key,
4521
- map = reference.map,
4522
- path = reference.path,
4523
- i = 1;
4524
- i < path.length;
4525
- i++
4526
- ) {
4527
- for (; value instanceof ReactPromise; ) {
4528
- switch (value.status) {
4529
- case "resolved_model":
4530
- initializeModelChunk(value);
4531
- }
4532
- switch (value.status) {
4533
- case "fulfilled":
4534
- value = value.value;
4535
- continue;
4536
- case "blocked":
4537
- case "pending":
4538
- path.splice(0, i - 1);
4539
- null === value.value
4540
- ? (value.value = [reference])
4541
- : value.value.push(reference);
4542
- null === value.reason
4543
- ? (value.reason = [reference])
4544
- : value.reason.push(reference);
4545
- return;
4546
- default:
4547
- rejectReference(response, reference.handler, value.reason);
4548
- return;
4549
- }
4522
+ var handler = reference.handler,
4523
+ parentObject = reference.parentObject,
4524
+ key = reference.key,
4525
+ map = reference.map,
4526
+ path = reference.path;
4527
+ try {
4528
+ for (var i = 1; i < path.length; i++) {
4529
+ var name = path[i];
4530
+ if (
4531
+ "object" !== typeof value ||
4532
+ !hasOwnProperty.call(value, name) ||
4533
+ value instanceof Promise
4534
+ )
4535
+ throw Error("Invalid reference.");
4536
+ value = value[name];
4550
4537
  }
4551
- var name = path[i];
4552
- "object" === typeof value &&
4553
- hasOwnProperty.call(value, name) &&
4554
- (value = value[name]);
4538
+ var mappedValue = map(response, value, parentObject, key);
4539
+ parentObject[key] = mappedValue;
4540
+ "" === key && null === handler.value && (handler.value = mappedValue);
4541
+ } catch (error) {
4542
+ rejectReference(response, reference.handler, error);
4543
+ return;
4555
4544
  }
4556
- reference = map(response, value, parentObject, key);
4557
- parentObject[key] = reference;
4558
- "" === key && null === handler.value && (handler.value = reference);
4559
4545
  handler.deps--;
4560
4546
  0 === handler.deps &&
4561
- ((parentObject = handler.chunk),
4562
- null !== parentObject &&
4563
- "blocked" === parentObject.status &&
4564
- ((key = parentObject.value),
4565
- (parentObject.status = "fulfilled"),
4566
- (parentObject.value = handler.value),
4567
- (parentObject.reason = handler.reason),
4568
- null !== key && wakeChunk(response, key, handler.value)));
4547
+ ((reference = handler.chunk),
4548
+ null !== reference &&
4549
+ "blocked" === reference.status &&
4550
+ ((value = reference.value),
4551
+ (reference.status = "fulfilled"),
4552
+ (reference.value = handler.value),
4553
+ (reference.reason = handler.reason),
4554
+ null !== value && wakeChunk(response, value, handler.value)));
4569
4555
  }
4570
4556
  function rejectReference(response, handler, error) {
4571
4557
  handler.errored ||
@@ -4577,33 +4563,6 @@
4577
4563
  "blocked" === handler.status &&
4578
4564
  triggerErrorOnChunk(response, handler, error));
4579
4565
  }
4580
- function waitForReference(
4581
- referencedChunk,
4582
- parentObject,
4583
- key,
4584
- response,
4585
- map,
4586
- path
4587
- ) {
4588
- initializingHandler
4589
- ? ((response = initializingHandler), response.deps++)
4590
- : (response = initializingHandler =
4591
- { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
4592
- parentObject = {
4593
- handler: response,
4594
- parentObject: parentObject,
4595
- key: key,
4596
- map: map,
4597
- path: path
4598
- };
4599
- null === referencedChunk.value
4600
- ? (referencedChunk.value = [parentObject])
4601
- : referencedChunk.value.push(parentObject);
4602
- null === referencedChunk.reason
4603
- ? (referencedChunk.reason = [parentObject])
4604
- : referencedChunk.reason.push(parentObject);
4605
- return null;
4606
- }
4607
4566
  function getOutlinedModel(response, reference, parentObject, key, map) {
4608
4567
  reference = reference.split(":");
4609
4568
  var id = parseInt(reference[0], 16);
@@ -4614,59 +4573,45 @@
4614
4573
  }
4615
4574
  switch (id.status) {
4616
4575
  case "fulfilled":
4617
- var value = id.value;
4618
- for (id = 1; id < reference.length; id++) {
4619
- for (; value instanceof ReactPromise; ) {
4620
- switch (value.status) {
4621
- case "resolved_model":
4622
- initializeModelChunk(value);
4623
- }
4624
- switch (value.status) {
4625
- case "fulfilled":
4626
- value = value.value;
4627
- break;
4628
- case "blocked":
4629
- case "pending":
4630
- return waitForReference(
4631
- value,
4632
- parentObject,
4633
- key,
4634
- response,
4635
- map,
4636
- reference.slice(id - 1)
4637
- );
4638
- default:
4639
- return (
4640
- initializingHandler
4641
- ? ((initializingHandler.errored = !0),
4642
- (initializingHandler.value = null),
4643
- (initializingHandler.reason = value.reason))
4644
- : (initializingHandler = {
4645
- chunk: null,
4646
- value: null,
4647
- reason: value.reason,
4648
- deps: 0,
4649
- errored: !0
4650
- }),
4651
- null
4652
- );
4653
- }
4654
- }
4655
- var name = reference[id];
4656
- "object" === typeof value &&
4657
- hasOwnProperty.call(value, name) &&
4658
- (value = value[name]);
4576
+ id = id.value;
4577
+ for (var i = 1; i < reference.length; i++) {
4578
+ var name = reference[i];
4579
+ if (
4580
+ "object" !== typeof id ||
4581
+ !hasOwnProperty.call(id, name) ||
4582
+ id instanceof Promise
4583
+ )
4584
+ throw Error("Invalid reference.");
4585
+ id = id[name];
4659
4586
  }
4660
- return map(response, value, parentObject, key);
4587
+ return map(response, id, parentObject, key);
4661
4588
  case "pending":
4662
4589
  case "blocked":
4663
- return waitForReference(
4664
- id,
4665
- parentObject,
4666
- key,
4667
- response,
4668
- map,
4669
- reference
4590
+ return (
4591
+ initializingHandler
4592
+ ? ((response = initializingHandler), response.deps++)
4593
+ : (response = initializingHandler =
4594
+ {
4595
+ chunk: null,
4596
+ value: null,
4597
+ reason: null,
4598
+ deps: 1,
4599
+ errored: !1
4600
+ }),
4601
+ (parentObject = {
4602
+ handler: response,
4603
+ parentObject: parentObject,
4604
+ key: key,
4605
+ map: map,
4606
+ path: reference
4607
+ }),
4608
+ null === id.value
4609
+ ? (id.value = [parentObject])
4610
+ : id.value.push(parentObject),
4611
+ null === id.reason
4612
+ ? (id.reason = [parentObject])
4613
+ : id.reason.push(parentObject),
4614
+ null
4670
4615
  );
4671
4616
  default:
4672
4617
  return (
@@ -4694,8 +4639,8 @@
4694
4639
  function extractIterator(response, model) {
4695
4640
  return model[Symbol.iterator]();
4696
4641
  }
4697
- function createModel(response, model) {
4698
- return model;
4642
+ function createModel(response, model, parentObject, key) {
4643
+ return "then" === key && "function" === typeof model ? null : model;
4699
4644
  }
4700
4645
  function parseTypedArray(
4701
4646
  response,
@@ -4706,9 +4651,10 @@
4706
4651
  parentKey
4707
4652
  ) {
4708
4653
  reference = parseInt(reference.slice(2), 16);
4709
- reference = response._formData
4710
- .get(response._prefix + reference)
4711
- .arrayBuffer();
4654
+ bytesPerElement = response._prefix + reference;
4655
+ if (response._chunks.has(reference))
4656
+ throw Error("Already initialized typed array.");
4657
+ reference = response._formData.get(bytesPerElement).arrayBuffer();
4712
4658
  if (initializingHandler) {
4713
4659
  var handler = initializingHandler;
4714
4660
  handler.deps++;
@@ -4737,6 +4683,7 @@
4737
4683
  var resolveListeners = buffer.value;
4738
4684
  buffer.status = "fulfilled";
4739
4685
  buffer.value = handler.value;
4686
+ buffer.reason = null;
4740
4687
  null !== resolveListeners &&
4741
4688
  wakeChunk(response, resolveListeners, handler.value);
4742
4689
  }
@@ -4771,7 +4718,10 @@
4771
4718
  }
4772
4719
  function parseReadableStream(response, reference, type) {
4773
4720
  reference = parseInt(reference.slice(2), 16);
4774
- var controller = null;
4721
+ if (response._chunks.has(reference))
4722
+ throw Error("Already initialized stream.");
4723
+ var controller = null,
4724
+ closed = !1;
4775
4725
  type = new ReadableStream({
4776
4726
  type: type,
4777
4727
  start: function (c) {
@@ -4818,24 +4768,28 @@
4818
4768
  }
4819
4769
  },
4820
4770
  close: function () {
4821
- if (null === previousBlockedChunk) controller.close();
4822
- else {
4823
- var blockedChunk = previousBlockedChunk;
4824
- previousBlockedChunk = null;
4825
- blockedChunk.then(function () {
4826
- return controller.close();
4827
- });
4828
- }
4771
+ if (!closed)
4772
+ if (((closed = !0), null === previousBlockedChunk))
4773
+ controller.close();
4774
+ else {
4775
+ var blockedChunk = previousBlockedChunk;
4776
+ previousBlockedChunk = null;
4777
+ blockedChunk.then(function () {
4778
+ return controller.close();
4779
+ });
4780
+ }
4829
4781
  },
4830
4782
  error: function (error) {
4831
- if (null === previousBlockedChunk) controller.error(error);
4832
- else {
4833
- var blockedChunk = previousBlockedChunk;
4834
- previousBlockedChunk = null;
4835
- blockedChunk.then(function () {
4836
- return controller.error(error);
4837
- });
4838
- }
4783
+ if (!closed)
4784
+ if (((closed = !0), null === previousBlockedChunk))
4785
+ controller.error(error);
4786
+ else {
4787
+ var blockedChunk = previousBlockedChunk;
4788
+ previousBlockedChunk = null;
4789
+ blockedChunk.then(function () {
4790
+ return controller.error(error);
4791
+ });
4792
+ }
4839
4793
  }
4840
4794
  });
4841
4795
  return type;
@@ -4850,6 +4804,8 @@
4850
4804
  }
4851
4805
  function parseAsyncIterable(response, reference, iterator) {
4852
4806
  reference = parseInt(reference.slice(2), 16);
4807
+ if (response._chunks.has(reference))
4808
+ throw Error("Already initialized stream.");
4853
4809
  var buffer = [],
4854
4810
  closed = !1,
4855
4811
  nextWriteIndex = 0,
@@ -4890,36 +4846,46 @@
4890
4846
  nextWriteIndex++;
4891
4847
  },
4892
4848
  close: function (value) {
4893
- closed = !0;
4894
- nextWriteIndex === buffer.length
4895
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
4896
- response,
4897
- value,
4898
- !0
4899
- ))
4900
- : resolveIteratorResultChunk(
4849
+ if (!closed)
4850
+ for (
4851
+ closed = !0,
4852
+ nextWriteIndex === buffer.length
4853
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
4854
+ response,
4855
+ value,
4856
+ !0
4857
+ ))
4858
+ : resolveIteratorResultChunk(
4859
+ response,
4860
+ buffer[nextWriteIndex],
4861
+ value,
4862
+ !0
4863
+ ),
4864
+ nextWriteIndex++;
4865
+ nextWriteIndex < buffer.length;
4866
+
4867
+ )
4868
+ resolveIteratorResultChunk(
4901
4869
  response,
4902
- buffer[nextWriteIndex],
4903
- value,
4870
+ buffer[nextWriteIndex++],
4871
+ '"$undefined"',
4904
4872
  !0
4905
4873
  );
4906
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
4907
- resolveIteratorResultChunk(
4908
- response,
4909
- buffer[nextWriteIndex++],
4910
- '"$undefined"',
4911
- !0
4912
- );
4913
4874
  },
4914
4875
  error: function (error) {
4915
- closed = !0;
4916
- for (
4917
- nextWriteIndex === buffer.length &&
4918
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
4919
- nextWriteIndex < buffer.length;
4876
+ if (!closed)
4877
+ for (
4878
+ closed = !0,
4879
+ nextWriteIndex === buffer.length &&
4880
+ (buffer[nextWriteIndex] = new ReactPromise(
4881
+ "pending",
4882
+ null,
4883
+ null
4884
+ ));
4885
+ nextWriteIndex < buffer.length;
4920
4886
 
4921
- )
4922
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
4887
+ )
4888
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
4923
4889
  }
4924
4890
  });
4925
4891
  return iterator;
@@ -4933,7 +4899,7 @@
4933
4899
  return (
4934
4900
  (obj = parseInt(value.slice(2), 16)), getChunk(response, obj)
4935
4901
  );
4936
- case "F":
4902
+ case "h":
4937
4903
  return (
4938
4904
  (value = value.slice(2)),
4939
4905
  getOutlinedModel(response, value, obj, key, loadServerReference$1)
@@ -5313,6 +5279,13 @@
5313
5279
  SERVER_REFERENCE_TAG = Symbol.for("react.server.reference"),
5314
5280
  FunctionBind = Function.prototype.bind,
5315
5281
  ArraySlice = Array.prototype.slice,
5282
+ serverReferenceToString = {
5283
+ value: function () {
5284
+ return "function () { [omitted code] }";
5285
+ },
5286
+ configurable: !0,
5287
+ writable: !0
5288
+ },
5316
5289
  ReactDOMSharedInternals =
5317
5290
  ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
5318
5291
  previousDispatcher = ReactDOMSharedInternals.d;
@@ -5813,7 +5786,23 @@
5813
5786
  }
5814
5787
  switch (this.status) {
5815
5788
  case "fulfilled":
5816
- "function" === typeof resolve && resolve(this.value);
5789
+ if ("function" === typeof resolve) {
5790
+ for (
5791
+ var inspectedValue = this.value;
5792
+ inspectedValue instanceof ReactPromise;
5793
+
5794
+ ) {
5795
+ if (inspectedValue === this) {
5796
+ "function" === typeof reject &&
5797
+ reject(Error("Cannot have cyclic thenables."));
5798
+ return;
5799
+ }
5800
+ if ("fulfilled" === inspectedValue.status)
5801
+ inspectedValue = inspectedValue.value;
5802
+ else break;
5803
+ }
5804
+ resolve(this.value);
5805
+ }
5817
5806
  break;
5818
5807
  case "pending":
5819
5808
  case "blocked":
@@ -5924,13 +5913,13 @@
5924
5913
  );
5925
5914
  else {
5926
5915
  pendingFiles++;
5927
- var JSCompiler_object_inline_chunks_253 = [];
5916
+ var JSCompiler_object_inline_chunks_263 = [];
5928
5917
  value.on("data", function (chunk) {
5929
- JSCompiler_object_inline_chunks_253.push(chunk);
5918
+ JSCompiler_object_inline_chunks_263.push(chunk);
5930
5919
  });
5931
5920
  value.on("end", function () {
5932
5921
  try {
5933
- var blob = new Blob(JSCompiler_object_inline_chunks_253, {
5922
+ var blob = new Blob(JSCompiler_object_inline_chunks_263, {
5934
5923
  type: mimeType
5935
5924
  });
5936
5925
  response._formData.append(name, blob, filename);
@@ -6068,7 +6057,8 @@
6068
6057
  $$id: { value: id + "#" + exportName, configurable: !0 },
6069
6058
  $$bound: { value: null, configurable: !0 },
6070
6059
  $$location: { value: Error("react-stack-top-frame"), configurable: !0 },
6071
- bind: { value: bind, configurable: !0 }
6060
+ bind: { value: bind, configurable: !0 },
6061
+ toString: serverReferenceToString
6072
6062
  });
6073
6063
  };
6074
6064
  exports.renderToPipeableStream = function (model, options) {