react-server-dom-parcel 19.1.2 → 19.1.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.
@@ -111,7 +111,14 @@ function bind() {
111
111
  }
112
112
  return newFn;
113
113
  }
114
- var ReactDOMSharedInternals =
114
+ var serverReferenceToString = {
115
+ value: function () {
116
+ return "function () { [omitted code] }";
117
+ },
118
+ configurable: !0,
119
+ writable: !0
120
+ },
121
+ ReactDOMSharedInternals =
115
122
  ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
116
123
  previousDispatcher = ReactDOMSharedInternals.d;
117
124
  ReactDOMSharedInternals.d = {
@@ -1405,7 +1412,7 @@ function renderModelDestructive(
1405
1412
  (task = request.writtenServerReferences),
1406
1413
  (parentPropertyName = task.get(value)),
1407
1414
  void 0 !== parentPropertyName
1408
- ? (request = "$F" + parentPropertyName.toString(16))
1415
+ ? (request = "$h" + parentPropertyName.toString(16))
1409
1416
  : ((parentPropertyName = value.$$bound),
1410
1417
  (parentPropertyName =
1411
1418
  null === parentPropertyName
@@ -1416,7 +1423,7 @@ function renderModelDestructive(
1416
1423
  bound: parentPropertyName
1417
1424
  })),
1418
1425
  task.set(value, request),
1419
- (request = "$F" + request.toString(16))),
1426
+ (request = "$h" + request.toString(16))),
1420
1427
  request
1421
1428
  );
1422
1429
  if (
@@ -1821,7 +1828,23 @@ ReactPromise.prototype.then = function (resolve, reject) {
1821
1828
  }
1822
1829
  switch (this.status) {
1823
1830
  case "fulfilled":
1824
- "function" === typeof resolve && resolve(this.value);
1831
+ if ("function" === typeof resolve) {
1832
+ for (
1833
+ var inspectedValue = this.value;
1834
+ inspectedValue instanceof ReactPromise;
1835
+
1836
+ ) {
1837
+ if (inspectedValue === this) {
1838
+ "function" === typeof reject &&
1839
+ reject(Error("Cannot have cyclic thenables."));
1840
+ return;
1841
+ }
1842
+ if ("fulfilled" === inspectedValue.status)
1843
+ inspectedValue = inspectedValue.value;
1844
+ else break;
1845
+ }
1846
+ resolve(this.value);
1847
+ }
1825
1848
  break;
1826
1849
  case "pending":
1827
1850
  case "blocked":
@@ -1973,7 +1996,7 @@ function resolveIteratorResultChunk(response, chunk, value, done) {
1973
1996
  }
1974
1997
  function loadServerReference$1(response, metaData, parentObject, key) {
1975
1998
  var id = metaData.id;
1976
- if ("string" !== typeof id) return null;
1999
+ if ("string" !== typeof id || "then" === key) return null;
1977
2000
  var serverReference = resolveServerReference(response._bundlerConfig, id);
1978
2001
  id = metaData.bound;
1979
2002
  var promise = preloadModule(serverReference);
@@ -2011,6 +2034,7 @@ function loadServerReference$1(response, metaData, parentObject, key) {
2011
2034
  ((promiseValue = resolvedValue.value),
2012
2035
  (resolvedValue.status = "fulfilled"),
2013
2036
  (resolvedValue.value = handler.value),
2037
+ (resolvedValue.reason = null),
2014
2038
  null !== promiseValue &&
2015
2039
  wakeChunk(response, promiseValue, handler.value)));
2016
2040
  },
@@ -2102,6 +2126,7 @@ function initializeModelChunk(chunk) {
2102
2126
  }
2103
2127
  chunk.status = "fulfilled";
2104
2128
  chunk.value = value;
2129
+ chunk.reason = null;
2105
2130
  } catch (error) {
2106
2131
  (chunk.status = "rejected"), (chunk.reason = error);
2107
2132
  } finally {
@@ -2112,7 +2137,11 @@ function reportGlobalError(response, error) {
2112
2137
  response._closed = !0;
2113
2138
  response._closedReason = error;
2114
2139
  response._chunks.forEach(function (chunk) {
2115
- "pending" === chunk.status && triggerErrorOnChunk(response, chunk, error);
2140
+ "pending" === chunk.status
2141
+ ? triggerErrorOnChunk(response, chunk, error)
2142
+ : "fulfilled" === chunk.status &&
2143
+ null !== chunk.reason &&
2144
+ chunk.reason.error(error);
2116
2145
  });
2117
2146
  }
2118
2147
  function getChunk(response, id) {
@@ -2130,58 +2159,39 @@ function getChunk(response, id) {
2130
2159
  return chunk;
2131
2160
  }
2132
2161
  function fulfillReference(response, reference, value) {
2133
- for (
2134
- var handler = reference.handler,
2135
- parentObject = reference.parentObject,
2136
- key = reference.key,
2137
- map = reference.map,
2138
- path = reference.path,
2139
- i = 1;
2140
- i < path.length;
2141
- i++
2142
- ) {
2143
- for (; value instanceof ReactPromise; ) {
2144
- switch (value.status) {
2145
- case "resolved_model":
2146
- initializeModelChunk(value);
2147
- }
2148
- switch (value.status) {
2149
- case "fulfilled":
2150
- value = value.value;
2151
- continue;
2152
- case "blocked":
2153
- case "pending":
2154
- path.splice(0, i - 1);
2155
- null === value.value
2156
- ? (value.value = [reference])
2157
- : value.value.push(reference);
2158
- null === value.reason
2159
- ? (value.reason = [reference])
2160
- : value.reason.push(reference);
2161
- return;
2162
- default:
2163
- rejectReference(response, reference.handler, value.reason);
2164
- return;
2165
- }
2162
+ var handler = reference.handler,
2163
+ parentObject = reference.parentObject,
2164
+ key = reference.key,
2165
+ map = reference.map,
2166
+ path = reference.path;
2167
+ try {
2168
+ for (var i = 1; i < path.length; i++) {
2169
+ var name = path[i];
2170
+ if (
2171
+ "object" !== typeof value ||
2172
+ !hasOwnProperty.call(value, name) ||
2173
+ value instanceof Promise
2174
+ )
2175
+ throw Error("Invalid reference.");
2176
+ value = value[name];
2166
2177
  }
2167
- var name = path[i];
2168
- "object" === typeof value &&
2169
- hasOwnProperty.call(value, name) &&
2170
- (value = value[name]);
2178
+ var mappedValue = map(response, value, parentObject, key);
2179
+ parentObject[key] = mappedValue;
2180
+ "" === key && null === handler.value && (handler.value = mappedValue);
2181
+ } catch (error) {
2182
+ rejectReference(response, reference.handler, error);
2183
+ return;
2171
2184
  }
2172
- reference = map(response, value, parentObject, key);
2173
- parentObject[key] = reference;
2174
- "" === key && null === handler.value && (handler.value = reference);
2175
2185
  handler.deps--;
2176
2186
  0 === handler.deps &&
2177
- ((parentObject = handler.chunk),
2178
- null !== parentObject &&
2179
- "blocked" === parentObject.status &&
2180
- ((key = parentObject.value),
2181
- (parentObject.status = "fulfilled"),
2182
- (parentObject.value = handler.value),
2183
- (parentObject.reason = handler.reason),
2184
- null !== key && wakeChunk(response, key, handler.value)));
2187
+ ((reference = handler.chunk),
2188
+ null !== reference &&
2189
+ "blocked" === reference.status &&
2190
+ ((value = reference.value),
2191
+ (reference.status = "fulfilled"),
2192
+ (reference.value = handler.value),
2193
+ (reference.reason = handler.reason),
2194
+ null !== value && wakeChunk(response, value, handler.value)));
2185
2195
  }
2186
2196
  function rejectReference(response, handler, error) {
2187
2197
  handler.errored ||
@@ -2193,33 +2203,6 @@ function rejectReference(response, handler, error) {
2193
2203
  "blocked" === handler.status &&
2194
2204
  triggerErrorOnChunk(response, handler, error));
2195
2205
  }
2196
- function waitForReference(
2197
- referencedChunk,
2198
- parentObject,
2199
- key,
2200
- response,
2201
- map,
2202
- path
2203
- ) {
2204
- initializingHandler
2205
- ? ((response = initializingHandler), response.deps++)
2206
- : (response = initializingHandler =
2207
- { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
2208
- parentObject = {
2209
- handler: response,
2210
- parentObject: parentObject,
2211
- key: key,
2212
- map: map,
2213
- path: path
2214
- };
2215
- null === referencedChunk.value
2216
- ? (referencedChunk.value = [parentObject])
2217
- : referencedChunk.value.push(parentObject);
2218
- null === referencedChunk.reason
2219
- ? (referencedChunk.reason = [parentObject])
2220
- : referencedChunk.reason.push(parentObject);
2221
- return null;
2222
- }
2223
2206
  function getOutlinedModel(response, reference, parentObject, key, map) {
2224
2207
  reference = reference.split(":");
2225
2208
  var id = parseInt(reference[0], 16);
@@ -2230,53 +2213,40 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
2230
2213
  }
2231
2214
  switch (id.status) {
2232
2215
  case "fulfilled":
2233
- var value = id.value;
2234
- for (id = 1; id < reference.length; id++) {
2235
- for (; value instanceof ReactPromise; ) {
2236
- switch (value.status) {
2237
- case "resolved_model":
2238
- initializeModelChunk(value);
2239
- }
2240
- switch (value.status) {
2241
- case "fulfilled":
2242
- value = value.value;
2243
- break;
2244
- case "blocked":
2245
- case "pending":
2246
- return waitForReference(
2247
- value,
2248
- parentObject,
2249
- key,
2250
- response,
2251
- map,
2252
- reference.slice(id - 1)
2253
- );
2254
- default:
2255
- return (
2256
- initializingHandler
2257
- ? ((initializingHandler.errored = !0),
2258
- (initializingHandler.value = null),
2259
- (initializingHandler.reason = value.reason))
2260
- : (initializingHandler = {
2261
- chunk: null,
2262
- value: null,
2263
- reason: value.reason,
2264
- deps: 0,
2265
- errored: !0
2266
- }),
2267
- null
2268
- );
2269
- }
2270
- }
2271
- var name = reference[id];
2272
- "object" === typeof value &&
2273
- hasOwnProperty.call(value, name) &&
2274
- (value = value[name]);
2216
+ id = id.value;
2217
+ for (var i = 1; i < reference.length; i++) {
2218
+ var name = reference[i];
2219
+ if (
2220
+ "object" !== typeof id ||
2221
+ !hasOwnProperty.call(id, name) ||
2222
+ id instanceof Promise
2223
+ )
2224
+ throw Error("Invalid reference.");
2225
+ id = id[name];
2275
2226
  }
2276
- return map(response, value, parentObject, key);
2227
+ return map(response, id, parentObject, key);
2277
2228
  case "pending":
2278
2229
  case "blocked":
2279
- return waitForReference(id, parentObject, key, response, map, reference);
2230
+ return (
2231
+ initializingHandler
2232
+ ? ((response = initializingHandler), response.deps++)
2233
+ : (response = initializingHandler =
2234
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 }),
2235
+ (parentObject = {
2236
+ handler: response,
2237
+ parentObject: parentObject,
2238
+ key: key,
2239
+ map: map,
2240
+ path: reference
2241
+ }),
2242
+ null === id.value
2243
+ ? (id.value = [parentObject])
2244
+ : id.value.push(parentObject),
2245
+ null === id.reason
2246
+ ? (id.reason = [parentObject])
2247
+ : id.reason.push(parentObject),
2248
+ null
2249
+ );
2280
2250
  default:
2281
2251
  return (
2282
2252
  initializingHandler
@@ -2303,8 +2273,8 @@ function createSet(response, model) {
2303
2273
  function extractIterator(response, model) {
2304
2274
  return model[Symbol.iterator]();
2305
2275
  }
2306
- function createModel(response, model) {
2307
- return model;
2276
+ function createModel(response, model, parentObject, key) {
2277
+ return "then" === key && "function" === typeof model ? null : model;
2308
2278
  }
2309
2279
  function parseTypedArray(
2310
2280
  response,
@@ -2315,9 +2285,10 @@ function parseTypedArray(
2315
2285
  parentKey
2316
2286
  ) {
2317
2287
  reference = parseInt(reference.slice(2), 16);
2318
- reference = response._formData
2319
- .get(response._prefix + reference)
2320
- .arrayBuffer();
2288
+ bytesPerElement = response._prefix + reference;
2289
+ if (response._chunks.has(reference))
2290
+ throw Error("Already initialized typed array.");
2291
+ reference = response._formData.get(bytesPerElement).arrayBuffer();
2321
2292
  if (initializingHandler) {
2322
2293
  var handler = initializingHandler;
2323
2294
  handler.deps++;
@@ -2343,6 +2314,7 @@ function parseTypedArray(
2343
2314
  var resolveListeners = buffer.value;
2344
2315
  buffer.status = "fulfilled";
2345
2316
  buffer.value = handler.value;
2317
+ buffer.reason = null;
2346
2318
  null !== resolveListeners &&
2347
2319
  wakeChunk(response, resolveListeners, handler.value);
2348
2320
  }
@@ -2375,7 +2347,10 @@ function resolveStream(response, id, stream, controller) {
2375
2347
  }
2376
2348
  function parseReadableStream(response, reference, type) {
2377
2349
  reference = parseInt(reference.slice(2), 16);
2378
- var controller = null;
2350
+ if (response._chunks.has(reference))
2351
+ throw Error("Already initialized stream.");
2352
+ var controller = null,
2353
+ closed = !1;
2379
2354
  type = new ReadableStream({
2380
2355
  type: type,
2381
2356
  start: function (c) {
@@ -2418,24 +2393,27 @@ function parseReadableStream(response, reference, type) {
2418
2393
  }
2419
2394
  },
2420
2395
  close: function () {
2421
- if (null === previousBlockedChunk) controller.close();
2422
- else {
2423
- var blockedChunk = previousBlockedChunk;
2424
- previousBlockedChunk = null;
2425
- blockedChunk.then(function () {
2426
- return controller.close();
2427
- });
2428
- }
2396
+ if (!closed)
2397
+ if (((closed = !0), null === previousBlockedChunk)) controller.close();
2398
+ else {
2399
+ var blockedChunk = previousBlockedChunk;
2400
+ previousBlockedChunk = null;
2401
+ blockedChunk.then(function () {
2402
+ return controller.close();
2403
+ });
2404
+ }
2429
2405
  },
2430
2406
  error: function (error) {
2431
- if (null === previousBlockedChunk) controller.error(error);
2432
- else {
2433
- var blockedChunk = previousBlockedChunk;
2434
- previousBlockedChunk = null;
2435
- blockedChunk.then(function () {
2436
- return controller.error(error);
2437
- });
2438
- }
2407
+ if (!closed)
2408
+ if (((closed = !0), null === previousBlockedChunk))
2409
+ controller.error(error);
2410
+ else {
2411
+ var blockedChunk = previousBlockedChunk;
2412
+ previousBlockedChunk = null;
2413
+ blockedChunk.then(function () {
2414
+ return controller.error(error);
2415
+ });
2416
+ }
2439
2417
  }
2440
2418
  });
2441
2419
  return type;
@@ -2450,6 +2428,8 @@ function createIterator(next) {
2450
2428
  }
2451
2429
  function parseAsyncIterable(response, reference, iterator) {
2452
2430
  reference = parseInt(reference.slice(2), 16);
2431
+ if (response._chunks.has(reference))
2432
+ throw Error("Already initialized stream.");
2453
2433
  var buffer = [],
2454
2434
  closed = !1,
2455
2435
  nextWriteIndex = 0,
@@ -2493,36 +2473,46 @@ function parseAsyncIterable(response, reference, iterator) {
2493
2473
  nextWriteIndex++;
2494
2474
  },
2495
2475
  close: function (value) {
2496
- closed = !0;
2497
- nextWriteIndex === buffer.length
2498
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2499
- response,
2500
- value,
2501
- !0
2502
- ))
2503
- : resolveIteratorResultChunk(
2476
+ if (!closed)
2477
+ for (
2478
+ closed = !0,
2479
+ nextWriteIndex === buffer.length
2480
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2481
+ response,
2482
+ value,
2483
+ !0
2484
+ ))
2485
+ : resolveIteratorResultChunk(
2486
+ response,
2487
+ buffer[nextWriteIndex],
2488
+ value,
2489
+ !0
2490
+ ),
2491
+ nextWriteIndex++;
2492
+ nextWriteIndex < buffer.length;
2493
+
2494
+ )
2495
+ resolveIteratorResultChunk(
2504
2496
  response,
2505
- buffer[nextWriteIndex],
2506
- value,
2497
+ buffer[nextWriteIndex++],
2498
+ '"$undefined"',
2507
2499
  !0
2508
2500
  );
2509
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
2510
- resolveIteratorResultChunk(
2511
- response,
2512
- buffer[nextWriteIndex++],
2513
- '"$undefined"',
2514
- !0
2515
- );
2516
2501
  },
2517
2502
  error: function (error) {
2518
- closed = !0;
2519
- for (
2520
- nextWriteIndex === buffer.length &&
2521
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
2522
- nextWriteIndex < buffer.length;
2503
+ if (!closed)
2504
+ for (
2505
+ closed = !0,
2506
+ nextWriteIndex === buffer.length &&
2507
+ (buffer[nextWriteIndex] = new ReactPromise(
2508
+ "pending",
2509
+ null,
2510
+ null
2511
+ ));
2512
+ nextWriteIndex < buffer.length;
2523
2513
 
2524
- )
2525
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2514
+ )
2515
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2526
2516
  }
2527
2517
  });
2528
2518
  return iterator;
@@ -2534,7 +2524,7 @@ function parseModelString(response, obj, key, value, reference) {
2534
2524
  return value.slice(1);
2535
2525
  case "@":
2536
2526
  return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
2537
- case "F":
2527
+ case "h":
2538
2528
  return (
2539
2529
  (value = value.slice(2)),
2540
2530
  getOutlinedModel(response, value, obj, key, loadServerReference$1)
@@ -2809,13 +2799,13 @@ exports.decodeReplyFromBusboy = function (busboyStream, options) {
2809
2799
  );
2810
2800
  else {
2811
2801
  pendingFiles++;
2812
- var JSCompiler_object_inline_chunks_230 = [];
2802
+ var JSCompiler_object_inline_chunks_240 = [];
2813
2803
  value.on("data", function (chunk) {
2814
- JSCompiler_object_inline_chunks_230.push(chunk);
2804
+ JSCompiler_object_inline_chunks_240.push(chunk);
2815
2805
  });
2816
2806
  value.on("end", function () {
2817
2807
  try {
2818
- var blob = new Blob(JSCompiler_object_inline_chunks_230, {
2808
+ var blob = new Blob(JSCompiler_object_inline_chunks_240, {
2819
2809
  type: mimeType
2820
2810
  });
2821
2811
  response._formData.append(name, blob, filename);
@@ -2864,7 +2854,8 @@ exports.registerServerReference = function (reference, id, exportName) {
2864
2854
  $$typeof: { value: SERVER_REFERENCE_TAG },
2865
2855
  $$id: { value: id + "#" + exportName, configurable: !0 },
2866
2856
  $$bound: { value: null, configurable: !0 },
2867
- bind: { value: bind, configurable: !0 }
2857
+ bind: { value: bind, configurable: !0 },
2858
+ toString: serverReferenceToString
2868
2859
  });
2869
2860
  };
2870
2861
  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.1.2",
4
+ "version": "19.1.3",
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.1.2",
82
- "react-dom": "^19.1.2"
81
+ "react": "^19.1.3",
82
+ "react-dom": "^19.1.3"
83
83
  }
84
84
  }