react-server-dom-parcel 19.1.2 → 19.1.4

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,24 @@ 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, cycleProtection = 0;
1834
+ inspectedValue instanceof ReactPromise;
1835
+
1836
+ ) {
1837
+ cycleProtection++;
1838
+ if (inspectedValue === this || 1e3 < cycleProtection) {
1839
+ "function" === typeof reject &&
1840
+ reject(Error("Cannot have cyclic thenables."));
1841
+ return;
1842
+ }
1843
+ if ("fulfilled" === inspectedValue.status)
1844
+ inspectedValue = inspectedValue.value;
1845
+ else break;
1846
+ }
1847
+ resolve(this.value);
1848
+ }
1825
1849
  break;
1826
1850
  case "pending":
1827
1851
  case "blocked":
@@ -1973,7 +1997,7 @@ function resolveIteratorResultChunk(response, chunk, value, done) {
1973
1997
  }
1974
1998
  function loadServerReference$1(response, metaData, parentObject, key) {
1975
1999
  var id = metaData.id;
1976
- if ("string" !== typeof id) return null;
2000
+ if ("string" !== typeof id || "then" === key) return null;
1977
2001
  var serverReference = resolveServerReference(response._bundlerConfig, id);
1978
2002
  id = metaData.bound;
1979
2003
  var promise = preloadModule(serverReference);
@@ -2011,6 +2035,7 @@ function loadServerReference$1(response, metaData, parentObject, key) {
2011
2035
  ((promiseValue = resolvedValue.value),
2012
2036
  (resolvedValue.status = "fulfilled"),
2013
2037
  (resolvedValue.value = handler.value),
2038
+ (resolvedValue.reason = null),
2014
2039
  null !== promiseValue &&
2015
2040
  wakeChunk(response, promiseValue, handler.value)));
2016
2041
  },
@@ -2102,6 +2127,7 @@ function initializeModelChunk(chunk) {
2102
2127
  }
2103
2128
  chunk.status = "fulfilled";
2104
2129
  chunk.value = value;
2130
+ chunk.reason = null;
2105
2131
  } catch (error) {
2106
2132
  (chunk.status = "rejected"), (chunk.reason = error);
2107
2133
  } finally {
@@ -2112,7 +2138,11 @@ function reportGlobalError(response, error) {
2112
2138
  response._closed = !0;
2113
2139
  response._closedReason = error;
2114
2140
  response._chunks.forEach(function (chunk) {
2115
- "pending" === chunk.status && triggerErrorOnChunk(response, chunk, error);
2141
+ "pending" === chunk.status
2142
+ ? triggerErrorOnChunk(response, chunk, error)
2143
+ : "fulfilled" === chunk.status &&
2144
+ null !== chunk.reason &&
2145
+ chunk.reason.error(error);
2116
2146
  });
2117
2147
  }
2118
2148
  function getChunk(response, id) {
@@ -2130,58 +2160,39 @@ function getChunk(response, id) {
2130
2160
  return chunk;
2131
2161
  }
2132
2162
  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
- }
2163
+ var handler = reference.handler,
2164
+ parentObject = reference.parentObject,
2165
+ key = reference.key,
2166
+ map = reference.map,
2167
+ path = reference.path;
2168
+ try {
2169
+ for (var i = 1; i < path.length; i++) {
2170
+ var name = path[i];
2171
+ if (
2172
+ "object" !== typeof value ||
2173
+ !hasOwnProperty.call(value, name) ||
2174
+ value instanceof Promise
2175
+ )
2176
+ throw Error("Invalid reference.");
2177
+ value = value[name];
2166
2178
  }
2167
- var name = path[i];
2168
- "object" === typeof value &&
2169
- hasOwnProperty.call(value, name) &&
2170
- (value = value[name]);
2179
+ var mappedValue = map(response, value, parentObject, key);
2180
+ parentObject[key] = mappedValue;
2181
+ "" === key && null === handler.value && (handler.value = mappedValue);
2182
+ } catch (error) {
2183
+ rejectReference(response, reference.handler, error);
2184
+ return;
2171
2185
  }
2172
- reference = map(response, value, parentObject, key);
2173
- parentObject[key] = reference;
2174
- "" === key && null === handler.value && (handler.value = reference);
2175
2186
  handler.deps--;
2176
2187
  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)));
2188
+ ((reference = handler.chunk),
2189
+ null !== reference &&
2190
+ "blocked" === reference.status &&
2191
+ ((value = reference.value),
2192
+ (reference.status = "fulfilled"),
2193
+ (reference.value = handler.value),
2194
+ (reference.reason = handler.reason),
2195
+ null !== value && wakeChunk(response, value, handler.value)));
2185
2196
  }
2186
2197
  function rejectReference(response, handler, error) {
2187
2198
  handler.errored ||
@@ -2193,33 +2204,6 @@ function rejectReference(response, handler, error) {
2193
2204
  "blocked" === handler.status &&
2194
2205
  triggerErrorOnChunk(response, handler, error));
2195
2206
  }
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
2207
  function getOutlinedModel(response, reference, parentObject, key, map) {
2224
2208
  reference = reference.split(":");
2225
2209
  var id = parseInt(reference[0], 16);
@@ -2230,53 +2214,40 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
2230
2214
  }
2231
2215
  switch (id.status) {
2232
2216
  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]);
2217
+ id = id.value;
2218
+ for (var i = 1; i < reference.length; i++) {
2219
+ var name = reference[i];
2220
+ if (
2221
+ "object" !== typeof id ||
2222
+ !hasOwnProperty.call(id, name) ||
2223
+ id instanceof Promise
2224
+ )
2225
+ throw Error("Invalid reference.");
2226
+ id = id[name];
2275
2227
  }
2276
- return map(response, value, parentObject, key);
2228
+ return map(response, id, parentObject, key);
2277
2229
  case "pending":
2278
2230
  case "blocked":
2279
- return waitForReference(id, parentObject, key, response, map, reference);
2231
+ return (
2232
+ initializingHandler
2233
+ ? ((response = initializingHandler), response.deps++)
2234
+ : (response = initializingHandler =
2235
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 }),
2236
+ (parentObject = {
2237
+ handler: response,
2238
+ parentObject: parentObject,
2239
+ key: key,
2240
+ map: map,
2241
+ path: reference
2242
+ }),
2243
+ null === id.value
2244
+ ? (id.value = [parentObject])
2245
+ : id.value.push(parentObject),
2246
+ null === id.reason
2247
+ ? (id.reason = [parentObject])
2248
+ : id.reason.push(parentObject),
2249
+ null
2250
+ );
2280
2251
  default:
2281
2252
  return (
2282
2253
  initializingHandler
@@ -2303,8 +2274,8 @@ function createSet(response, model) {
2303
2274
  function extractIterator(response, model) {
2304
2275
  return model[Symbol.iterator]();
2305
2276
  }
2306
- function createModel(response, model) {
2307
- return model;
2277
+ function createModel(response, model, parentObject, key) {
2278
+ return "then" === key && "function" === typeof model ? null : model;
2308
2279
  }
2309
2280
  function parseTypedArray(
2310
2281
  response,
@@ -2315,9 +2286,10 @@ function parseTypedArray(
2315
2286
  parentKey
2316
2287
  ) {
2317
2288
  reference = parseInt(reference.slice(2), 16);
2318
- reference = response._formData
2319
- .get(response._prefix + reference)
2320
- .arrayBuffer();
2289
+ bytesPerElement = response._prefix + reference;
2290
+ if (response._chunks.has(reference))
2291
+ throw Error("Already initialized typed array.");
2292
+ reference = response._formData.get(bytesPerElement).arrayBuffer();
2321
2293
  if (initializingHandler) {
2322
2294
  var handler = initializingHandler;
2323
2295
  handler.deps++;
@@ -2343,6 +2315,7 @@ function parseTypedArray(
2343
2315
  var resolveListeners = buffer.value;
2344
2316
  buffer.status = "fulfilled";
2345
2317
  buffer.value = handler.value;
2318
+ buffer.reason = null;
2346
2319
  null !== resolveListeners &&
2347
2320
  wakeChunk(response, resolveListeners, handler.value);
2348
2321
  }
@@ -2375,7 +2348,10 @@ function resolveStream(response, id, stream, controller) {
2375
2348
  }
2376
2349
  function parseReadableStream(response, reference, type) {
2377
2350
  reference = parseInt(reference.slice(2), 16);
2378
- var controller = null;
2351
+ if (response._chunks.has(reference))
2352
+ throw Error("Already initialized stream.");
2353
+ var controller = null,
2354
+ closed = !1;
2379
2355
  type = new ReadableStream({
2380
2356
  type: type,
2381
2357
  start: function (c) {
@@ -2418,24 +2394,27 @@ function parseReadableStream(response, reference, type) {
2418
2394
  }
2419
2395
  },
2420
2396
  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
- }
2397
+ if (!closed)
2398
+ if (((closed = !0), null === previousBlockedChunk)) controller.close();
2399
+ else {
2400
+ var blockedChunk = previousBlockedChunk;
2401
+ previousBlockedChunk = null;
2402
+ blockedChunk.then(function () {
2403
+ return controller.close();
2404
+ });
2405
+ }
2429
2406
  },
2430
2407
  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
- }
2408
+ if (!closed)
2409
+ if (((closed = !0), null === previousBlockedChunk))
2410
+ controller.error(error);
2411
+ else {
2412
+ var blockedChunk = previousBlockedChunk;
2413
+ previousBlockedChunk = null;
2414
+ blockedChunk.then(function () {
2415
+ return controller.error(error);
2416
+ });
2417
+ }
2439
2418
  }
2440
2419
  });
2441
2420
  return type;
@@ -2450,6 +2429,8 @@ function createIterator(next) {
2450
2429
  }
2451
2430
  function parseAsyncIterable(response, reference, iterator) {
2452
2431
  reference = parseInt(reference.slice(2), 16);
2432
+ if (response._chunks.has(reference))
2433
+ throw Error("Already initialized stream.");
2453
2434
  var buffer = [],
2454
2435
  closed = !1,
2455
2436
  nextWriteIndex = 0,
@@ -2493,36 +2474,46 @@ function parseAsyncIterable(response, reference, iterator) {
2493
2474
  nextWriteIndex++;
2494
2475
  },
2495
2476
  close: function (value) {
2496
- closed = !0;
2497
- nextWriteIndex === buffer.length
2498
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2499
- response,
2500
- value,
2501
- !0
2502
- ))
2503
- : resolveIteratorResultChunk(
2477
+ if (!closed)
2478
+ for (
2479
+ closed = !0,
2480
+ nextWriteIndex === buffer.length
2481
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2482
+ response,
2483
+ value,
2484
+ !0
2485
+ ))
2486
+ : resolveIteratorResultChunk(
2487
+ response,
2488
+ buffer[nextWriteIndex],
2489
+ value,
2490
+ !0
2491
+ ),
2492
+ nextWriteIndex++;
2493
+ nextWriteIndex < buffer.length;
2494
+
2495
+ )
2496
+ resolveIteratorResultChunk(
2504
2497
  response,
2505
- buffer[nextWriteIndex],
2506
- value,
2498
+ buffer[nextWriteIndex++],
2499
+ '"$undefined"',
2507
2500
  !0
2508
2501
  );
2509
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
2510
- resolveIteratorResultChunk(
2511
- response,
2512
- buffer[nextWriteIndex++],
2513
- '"$undefined"',
2514
- !0
2515
- );
2516
2502
  },
2517
2503
  error: function (error) {
2518
- closed = !0;
2519
- for (
2520
- nextWriteIndex === buffer.length &&
2521
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
2522
- nextWriteIndex < buffer.length;
2504
+ if (!closed)
2505
+ for (
2506
+ closed = !0,
2507
+ nextWriteIndex === buffer.length &&
2508
+ (buffer[nextWriteIndex] = new ReactPromise(
2509
+ "pending",
2510
+ null,
2511
+ null
2512
+ ));
2513
+ nextWriteIndex < buffer.length;
2523
2514
 
2524
- )
2525
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2515
+ )
2516
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2526
2517
  }
2527
2518
  });
2528
2519
  return iterator;
@@ -2534,7 +2525,7 @@ function parseModelString(response, obj, key, value, reference) {
2534
2525
  return value.slice(1);
2535
2526
  case "@":
2536
2527
  return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
2537
- case "F":
2528
+ case "h":
2538
2529
  return (
2539
2530
  (value = value.slice(2)),
2540
2531
  getOutlinedModel(response, value, obj, key, loadServerReference$1)
@@ -2809,13 +2800,13 @@ exports.decodeReplyFromBusboy = function (busboyStream, options) {
2809
2800
  );
2810
2801
  else {
2811
2802
  pendingFiles++;
2812
- var JSCompiler_object_inline_chunks_230 = [];
2803
+ var JSCompiler_object_inline_chunks_240 = [];
2813
2804
  value.on("data", function (chunk) {
2814
- JSCompiler_object_inline_chunks_230.push(chunk);
2805
+ JSCompiler_object_inline_chunks_240.push(chunk);
2815
2806
  });
2816
2807
  value.on("end", function () {
2817
2808
  try {
2818
- var blob = new Blob(JSCompiler_object_inline_chunks_230, {
2809
+ var blob = new Blob(JSCompiler_object_inline_chunks_240, {
2819
2810
  type: mimeType
2820
2811
  });
2821
2812
  response._formData.append(name, blob, filename);
@@ -2864,7 +2855,8 @@ exports.registerServerReference = function (reference, id, exportName) {
2864
2855
  $$typeof: { value: SERVER_REFERENCE_TAG },
2865
2856
  $$id: { value: id + "#" + exportName, configurable: !0 },
2866
2857
  $$bound: { value: null, configurable: !0 },
2867
- bind: { value: bind, configurable: !0 }
2858
+ bind: { value: bind, configurable: !0 },
2859
+ toString: serverReferenceToString
2868
2860
  });
2869
2861
  };
2870
2862
  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.4",
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.4",
82
+ "react-dom": "^19.1.4"
83
83
  }
84
84
  }