react-server-dom-webpack 19.0.7 → 19.0.9

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.
@@ -60,33 +60,44 @@
60
60
  (currentView = new Uint8Array(2048)),
61
61
  (writtenBytes = 0));
62
62
  }
63
- } else
64
- 0 !== chunk.byteLength &&
65
- (2048 < chunk.byteLength
66
- ? (0 < writtenBytes &&
67
- (writeToDestination(
68
- destination,
69
- currentView.subarray(0, writtenBytes)
70
- ),
71
- (currentView = new Uint8Array(2048)),
72
- (writtenBytes = 0)),
73
- writeToDestination(destination, chunk))
74
- : ((target = currentView.length - writtenBytes),
75
- target < chunk.byteLength &&
76
- (0 === target
77
- ? writeToDestination(destination, currentView)
78
- : (currentView.set(chunk.subarray(0, target), writtenBytes),
79
- (writtenBytes += target),
80
- writeToDestination(destination, currentView),
81
- (chunk = chunk.subarray(target))),
82
- (currentView = new Uint8Array(2048)),
83
- (writtenBytes = 0)),
84
- currentView.set(chunk, writtenBytes),
85
- (writtenBytes += chunk.byteLength),
86
- 2048 === writtenBytes &&
87
- (writeToDestination(destination, currentView),
88
- (currentView = new Uint8Array(2048)),
89
- (writtenBytes = 0))));
63
+ } else if (0 === chunk.byteLength)
64
+ if (supportsArrayBufferDetached) {
65
+ if (chunk.buffer.detached)
66
+ throw Error(
67
+ "Cannot transport a detached buffer. This usually happens when trying to transport multiple buffer-spanning views on the same underyling buffer. Either reuse the exact same view by identity or copy the underlying buffer manually via `view.slice()`."
68
+ );
69
+ } else
70
+ didWarnAboutMissingArrayBufferDetached ||
71
+ (console.error(
72
+ "React encountered an empty buffer when writing in an environment that does not support ArrayBuffer.prototype.detached. This could be a security issue if the buffer was not actually empty. Please upgrade to a Node.js version that supports ArrayBuffer.prototype.detached."
73
+ ),
74
+ (didWarnAboutMissingArrayBufferDetached = !0));
75
+ else
76
+ 2048 < chunk.byteLength
77
+ ? (0 < writtenBytes &&
78
+ (writeToDestination(
79
+ destination,
80
+ currentView.subarray(0, writtenBytes)
81
+ ),
82
+ (currentView = new Uint8Array(2048)),
83
+ (writtenBytes = 0)),
84
+ writeToDestination(destination, chunk))
85
+ : ((target = currentView.length - writtenBytes),
86
+ target < chunk.byteLength &&
87
+ (0 === target
88
+ ? writeToDestination(destination, currentView)
89
+ : (currentView.set(chunk.subarray(0, target), writtenBytes),
90
+ (writtenBytes += target),
91
+ writeToDestination(destination, currentView),
92
+ (chunk = chunk.subarray(target))),
93
+ (currentView = new Uint8Array(2048)),
94
+ (writtenBytes = 0)),
95
+ currentView.set(chunk, writtenBytes),
96
+ (writtenBytes += chunk.byteLength),
97
+ 2048 === writtenBytes &&
98
+ (writeToDestination(destination, currentView),
99
+ (currentView = new Uint8Array(2048)),
100
+ (writtenBytes = 0)));
90
101
  return destinationHasCapacity;
91
102
  }
92
103
  function byteLengthOfChunk(chunk) {
@@ -854,7 +865,7 @@
854
865
  emitErrorChunk(request, streamTask.id, digest, reason);
855
866
  enqueueFlush(request);
856
867
  "function" === typeof iterator.throw &&
857
- iterator.throw(reason).then(error, error);
868
+ iterator.throw(reason).then(noop, noop);
858
869
  }
859
870
  }
860
871
  function abortIterable(reason) {
@@ -865,7 +876,7 @@
865
876
  emitErrorChunk(request, streamTask.id, digest, reason);
866
877
  enqueueFlush(request);
867
878
  "function" === typeof iterator.throw &&
868
- iterator.throw(reason).then(error, error);
879
+ iterator.throw(reason).then(noop, noop);
869
880
  }
870
881
  }
871
882
  var isIterator = iterable === iterator,
@@ -1922,13 +1933,35 @@
1922
1933
  }
1923
1934
  function emitTypedArrayChunk(request, id, tag, typedArray) {
1924
1935
  request.pendingChunks++;
1925
- typedArray = new Uint8Array(
1926
- typedArray.buffer,
1927
- typedArray.byteOffset,
1928
- typedArray.byteLength
1929
- );
1930
- var binaryLength = typedArray.byteLength;
1931
- id = id.toString(16) + ":" + tag + binaryLength.toString(16) + ",";
1936
+ a: {
1937
+ var view = new Uint8Array(
1938
+ typedArray.buffer,
1939
+ typedArray.byteOffset,
1940
+ typedArray.byteLength
1941
+ );
1942
+ if (2048 < typedArray.byteLength) {
1943
+ if (
1944
+ 0 !== typedArray.byteOffset ||
1945
+ typedArray.byteLength !== typedArray.buffer.byteLength ||
1946
+ typedArray.buffer.resizable
1947
+ ) {
1948
+ typedArray = view.slice();
1949
+ break a;
1950
+ }
1951
+ if (!supportsArrayBufferDetached) {
1952
+ didWarnAboutMissingArrayBufferDetached ||
1953
+ (console.error(
1954
+ "React copied a partial view into a fresh buffer as a safety precaution because the environment does not implement ArrayBuffer.prototype.detached. This negatively impacts performance. Please upgrade to a modern Node.js version."
1955
+ ),
1956
+ (didWarnAboutMissingArrayBufferDetached = !0));
1957
+ typedArray = view.slice();
1958
+ break a;
1959
+ }
1960
+ }
1961
+ typedArray = view;
1962
+ }
1963
+ view = typedArray.byteLength;
1964
+ id = id.toString(16) + ":" + tag + view.toString(16) + ",";
1932
1965
  request.completedRegularChunks.push(id, typedArray);
1933
1966
  }
1934
1967
  function emitTextChunk(request, id, text) {
@@ -2526,6 +2559,39 @@
2526
2559
  if (hasOwnProperty.call(moduleExports, metadata.name))
2527
2560
  return moduleExports[metadata.name];
2528
2561
  }
2562
+ function appendBackingEntry(backingStore, value, key) {
2563
+ var prefix = backingStore.prefix;
2564
+ if (key.startsWith(prefix)) {
2565
+ switch (key[prefix.length]) {
2566
+ case "_":
2567
+ prefix = backingStore.referencedEntries;
2568
+ null === prefix && (prefix = backingStore.referencedEntries = []);
2569
+ prefix.push([key, value]);
2570
+ return;
2571
+ case "S":
2572
+ "string" === typeof value &&
2573
+ ((prefix = backingStore.streamChunks),
2574
+ null === prefix &&
2575
+ (prefix = backingStore.streamChunks = new Map()),
2576
+ (backingStore = prefix.get(key)),
2577
+ void 0 === backingStore
2578
+ ? prefix.set(key, [value])
2579
+ : backingStore.push(value));
2580
+ return;
2581
+ }
2582
+ "string" === typeof value
2583
+ ? ((prefix = backingStore.stringChunks),
2584
+ null === prefix && (prefix = backingStore.stringChunks = new Map()),
2585
+ prefix.set(key, value))
2586
+ : ((prefix = backingStore.blobs),
2587
+ null === prefix && (prefix = backingStore.blobs = new Map()),
2588
+ prefix.set(key, value));
2589
+ }
2590
+ }
2591
+ function getBackingBlob(backingStore, key) {
2592
+ backingStore = backingStore.blobs;
2593
+ return null === backingStore ? void 0 : backingStore.get(key);
2594
+ }
2529
2595
  function ReactPromise(status, value, reason) {
2530
2596
  this.status = status;
2531
2597
  this.value = value;
@@ -2835,17 +2901,20 @@
2835
2901
  function getChunk(response, id) {
2836
2902
  var chunks = response._chunks,
2837
2903
  chunk = chunks.get(id);
2838
- chunk ||
2839
- ((chunk = response._formData.data.get(response._prefix + id)),
2840
- (chunk =
2904
+ if (!chunk) {
2905
+ chunk = response._prefix;
2906
+ var stringChunks = response._formData.stringChunks;
2907
+ chunk = null === stringChunks ? void 0 : stringChunks.get(chunk + id);
2908
+ chunk =
2841
2909
  "string" === typeof chunk
2842
2910
  ? new ReactPromise(
2843
2911
  "resolved_model",
2844
2912
  chunk,
2845
2913
  _defineProperty({ id: id }, RESPONSE_SYMBOL, response)
2846
2914
  )
2847
- : new ReactPromise("pending", null, null)),
2848
- chunks.set(id, chunk));
2915
+ : new ReactPromise("pending", null, null);
2916
+ chunks.set(id, chunk);
2917
+ }
2849
2918
  return chunk;
2850
2919
  }
2851
2920
  function fulfillReference(response, reference, value, arrayRoot) {
@@ -3092,7 +3161,7 @@
3092
3161
  Error("Already initialized typed array.")
3093
3162
  )
3094
3163
  );
3095
- reference = response._formData.data.get(key).arrayBuffer();
3164
+ reference = getBackingBlob(response._formData, key).arrayBuffer();
3096
3165
  if (initializingHandler) {
3097
3166
  var handler = initializingHandler;
3098
3167
  handler.deps++;
@@ -3136,15 +3205,17 @@
3136
3205
  var chunks = response._chunks;
3137
3206
  stream = new ReactPromise("fulfilled", stream, controller);
3138
3207
  chunks.set(id, stream);
3139
- response = response._formData.data.getAll(response._prefix + id);
3140
- for (id = 0; id < response.length; id++)
3141
- (chunks = response[id]),
3142
- "string" === typeof chunks &&
3143
- ("C" === chunks[0]
3208
+ chunks = response._prefix;
3209
+ response = response._formData.streamChunks;
3210
+ id = null === response ? void 0 : response.get(chunks + "S" + id);
3211
+ if (void 0 !== id)
3212
+ for (response = 0; response < id.length; response++)
3213
+ (chunks = id[response]),
3214
+ "C" === chunks[0]
3144
3215
  ? controller.close(
3145
3216
  "C" === chunks ? '"$undefined"' : chunks.slice(1)
3146
3217
  )
3147
- : controller.enqueueModel(chunks));
3218
+ : controller.enqueueModel(chunks);
3148
3219
  }
3149
3220
  function parseReadableStream(response, reference, type) {
3150
3221
  function enqueue(value) {
@@ -3308,7 +3379,14 @@
3308
3379
  });
3309
3380
  return iterator;
3310
3381
  }
3311
- function parseModelString(response, obj, key, value, reference, arrayRoot) {
3382
+ function parseModelString(
3383
+ response,
3384
+ obj,
3385
+ key$jscomp$0,
3386
+ value,
3387
+ reference,
3388
+ arrayRoot
3389
+ ) {
3312
3390
  if ("$" === value[0]) {
3313
3391
  switch (value[1]) {
3314
3392
  case "$":
@@ -3328,7 +3406,7 @@
3328
3406
  response,
3329
3407
  arrayRoot,
3330
3408
  obj,
3331
- key,
3409
+ key$jscomp$0,
3332
3410
  null,
3333
3411
  loadServerReference$1
3334
3412
  )
@@ -3348,41 +3426,44 @@
3348
3426
  case "Q":
3349
3427
  return (
3350
3428
  (arrayRoot = value.slice(2)),
3351
- getOutlinedModel(response, arrayRoot, obj, key, null, createMap)
3429
+ getOutlinedModel(
3430
+ response,
3431
+ arrayRoot,
3432
+ obj,
3433
+ key$jscomp$0,
3434
+ null,
3435
+ createMap
3436
+ )
3352
3437
  );
3353
3438
  case "W":
3354
3439
  return (
3355
3440
  (arrayRoot = value.slice(2)),
3356
- getOutlinedModel(response, arrayRoot, obj, key, null, createSet)
3441
+ getOutlinedModel(
3442
+ response,
3443
+ arrayRoot,
3444
+ obj,
3445
+ key$jscomp$0,
3446
+ null,
3447
+ createSet
3448
+ )
3357
3449
  );
3358
3450
  case "K":
3359
- key = value.slice(2);
3360
- obj = response._prefix + "_";
3361
- key = obj + key + "_";
3362
- arrayRoot = new FormData();
3363
- for (response = response._formData; ; ) {
3364
- value = response;
3365
- reference = value.keys;
3366
- null === reference &&
3367
- ((reference = value.keys = Array.from(value.data.keys())),
3368
- (value.keyPointer = 0));
3369
- value = reference[value.keyPointer];
3370
- if (void 0 === value) break;
3371
- if (value.startsWith(key)) {
3372
- reference = response.data.getAll(value);
3373
- for (
3374
- var referencedFormDataKey = value.slice(key.length), i = 0;
3375
- i < reference.length;
3376
- i++
3377
- )
3378
- arrayRoot.append(referencedFormDataKey, reference[i]);
3379
- reference = response;
3380
- reference.data.delete(value);
3381
- reference.keyPointer++;
3382
- } else if (value.startsWith(obj)) break;
3383
- else response.keyPointer++;
3451
+ key$jscomp$0 = value.slice(2);
3452
+ obj = response._formData;
3453
+ response = response._prefix + "_" + key$jscomp$0 + "_";
3454
+ key$jscomp$0 = new FormData();
3455
+ arrayRoot = obj.referencedEntries;
3456
+ if (null !== arrayRoot) {
3457
+ for (value = obj.keyPointer; value < arrayRoot.length; ) {
3458
+ reference = arrayRoot[value];
3459
+ var key = reference[0];
3460
+ if (!key.startsWith(response)) break;
3461
+ key$jscomp$0.append(key.slice(response.length), reference[1]);
3462
+ value++;
3463
+ }
3464
+ obj.keyPointer = value;
3384
3465
  }
3385
- return arrayRoot;
3466
+ return key$jscomp$0;
3386
3467
  case "i":
3387
3468
  return (
3388
3469
  (arrayRoot = value.slice(2)),
@@ -3390,7 +3471,7 @@
3390
3471
  response,
3391
3472
  arrayRoot,
3392
3473
  obj,
3393
- key,
3474
+ key$jscomp$0,
3394
3475
  null,
3395
3476
  extractIterator
3396
3477
  )
@@ -3427,7 +3508,7 @@
3427
3508
  ArrayBuffer,
3428
3509
  1,
3429
3510
  obj,
3430
- key,
3511
+ key$jscomp$0,
3431
3512
  arrayRoot
3432
3513
  );
3433
3514
  case "O":
@@ -3437,7 +3518,7 @@
3437
3518
  Int8Array,
3438
3519
  1,
3439
3520
  obj,
3440
- key,
3521
+ key$jscomp$0,
3441
3522
  arrayRoot
3442
3523
  );
3443
3524
  case "o":
@@ -3447,7 +3528,7 @@
3447
3528
  Uint8Array,
3448
3529
  1,
3449
3530
  obj,
3450
- key,
3531
+ key$jscomp$0,
3451
3532
  arrayRoot
3452
3533
  );
3453
3534
  case "U":
@@ -3457,7 +3538,7 @@
3457
3538
  Uint8ClampedArray,
3458
3539
  1,
3459
3540
  obj,
3460
- key,
3541
+ key$jscomp$0,
3461
3542
  arrayRoot
3462
3543
  );
3463
3544
  case "S":
@@ -3467,7 +3548,7 @@
3467
3548
  Int16Array,
3468
3549
  2,
3469
3550
  obj,
3470
- key,
3551
+ key$jscomp$0,
3471
3552
  arrayRoot
3472
3553
  );
3473
3554
  case "s":
@@ -3477,7 +3558,7 @@
3477
3558
  Uint16Array,
3478
3559
  2,
3479
3560
  obj,
3480
- key,
3561
+ key$jscomp$0,
3481
3562
  arrayRoot
3482
3563
  );
3483
3564
  case "L":
@@ -3487,7 +3568,7 @@
3487
3568
  Int32Array,
3488
3569
  4,
3489
3570
  obj,
3490
- key,
3571
+ key$jscomp$0,
3491
3572
  arrayRoot
3492
3573
  );
3493
3574
  case "l":
@@ -3497,7 +3578,7 @@
3497
3578
  Uint32Array,
3498
3579
  4,
3499
3580
  obj,
3500
- key,
3581
+ key$jscomp$0,
3501
3582
  arrayRoot
3502
3583
  );
3503
3584
  case "G":
@@ -3507,7 +3588,7 @@
3507
3588
  Float32Array,
3508
3589
  4,
3509
3590
  obj,
3510
- key,
3591
+ key$jscomp$0,
3511
3592
  arrayRoot
3512
3593
  );
3513
3594
  case "g":
@@ -3517,7 +3598,7 @@
3517
3598
  Float64Array,
3518
3599
  8,
3519
3600
  obj,
3520
- key,
3601
+ key$jscomp$0,
3521
3602
  arrayRoot
3522
3603
  );
3523
3604
  case "M":
@@ -3527,7 +3608,7 @@
3527
3608
  BigInt64Array,
3528
3609
  8,
3529
3610
  obj,
3530
- key,
3611
+ key$jscomp$0,
3531
3612
  arrayRoot
3532
3613
  );
3533
3614
  case "m":
@@ -3537,7 +3618,7 @@
3537
3618
  BigUint64Array,
3538
3619
  8,
3539
3620
  obj,
3540
- key,
3621
+ key$jscomp$0,
3541
3622
  arrayRoot
3542
3623
  );
3543
3624
  case "V":
@@ -3547,13 +3628,13 @@
3547
3628
  DataView,
3548
3629
  1,
3549
3630
  obj,
3550
- key,
3631
+ key$jscomp$0,
3551
3632
  arrayRoot
3552
3633
  );
3553
3634
  case "B":
3554
3635
  return (
3555
3636
  (obj = parseInt(value.slice(2), 16)),
3556
- response._formData.data.get(response._prefix + obj)
3637
+ getBackingBlob(response._formData, response._prefix + obj)
3557
3638
  );
3558
3639
  }
3559
3640
  switch (value[1]) {
@@ -3571,7 +3652,7 @@
3571
3652
  response,
3572
3653
  value,
3573
3654
  obj,
3574
- key,
3655
+ key$jscomp$0,
3575
3656
  arrayRoot,
3576
3657
  createModel
3577
3658
  );
@@ -3590,11 +3671,20 @@
3590
3671
  : new FormData(),
3591
3672
  arraySizeLimit =
3592
3673
  4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 1e6,
3593
- chunks = new Map();
3674
+ chunks = new Map(),
3675
+ backingStore = {
3676
+ prefix: formFieldPrefix,
3677
+ referencedEntries: null,
3678
+ keyPointer: 0,
3679
+ stringChunks: null,
3680
+ streamChunks: null,
3681
+ blobs: null
3682
+ };
3683
+ backingFormData.forEach(appendBackingEntry.bind(null, backingStore));
3594
3684
  return {
3595
3685
  _bundlerConfig: bundlerConfig,
3596
3686
  _prefix: formFieldPrefix,
3597
- _formData: { data: backingFormData, keyPointer: -1, keys: null },
3687
+ _formData: backingStore,
3598
3688
  _chunks: chunks,
3599
3689
  _temporaryReferences: temporaryReferences,
3600
3690
  _rootArrayContexts: new WeakMap(),
@@ -3602,19 +3692,26 @@
3602
3692
  };
3603
3693
  }
3604
3694
  function resolveField(response, key, value) {
3605
- var backingStore = response._formData;
3606
- backingStore.data.append(key, value);
3607
- var keys = backingStore.keys;
3608
- null === keys
3609
- ? ((backingStore.keys = Array.from(backingStore.data.keys())),
3610
- (backingStore.keyPointer = 0))
3611
- : keys.push(key);
3612
- keys = response._prefix;
3613
- key.startsWith(keys) &&
3614
- ((backingStore = response._chunks),
3615
- (key = +key.slice(keys.length)),
3616
- (backingStore = backingStore.get(key)) &&
3617
- resolveModelChunk(response, backingStore, value, key));
3695
+ var prefix = response._prefix;
3696
+ if (key.startsWith(prefix)) {
3697
+ var chunks = response._chunks;
3698
+ if ("S" === key[prefix.length]) {
3699
+ if (
3700
+ key.length > prefix.length + 1 &&
3701
+ ((prefix = +key.slice(prefix.length + 1)),
3702
+ (chunks = chunks.get(prefix)))
3703
+ ) {
3704
+ resolveModelChunk(response, chunks, value, prefix);
3705
+ return;
3706
+ }
3707
+ } else if (
3708
+ ((prefix = +key.slice(prefix.length)), (chunks = chunks.get(prefix)))
3709
+ ) {
3710
+ resolveModelChunk(response, chunks, value, prefix);
3711
+ return;
3712
+ }
3713
+ }
3714
+ appendBackingEntry(response._formData, value, key);
3618
3715
  }
3619
3716
  function close(response) {
3620
3717
  reportGlobalError(response, Error("Connection closed."));
@@ -3680,6 +3777,12 @@
3680
3777
  var async_hooks = require("async_hooks"),
3681
3778
  ReactDOM = require("react-dom"),
3682
3779
  React = require("react"),
3780
+ hasOwnProperty = Object.prototype.hasOwnProperty,
3781
+ supportsArrayBufferDetached = hasOwnProperty.call(
3782
+ ArrayBuffer.prototype,
3783
+ "detached"
3784
+ ),
3785
+ didWarnAboutMissingArrayBufferDetached = !1,
3683
3786
  scheduleMicrotask = queueMicrotask,
3684
3787
  currentView = null,
3685
3788
  writtenBytes = 0,
@@ -4101,7 +4204,6 @@
4101
4204
  debugID = null,
4102
4205
  modelRoot = !1,
4103
4206
  emptyRoot = {},
4104
- hasOwnProperty = Object.prototype.hasOwnProperty,
4105
4207
  asyncModuleCache = new Map(),
4106
4208
  RESPONSE_SYMBOL = Symbol();
4107
4209
  ReactPromise.prototype = Object.create(Promise.prototype);
@@ -4169,44 +4271,44 @@
4169
4271
  };
4170
4272
  exports.decodeAction = function (body, serverManifest) {
4171
4273
  var formData = new FormData(),
4172
- action = null,
4173
- seenActions = new Set();
4274
+ maybeActionKey = null;
4174
4275
  body.forEach(function (value, key) {
4175
4276
  key.startsWith("$ACTION_")
4176
4277
  ? key.startsWith("$ACTION_REF_")
4177
- ? seenActions.has(key) ||
4178
- (seenActions.add(key),
4179
- (value = "$ACTION_" + key.slice(12) + ":"),
4180
- (value = decodeBoundActionMetaData(body, serverManifest, value)),
4181
- (action = loadServerReference(serverManifest, value)))
4182
- : key.startsWith("$ACTION_ID_") &&
4183
- !seenActions.has(key) &&
4184
- (seenActions.add(key),
4185
- (value = key.slice(11)),
4186
- (action = loadServerReference(serverManifest, {
4187
- id: value,
4188
- bound: null
4189
- })))
4278
+ ? (maybeActionKey = key)
4279
+ : key.startsWith("$ACTION_ID_") && (maybeActionKey = key)
4190
4280
  : formData.append(key, value);
4191
4281
  });
4192
- return null === action
4193
- ? null
4194
- : action.then(function (fn) {
4195
- return fn.bind(null, formData);
4196
- });
4282
+ if (null === maybeActionKey) return null;
4283
+ var actionKey = maybeActionKey,
4284
+ action = null;
4285
+ if (actionKey.startsWith("$ACTION_REF_"))
4286
+ (actionKey = "$ACTION_" + actionKey.slice(12) + ":"),
4287
+ (body = decodeBoundActionMetaData(body, serverManifest, actionKey)),
4288
+ (action = loadServerReference(serverManifest, body));
4289
+ else if (actionKey.startsWith("$ACTION_ID_"))
4290
+ (body = actionKey.slice(11)),
4291
+ (action = loadServerReference(serverManifest, {
4292
+ id: body,
4293
+ bound: null
4294
+ }));
4295
+ else throw Error("Cannot handle action key. This is a bug in React.");
4296
+ return action.then(function (fn) {
4297
+ return fn.bind(null, formData);
4298
+ });
4197
4299
  };
4198
4300
  exports.decodeFormState = function (actionResult, body, serverManifest) {
4199
4301
  var keyPath = body.get("$ACTION_KEY");
4200
4302
  if ("string" !== typeof keyPath) return Promise.resolve(null);
4201
- var metaData = null;
4303
+ var actionKey = null;
4202
4304
  body.forEach(function (value, key) {
4203
- key.startsWith("$ACTION_REF_") &&
4204
- ((value = "$ACTION_" + key.slice(12) + ":"),
4205
- (metaData = decodeBoundActionMetaData(body, serverManifest, value)));
4305
+ key.startsWith("$ACTION_REF_") && (actionKey = key);
4206
4306
  });
4207
- if (null === metaData) return Promise.resolve(null);
4208
- var referenceId = metaData.id;
4209
- return Promise.resolve(metaData.bound).then(function (bound) {
4307
+ if (null === actionKey) return Promise.resolve(null);
4308
+ var formFieldPrefix = "$ACTION_" + actionKey.slice(12) + ":";
4309
+ body = decodeBoundActionMetaData(body, serverManifest, formFieldPrefix);
4310
+ var referenceId = body.id;
4311
+ return Promise.resolve(body.bound).then(function (bound) {
4210
4312
  return null === bound
4211
4313
  ? null
4212
4314
  : [actionResult, keyPath, referenceId, bound.length - 1];
@@ -4239,26 +4341,33 @@
4239
4341
  var current = head;
4240
4342
  if (!current.complete) return;
4241
4343
  try {
4242
- var response = response$jscomp$0,
4243
- key = current.name,
4244
- handle = current.file,
4245
- blob = new Blob(handle.chunks, { type: handle.mime }),
4246
- backingStore = response._formData;
4247
- response = key;
4248
- backingStore.data.append(response, blob, handle.filename);
4249
- var keys = backingStore.keys;
4250
- null === keys
4251
- ? ((backingStore.keys = Array.from(backingStore.data.keys())),
4252
- (backingStore.keyPointer = 0))
4253
- : keys.push(response);
4344
+ var key = current.name,
4345
+ JSCompiler_temp_const = response._formData;
4346
+ var handle = current.file;
4347
+ if ("function" === typeof File)
4348
+ var JSCompiler_inline_result = new File(
4349
+ handle.chunks,
4350
+ handle.filename,
4351
+ { type: handle.mime }
4352
+ );
4353
+ else {
4354
+ var scratch = new FormData();
4355
+ scratch.append(
4356
+ "file",
4357
+ new Blob(handle.chunks, { type: handle.mime }),
4358
+ handle.filename
4359
+ );
4360
+ JSCompiler_inline_result = scratch.get("file");
4361
+ }
4362
+ appendBackingEntry(
4363
+ JSCompiler_temp_const,
4364
+ JSCompiler_inline_result,
4365
+ key
4366
+ );
4254
4367
  var queuedFields = current.queuedFields;
4255
4368
  if (null !== queuedFields)
4256
- for (response = 0; response < queuedFields.length; response += 2)
4257
- resolveField(
4258
- response$jscomp$0,
4259
- queuedFields[response],
4260
- queuedFields[response + 1]
4261
- );
4369
+ for (var i = 0; i < queuedFields.length; i += 2)
4370
+ resolveField(response, queuedFields[i], queuedFields[i + 1]);
4262
4371
  } catch (error) {
4263
4372
  busboyStream.destroy(error);
4264
4373
  return;
@@ -4266,9 +4375,9 @@
4266
4375
  head = current.next;
4267
4376
  }
4268
4377
  tail = null;
4269
- bodyFinished && !closed && ((closed = !0), close(response$jscomp$0));
4378
+ bodyFinished && !closed && ((closed = !0), close(response));
4270
4379
  }
4271
- var response$jscomp$0 = createResponse(
4380
+ var response = createResponse(
4272
4381
  webpackMap,
4273
4382
  "",
4274
4383
  options ? options.temporaryReferences : void 0,
@@ -4285,7 +4394,7 @@
4285
4394
  tail.queuedFields.push(name, value);
4286
4395
  else
4287
4396
  try {
4288
- resolveField(response$jscomp$0, name, value);
4397
+ resolveField(response, name, value);
4289
4398
  } catch (error) {
4290
4399
  busboyStream.destroy(error);
4291
4400
  }
@@ -4331,14 +4440,14 @@
4331
4440
  flush();
4332
4441
  closed ||
4333
4442
  reportGlobalError(
4334
- response$jscomp$0,
4443
+ response,
4335
4444
  Error("Reply finished with incomplete file part.")
4336
4445
  );
4337
4446
  });
4338
4447
  busboyStream.on("error", function (err) {
4339
- reportGlobalError(response$jscomp$0, err);
4448
+ reportGlobalError(response, err);
4340
4449
  });
4341
- return getChunk(response$jscomp$0, 0);
4450
+ return getChunk(response, 0);
4342
4451
  };
4343
4452
  exports.registerClientReference = function (
4344
4453
  proxyImplementation,