react-server-dom-parcel 19.1.0 → 19.1.2

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.
@@ -31,7 +31,9 @@
31
31
  );
32
32
  }
33
33
  function requireModule(metadata) {
34
- return parcelRequire(metadata[0])[metadata[1]];
34
+ var moduleExports = parcelRequire(metadata[0]);
35
+ if (hasOwnProperty.call(moduleExports, metadata[1]))
36
+ return moduleExports[metadata[1]];
35
37
  }
36
38
  function _defineProperty(obj, key, value) {
37
39
  a: if ("object" == typeof key && key) {
@@ -150,7 +152,7 @@
150
152
  }
151
153
  stack.startsWith("Error: react-stack-top-frame\n") &&
152
154
  (stack = stack.slice(29));
153
- error = stack.indexOf("react-stack-bottom-frame");
155
+ error = stack.indexOf("react_stack_bottom_frame");
154
156
  -1 !== error && (error = stack.lastIndexOf("\n", error));
155
157
  -1 !== error && (stack = stack.slice(0, error));
156
158
  stack = stack.split("\n");
@@ -533,7 +535,7 @@
533
535
  (stack = stack.slice(29));
534
536
  var idx = stack.indexOf("\n");
535
537
  -1 !== idx && (stack = stack.slice(idx + 1));
536
- idx = stack.indexOf("react-stack-bottom-frame");
538
+ idx = stack.indexOf("react_stack_bottom_frame");
537
539
  -1 !== idx && (idx = stack.lastIndexOf("\n", idx));
538
540
  var JSCompiler_inline_result =
539
541
  -1 !== idx ? (stack = stack.slice(0, idx)) : "";
@@ -2595,29 +2597,59 @@
2595
2597
  fatalError(request, error$2);
2596
2598
  }
2597
2599
  }
2598
- function Chunk(status, value, reason, response) {
2600
+ function ReactPromise(status, value, reason) {
2599
2601
  this.status = status;
2600
2602
  this.value = value;
2601
2603
  this.reason = reason;
2602
- this._response = response;
2603
2604
  }
2604
- function createPendingChunk(response) {
2605
- return new Chunk("pending", null, null, response);
2605
+ function wakeChunk(response, listeners, value) {
2606
+ for (var i = 0; i < listeners.length; i++) {
2607
+ var listener = listeners[i];
2608
+ "function" === typeof listener
2609
+ ? listener(value)
2610
+ : fulfillReference(response, listener, value);
2611
+ }
2612
+ }
2613
+ function rejectChunk(response, listeners, error) {
2614
+ for (var i = 0; i < listeners.length; i++) {
2615
+ var listener = listeners[i];
2616
+ "function" === typeof listener
2617
+ ? listener(error)
2618
+ : rejectReference(response, listener.handler, error);
2619
+ }
2606
2620
  }
2607
- function wakeChunk(listeners, value) {
2608
- for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
2621
+ function resolveBlockedCycle(resolvedChunk, reference) {
2622
+ var referencedChunk = reference.handler.chunk;
2623
+ if (null === referencedChunk) return null;
2624
+ if (referencedChunk === resolvedChunk) return reference.handler;
2625
+ reference = referencedChunk.value;
2626
+ if (null !== reference)
2627
+ for (
2628
+ referencedChunk = 0;
2629
+ referencedChunk < reference.length;
2630
+ referencedChunk++
2631
+ ) {
2632
+ var listener = reference[referencedChunk];
2633
+ if (
2634
+ "function" !== typeof listener &&
2635
+ ((listener = resolveBlockedCycle(resolvedChunk, listener)),
2636
+ null !== listener)
2637
+ )
2638
+ return listener;
2639
+ }
2640
+ return null;
2609
2641
  }
2610
- function triggerErrorOnChunk(chunk, error) {
2642
+ function triggerErrorOnChunk(response, chunk, error) {
2611
2643
  if ("pending" !== chunk.status && "blocked" !== chunk.status)
2612
2644
  chunk.reason.error(error);
2613
2645
  else {
2614
2646
  var listeners = chunk.reason;
2615
2647
  chunk.status = "rejected";
2616
2648
  chunk.reason = error;
2617
- null !== listeners && wakeChunk(listeners, error);
2649
+ null !== listeners && rejectChunk(response, listeners, error);
2618
2650
  }
2619
2651
  }
2620
- function resolveModelChunk(chunk, value, id) {
2652
+ function resolveModelChunk(response, chunk, value, id) {
2621
2653
  if ("pending" !== chunk.status)
2622
2654
  (chunk = chunk.reason),
2623
2655
  "C" === value[0]
@@ -2628,42 +2660,74 @@
2628
2660
  rejectListeners = chunk.reason;
2629
2661
  chunk.status = "resolved_model";
2630
2662
  chunk.value = value;
2631
- chunk.reason = id;
2663
+ chunk.reason = _defineProperty({ id: id }, RESPONSE_SYMBOL, response);
2632
2664
  if (null !== resolveListeners)
2633
- switch ((initializeModelChunk(chunk), chunk.status)) {
2665
+ a: switch ((initializeModelChunk(chunk), chunk.status)) {
2634
2666
  case "fulfilled":
2635
- wakeChunk(resolveListeners, chunk.value);
2667
+ wakeChunk(response, resolveListeners, chunk.value);
2636
2668
  break;
2637
- case "pending":
2638
2669
  case "blocked":
2639
- case "cyclic":
2670
+ for (value = 0; value < resolveListeners.length; value++)
2671
+ if (
2672
+ ((id = resolveListeners[value]), "function" !== typeof id)
2673
+ ) {
2674
+ var cyclicHandler = resolveBlockedCycle(chunk, id);
2675
+ if (null !== cyclicHandler)
2676
+ switch (
2677
+ (fulfillReference(response, id, cyclicHandler.value),
2678
+ resolveListeners.splice(value, 1),
2679
+ value--,
2680
+ null !== rejectListeners &&
2681
+ ((id = rejectListeners.indexOf(id)),
2682
+ -1 !== id && rejectListeners.splice(id, 1)),
2683
+ chunk.status)
2684
+ ) {
2685
+ case "fulfilled":
2686
+ wakeChunk(response, resolveListeners, chunk.value);
2687
+ break a;
2688
+ case "rejected":
2689
+ null !== rejectListeners &&
2690
+ rejectChunk(response, rejectListeners, chunk.reason);
2691
+ break a;
2692
+ }
2693
+ }
2694
+ case "pending":
2640
2695
  if (chunk.value)
2641
- for (value = 0; value < resolveListeners.length; value++)
2642
- chunk.value.push(resolveListeners[value]);
2696
+ for (
2697
+ response = 0;
2698
+ response < resolveListeners.length;
2699
+ response++
2700
+ )
2701
+ chunk.value.push(resolveListeners[response]);
2643
2702
  else chunk.value = resolveListeners;
2644
2703
  if (chunk.reason) {
2645
2704
  if (rejectListeners)
2646
- for (value = 0; value < rejectListeners.length; value++)
2647
- chunk.reason.push(rejectListeners[value]);
2705
+ for (
2706
+ resolveListeners = 0;
2707
+ resolveListeners < rejectListeners.length;
2708
+ resolveListeners++
2709
+ )
2710
+ chunk.reason.push(rejectListeners[resolveListeners]);
2648
2711
  } else chunk.reason = rejectListeners;
2649
2712
  break;
2650
2713
  case "rejected":
2651
- rejectListeners && wakeChunk(rejectListeners, chunk.reason);
2714
+ rejectListeners &&
2715
+ wakeChunk(response, rejectListeners, chunk.reason);
2652
2716
  }
2653
2717
  }
2654
2718
  }
2655
2719
  function createResolvedIteratorResultChunk(response, value, done) {
2656
- return new Chunk(
2720
+ return new ReactPromise(
2657
2721
  "resolved_model",
2658
2722
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
2659
2723
  value +
2660
2724
  "}",
2661
- -1,
2662
- response
2725
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
2663
2726
  );
2664
2727
  }
2665
- function resolveIteratorResultChunk(chunk, value, done) {
2728
+ function resolveIteratorResultChunk(response, chunk, value, done) {
2666
2729
  resolveModelChunk(
2730
+ response,
2667
2731
  chunk,
2668
2732
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
2669
2733
  value +
@@ -2671,38 +2735,67 @@
2671
2735
  -1
2672
2736
  );
2673
2737
  }
2674
- function loadServerReference$1(
2675
- response,
2676
- id,
2677
- bound,
2678
- parentChunk,
2679
- parentObject,
2680
- key
2681
- ) {
2738
+ function loadServerReference$1(response, metaData, parentObject, key) {
2739
+ var id = metaData.id;
2740
+ if ("string" !== typeof id) return null;
2682
2741
  var serverReference = resolveServerReference(response._bundlerConfig, id);
2683
- id = preloadModule$1(serverReference);
2684
- if (bound)
2685
- bound = Promise.all([bound, id]).then(function (_ref) {
2686
- _ref = _ref[0];
2687
- var fn = requireModule(serverReference);
2688
- return fn.bind.apply(fn, [null].concat(_ref));
2689
- });
2690
- else if (id)
2691
- bound = Promise.resolve(id).then(function () {
2692
- return requireModule(serverReference);
2693
- });
2742
+ id = metaData.bound;
2743
+ var promise = preloadModule$1(serverReference);
2744
+ if (promise)
2745
+ id instanceof ReactPromise && (promise = Promise.all([promise, id]));
2746
+ else if (id instanceof ReactPromise) promise = Promise.resolve(id);
2694
2747
  else return requireModule(serverReference);
2695
- bound.then(
2696
- createModelResolver(
2697
- parentChunk,
2698
- parentObject,
2699
- key,
2700
- !1,
2701
- response,
2702
- createModel,
2703
- []
2704
- ),
2705
- createModelReject(parentChunk)
2748
+ if (initializingHandler) {
2749
+ var handler = initializingHandler;
2750
+ handler.deps++;
2751
+ } else
2752
+ handler = initializingHandler = {
2753
+ chunk: null,
2754
+ value: null,
2755
+ reason: null,
2756
+ deps: 1,
2757
+ errored: !1
2758
+ };
2759
+ promise.then(
2760
+ function () {
2761
+ var resolvedValue = requireModule(serverReference);
2762
+ if (metaData.bound) {
2763
+ var promiseValue = metaData.bound.value;
2764
+ promiseValue = Array.isArray(promiseValue)
2765
+ ? promiseValue.slice(0)
2766
+ : [];
2767
+ promiseValue.unshift(null);
2768
+ resolvedValue = resolvedValue.bind.apply(
2769
+ resolvedValue,
2770
+ promiseValue
2771
+ );
2772
+ }
2773
+ parentObject[key] = resolvedValue;
2774
+ "" === key &&
2775
+ null === handler.value &&
2776
+ (handler.value = resolvedValue);
2777
+ handler.deps--;
2778
+ 0 === handler.deps &&
2779
+ ((resolvedValue = handler.chunk),
2780
+ null !== resolvedValue &&
2781
+ "blocked" === resolvedValue.status &&
2782
+ ((promiseValue = resolvedValue.value),
2783
+ (resolvedValue.status = "fulfilled"),
2784
+ (resolvedValue.value = handler.value),
2785
+ null !== promiseValue &&
2786
+ wakeChunk(response, promiseValue, handler.value)));
2787
+ },
2788
+ function (error) {
2789
+ if (!handler.errored) {
2790
+ handler.errored = !0;
2791
+ handler.value = null;
2792
+ handler.reason = error;
2793
+ var chunk = handler.chunk;
2794
+ null !== chunk &&
2795
+ "blocked" === chunk.status &&
2796
+ triggerErrorOnChunk(response, chunk, error);
2797
+ }
2798
+ }
2706
2799
  );
2707
2800
  return null;
2708
2801
  }
@@ -2744,53 +2837,66 @@
2744
2837
  value[i],
2745
2838
  parentObj
2746
2839
  )),
2747
- void 0 !== parentObj ? (value[i] = parentObj) : delete value[i]);
2840
+ void 0 !== parentObj || "__proto__" === i
2841
+ ? (value[i] = parentObj)
2842
+ : delete value[i]);
2748
2843
  return value;
2749
2844
  }
2750
2845
  function initializeModelChunk(chunk) {
2751
- var prevChunk = initializingChunk,
2752
- prevBlocked = initializingChunkBlockedModel;
2753
- initializingChunk = chunk;
2754
- initializingChunkBlockedModel = null;
2755
- var rootReference =
2756
- -1 === chunk.reason ? void 0 : chunk.reason.toString(16),
2757
- resolvedModel = chunk.value;
2758
- chunk.status = "cyclic";
2846
+ var prevHandler = initializingHandler;
2847
+ initializingHandler = null;
2848
+ var _chunk$reason = chunk.reason,
2849
+ response = _chunk$reason[RESPONSE_SYMBOL];
2850
+ _chunk$reason = _chunk$reason.id;
2851
+ _chunk$reason =
2852
+ -1 === _chunk$reason ? void 0 : _chunk$reason.toString(16);
2853
+ var resolvedModel = chunk.value;
2854
+ chunk.status = "blocked";
2759
2855
  chunk.value = null;
2760
2856
  chunk.reason = null;
2761
2857
  try {
2762
2858
  var rawModel = JSON.parse(resolvedModel),
2763
2859
  value = reviveModel(
2764
- chunk._response,
2860
+ response,
2765
2861
  { "": rawModel },
2766
2862
  "",
2767
2863
  rawModel,
2768
- rootReference
2769
- );
2770
- if (
2771
- null !== initializingChunkBlockedModel &&
2772
- 0 < initializingChunkBlockedModel.deps
2773
- )
2774
- (initializingChunkBlockedModel.value = value),
2775
- (chunk.status = "blocked");
2776
- else {
2777
- var resolveListeners = chunk.value;
2778
- chunk.status = "fulfilled";
2779
- chunk.value = value;
2780
- null !== resolveListeners && wakeChunk(resolveListeners, value);
2864
+ _chunk$reason
2865
+ ),
2866
+ resolveListeners = chunk.value;
2867
+ if (null !== resolveListeners)
2868
+ for (
2869
+ chunk.value = null, chunk.reason = null, rawModel = 0;
2870
+ rawModel < resolveListeners.length;
2871
+ rawModel++
2872
+ ) {
2873
+ var listener = resolveListeners[rawModel];
2874
+ "function" === typeof listener
2875
+ ? listener(value)
2876
+ : fulfillReference(response, listener, value);
2877
+ }
2878
+ if (null !== initializingHandler) {
2879
+ if (initializingHandler.errored) throw initializingHandler.reason;
2880
+ if (0 < initializingHandler.deps) {
2881
+ initializingHandler.value = value;
2882
+ initializingHandler.chunk = chunk;
2883
+ return;
2884
+ }
2781
2885
  }
2886
+ chunk.status = "fulfilled";
2887
+ chunk.value = value;
2782
2888
  } catch (error) {
2783
2889
  (chunk.status = "rejected"), (chunk.reason = error);
2784
2890
  } finally {
2785
- (initializingChunk = prevChunk),
2786
- (initializingChunkBlockedModel = prevBlocked);
2891
+ initializingHandler = prevHandler;
2787
2892
  }
2788
2893
  }
2789
2894
  function reportGlobalError(response, error) {
2790
2895
  response._closed = !0;
2791
2896
  response._closedReason = error;
2792
2897
  response._chunks.forEach(function (chunk) {
2793
- "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
2898
+ "pending" === chunk.status &&
2899
+ triggerErrorOnChunk(response, chunk, error);
2794
2900
  });
2795
2901
  }
2796
2902
  function getChunk(response, id) {
@@ -2799,50 +2905,108 @@
2799
2905
  chunk ||
2800
2906
  ((chunk = response._formData.get(response._prefix + id)),
2801
2907
  (chunk =
2802
- null != chunk
2803
- ? new Chunk("resolved_model", chunk, id, response)
2908
+ "string" === typeof chunk
2909
+ ? new ReactPromise(
2910
+ "resolved_model",
2911
+ chunk,
2912
+ _defineProperty({ id: id }, RESPONSE_SYMBOL, response)
2913
+ )
2804
2914
  : response._closed
2805
- ? new Chunk("rejected", null, response._closedReason, response)
2806
- : createPendingChunk(response)),
2915
+ ? new ReactPromise("rejected", null, response._closedReason)
2916
+ : new ReactPromise("pending", null, null)),
2807
2917
  chunks.set(id, chunk));
2808
2918
  return chunk;
2809
2919
  }
2810
- function createModelResolver(
2811
- chunk,
2920
+ function fulfillReference(response, reference, value) {
2921
+ for (
2922
+ var handler = reference.handler,
2923
+ parentObject = reference.parentObject,
2924
+ key = reference.key,
2925
+ map = reference.map,
2926
+ path = reference.path,
2927
+ i = 1;
2928
+ i < path.length;
2929
+ i++
2930
+ ) {
2931
+ for (; value instanceof ReactPromise; ) {
2932
+ switch (value.status) {
2933
+ case "resolved_model":
2934
+ initializeModelChunk(value);
2935
+ }
2936
+ switch (value.status) {
2937
+ case "fulfilled":
2938
+ value = value.value;
2939
+ continue;
2940
+ case "blocked":
2941
+ case "pending":
2942
+ path.splice(0, i - 1);
2943
+ null === value.value
2944
+ ? (value.value = [reference])
2945
+ : value.value.push(reference);
2946
+ null === value.reason
2947
+ ? (value.reason = [reference])
2948
+ : value.reason.push(reference);
2949
+ return;
2950
+ default:
2951
+ rejectReference(response, reference.handler, value.reason);
2952
+ return;
2953
+ }
2954
+ }
2955
+ var name = path[i];
2956
+ "object" === typeof value &&
2957
+ hasOwnProperty.call(value, name) &&
2958
+ (value = value[name]);
2959
+ }
2960
+ reference = map(response, value, parentObject, key);
2961
+ parentObject[key] = reference;
2962
+ "" === key && null === handler.value && (handler.value = reference);
2963
+ handler.deps--;
2964
+ 0 === handler.deps &&
2965
+ ((parentObject = handler.chunk),
2966
+ null !== parentObject &&
2967
+ "blocked" === parentObject.status &&
2968
+ ((key = parentObject.value),
2969
+ (parentObject.status = "fulfilled"),
2970
+ (parentObject.value = handler.value),
2971
+ (parentObject.reason = handler.reason),
2972
+ null !== key && wakeChunk(response, key, handler.value)));
2973
+ }
2974
+ function rejectReference(response, handler, error) {
2975
+ handler.errored ||
2976
+ ((handler.errored = !0),
2977
+ (handler.value = null),
2978
+ (handler.reason = error),
2979
+ (handler = handler.chunk),
2980
+ null !== handler &&
2981
+ "blocked" === handler.status &&
2982
+ triggerErrorOnChunk(response, handler, error));
2983
+ }
2984
+ function waitForReference(
2985
+ referencedChunk,
2812
2986
  parentObject,
2813
2987
  key,
2814
- cyclic,
2815
2988
  response,
2816
2989
  map,
2817
2990
  path
2818
2991
  ) {
2819
- if (initializingChunkBlockedModel) {
2820
- var blocked = initializingChunkBlockedModel;
2821
- cyclic || blocked.deps++;
2822
- } else
2823
- blocked = initializingChunkBlockedModel = {
2824
- deps: cyclic ? 0 : 1,
2825
- value: null
2826
- };
2827
- return function (value) {
2828
- for (var i = 1; i < path.length; i++) value = value[path[i]];
2829
- parentObject[key] = map(response, value);
2830
- "" === key &&
2831
- null === blocked.value &&
2832
- (blocked.value = parentObject[key]);
2833
- blocked.deps--;
2834
- 0 === blocked.deps &&
2835
- "blocked" === chunk.status &&
2836
- ((value = chunk.value),
2837
- (chunk.status = "fulfilled"),
2838
- (chunk.value = blocked.value),
2839
- null !== value && wakeChunk(value, blocked.value));
2840
- };
2841
- }
2842
- function createModelReject(chunk) {
2843
- return function (error) {
2844
- return triggerErrorOnChunk(chunk, error);
2992
+ initializingHandler
2993
+ ? ((response = initializingHandler), response.deps++)
2994
+ : (response = initializingHandler =
2995
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
2996
+ parentObject = {
2997
+ handler: response,
2998
+ parentObject: parentObject,
2999
+ key: key,
3000
+ map: map,
3001
+ path: path
2845
3002
  };
3003
+ null === referencedChunk.value
3004
+ ? (referencedChunk.value = [parentObject])
3005
+ : referencedChunk.value.push(parentObject);
3006
+ null === referencedChunk.reason
3007
+ ? (referencedChunk.reason = [parentObject])
3008
+ : referencedChunk.reason.push(parentObject);
3009
+ return null;
2846
3010
  }
2847
3011
  function getOutlinedModel(response, reference, parentObject, key, map) {
2848
3012
  reference = reference.split(":");
@@ -2854,29 +3018,75 @@
2854
3018
  }
2855
3019
  switch (id.status) {
2856
3020
  case "fulfilled":
2857
- parentObject = id.value;
2858
- for (key = 1; key < reference.length; key++)
2859
- parentObject = parentObject[reference[key]];
2860
- return map(response, parentObject);
3021
+ var value = id.value;
3022
+ for (id = 1; id < reference.length; id++) {
3023
+ for (; value instanceof ReactPromise; ) {
3024
+ switch (value.status) {
3025
+ case "resolved_model":
3026
+ initializeModelChunk(value);
3027
+ }
3028
+ switch (value.status) {
3029
+ case "fulfilled":
3030
+ value = value.value;
3031
+ break;
3032
+ case "blocked":
3033
+ case "pending":
3034
+ return waitForReference(
3035
+ value,
3036
+ parentObject,
3037
+ key,
3038
+ response,
3039
+ map,
3040
+ reference.slice(id - 1)
3041
+ );
3042
+ default:
3043
+ return (
3044
+ initializingHandler
3045
+ ? ((initializingHandler.errored = !0),
3046
+ (initializingHandler.value = null),
3047
+ (initializingHandler.reason = value.reason))
3048
+ : (initializingHandler = {
3049
+ chunk: null,
3050
+ value: null,
3051
+ reason: value.reason,
3052
+ deps: 0,
3053
+ errored: !0
3054
+ }),
3055
+ null
3056
+ );
3057
+ }
3058
+ }
3059
+ var name = reference[id];
3060
+ "object" === typeof value &&
3061
+ hasOwnProperty.call(value, name) &&
3062
+ (value = value[name]);
3063
+ }
3064
+ return map(response, value, parentObject, key);
2861
3065
  case "pending":
2862
3066
  case "blocked":
2863
- case "cyclic":
2864
- var parentChunk = initializingChunk;
2865
- id.then(
2866
- createModelResolver(
2867
- parentChunk,
2868
- parentObject,
2869
- key,
2870
- "cyclic" === id.status,
2871
- response,
2872
- map,
2873
- reference
2874
- ),
2875
- createModelReject(parentChunk)
3067
+ return waitForReference(
3068
+ id,
3069
+ parentObject,
3070
+ key,
3071
+ response,
3072
+ map,
3073
+ reference
2876
3074
  );
2877
- return null;
2878
3075
  default:
2879
- throw id.reason;
3076
+ return (
3077
+ initializingHandler
3078
+ ? ((initializingHandler.errored = !0),
3079
+ (initializingHandler.value = null),
3080
+ (initializingHandler.reason = id.reason))
3081
+ : (initializingHandler = {
3082
+ chunk: null,
3083
+ value: null,
3084
+ reason: id.reason,
3085
+ deps: 0,
3086
+ errored: !0
3087
+ }),
3088
+ null
3089
+ );
2880
3090
  }
2881
3091
  }
2882
3092
  function createMap(response, model) {
@@ -2900,40 +3110,68 @@
2900
3110
  parentKey
2901
3111
  ) {
2902
3112
  reference = parseInt(reference.slice(2), 16);
2903
- reference = response._formData.get(response._prefix + reference);
2904
- reference =
2905
- constructor === ArrayBuffer
2906
- ? reference.arrayBuffer()
2907
- : reference.arrayBuffer().then(function (buffer) {
2908
- return new constructor(buffer);
2909
- });
2910
- bytesPerElement = initializingChunk;
3113
+ reference = response._formData
3114
+ .get(response._prefix + reference)
3115
+ .arrayBuffer();
3116
+ if (initializingHandler) {
3117
+ var handler = initializingHandler;
3118
+ handler.deps++;
3119
+ } else
3120
+ handler = initializingHandler = {
3121
+ chunk: null,
3122
+ value: null,
3123
+ reason: null,
3124
+ deps: 1,
3125
+ errored: !1
3126
+ };
2911
3127
  reference.then(
2912
- createModelResolver(
2913
- bytesPerElement,
2914
- parentObject,
2915
- parentKey,
2916
- !1,
2917
- response,
2918
- createModel,
2919
- []
2920
- ),
2921
- createModelReject(bytesPerElement)
3128
+ function (buffer) {
3129
+ buffer =
3130
+ constructor === ArrayBuffer ? buffer : new constructor(buffer);
3131
+ parentObject[parentKey] = buffer;
3132
+ "" === parentKey &&
3133
+ null === handler.value &&
3134
+ (handler.value = buffer);
3135
+ handler.deps--;
3136
+ if (
3137
+ 0 === handler.deps &&
3138
+ ((buffer = handler.chunk),
3139
+ null !== buffer && "blocked" === buffer.status)
3140
+ ) {
3141
+ var resolveListeners = buffer.value;
3142
+ buffer.status = "fulfilled";
3143
+ buffer.value = handler.value;
3144
+ null !== resolveListeners &&
3145
+ wakeChunk(response, resolveListeners, handler.value);
3146
+ }
3147
+ },
3148
+ function (error) {
3149
+ if (!handler.errored) {
3150
+ handler.errored = !0;
3151
+ handler.value = null;
3152
+ handler.reason = error;
3153
+ var chunk = handler.chunk;
3154
+ null !== chunk &&
3155
+ "blocked" === chunk.status &&
3156
+ triggerErrorOnChunk(response, chunk, error);
3157
+ }
3158
+ }
2922
3159
  );
2923
3160
  return null;
2924
3161
  }
2925
3162
  function resolveStream(response, id, stream, controller) {
2926
3163
  var chunks = response._chunks;
2927
- stream = new Chunk("fulfilled", stream, controller, response);
3164
+ stream = new ReactPromise("fulfilled", stream, controller);
2928
3165
  chunks.set(id, stream);
2929
3166
  response = response._formData.getAll(response._prefix + id);
2930
3167
  for (id = 0; id < response.length; id++)
2931
3168
  (chunks = response[id]),
2932
- "C" === chunks[0]
2933
- ? controller.close(
2934
- "C" === chunks ? '"$undefined"' : chunks.slice(1)
2935
- )
2936
- : controller.enqueueModel(chunks);
3169
+ "string" === typeof chunks &&
3170
+ ("C" === chunks[0]
3171
+ ? controller.close(
3172
+ "C" === chunks ? '"$undefined"' : chunks.slice(1)
3173
+ )
3174
+ : controller.enqueueModel(chunks));
2937
3175
  }
2938
3176
  function parseReadableStream(response, reference, type) {
2939
3177
  reference = parseInt(reference.slice(2), 16);
@@ -2948,7 +3186,11 @@
2948
3186
  resolveStream(response, reference, type, {
2949
3187
  enqueueModel: function (json) {
2950
3188
  if (null === previousBlockedChunk) {
2951
- var chunk = new Chunk("resolved_model", json, -1, response);
3189
+ var chunk = new ReactPromise(
3190
+ "resolved_model",
3191
+ json,
3192
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
3193
+ );
2952
3194
  initializeModelChunk(chunk);
2953
3195
  "fulfilled" === chunk.status
2954
3196
  ? controller.enqueue(chunk.value)
@@ -2963,7 +3205,7 @@
2963
3205
  (previousBlockedChunk = chunk));
2964
3206
  } else {
2965
3207
  chunk = previousBlockedChunk;
2966
- var _chunk = createPendingChunk(response);
3208
+ var _chunk = new ReactPromise("pending", null, null);
2967
3209
  _chunk.then(
2968
3210
  function (v) {
2969
3211
  return controller.enqueue(v);
@@ -2975,7 +3217,7 @@
2975
3217
  previousBlockedChunk = _chunk;
2976
3218
  chunk.then(function () {
2977
3219
  previousBlockedChunk === _chunk && (previousBlockedChunk = null);
2978
- resolveModelChunk(_chunk, json, -1);
3220
+ resolveModelChunk(response, _chunk, json, -1);
2979
3221
  });
2980
3222
  }
2981
3223
  },
@@ -3024,13 +3266,12 @@
3024
3266
  );
3025
3267
  if (nextReadIndex === buffer.length) {
3026
3268
  if (closed)
3027
- return new Chunk(
3269
+ return new ReactPromise(
3028
3270
  "fulfilled",
3029
3271
  { done: !0, value: void 0 },
3030
- null,
3031
- response
3272
+ null
3032
3273
  );
3033
- buffer[nextReadIndex] = createPendingChunk(response);
3274
+ buffer[nextReadIndex] = new ReactPromise("pending", null, null);
3034
3275
  }
3035
3276
  return buffer[nextReadIndex++];
3036
3277
  });
@@ -3044,7 +3285,12 @@
3044
3285
  value,
3045
3286
  !1
3046
3287
  ))
3047
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);
3288
+ : resolveIteratorResultChunk(
3289
+ response,
3290
+ buffer[nextWriteIndex],
3291
+ value,
3292
+ !1
3293
+ );
3048
3294
  nextWriteIndex++;
3049
3295
  },
3050
3296
  close: function (value) {
@@ -3055,9 +3301,15 @@
3055
3301
  value,
3056
3302
  !0
3057
3303
  ))
3058
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);
3304
+ : resolveIteratorResultChunk(
3305
+ response,
3306
+ buffer[nextWriteIndex],
3307
+ value,
3308
+ !0
3309
+ );
3059
3310
  for (nextWriteIndex++; nextWriteIndex < buffer.length; )
3060
3311
  resolveIteratorResultChunk(
3312
+ response,
3061
3313
  buffer[nextWriteIndex++],
3062
3314
  '"$undefined"',
3063
3315
  !0
@@ -3067,11 +3319,11 @@
3067
3319
  closed = !0;
3068
3320
  for (
3069
3321
  nextWriteIndex === buffer.length &&
3070
- (buffer[nextWriteIndex] = createPendingChunk(response));
3322
+ (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
3071
3323
  nextWriteIndex < buffer.length;
3072
3324
 
3073
3325
  )
3074
- triggerErrorOnChunk(buffer[nextWriteIndex++], error);
3326
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
3075
3327
  }
3076
3328
  });
3077
3329
  return iterator;
@@ -3088,21 +3340,7 @@
3088
3340
  case "F":
3089
3341
  return (
3090
3342
  (value = value.slice(2)),
3091
- (value = getOutlinedModel(
3092
- response,
3093
- value,
3094
- obj,
3095
- key,
3096
- createModel
3097
- )),
3098
- loadServerReference$1(
3099
- response,
3100
- value.id,
3101
- value.bound,
3102
- initializingChunk,
3103
- obj,
3104
- key
3105
- )
3343
+ getOutlinedModel(response, value, obj, key, loadServerReference$1)
3106
3344
  );
3107
3345
  case "T":
3108
3346
  if (
@@ -3306,6 +3544,7 @@
3306
3544
  React = require("react"),
3307
3545
  ReactDOMSharedInternals =
3308
3546
  ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
3547
+ hasOwnProperty = Object.prototype.hasOwnProperty,
3309
3548
  channel = new MessageChannel(),
3310
3549
  taskQueue = [];
3311
3550
  channel.port1.onmessage = function () {
@@ -3619,7 +3858,7 @@
3619
3858
  };
3620
3859
  }
3621
3860
  var callComponent = {
3622
- "react-stack-bottom-frame": function (
3861
+ react_stack_bottom_frame: function (
3623
3862
  Component,
3624
3863
  props,
3625
3864
  componentDebugInfo
@@ -3633,22 +3872,22 @@
3633
3872
  }
3634
3873
  },
3635
3874
  callComponentInDEV =
3636
- callComponent["react-stack-bottom-frame"].bind(callComponent),
3875
+ callComponent.react_stack_bottom_frame.bind(callComponent),
3637
3876
  callLazyInit = {
3638
- "react-stack-bottom-frame": function (lazy) {
3877
+ react_stack_bottom_frame: function (lazy) {
3639
3878
  var init = lazy._init;
3640
3879
  return init(lazy._payload);
3641
3880
  }
3642
3881
  },
3643
3882
  callLazyInitInDEV =
3644
- callLazyInit["react-stack-bottom-frame"].bind(callLazyInit),
3883
+ callLazyInit.react_stack_bottom_frame.bind(callLazyInit),
3645
3884
  callIterator = {
3646
- "react-stack-bottom-frame": function (iterator, progress, error) {
3885
+ react_stack_bottom_frame: function (iterator, progress, error) {
3647
3886
  iterator.next().then(progress, error);
3648
3887
  }
3649
3888
  },
3650
3889
  callIteratorInDEV =
3651
- callIterator["react-stack-bottom-frame"].bind(callIterator),
3890
+ callIterator.react_stack_bottom_frame.bind(callIterator),
3652
3891
  isArrayImpl = Array.isArray,
3653
3892
  getPrototypeOf = Object.getPrototypeOf,
3654
3893
  jsxPropsParents = new WeakMap(),
@@ -3686,33 +3925,31 @@
3686
3925
  debugID = null,
3687
3926
  modelRoot = !1,
3688
3927
  emptyRoot = {},
3689
- hasOwnProperty = Object.prototype.hasOwnProperty;
3690
- Chunk.prototype = Object.create(Promise.prototype);
3691
- Chunk.prototype.then = function (resolve, reject) {
3928
+ RESPONSE_SYMBOL = Symbol();
3929
+ ReactPromise.prototype = Object.create(Promise.prototype);
3930
+ ReactPromise.prototype.then = function (resolve, reject) {
3692
3931
  switch (this.status) {
3693
3932
  case "resolved_model":
3694
3933
  initializeModelChunk(this);
3695
3934
  }
3696
3935
  switch (this.status) {
3697
3936
  case "fulfilled":
3698
- resolve(this.value);
3937
+ "function" === typeof resolve && resolve(this.value);
3699
3938
  break;
3700
3939
  case "pending":
3701
3940
  case "blocked":
3702
- case "cyclic":
3703
- resolve &&
3941
+ "function" === typeof resolve &&
3704
3942
  (null === this.value && (this.value = []),
3705
3943
  this.value.push(resolve));
3706
- reject &&
3944
+ "function" === typeof reject &&
3707
3945
  (null === this.reason && (this.reason = []),
3708
3946
  this.reason.push(reject));
3709
3947
  break;
3710
3948
  default:
3711
- reject(this.reason);
3949
+ "function" === typeof reject && reject(this.reason);
3712
3950
  }
3713
3951
  };
3714
- var initializingChunk = null,
3715
- initializingChunkBlockedModel = null,
3952
+ var initializingHandler = null,
3716
3953
  serverManifest = {};
3717
3954
  exports.createClientReference = function (
3718
3955
  id,