react-server-dom-webpack 19.0.5 → 19.0.7

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.
@@ -2872,7 +2872,7 @@
2872
2872
  var chunks = response._chunks,
2873
2873
  chunk = chunks.get(id);
2874
2874
  chunk ||
2875
- ((chunk = response._formData.get(response._prefix + id)),
2875
+ ((chunk = response._formData.data.get(response._prefix + id)),
2876
2876
  (chunk =
2877
2877
  "string" === typeof chunk
2878
2878
  ? new ReactPromise(
@@ -2982,6 +2982,10 @@
2982
2982
  case "fulfilled":
2983
2983
  id = chunk.value;
2984
2984
  chunk = chunk.reason;
2985
+ if (null !== chunk && "error" in chunk)
2986
+ throw Error(
2987
+ "Expected an initialized chunk but got an initialized stream chunk instead. This payload may have been submitted by an older version of React."
2988
+ );
2985
2989
  for (
2986
2990
  var localLength = 0,
2987
2991
  rootArrayContexts = response._rootArrayContexts,
@@ -3124,7 +3128,7 @@
3124
3128
  Error("Already initialized typed array.")
3125
3129
  )
3126
3130
  );
3127
- reference = response._formData.get(key).arrayBuffer();
3131
+ reference = response._formData.data.get(key).arrayBuffer();
3128
3132
  if (initializingHandler) {
3129
3133
  var handler = initializingHandler;
3130
3134
  handler.deps++;
@@ -3168,7 +3172,7 @@
3168
3172
  var chunks = response._chunks;
3169
3173
  stream = new ReactPromise("fulfilled", stream, controller);
3170
3174
  chunks.set(id, stream);
3171
- response = response._formData.getAll(response._prefix + id);
3175
+ response = response._formData.data.getAll(response._prefix + id);
3172
3176
  for (id = 0; id < response.length; id++)
3173
3177
  (chunks = response[id]),
3174
3178
  "string" === typeof chunks &&
@@ -3388,24 +3392,33 @@
3388
3392
  getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
3389
3393
  );
3390
3394
  case "K":
3391
- obj = value.slice(2);
3392
- obj = response._prefix + obj + "_";
3393
- key = new FormData();
3394
- response = response._formData;
3395
- arrayRoot = Array.from(response.keys());
3396
- for (value = 0; value < arrayRoot.length; value++)
3397
- if (((reference = arrayRoot[value]), reference.startsWith(obj))) {
3395
+ key = value.slice(2);
3396
+ obj = response._prefix + "_";
3397
+ key = obj + key + "_";
3398
+ arrayRoot = new FormData();
3399
+ for (response = response._formData; ; ) {
3400
+ value = response;
3401
+ reference = value.keys;
3402
+ null === reference &&
3403
+ ((reference = value.keys = Array.from(value.data.keys())),
3404
+ (value.keyPointer = 0));
3405
+ value = reference[value.keyPointer];
3406
+ if (void 0 === value) break;
3407
+ if (value.startsWith(key)) {
3408
+ reference = response.data.getAll(value);
3398
3409
  for (
3399
- var entries = response.getAll(reference),
3400
- newKey = reference.slice(obj.length),
3401
- j = 0;
3402
- j < entries.length;
3403
- j++
3410
+ var referencedFormDataKey = value.slice(key.length), i = 0;
3411
+ i < reference.length;
3412
+ i++
3404
3413
  )
3405
- key.append(newKey, entries[j]);
3406
- response.delete(reference);
3407
- }
3408
- return key;
3414
+ arrayRoot.append(referencedFormDataKey, reference[i]);
3415
+ reference = response;
3416
+ reference.data.delete(value);
3417
+ reference.keyPointer++;
3418
+ } else if (value.startsWith(obj)) break;
3419
+ else response.keyPointer++;
3420
+ }
3421
+ return arrayRoot;
3409
3422
  case "i":
3410
3423
  return (
3411
3424
  (arrayRoot = value.slice(2)),
@@ -3576,7 +3589,7 @@
3576
3589
  case "B":
3577
3590
  return (
3578
3591
  (obj = parseInt(value.slice(2), 16)),
3579
- response._formData.get(response._prefix + obj)
3592
+ response._formData.data.get(response._prefix + obj)
3580
3593
  );
3581
3594
  }
3582
3595
  switch (value[1]) {
@@ -3617,7 +3630,7 @@
3617
3630
  return {
3618
3631
  _bundlerConfig: bundlerConfig,
3619
3632
  _prefix: formFieldPrefix,
3620
- _formData: backingFormData,
3633
+ _formData: { data: backingFormData, keyPointer: -1, keys: null },
3621
3634
  _chunks: chunks,
3622
3635
  _temporaryReferences: temporaryReferences,
3623
3636
  _rootArrayContexts: new WeakMap(),
@@ -3625,14 +3638,19 @@
3625
3638
  };
3626
3639
  }
3627
3640
  function resolveField(response, key, value) {
3628
- response._formData.append(key, value);
3629
- var prefix = response._prefix;
3630
- if (key.startsWith(prefix)) {
3631
- var chunks = response._chunks;
3632
- key = +key.slice(prefix.length);
3633
- (chunks = chunks.get(key)) &&
3634
- resolveModelChunk(response, chunks, value, key);
3635
- }
3641
+ var backingStore = response._formData;
3642
+ backingStore.data.append(key, value);
3643
+ var keys = backingStore.keys;
3644
+ null === keys
3645
+ ? ((backingStore.keys = Array.from(backingStore.data.keys())),
3646
+ (backingStore.keyPointer = 0))
3647
+ : keys.push(key);
3648
+ keys = response._prefix;
3649
+ key.startsWith(keys) &&
3650
+ ((backingStore = response._chunks),
3651
+ (key = +key.slice(keys.length)),
3652
+ (backingStore = backingStore.get(key)) &&
3653
+ resolveModelChunk(response, backingStore, value, key));
3636
3654
  }
3637
3655
  function close(response) {
3638
3656
  reportGlobalError(response, Error("Connection closed."));
@@ -4252,20 +4270,58 @@
4252
4270
  webpackMap,
4253
4271
  options
4254
4272
  ) {
4255
- var response = createResponse(
4273
+ function flush() {
4274
+ for (; null !== head; ) {
4275
+ var current = head;
4276
+ if (!current.complete) return;
4277
+ try {
4278
+ var response = response$jscomp$0,
4279
+ key = current.name,
4280
+ handle = current.file,
4281
+ blob = new Blob(handle.chunks, { type: handle.mime }),
4282
+ backingStore = response._formData;
4283
+ response = key;
4284
+ backingStore.data.append(response, blob, handle.filename);
4285
+ var keys = backingStore.keys;
4286
+ null === keys
4287
+ ? ((backingStore.keys = Array.from(backingStore.data.keys())),
4288
+ (backingStore.keyPointer = 0))
4289
+ : keys.push(response);
4290
+ var queuedFields = current.queuedFields;
4291
+ if (null !== queuedFields)
4292
+ for (response = 0; response < queuedFields.length; response += 2)
4293
+ resolveField(
4294
+ response$jscomp$0,
4295
+ queuedFields[response],
4296
+ queuedFields[response + 1]
4297
+ );
4298
+ } catch (error) {
4299
+ busboyStream.destroy(error);
4300
+ return;
4301
+ }
4302
+ head = current.next;
4303
+ }
4304
+ tail = null;
4305
+ bodyFinished && !closed && ((closed = !0), close(response$jscomp$0));
4306
+ }
4307
+ var response$jscomp$0 = createResponse(
4256
4308
  webpackMap,
4257
4309
  "",
4258
4310
  options ? options.temporaryReferences : void 0,
4259
4311
  void 0,
4260
4312
  options ? options.arraySizeLimit : void 0
4261
4313
  ),
4262
- pendingFiles = 0,
4263
- queuedFields = [];
4314
+ head = null,
4315
+ tail = null,
4316
+ bodyFinished = !1,
4317
+ closed = !1;
4264
4318
  busboyStream.on("field", function (name, value) {
4265
- if (0 < pendingFiles) queuedFields.push(name, value);
4319
+ if (null !== tail)
4320
+ null === tail.queuedFields && (tail.queuedFields = []),
4321
+ tail.queuedFields.push(name, value);
4266
4322
  else
4267
4323
  try {
4268
- resolveField(response, name, value);
4324
+ resolveField(response$jscomp$0, name, value);
4269
4325
  } catch (error) {
4270
4326
  busboyStream.destroy(error);
4271
4327
  }
@@ -4280,40 +4336,45 @@
4280
4336
  )
4281
4337
  );
4282
4338
  else {
4283
- pendingFiles++;
4284
- var JSCompiler_object_inline_chunks_149 = [];
4339
+ var file = { chunks: [], filename: filename, mime: mimeType },
4340
+ pendingFile = {
4341
+ name: name,
4342
+ file: file,
4343
+ complete: !1,
4344
+ queuedFields: null,
4345
+ next: null
4346
+ };
4347
+ null === tail ? (head = pendingFile) : (tail.next = pendingFile);
4348
+ tail = pendingFile;
4285
4349
  value.on("data", function (chunk) {
4286
- JSCompiler_object_inline_chunks_149.push(chunk);
4287
- });
4288
- value.on("end", function () {
4289
4350
  try {
4290
- var blob = new Blob(JSCompiler_object_inline_chunks_149, {
4291
- type: mimeType
4292
- });
4293
- response._formData.append(name, blob, filename);
4294
- pendingFiles--;
4295
- if (0 === pendingFiles) {
4296
- for (blob = 0; blob < queuedFields.length; blob += 2)
4297
- resolveField(
4298
- response,
4299
- queuedFields[blob],
4300
- queuedFields[blob + 1]
4301
- );
4302
- queuedFields.length = 0;
4303
- }
4351
+ file.chunks.push(chunk);
4304
4352
  } catch (error) {
4305
4353
  busboyStream.destroy(error);
4306
4354
  }
4307
4355
  });
4356
+ value.on("error", function (error) {
4357
+ busboyStream.destroy(error);
4358
+ });
4359
+ value.on("end", function () {
4360
+ pendingFile.complete = !0;
4361
+ flush();
4362
+ });
4308
4363
  }
4309
4364
  });
4310
4365
  busboyStream.on("finish", function () {
4311
- close(response);
4366
+ bodyFinished = !0;
4367
+ flush();
4368
+ closed ||
4369
+ reportGlobalError(
4370
+ response$jscomp$0,
4371
+ Error("Reply finished with incomplete file part.")
4372
+ );
4312
4373
  });
4313
4374
  busboyStream.on("error", function (err) {
4314
- reportGlobalError(response, err);
4375
+ reportGlobalError(response$jscomp$0, err);
4315
4376
  });
4316
- return getChunk(response, 0);
4377
+ return getChunk(response$jscomp$0, 0);
4317
4378
  };
4318
4379
  exports.registerClientReference = function (
4319
4380
  proxyImplementation,
@@ -2418,7 +2418,7 @@ function getChunk(response, id) {
2418
2418
  var chunks = response._chunks,
2419
2419
  chunk = chunks.get(id);
2420
2420
  chunk ||
2421
- ((chunk = response._formData.get(response._prefix + id)),
2421
+ ((chunk = response._formData.data.get(response._prefix + id)),
2422
2422
  (chunk =
2423
2423
  "string" === typeof chunk
2424
2424
  ? createResolvedModelChunk(response, chunk, id)
@@ -2517,6 +2517,10 @@ function getOutlinedModel(
2517
2517
  case "fulfilled":
2518
2518
  id = chunk.value;
2519
2519
  chunk = chunk.reason;
2520
+ if (null !== chunk && "error" in chunk)
2521
+ throw Error(
2522
+ "Expected an initialized chunk but got an initialized stream chunk instead. This payload may have been submitted by an older version of React."
2523
+ );
2520
2524
  for (
2521
2525
  var localLength = 0,
2522
2526
  rootArrayContexts = response._rootArrayContexts,
@@ -2650,7 +2654,7 @@ function parseTypedArray(
2650
2654
  Error("Already initialized typed array.")
2651
2655
  )
2652
2656
  );
2653
- reference = response._formData.get(key).arrayBuffer();
2657
+ reference = response._formData.data.get(key).arrayBuffer();
2654
2658
  if (initializingHandler) {
2655
2659
  var handler = initializingHandler;
2656
2660
  handler.deps++;
@@ -2694,7 +2698,7 @@ function resolveStream(response, id, stream, controller) {
2694
2698
  var chunks = response._chunks;
2695
2699
  stream = new ReactPromise("fulfilled", stream, controller);
2696
2700
  chunks.set(id, stream);
2697
- response = response._formData.getAll(response._prefix + id);
2701
+ response = response._formData.data.getAll(response._prefix + id);
2698
2702
  for (id = 0; id < response.length; id++)
2699
2703
  (chunks = response[id]),
2700
2704
  "string" === typeof chunks &&
@@ -2909,24 +2913,31 @@ function parseModelString(response, obj, key, value, reference, arrayRoot) {
2909
2913
  getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
2910
2914
  );
2911
2915
  case "K":
2912
- obj = value.slice(2);
2913
- obj = response._prefix + obj + "_";
2914
- key = new FormData();
2915
- response = response._formData;
2916
- arrayRoot = Array.from(response.keys());
2917
- for (value = 0; value < arrayRoot.length; value++)
2918
- if (((reference = arrayRoot[value]), reference.startsWith(obj))) {
2916
+ key = value.slice(2);
2917
+ obj = response._prefix + "_";
2918
+ key = obj + key + "_";
2919
+ arrayRoot = new FormData();
2920
+ for (response = response._formData; ; ) {
2921
+ value = response.keys;
2922
+ null === value &&
2923
+ ((value = response.keys = Array.from(response.data.keys())),
2924
+ (response.keyPointer = 0));
2925
+ value = value[response.keyPointer];
2926
+ if (void 0 === value) break;
2927
+ if (value.startsWith(key)) {
2928
+ reference = response.data.getAll(value);
2919
2929
  for (
2920
- var entries = response.getAll(reference),
2921
- newKey = reference.slice(obj.length),
2922
- j = 0;
2923
- j < entries.length;
2924
- j++
2930
+ var referencedFormDataKey = value.slice(key.length), i = 0;
2931
+ i < reference.length;
2932
+ i++
2925
2933
  )
2926
- key.append(newKey, entries[j]);
2927
- response.delete(reference);
2928
- }
2929
- return key;
2934
+ arrayRoot.append(referencedFormDataKey, reference[i]);
2935
+ response.data.delete(value);
2936
+ response.keyPointer++;
2937
+ } else if (value.startsWith(obj)) break;
2938
+ else response.keyPointer++;
2939
+ }
2940
+ return arrayRoot;
2930
2941
  case "i":
2931
2942
  return (
2932
2943
  (arrayRoot = value.slice(2)),
@@ -3087,7 +3098,7 @@ function parseModelString(response, obj, key, value, reference, arrayRoot) {
3087
3098
  case "B":
3088
3099
  return (
3089
3100
  (obj = parseInt(value.slice(2), 16)),
3090
- response._formData.get(response._prefix + obj)
3101
+ response._formData.data.get(response._prefix + obj)
3091
3102
  );
3092
3103
  }
3093
3104
  switch (value[1]) {
@@ -3117,7 +3128,7 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
3117
3128
  return {
3118
3129
  _bundlerConfig: bundlerConfig,
3119
3130
  _prefix: formFieldPrefix,
3120
- _formData: backingFormData,
3131
+ _formData: { data: backingFormData, keyPointer: -1, keys: null },
3121
3132
  _chunks: chunks,
3122
3133
  _temporaryReferences: temporaryReferences,
3123
3134
  _rootArrayContexts: new WeakMap(),
@@ -3125,14 +3136,19 @@ function createResponse(bundlerConfig, formFieldPrefix, temporaryReferences) {
3125
3136
  };
3126
3137
  }
3127
3138
  function resolveField(response, key, value) {
3128
- response._formData.append(key, value);
3129
- var prefix = response._prefix;
3130
- if (key.startsWith(prefix)) {
3131
- var chunks = response._chunks;
3132
- key = +key.slice(prefix.length);
3133
- (chunks = chunks.get(key)) &&
3134
- resolveModelChunk(response, chunks, value, key);
3135
- }
3139
+ var backingStore = response._formData;
3140
+ backingStore.data.append(key, value);
3141
+ var keys = backingStore.keys;
3142
+ null === keys
3143
+ ? ((backingStore.keys = Array.from(backingStore.data.keys())),
3144
+ (backingStore.keyPointer = 0))
3145
+ : keys.push(key);
3146
+ keys = response._prefix;
3147
+ key.startsWith(keys) &&
3148
+ ((backingStore = response._chunks),
3149
+ (key = +key.slice(keys.length)),
3150
+ (backingStore = backingStore.get(key)) &&
3151
+ resolveModelChunk(response, backingStore, value, key));
3136
3152
  }
3137
3153
  function close(response) {
3138
3154
  reportGlobalError(response, Error("Connection closed."));
@@ -3261,6 +3277,43 @@ exports.decodeReply = function (body, webpackMap, options) {
3261
3277
  return webpackMap;
3262
3278
  };
3263
3279
  exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) {
3280
+ function flush() {
3281
+ for (; null !== head; ) {
3282
+ var current = head;
3283
+ if (!current.complete) return;
3284
+ try {
3285
+ var key = current.name,
3286
+ handle = current.file,
3287
+ blob = new Blob(handle.chunks, { type: handle.mime }),
3288
+ backingStore = response._formData,
3289
+ key$jscomp$0 = key;
3290
+ backingStore.data.append(key$jscomp$0, blob, handle.filename);
3291
+ var keys = backingStore.keys;
3292
+ null === keys
3293
+ ? ((backingStore.keys = Array.from(backingStore.data.keys())),
3294
+ (backingStore.keyPointer = 0))
3295
+ : keys.push(key$jscomp$0);
3296
+ var queuedFields = current.queuedFields;
3297
+ if (null !== queuedFields)
3298
+ for (
3299
+ key$jscomp$0 = 0;
3300
+ key$jscomp$0 < queuedFields.length;
3301
+ key$jscomp$0 += 2
3302
+ )
3303
+ resolveField(
3304
+ response,
3305
+ queuedFields[key$jscomp$0],
3306
+ queuedFields[key$jscomp$0 + 1]
3307
+ );
3308
+ } catch (error) {
3309
+ busboyStream.destroy(error);
3310
+ return;
3311
+ }
3312
+ head = current.next;
3313
+ }
3314
+ tail = null;
3315
+ bodyFinished && !closed && ((closed = !0), close(response));
3316
+ }
3264
3317
  var response = createResponse(
3265
3318
  webpackMap,
3266
3319
  "",
@@ -3268,10 +3321,14 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) {
3268
3321
  void 0,
3269
3322
  options ? options.arraySizeLimit : void 0
3270
3323
  ),
3271
- pendingFiles = 0,
3272
- queuedFields = [];
3324
+ head = null,
3325
+ tail = null,
3326
+ bodyFinished = !1,
3327
+ closed = !1;
3273
3328
  busboyStream.on("field", function (name, value) {
3274
- if (0 < pendingFiles) queuedFields.push(name, value);
3329
+ if (null !== tail)
3330
+ null === tail.queuedFields && (tail.queuedFields = []),
3331
+ tail.queuedFields.push(name, value);
3275
3332
  else
3276
3333
  try {
3277
3334
  resolveField(response, name, value);
@@ -3289,35 +3346,40 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) {
3289
3346
  )
3290
3347
  );
3291
3348
  else {
3292
- pendingFiles++;
3293
- var JSCompiler_object_inline_chunks_229 = [];
3349
+ var file = { chunks: [], filename: filename, mime: mimeType },
3350
+ pendingFile = {
3351
+ name: name,
3352
+ file: file,
3353
+ complete: !1,
3354
+ queuedFields: null,
3355
+ next: null
3356
+ };
3357
+ null === tail ? (head = pendingFile) : (tail.next = pendingFile);
3358
+ tail = pendingFile;
3294
3359
  value.on("data", function (chunk) {
3295
- JSCompiler_object_inline_chunks_229.push(chunk);
3296
- });
3297
- value.on("end", function () {
3298
3360
  try {
3299
- var blob = new Blob(JSCompiler_object_inline_chunks_229, {
3300
- type: mimeType
3301
- });
3302
- response._formData.append(name, blob, filename);
3303
- pendingFiles--;
3304
- if (0 === pendingFiles) {
3305
- for (blob = 0; blob < queuedFields.length; blob += 2)
3306
- resolveField(
3307
- response,
3308
- queuedFields[blob],
3309
- queuedFields[blob + 1]
3310
- );
3311
- queuedFields.length = 0;
3312
- }
3361
+ file.chunks.push(chunk);
3313
3362
  } catch (error) {
3314
3363
  busboyStream.destroy(error);
3315
3364
  }
3316
3365
  });
3366
+ value.on("error", function (error) {
3367
+ busboyStream.destroy(error);
3368
+ });
3369
+ value.on("end", function () {
3370
+ pendingFile.complete = !0;
3371
+ flush();
3372
+ });
3317
3373
  }
3318
3374
  });
3319
3375
  busboyStream.on("finish", function () {
3320
- close(response);
3376
+ bodyFinished = !0;
3377
+ flush();
3378
+ closed ||
3379
+ reportGlobalError(
3380
+ response,
3381
+ Error("Reply finished with incomplete file part.")
3382
+ );
3321
3383
  });
3322
3384
  busboyStream.on("error", function (err) {
3323
3385
  reportGlobalError(response, err);