react-server-dom-webpack 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.
@@ -1571,7 +1571,7 @@
1571
1571
  function serializeServerReference(request, serverReference) {
1572
1572
  var writtenServerReferences = request.writtenServerReferences,
1573
1573
  existingId = writtenServerReferences.get(serverReference);
1574
- if (void 0 !== existingId) return "$F" + existingId.toString(16);
1574
+ if (void 0 !== existingId) return "$h" + existingId.toString(16);
1575
1575
  existingId = serverReference.$$bound;
1576
1576
  existingId = null === existingId ? null : Promise.resolve(existingId);
1577
1577
  var id = serverReference.$$id,
@@ -1595,7 +1595,7 @@
1595
1595
  : { id: id, bound: existingId };
1596
1596
  request = outlineModel(request, existingId);
1597
1597
  writtenServerReferences.set(serverReference, request);
1598
- return "$F" + request.toString(16);
1598
+ return "$h" + request.toString(16);
1599
1599
  }
1600
1600
  function serializeLargeTextString(request, text) {
1601
1601
  request.pendingChunks++;
@@ -2944,7 +2944,7 @@
2944
2944
  }
2945
2945
  function loadServerReference$1(response, metaData, parentObject, key) {
2946
2946
  var id = metaData.id;
2947
- if ("string" !== typeof id) return null;
2947
+ if ("string" !== typeof id || "then" === key) return null;
2948
2948
  var serverReference = resolveServerReference(response._bundlerConfig, id);
2949
2949
  id = metaData.bound;
2950
2950
  var promise = preloadModule(serverReference);
@@ -2989,6 +2989,7 @@
2989
2989
  ((promiseValue = resolvedValue.value),
2990
2990
  (resolvedValue.status = "fulfilled"),
2991
2991
  (resolvedValue.value = handler.value),
2992
+ (resolvedValue.reason = null),
2992
2993
  null !== promiseValue &&
2993
2994
  wakeChunk(response, promiseValue, handler.value)));
2994
2995
  },
@@ -3092,6 +3093,7 @@
3092
3093
  }
3093
3094
  chunk.status = "fulfilled";
3094
3095
  chunk.value = value;
3096
+ chunk.reason = null;
3095
3097
  } catch (error) {
3096
3098
  (chunk.status = "rejected"), (chunk.reason = error);
3097
3099
  } finally {
@@ -3102,8 +3104,11 @@
3102
3104
  response._closed = !0;
3103
3105
  response._closedReason = error;
3104
3106
  response._chunks.forEach(function (chunk) {
3105
- "pending" === chunk.status &&
3106
- triggerErrorOnChunk(response, chunk, error);
3107
+ "pending" === chunk.status
3108
+ ? triggerErrorOnChunk(response, chunk, error)
3109
+ : "fulfilled" === chunk.status &&
3110
+ null !== chunk.reason &&
3111
+ chunk.reason.error(error);
3107
3112
  });
3108
3113
  }
3109
3114
  function getChunk(response, id) {
@@ -3125,58 +3130,39 @@
3125
3130
  return chunk;
3126
3131
  }
3127
3132
  function fulfillReference(response, reference, value) {
3128
- for (
3129
- var handler = reference.handler,
3130
- parentObject = reference.parentObject,
3131
- key = reference.key,
3132
- map = reference.map,
3133
- path = reference.path,
3134
- i = 1;
3135
- i < path.length;
3136
- i++
3137
- ) {
3138
- for (; value instanceof ReactPromise; ) {
3139
- switch (value.status) {
3140
- case "resolved_model":
3141
- initializeModelChunk(value);
3142
- }
3143
- switch (value.status) {
3144
- case "fulfilled":
3145
- value = value.value;
3146
- continue;
3147
- case "blocked":
3148
- case "pending":
3149
- path.splice(0, i - 1);
3150
- null === value.value
3151
- ? (value.value = [reference])
3152
- : value.value.push(reference);
3153
- null === value.reason
3154
- ? (value.reason = [reference])
3155
- : value.reason.push(reference);
3156
- return;
3157
- default:
3158
- rejectReference(response, reference.handler, value.reason);
3159
- return;
3160
- }
3133
+ var handler = reference.handler,
3134
+ parentObject = reference.parentObject,
3135
+ key = reference.key,
3136
+ map = reference.map,
3137
+ path = reference.path;
3138
+ try {
3139
+ for (var i = 1; i < path.length; i++) {
3140
+ var name = path[i];
3141
+ if (
3142
+ "object" !== typeof value ||
3143
+ !hasOwnProperty.call(value, name) ||
3144
+ value instanceof Promise
3145
+ )
3146
+ throw Error("Invalid reference.");
3147
+ value = value[name];
3161
3148
  }
3162
- var name = path[i];
3163
- "object" === typeof value &&
3164
- hasOwnProperty.call(value, name) &&
3165
- (value = value[name]);
3149
+ var mappedValue = map(response, value, parentObject, key);
3150
+ parentObject[key] = mappedValue;
3151
+ "" === key && null === handler.value && (handler.value = mappedValue);
3152
+ } catch (error) {
3153
+ rejectReference(response, reference.handler, error);
3154
+ return;
3166
3155
  }
3167
- reference = map(response, value, parentObject, key);
3168
- parentObject[key] = reference;
3169
- "" === key && null === handler.value && (handler.value = reference);
3170
3156
  handler.deps--;
3171
3157
  0 === handler.deps &&
3172
- ((parentObject = handler.chunk),
3173
- null !== parentObject &&
3174
- "blocked" === parentObject.status &&
3175
- ((key = parentObject.value),
3176
- (parentObject.status = "fulfilled"),
3177
- (parentObject.value = handler.value),
3178
- (parentObject.reason = handler.reason),
3179
- null !== key && wakeChunk(response, key, handler.value)));
3158
+ ((reference = handler.chunk),
3159
+ null !== reference &&
3160
+ "blocked" === reference.status &&
3161
+ ((value = reference.value),
3162
+ (reference.status = "fulfilled"),
3163
+ (reference.value = handler.value),
3164
+ (reference.reason = handler.reason),
3165
+ null !== value && wakeChunk(response, value, handler.value)));
3180
3166
  }
3181
3167
  function rejectReference(response, handler, error) {
3182
3168
  handler.errored ||
@@ -3188,33 +3174,6 @@
3188
3174
  "blocked" === handler.status &&
3189
3175
  triggerErrorOnChunk(response, handler, error));
3190
3176
  }
3191
- function waitForReference(
3192
- referencedChunk,
3193
- parentObject,
3194
- key,
3195
- response,
3196
- map,
3197
- path
3198
- ) {
3199
- initializingHandler
3200
- ? ((response = initializingHandler), response.deps++)
3201
- : (response = initializingHandler =
3202
- { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
3203
- parentObject = {
3204
- handler: response,
3205
- parentObject: parentObject,
3206
- key: key,
3207
- map: map,
3208
- path: path
3209
- };
3210
- null === referencedChunk.value
3211
- ? (referencedChunk.value = [parentObject])
3212
- : referencedChunk.value.push(parentObject);
3213
- null === referencedChunk.reason
3214
- ? (referencedChunk.reason = [parentObject])
3215
- : referencedChunk.reason.push(parentObject);
3216
- return null;
3217
- }
3218
3177
  function getOutlinedModel(response, reference, parentObject, key, map) {
3219
3178
  reference = reference.split(":");
3220
3179
  var id = parseInt(reference[0], 16);
@@ -3225,59 +3184,45 @@
3225
3184
  }
3226
3185
  switch (id.status) {
3227
3186
  case "fulfilled":
3228
- var value = id.value;
3229
- for (id = 1; id < reference.length; id++) {
3230
- for (; value instanceof ReactPromise; ) {
3231
- switch (value.status) {
3232
- case "resolved_model":
3233
- initializeModelChunk(value);
3234
- }
3235
- switch (value.status) {
3236
- case "fulfilled":
3237
- value = value.value;
3238
- break;
3239
- case "blocked":
3240
- case "pending":
3241
- return waitForReference(
3242
- value,
3243
- parentObject,
3244
- key,
3245
- response,
3246
- map,
3247
- reference.slice(id - 1)
3248
- );
3249
- default:
3250
- return (
3251
- initializingHandler
3252
- ? ((initializingHandler.errored = !0),
3253
- (initializingHandler.value = null),
3254
- (initializingHandler.reason = value.reason))
3255
- : (initializingHandler = {
3256
- chunk: null,
3257
- value: null,
3258
- reason: value.reason,
3259
- deps: 0,
3260
- errored: !0
3261
- }),
3262
- null
3263
- );
3264
- }
3265
- }
3266
- var name = reference[id];
3267
- "object" === typeof value &&
3268
- hasOwnProperty.call(value, name) &&
3269
- (value = value[name]);
3187
+ id = id.value;
3188
+ for (var i = 1; i < reference.length; i++) {
3189
+ var name = reference[i];
3190
+ if (
3191
+ "object" !== typeof id ||
3192
+ !hasOwnProperty.call(id, name) ||
3193
+ id instanceof Promise
3194
+ )
3195
+ throw Error("Invalid reference.");
3196
+ id = id[name];
3270
3197
  }
3271
- return map(response, value, parentObject, key);
3198
+ return map(response, id, parentObject, key);
3272
3199
  case "pending":
3273
3200
  case "blocked":
3274
- return waitForReference(
3275
- id,
3276
- parentObject,
3277
- key,
3278
- response,
3279
- map,
3280
- reference
3201
+ return (
3202
+ initializingHandler
3203
+ ? ((response = initializingHandler), response.deps++)
3204
+ : (response = initializingHandler =
3205
+ {
3206
+ chunk: null,
3207
+ value: null,
3208
+ reason: null,
3209
+ deps: 1,
3210
+ errored: !1
3211
+ }),
3212
+ (parentObject = {
3213
+ handler: response,
3214
+ parentObject: parentObject,
3215
+ key: key,
3216
+ map: map,
3217
+ path: reference
3218
+ }),
3219
+ null === id.value
3220
+ ? (id.value = [parentObject])
3221
+ : id.value.push(parentObject),
3222
+ null === id.reason
3223
+ ? (id.reason = [parentObject])
3224
+ : id.reason.push(parentObject),
3225
+ null
3281
3226
  );
3282
3227
  default:
3283
3228
  return (
@@ -3305,8 +3250,8 @@
3305
3250
  function extractIterator(response, model) {
3306
3251
  return model[Symbol.iterator]();
3307
3252
  }
3308
- function createModel(response, model) {
3309
- return model;
3253
+ function createModel(response, model, parentObject, key) {
3254
+ return "then" === key && "function" === typeof model ? null : model;
3310
3255
  }
3311
3256
  function parseTypedArray(
3312
3257
  response,
@@ -3317,9 +3262,10 @@
3317
3262
  parentKey
3318
3263
  ) {
3319
3264
  reference = parseInt(reference.slice(2), 16);
3320
- reference = response._formData
3321
- .get(response._prefix + reference)
3322
- .arrayBuffer();
3265
+ bytesPerElement = response._prefix + reference;
3266
+ if (response._chunks.has(reference))
3267
+ throw Error("Already initialized typed array.");
3268
+ reference = response._formData.get(bytesPerElement).arrayBuffer();
3323
3269
  if (initializingHandler) {
3324
3270
  var handler = initializingHandler;
3325
3271
  handler.deps++;
@@ -3348,6 +3294,7 @@
3348
3294
  var resolveListeners = buffer.value;
3349
3295
  buffer.status = "fulfilled";
3350
3296
  buffer.value = handler.value;
3297
+ buffer.reason = null;
3351
3298
  null !== resolveListeners &&
3352
3299
  wakeChunk(response, resolveListeners, handler.value);
3353
3300
  }
@@ -3382,7 +3329,10 @@
3382
3329
  }
3383
3330
  function parseReadableStream(response, reference, type) {
3384
3331
  reference = parseInt(reference.slice(2), 16);
3385
- var controller = null;
3332
+ if (response._chunks.has(reference))
3333
+ throw Error("Already initialized stream.");
3334
+ var controller = null,
3335
+ closed = !1;
3386
3336
  type = new ReadableStream({
3387
3337
  type: type,
3388
3338
  start: function (c) {
@@ -3429,24 +3379,28 @@
3429
3379
  }
3430
3380
  },
3431
3381
  close: function () {
3432
- if (null === previousBlockedChunk) controller.close();
3433
- else {
3434
- var blockedChunk = previousBlockedChunk;
3435
- previousBlockedChunk = null;
3436
- blockedChunk.then(function () {
3437
- return controller.close();
3438
- });
3439
- }
3382
+ if (!closed)
3383
+ if (((closed = !0), null === previousBlockedChunk))
3384
+ controller.close();
3385
+ else {
3386
+ var blockedChunk = previousBlockedChunk;
3387
+ previousBlockedChunk = null;
3388
+ blockedChunk.then(function () {
3389
+ return controller.close();
3390
+ });
3391
+ }
3440
3392
  },
3441
3393
  error: function (error) {
3442
- if (null === previousBlockedChunk) controller.error(error);
3443
- else {
3444
- var blockedChunk = previousBlockedChunk;
3445
- previousBlockedChunk = null;
3446
- blockedChunk.then(function () {
3447
- return controller.error(error);
3448
- });
3449
- }
3394
+ if (!closed)
3395
+ if (((closed = !0), null === previousBlockedChunk))
3396
+ controller.error(error);
3397
+ else {
3398
+ var blockedChunk = previousBlockedChunk;
3399
+ previousBlockedChunk = null;
3400
+ blockedChunk.then(function () {
3401
+ return controller.error(error);
3402
+ });
3403
+ }
3450
3404
  }
3451
3405
  });
3452
3406
  return type;
@@ -3461,6 +3415,8 @@
3461
3415
  }
3462
3416
  function parseAsyncIterable(response, reference, iterator) {
3463
3417
  reference = parseInt(reference.slice(2), 16);
3418
+ if (response._chunks.has(reference))
3419
+ throw Error("Already initialized stream.");
3464
3420
  var buffer = [],
3465
3421
  closed = !1,
3466
3422
  nextWriteIndex = 0,
@@ -3501,36 +3457,46 @@
3501
3457
  nextWriteIndex++;
3502
3458
  },
3503
3459
  close: function (value) {
3504
- closed = !0;
3505
- nextWriteIndex === buffer.length
3506
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
3507
- response,
3508
- value,
3509
- !0
3510
- ))
3511
- : resolveIteratorResultChunk(
3460
+ if (!closed)
3461
+ for (
3462
+ closed = !0,
3463
+ nextWriteIndex === buffer.length
3464
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
3465
+ response,
3466
+ value,
3467
+ !0
3468
+ ))
3469
+ : resolveIteratorResultChunk(
3470
+ response,
3471
+ buffer[nextWriteIndex],
3472
+ value,
3473
+ !0
3474
+ ),
3475
+ nextWriteIndex++;
3476
+ nextWriteIndex < buffer.length;
3477
+
3478
+ )
3479
+ resolveIteratorResultChunk(
3512
3480
  response,
3513
- buffer[nextWriteIndex],
3514
- value,
3481
+ buffer[nextWriteIndex++],
3482
+ '"$undefined"',
3515
3483
  !0
3516
3484
  );
3517
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
3518
- resolveIteratorResultChunk(
3519
- response,
3520
- buffer[nextWriteIndex++],
3521
- '"$undefined"',
3522
- !0
3523
- );
3524
3485
  },
3525
3486
  error: function (error) {
3526
- closed = !0;
3527
- for (
3528
- nextWriteIndex === buffer.length &&
3529
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
3530
- nextWriteIndex < buffer.length;
3487
+ if (!closed)
3488
+ for (
3489
+ closed = !0,
3490
+ nextWriteIndex === buffer.length &&
3491
+ (buffer[nextWriteIndex] = new ReactPromise(
3492
+ "pending",
3493
+ null,
3494
+ null
3495
+ ));
3496
+ nextWriteIndex < buffer.length;
3531
3497
 
3532
- )
3533
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
3498
+ )
3499
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
3534
3500
  }
3535
3501
  });
3536
3502
  return iterator;
@@ -3544,7 +3510,7 @@
3544
3510
  return (
3545
3511
  (obj = parseInt(value.slice(2), 16)), getChunk(response, obj)
3546
3512
  );
3547
- case "F":
3513
+ case "h":
3548
3514
  return (
3549
3515
  (value = value.slice(2)),
3550
3516
  getOutlinedModel(response, value, obj, key, loadServerReference$1)
@@ -3755,6 +3721,13 @@
3755
3721
  SERVER_REFERENCE_TAG = Symbol.for("react.server.reference"),
3756
3722
  FunctionBind = Function.prototype.bind,
3757
3723
  ArraySlice = Array.prototype.slice,
3724
+ serverReferenceToString = {
3725
+ value: function () {
3726
+ return "function () { [omitted code] }";
3727
+ },
3728
+ configurable: !0,
3729
+ writable: !0
3730
+ },
3758
3731
  PROMISE_PROTOTYPE = Promise.prototype,
3759
3732
  deepProxyHandlers = {
3760
3733
  get: function (target, name) {
@@ -4190,7 +4163,24 @@
4190
4163
  }
4191
4164
  switch (this.status) {
4192
4165
  case "fulfilled":
4193
- "function" === typeof resolve && resolve(this.value);
4166
+ if ("function" === typeof resolve) {
4167
+ for (
4168
+ var inspectedValue = this.value, cycleProtection = 0;
4169
+ inspectedValue instanceof ReactPromise;
4170
+
4171
+ ) {
4172
+ cycleProtection++;
4173
+ if (inspectedValue === this || 1e3 < cycleProtection) {
4174
+ "function" === typeof reject &&
4175
+ reject(Error("Cannot have cyclic thenables."));
4176
+ return;
4177
+ }
4178
+ if ("fulfilled" === inspectedValue.status)
4179
+ inspectedValue = inspectedValue.value;
4180
+ else break;
4181
+ }
4182
+ resolve(this.value);
4183
+ }
4194
4184
  break;
4195
4185
  case "pending":
4196
4186
  case "blocked":
@@ -4302,13 +4292,13 @@
4302
4292
  );
4303
4293
  else {
4304
4294
  pendingFiles++;
4305
- var JSCompiler_object_inline_chunks_156 = [];
4295
+ var JSCompiler_object_inline_chunks_166 = [];
4306
4296
  value.on("data", function (chunk) {
4307
- JSCompiler_object_inline_chunks_156.push(chunk);
4297
+ JSCompiler_object_inline_chunks_166.push(chunk);
4308
4298
  });
4309
4299
  value.on("end", function () {
4310
4300
  try {
4311
- var blob = new Blob(JSCompiler_object_inline_chunks_156, {
4301
+ var blob = new Blob(JSCompiler_object_inline_chunks_166, {
4312
4302
  type: mimeType
4313
4303
  });
4314
4304
  response._formData.append(name, blob, filename);
@@ -4356,7 +4346,8 @@
4356
4346
  },
4357
4347
  $$bound: { value: null, configurable: !0 },
4358
4348
  $$location: { value: Error("react-stack-top-frame"), configurable: !0 },
4359
- bind: { value: bind, configurable: !0 }
4349
+ bind: { value: bind, configurable: !0 },
4350
+ toString: serverReferenceToString
4360
4351
  });
4361
4352
  };
4362
4353
  exports.renderToPipeableStream = function (model, webpackMap, options) {