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.
@@ -131,7 +131,14 @@ function bind() {
131
131
  }
132
132
  return newFn;
133
133
  }
134
- var ReactDOMSharedInternals =
134
+ var serverReferenceToString = {
135
+ value: function () {
136
+ return "function () { [omitted code] }";
137
+ },
138
+ configurable: !0,
139
+ writable: !0
140
+ },
141
+ ReactDOMSharedInternals =
135
142
  ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
136
143
  previousDispatcher = ReactDOMSharedInternals.d;
137
144
  ReactDOMSharedInternals.d = {
@@ -1588,7 +1595,7 @@ function renderModelDestructive(
1588
1595
  (task = request.writtenServerReferences),
1589
1596
  (parentPropertyName = task.get(value)),
1590
1597
  void 0 !== parentPropertyName
1591
- ? (request = "$F" + parentPropertyName.toString(16))
1598
+ ? (request = "$h" + parentPropertyName.toString(16))
1592
1599
  : ((parentPropertyName = value.$$bound),
1593
1600
  (parentPropertyName =
1594
1601
  null === parentPropertyName
@@ -1600,7 +1607,7 @@ function renderModelDestructive(
1600
1607
  0
1601
1608
  )),
1602
1609
  task.set(value, request),
1603
- (request = "$F" + request.toString(16))),
1610
+ (request = "$h" + request.toString(16))),
1604
1611
  request
1605
1612
  );
1606
1613
  if (
@@ -2071,7 +2078,23 @@ ReactPromise.prototype.then = function (resolve, reject) {
2071
2078
  }
2072
2079
  switch (this.status) {
2073
2080
  case "fulfilled":
2074
- "function" === typeof resolve && resolve(this.value);
2081
+ if ("function" === typeof resolve) {
2082
+ for (
2083
+ var inspectedValue = this.value;
2084
+ inspectedValue instanceof ReactPromise;
2085
+
2086
+ ) {
2087
+ if (inspectedValue === this) {
2088
+ "function" === typeof reject &&
2089
+ reject(Error("Cannot have cyclic thenables."));
2090
+ return;
2091
+ }
2092
+ if ("fulfilled" === inspectedValue.status)
2093
+ inspectedValue = inspectedValue.value;
2094
+ else break;
2095
+ }
2096
+ resolve(this.value);
2097
+ }
2075
2098
  break;
2076
2099
  case "pending":
2077
2100
  case "blocked":
@@ -2223,7 +2246,7 @@ function resolveIteratorResultChunk(response, chunk, value, done) {
2223
2246
  }
2224
2247
  function loadServerReference$1(response, metaData, parentObject, key) {
2225
2248
  var id = metaData.id;
2226
- if ("string" !== typeof id) return null;
2249
+ if ("string" !== typeof id || "then" === key) return null;
2227
2250
  var serverReference = resolveServerReference(response._bundlerConfig, id);
2228
2251
  id = metaData.bound;
2229
2252
  var promise = preloadModule(serverReference);
@@ -2261,6 +2284,7 @@ function loadServerReference$1(response, metaData, parentObject, key) {
2261
2284
  ((promiseValue = resolvedValue.value),
2262
2285
  (resolvedValue.status = "fulfilled"),
2263
2286
  (resolvedValue.value = handler.value),
2287
+ (resolvedValue.reason = null),
2264
2288
  null !== promiseValue &&
2265
2289
  wakeChunk(response, promiseValue, handler.value)));
2266
2290
  },
@@ -2352,6 +2376,7 @@ function initializeModelChunk(chunk) {
2352
2376
  }
2353
2377
  chunk.status = "fulfilled";
2354
2378
  chunk.value = value;
2379
+ chunk.reason = null;
2355
2380
  } catch (error) {
2356
2381
  (chunk.status = "rejected"), (chunk.reason = error);
2357
2382
  } finally {
@@ -2362,7 +2387,11 @@ function reportGlobalError(response, error) {
2362
2387
  response._closed = !0;
2363
2388
  response._closedReason = error;
2364
2389
  response._chunks.forEach(function (chunk) {
2365
- "pending" === chunk.status && triggerErrorOnChunk(response, chunk, error);
2390
+ "pending" === chunk.status
2391
+ ? triggerErrorOnChunk(response, chunk, error)
2392
+ : "fulfilled" === chunk.status &&
2393
+ null !== chunk.reason &&
2394
+ chunk.reason.error(error);
2366
2395
  });
2367
2396
  }
2368
2397
  function getChunk(response, id) {
@@ -2380,58 +2409,39 @@ function getChunk(response, id) {
2380
2409
  return chunk;
2381
2410
  }
2382
2411
  function fulfillReference(response, reference, value) {
2383
- for (
2384
- var handler = reference.handler,
2385
- parentObject = reference.parentObject,
2386
- key = reference.key,
2387
- map = reference.map,
2388
- path = reference.path,
2389
- i = 1;
2390
- i < path.length;
2391
- i++
2392
- ) {
2393
- for (; value instanceof ReactPromise; ) {
2394
- switch (value.status) {
2395
- case "resolved_model":
2396
- initializeModelChunk(value);
2397
- }
2398
- switch (value.status) {
2399
- case "fulfilled":
2400
- value = value.value;
2401
- continue;
2402
- case "blocked":
2403
- case "pending":
2404
- path.splice(0, i - 1);
2405
- null === value.value
2406
- ? (value.value = [reference])
2407
- : value.value.push(reference);
2408
- null === value.reason
2409
- ? (value.reason = [reference])
2410
- : value.reason.push(reference);
2411
- return;
2412
- default:
2413
- rejectReference(response, reference.handler, value.reason);
2414
- return;
2415
- }
2412
+ var handler = reference.handler,
2413
+ parentObject = reference.parentObject,
2414
+ key = reference.key,
2415
+ map = reference.map,
2416
+ path = reference.path;
2417
+ try {
2418
+ for (var i = 1; i < path.length; i++) {
2419
+ var name = path[i];
2420
+ if (
2421
+ "object" !== typeof value ||
2422
+ !hasOwnProperty.call(value, name) ||
2423
+ value instanceof Promise
2424
+ )
2425
+ throw Error("Invalid reference.");
2426
+ value = value[name];
2416
2427
  }
2417
- var name = path[i];
2418
- "object" === typeof value &&
2419
- hasOwnProperty.call(value, name) &&
2420
- (value = value[name]);
2428
+ var mappedValue = map(response, value, parentObject, key);
2429
+ parentObject[key] = mappedValue;
2430
+ "" === key && null === handler.value && (handler.value = mappedValue);
2431
+ } catch (error) {
2432
+ rejectReference(response, reference.handler, error);
2433
+ return;
2421
2434
  }
2422
- reference = map(response, value, parentObject, key);
2423
- parentObject[key] = reference;
2424
- "" === key && null === handler.value && (handler.value = reference);
2425
2435
  handler.deps--;
2426
2436
  0 === handler.deps &&
2427
- ((parentObject = handler.chunk),
2428
- null !== parentObject &&
2429
- "blocked" === parentObject.status &&
2430
- ((key = parentObject.value),
2431
- (parentObject.status = "fulfilled"),
2432
- (parentObject.value = handler.value),
2433
- (parentObject.reason = handler.reason),
2434
- null !== key && wakeChunk(response, key, handler.value)));
2437
+ ((reference = handler.chunk),
2438
+ null !== reference &&
2439
+ "blocked" === reference.status &&
2440
+ ((value = reference.value),
2441
+ (reference.status = "fulfilled"),
2442
+ (reference.value = handler.value),
2443
+ (reference.reason = handler.reason),
2444
+ null !== value && wakeChunk(response, value, handler.value)));
2435
2445
  }
2436
2446
  function rejectReference(response, handler, error) {
2437
2447
  handler.errored ||
@@ -2443,33 +2453,6 @@ function rejectReference(response, handler, error) {
2443
2453
  "blocked" === handler.status &&
2444
2454
  triggerErrorOnChunk(response, handler, error));
2445
2455
  }
2446
- function waitForReference(
2447
- referencedChunk,
2448
- parentObject,
2449
- key,
2450
- response,
2451
- map,
2452
- path
2453
- ) {
2454
- initializingHandler
2455
- ? ((response = initializingHandler), response.deps++)
2456
- : (response = initializingHandler =
2457
- { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
2458
- parentObject = {
2459
- handler: response,
2460
- parentObject: parentObject,
2461
- key: key,
2462
- map: map,
2463
- path: path
2464
- };
2465
- null === referencedChunk.value
2466
- ? (referencedChunk.value = [parentObject])
2467
- : referencedChunk.value.push(parentObject);
2468
- null === referencedChunk.reason
2469
- ? (referencedChunk.reason = [parentObject])
2470
- : referencedChunk.reason.push(parentObject);
2471
- return null;
2472
- }
2473
2456
  function getOutlinedModel(response, reference, parentObject, key, map) {
2474
2457
  reference = reference.split(":");
2475
2458
  var id = parseInt(reference[0], 16);
@@ -2480,53 +2463,40 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
2480
2463
  }
2481
2464
  switch (id.status) {
2482
2465
  case "fulfilled":
2483
- var value = id.value;
2484
- for (id = 1; id < reference.length; id++) {
2485
- for (; value instanceof ReactPromise; ) {
2486
- switch (value.status) {
2487
- case "resolved_model":
2488
- initializeModelChunk(value);
2489
- }
2490
- switch (value.status) {
2491
- case "fulfilled":
2492
- value = value.value;
2493
- break;
2494
- case "blocked":
2495
- case "pending":
2496
- return waitForReference(
2497
- value,
2498
- parentObject,
2499
- key,
2500
- response,
2501
- map,
2502
- reference.slice(id - 1)
2503
- );
2504
- default:
2505
- return (
2506
- initializingHandler
2507
- ? ((initializingHandler.errored = !0),
2508
- (initializingHandler.value = null),
2509
- (initializingHandler.reason = value.reason))
2510
- : (initializingHandler = {
2511
- chunk: null,
2512
- value: null,
2513
- reason: value.reason,
2514
- deps: 0,
2515
- errored: !0
2516
- }),
2517
- null
2518
- );
2519
- }
2520
- }
2521
- var name = reference[id];
2522
- "object" === typeof value &&
2523
- hasOwnProperty.call(value, name) &&
2524
- (value = value[name]);
2466
+ id = id.value;
2467
+ for (var i = 1; i < reference.length; i++) {
2468
+ var name = reference[i];
2469
+ if (
2470
+ "object" !== typeof id ||
2471
+ !hasOwnProperty.call(id, name) ||
2472
+ id instanceof Promise
2473
+ )
2474
+ throw Error("Invalid reference.");
2475
+ id = id[name];
2525
2476
  }
2526
- return map(response, value, parentObject, key);
2477
+ return map(response, id, parentObject, key);
2527
2478
  case "pending":
2528
2479
  case "blocked":
2529
- return waitForReference(id, parentObject, key, response, map, reference);
2480
+ return (
2481
+ initializingHandler
2482
+ ? ((response = initializingHandler), response.deps++)
2483
+ : (response = initializingHandler =
2484
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 }),
2485
+ (parentObject = {
2486
+ handler: response,
2487
+ parentObject: parentObject,
2488
+ key: key,
2489
+ map: map,
2490
+ path: reference
2491
+ }),
2492
+ null === id.value
2493
+ ? (id.value = [parentObject])
2494
+ : id.value.push(parentObject),
2495
+ null === id.reason
2496
+ ? (id.reason = [parentObject])
2497
+ : id.reason.push(parentObject),
2498
+ null
2499
+ );
2530
2500
  default:
2531
2501
  return (
2532
2502
  initializingHandler
@@ -2553,8 +2523,8 @@ function createSet(response, model) {
2553
2523
  function extractIterator(response, model) {
2554
2524
  return model[Symbol.iterator]();
2555
2525
  }
2556
- function createModel(response, model) {
2557
- return model;
2526
+ function createModel(response, model, parentObject, key) {
2527
+ return "then" === key && "function" === typeof model ? null : model;
2558
2528
  }
2559
2529
  function parseTypedArray(
2560
2530
  response,
@@ -2565,9 +2535,10 @@ function parseTypedArray(
2565
2535
  parentKey
2566
2536
  ) {
2567
2537
  reference = parseInt(reference.slice(2), 16);
2568
- reference = response._formData
2569
- .get(response._prefix + reference)
2570
- .arrayBuffer();
2538
+ bytesPerElement = response._prefix + reference;
2539
+ if (response._chunks.has(reference))
2540
+ throw Error("Already initialized typed array.");
2541
+ reference = response._formData.get(bytesPerElement).arrayBuffer();
2571
2542
  if (initializingHandler) {
2572
2543
  var handler = initializingHandler;
2573
2544
  handler.deps++;
@@ -2593,6 +2564,7 @@ function parseTypedArray(
2593
2564
  var resolveListeners = buffer.value;
2594
2565
  buffer.status = "fulfilled";
2595
2566
  buffer.value = handler.value;
2567
+ buffer.reason = null;
2596
2568
  null !== resolveListeners &&
2597
2569
  wakeChunk(response, resolveListeners, handler.value);
2598
2570
  }
@@ -2625,7 +2597,10 @@ function resolveStream(response, id, stream, controller) {
2625
2597
  }
2626
2598
  function parseReadableStream(response, reference, type) {
2627
2599
  reference = parseInt(reference.slice(2), 16);
2628
- var controller = null;
2600
+ if (response._chunks.has(reference))
2601
+ throw Error("Already initialized stream.");
2602
+ var controller = null,
2603
+ closed = !1;
2629
2604
  type = new ReadableStream({
2630
2605
  type: type,
2631
2606
  start: function (c) {
@@ -2668,24 +2643,27 @@ function parseReadableStream(response, reference, type) {
2668
2643
  }
2669
2644
  },
2670
2645
  close: function () {
2671
- if (null === previousBlockedChunk) controller.close();
2672
- else {
2673
- var blockedChunk = previousBlockedChunk;
2674
- previousBlockedChunk = null;
2675
- blockedChunk.then(function () {
2676
- return controller.close();
2677
- });
2678
- }
2646
+ if (!closed)
2647
+ if (((closed = !0), null === previousBlockedChunk)) controller.close();
2648
+ else {
2649
+ var blockedChunk = previousBlockedChunk;
2650
+ previousBlockedChunk = null;
2651
+ blockedChunk.then(function () {
2652
+ return controller.close();
2653
+ });
2654
+ }
2679
2655
  },
2680
2656
  error: function (error) {
2681
- if (null === previousBlockedChunk) controller.error(error);
2682
- else {
2683
- var blockedChunk = previousBlockedChunk;
2684
- previousBlockedChunk = null;
2685
- blockedChunk.then(function () {
2686
- return controller.error(error);
2687
- });
2688
- }
2657
+ if (!closed)
2658
+ if (((closed = !0), null === previousBlockedChunk))
2659
+ controller.error(error);
2660
+ else {
2661
+ var blockedChunk = previousBlockedChunk;
2662
+ previousBlockedChunk = null;
2663
+ blockedChunk.then(function () {
2664
+ return controller.error(error);
2665
+ });
2666
+ }
2689
2667
  }
2690
2668
  });
2691
2669
  return type;
@@ -2700,6 +2678,8 @@ function createIterator(next) {
2700
2678
  }
2701
2679
  function parseAsyncIterable(response, reference, iterator) {
2702
2680
  reference = parseInt(reference.slice(2), 16);
2681
+ if (response._chunks.has(reference))
2682
+ throw Error("Already initialized stream.");
2703
2683
  var buffer = [],
2704
2684
  closed = !1,
2705
2685
  nextWriteIndex = 0,
@@ -2743,36 +2723,46 @@ function parseAsyncIterable(response, reference, iterator) {
2743
2723
  nextWriteIndex++;
2744
2724
  },
2745
2725
  close: function (value) {
2746
- closed = !0;
2747
- nextWriteIndex === buffer.length
2748
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2726
+ if (!closed)
2727
+ for (
2728
+ closed = !0,
2729
+ nextWriteIndex === buffer.length
2730
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2731
+ response,
2732
+ value,
2733
+ !0
2734
+ ))
2735
+ : resolveIteratorResultChunk(
2736
+ response,
2737
+ buffer[nextWriteIndex],
2738
+ value,
2739
+ !0
2740
+ ),
2741
+ nextWriteIndex++;
2742
+ nextWriteIndex < buffer.length;
2743
+
2744
+ )
2745
+ resolveIteratorResultChunk(
2749
2746
  response,
2750
- value,
2751
- !0
2752
- ))
2753
- : resolveIteratorResultChunk(
2754
- response,
2755
- buffer[nextWriteIndex],
2756
- value,
2747
+ buffer[nextWriteIndex++],
2748
+ '"$undefined"',
2757
2749
  !0
2758
2750
  );
2759
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
2760
- resolveIteratorResultChunk(
2761
- response,
2762
- buffer[nextWriteIndex++],
2763
- '"$undefined"',
2764
- !0
2765
- );
2766
2751
  },
2767
2752
  error: function (error) {
2768
- closed = !0;
2769
- for (
2770
- nextWriteIndex === buffer.length &&
2771
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
2772
- nextWriteIndex < buffer.length;
2753
+ if (!closed)
2754
+ for (
2755
+ closed = !0,
2756
+ nextWriteIndex === buffer.length &&
2757
+ (buffer[nextWriteIndex] = new ReactPromise(
2758
+ "pending",
2759
+ null,
2760
+ null
2761
+ ));
2762
+ nextWriteIndex < buffer.length;
2773
2763
 
2774
- )
2775
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2764
+ )
2765
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2776
2766
  }
2777
2767
  });
2778
2768
  return iterator;
@@ -2784,7 +2774,7 @@ function parseModelString(response, obj, key, value, reference) {
2784
2774
  return value.slice(1);
2785
2775
  case "@":
2786
2776
  return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
2787
- case "F":
2777
+ case "h":
2788
2778
  return (
2789
2779
  (value = value.slice(2)),
2790
2780
  getOutlinedModel(response, value, obj, key, loadServerReference$1)
@@ -3103,13 +3093,13 @@ exports.decodeReplyFromBusboy = function (busboyStream, options) {
3103
3093
  );
3104
3094
  else {
3105
3095
  pendingFiles++;
3106
- var JSCompiler_object_inline_chunks_277 = [];
3096
+ var JSCompiler_object_inline_chunks_287 = [];
3107
3097
  value.on("data", function (chunk) {
3108
- JSCompiler_object_inline_chunks_277.push(chunk);
3098
+ JSCompiler_object_inline_chunks_287.push(chunk);
3109
3099
  });
3110
3100
  value.on("end", function () {
3111
3101
  try {
3112
- var blob = new Blob(JSCompiler_object_inline_chunks_277, {
3102
+ var blob = new Blob(JSCompiler_object_inline_chunks_287, {
3113
3103
  type: mimeType
3114
3104
  });
3115
3105
  response._formData.append(name, blob, filename);
@@ -3240,7 +3230,8 @@ exports.registerServerReference = function (reference, id, exportName) {
3240
3230
  $$typeof: { value: SERVER_REFERENCE_TAG },
3241
3231
  $$id: { value: id + "#" + exportName, configurable: !0 },
3242
3232
  $$bound: { value: null, configurable: !0 },
3243
- bind: { value: bind, configurable: !0 }
3233
+ bind: { value: bind, configurable: !0 },
3234
+ toString: serverReferenceToString
3244
3235
  });
3245
3236
  };
3246
3237
  exports.renderToPipeableStream = function (model, options) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-server-dom-parcel",
3
3
  "description": "React Server Components bindings for DOM using Parcel. This is intended to be integrated into meta-frameworks. It is not intended to be imported directly.",
4
- "version": "19.2.1",
4
+ "version": "19.2.2",
5
5
  "keywords": [
6
6
  "react"
7
7
  ],
@@ -78,7 +78,7 @@
78
78
  "node": ">=0.10.0"
79
79
  },
80
80
  "peerDependencies": {
81
- "react": "^19.2.1",
82
- "react-dom": "^19.2.1"
81
+ "react": "^19.2.2",
82
+ "react-dom": "^19.2.2"
83
83
  }
84
84
  }