@modern-js/utils 2.69.2 → 2.69.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.
Files changed (18) hide show
  1. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js +8 -9
  2. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js +7 -8
  3. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js +6 -7
  4. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js +7 -8
  5. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js +6 -7
  6. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js +7 -8
  7. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js +5 -5
  8. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js +6 -6
  9. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +430 -197
  10. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +428 -204
  11. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js +431 -198
  12. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +429 -205
  13. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +474 -227
  14. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +472 -230
  15. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js +472 -224
  16. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +470 -227
  17. package/dist/compiled/react-server-dom-webpack/package.json +5 -5
  18. package/package.json +2 -2
@@ -2500,41 +2500,69 @@
2500
2500
  if ("fulfilled" === moduleExports.status)
2501
2501
  moduleExports = moduleExports.value;
2502
2502
  else throw moduleExports.reason;
2503
- return "*" === metadata[2]
2504
- ? moduleExports
2505
- : "" === metadata[2]
2506
- ? moduleExports.__esModule
2507
- ? moduleExports.default
2508
- : moduleExports
2509
- : moduleExports[metadata[2]];
2503
+ if ("*" === metadata[2]) return moduleExports;
2504
+ if ("" === metadata[2])
2505
+ return moduleExports.__esModule ? moduleExports.default : moduleExports;
2506
+ if (hasOwnProperty.call(moduleExports, metadata[2]))
2507
+ return moduleExports[metadata[2]];
2510
2508
  }
2511
2509
  function loadChunk(chunkId, filename) {
2512
2510
  chunkMap.set(chunkId, filename);
2513
2511
  return __webpack_chunk_load__(chunkId);
2514
2512
  }
2515
- function Chunk(status, value, reason, response) {
2513
+ function ReactPromise(status, value, reason) {
2516
2514
  this.status = status;
2517
2515
  this.value = value;
2518
2516
  this.reason = reason;
2519
- this._response = response;
2520
2517
  }
2521
- function createPendingChunk(response) {
2522
- return new Chunk("pending", null, null, response);
2518
+ function wakeChunk(response, listeners, value) {
2519
+ for (var i = 0; i < listeners.length; i++) {
2520
+ var listener = listeners[i];
2521
+ "function" === typeof listener
2522
+ ? listener(value)
2523
+ : fulfillReference(response, listener, value);
2524
+ }
2525
+ }
2526
+ function rejectChunk(response, listeners, error) {
2527
+ for (var i = 0; i < listeners.length; i++) {
2528
+ var listener = listeners[i];
2529
+ "function" === typeof listener
2530
+ ? listener(error)
2531
+ : rejectReference(response, listener.handler, error);
2532
+ }
2523
2533
  }
2524
- function wakeChunk(listeners, value) {
2525
- for (var i = 0; i < listeners.length; i++) (0, listeners[i])(value);
2534
+ function resolveBlockedCycle(resolvedChunk, reference) {
2535
+ var referencedChunk = reference.handler.chunk;
2536
+ if (null === referencedChunk) return null;
2537
+ if (referencedChunk === resolvedChunk) return reference.handler;
2538
+ reference = referencedChunk.value;
2539
+ if (null !== reference)
2540
+ for (
2541
+ referencedChunk = 0;
2542
+ referencedChunk < reference.length;
2543
+ referencedChunk++
2544
+ ) {
2545
+ var listener = reference[referencedChunk];
2546
+ if (
2547
+ "function" !== typeof listener &&
2548
+ ((listener = resolveBlockedCycle(resolvedChunk, listener)),
2549
+ null !== listener)
2550
+ )
2551
+ return listener;
2552
+ }
2553
+ return null;
2526
2554
  }
2527
- function triggerErrorOnChunk(chunk, error) {
2555
+ function triggerErrorOnChunk(response, chunk, error) {
2528
2556
  if ("pending" !== chunk.status && "blocked" !== chunk.status)
2529
2557
  chunk.reason.error(error);
2530
2558
  else {
2531
2559
  var listeners = chunk.reason;
2532
2560
  chunk.status = "rejected";
2533
2561
  chunk.reason = error;
2534
- null !== listeners && wakeChunk(listeners, error);
2562
+ null !== listeners && rejectChunk(response, listeners, error);
2535
2563
  }
2536
2564
  }
2537
- function resolveModelChunk(chunk, value, id) {
2565
+ function resolveModelChunk(response, chunk, value, id) {
2538
2566
  if ("pending" !== chunk.status)
2539
2567
  (chunk = chunk.reason),
2540
2568
  "C" === value[0]
@@ -2545,42 +2573,74 @@
2545
2573
  rejectListeners = chunk.reason;
2546
2574
  chunk.status = "resolved_model";
2547
2575
  chunk.value = value;
2548
- chunk.reason = id;
2576
+ chunk.reason = _defineProperty({ id: id }, RESPONSE_SYMBOL, response);
2549
2577
  if (null !== resolveListeners)
2550
- switch ((initializeModelChunk(chunk), chunk.status)) {
2578
+ a: switch ((initializeModelChunk(chunk), chunk.status)) {
2551
2579
  case "fulfilled":
2552
- wakeChunk(resolveListeners, chunk.value);
2580
+ wakeChunk(response, resolveListeners, chunk.value);
2553
2581
  break;
2554
- case "pending":
2555
2582
  case "blocked":
2556
- case "cyclic":
2583
+ for (value = 0; value < resolveListeners.length; value++)
2584
+ if (
2585
+ ((id = resolveListeners[value]), "function" !== typeof id)
2586
+ ) {
2587
+ var cyclicHandler = resolveBlockedCycle(chunk, id);
2588
+ if (null !== cyclicHandler)
2589
+ switch (
2590
+ (fulfillReference(response, id, cyclicHandler.value),
2591
+ resolveListeners.splice(value, 1),
2592
+ value--,
2593
+ null !== rejectListeners &&
2594
+ ((id = rejectListeners.indexOf(id)),
2595
+ -1 !== id && rejectListeners.splice(id, 1)),
2596
+ chunk.status)
2597
+ ) {
2598
+ case "fulfilled":
2599
+ wakeChunk(response, resolveListeners, chunk.value);
2600
+ break a;
2601
+ case "rejected":
2602
+ null !== rejectListeners &&
2603
+ rejectChunk(response, rejectListeners, chunk.reason);
2604
+ break a;
2605
+ }
2606
+ }
2607
+ case "pending":
2557
2608
  if (chunk.value)
2558
- for (value = 0; value < resolveListeners.length; value++)
2559
- chunk.value.push(resolveListeners[value]);
2609
+ for (
2610
+ response = 0;
2611
+ response < resolveListeners.length;
2612
+ response++
2613
+ )
2614
+ chunk.value.push(resolveListeners[response]);
2560
2615
  else chunk.value = resolveListeners;
2561
2616
  if (chunk.reason) {
2562
2617
  if (rejectListeners)
2563
- for (value = 0; value < rejectListeners.length; value++)
2564
- chunk.reason.push(rejectListeners[value]);
2618
+ for (
2619
+ resolveListeners = 0;
2620
+ resolveListeners < rejectListeners.length;
2621
+ resolveListeners++
2622
+ )
2623
+ chunk.reason.push(rejectListeners[resolveListeners]);
2565
2624
  } else chunk.reason = rejectListeners;
2566
2625
  break;
2567
2626
  case "rejected":
2568
- rejectListeners && wakeChunk(rejectListeners, chunk.reason);
2627
+ rejectListeners &&
2628
+ wakeChunk(response, rejectListeners, chunk.reason);
2569
2629
  }
2570
2630
  }
2571
2631
  }
2572
2632
  function createResolvedIteratorResultChunk(response, value, done) {
2573
- return new Chunk(
2633
+ return new ReactPromise(
2574
2634
  "resolved_model",
2575
2635
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
2576
2636
  value +
2577
2637
  "}",
2578
- -1,
2579
- response
2638
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
2580
2639
  );
2581
2640
  }
2582
- function resolveIteratorResultChunk(chunk, value, done) {
2641
+ function resolveIteratorResultChunk(response, chunk, value, done) {
2583
2642
  resolveModelChunk(
2643
+ response,
2584
2644
  chunk,
2585
2645
  (done ? '{"done":true,"value":' : '{"done":false,"value":') +
2586
2646
  value +
@@ -2588,38 +2648,67 @@
2588
2648
  -1
2589
2649
  );
2590
2650
  }
2591
- function loadServerReference$1(
2592
- response,
2593
- id,
2594
- bound,
2595
- parentChunk,
2596
- parentObject,
2597
- key
2598
- ) {
2651
+ function loadServerReference$1(response, metaData, parentObject, key) {
2652
+ var id = metaData.id;
2653
+ if ("string" !== typeof id) return null;
2599
2654
  var serverReference = resolveServerReference(response._bundlerConfig, id);
2600
- id = preloadModule(serverReference);
2601
- if (bound)
2602
- bound = Promise.all([bound, id]).then(function (_ref) {
2603
- _ref = _ref[0];
2604
- var fn = requireModule(serverReference);
2605
- return fn.bind.apply(fn, [null].concat(_ref));
2606
- });
2607
- else if (id)
2608
- bound = Promise.resolve(id).then(function () {
2609
- return requireModule(serverReference);
2610
- });
2655
+ id = metaData.bound;
2656
+ var promise = preloadModule(serverReference);
2657
+ if (promise)
2658
+ id instanceof ReactPromise && (promise = Promise.all([promise, id]));
2659
+ else if (id instanceof ReactPromise) promise = Promise.resolve(id);
2611
2660
  else return requireModule(serverReference);
2612
- bound.then(
2613
- createModelResolver(
2614
- parentChunk,
2615
- parentObject,
2616
- key,
2617
- !1,
2618
- response,
2619
- createModel,
2620
- []
2621
- ),
2622
- createModelReject(parentChunk)
2661
+ if (initializingHandler) {
2662
+ var handler = initializingHandler;
2663
+ handler.deps++;
2664
+ } else
2665
+ handler = initializingHandler = {
2666
+ chunk: null,
2667
+ value: null,
2668
+ reason: null,
2669
+ deps: 1,
2670
+ errored: !1
2671
+ };
2672
+ promise.then(
2673
+ function () {
2674
+ var resolvedValue = requireModule(serverReference);
2675
+ if (metaData.bound) {
2676
+ var promiseValue = metaData.bound.value;
2677
+ promiseValue = Array.isArray(promiseValue)
2678
+ ? promiseValue.slice(0)
2679
+ : [];
2680
+ promiseValue.unshift(null);
2681
+ resolvedValue = resolvedValue.bind.apply(
2682
+ resolvedValue,
2683
+ promiseValue
2684
+ );
2685
+ }
2686
+ parentObject[key] = resolvedValue;
2687
+ "" === key &&
2688
+ null === handler.value &&
2689
+ (handler.value = resolvedValue);
2690
+ handler.deps--;
2691
+ 0 === handler.deps &&
2692
+ ((resolvedValue = handler.chunk),
2693
+ null !== resolvedValue &&
2694
+ "blocked" === resolvedValue.status &&
2695
+ ((promiseValue = resolvedValue.value),
2696
+ (resolvedValue.status = "fulfilled"),
2697
+ (resolvedValue.value = handler.value),
2698
+ null !== promiseValue &&
2699
+ wakeChunk(response, promiseValue, handler.value)));
2700
+ },
2701
+ function (error) {
2702
+ if (!handler.errored) {
2703
+ handler.errored = !0;
2704
+ handler.value = null;
2705
+ handler.reason = error;
2706
+ var chunk = handler.chunk;
2707
+ null !== chunk &&
2708
+ "blocked" === chunk.status &&
2709
+ triggerErrorOnChunk(response, chunk, error);
2710
+ }
2711
+ }
2623
2712
  );
2624
2713
  return null;
2625
2714
  }
@@ -2661,51 +2750,64 @@
2661
2750
  value[i],
2662
2751
  parentObj
2663
2752
  )),
2664
- void 0 !== parentObj ? (value[i] = parentObj) : delete value[i]);
2753
+ void 0 !== parentObj || "__proto__" === i
2754
+ ? (value[i] = parentObj)
2755
+ : delete value[i]);
2665
2756
  return value;
2666
2757
  }
2667
2758
  function initializeModelChunk(chunk) {
2668
- var prevChunk = initializingChunk,
2669
- prevBlocked = initializingChunkBlockedModel;
2670
- initializingChunk = chunk;
2671
- initializingChunkBlockedModel = null;
2672
- var rootReference =
2673
- -1 === chunk.reason ? void 0 : chunk.reason.toString(16),
2674
- resolvedModel = chunk.value;
2675
- chunk.status = "cyclic";
2759
+ var prevHandler = initializingHandler;
2760
+ initializingHandler = null;
2761
+ var _chunk$reason = chunk.reason,
2762
+ response = _chunk$reason[RESPONSE_SYMBOL];
2763
+ _chunk$reason = _chunk$reason.id;
2764
+ _chunk$reason =
2765
+ -1 === _chunk$reason ? void 0 : _chunk$reason.toString(16);
2766
+ var resolvedModel = chunk.value;
2767
+ chunk.status = "blocked";
2676
2768
  chunk.value = null;
2677
2769
  chunk.reason = null;
2678
2770
  try {
2679
2771
  var rawModel = JSON.parse(resolvedModel),
2680
2772
  value = reviveModel(
2681
- chunk._response,
2773
+ response,
2682
2774
  { "": rawModel },
2683
2775
  "",
2684
2776
  rawModel,
2685
- rootReference
2686
- );
2687
- if (
2688
- null !== initializingChunkBlockedModel &&
2689
- 0 < initializingChunkBlockedModel.deps
2690
- )
2691
- (initializingChunkBlockedModel.value = value),
2692
- (chunk.status = "blocked");
2693
- else {
2694
- var resolveListeners = chunk.value;
2695
- chunk.status = "fulfilled";
2696
- chunk.value = value;
2697
- null !== resolveListeners && wakeChunk(resolveListeners, value);
2777
+ _chunk$reason
2778
+ ),
2779
+ resolveListeners = chunk.value;
2780
+ if (null !== resolveListeners)
2781
+ for (
2782
+ chunk.value = null, chunk.reason = null, rawModel = 0;
2783
+ rawModel < resolveListeners.length;
2784
+ rawModel++
2785
+ ) {
2786
+ var listener = resolveListeners[rawModel];
2787
+ "function" === typeof listener
2788
+ ? listener(value)
2789
+ : fulfillReference(response, listener, value);
2790
+ }
2791
+ if (null !== initializingHandler) {
2792
+ if (initializingHandler.errored) throw initializingHandler.reason;
2793
+ if (0 < initializingHandler.deps) {
2794
+ initializingHandler.value = value;
2795
+ initializingHandler.chunk = chunk;
2796
+ return;
2797
+ }
2698
2798
  }
2799
+ chunk.status = "fulfilled";
2800
+ chunk.value = value;
2699
2801
  } catch (error) {
2700
2802
  (chunk.status = "rejected"), (chunk.reason = error);
2701
2803
  } finally {
2702
- (initializingChunk = prevChunk),
2703
- (initializingChunkBlockedModel = prevBlocked);
2804
+ initializingHandler = prevHandler;
2704
2805
  }
2705
2806
  }
2706
2807
  function reportGlobalError(response, error) {
2707
2808
  response._chunks.forEach(function (chunk) {
2708
- "pending" === chunk.status && triggerErrorOnChunk(chunk, error);
2809
+ "pending" === chunk.status &&
2810
+ triggerErrorOnChunk(response, chunk, error);
2709
2811
  });
2710
2812
  }
2711
2813
  function getChunk(response, id) {
@@ -2714,48 +2816,106 @@
2714
2816
  chunk ||
2715
2817
  ((chunk = response._formData.get(response._prefix + id)),
2716
2818
  (chunk =
2717
- null != chunk
2718
- ? new Chunk("resolved_model", chunk, id, response)
2719
- : createPendingChunk(response)),
2819
+ "string" === typeof chunk
2820
+ ? new ReactPromise(
2821
+ "resolved_model",
2822
+ chunk,
2823
+ _defineProperty({ id: id }, RESPONSE_SYMBOL, response)
2824
+ )
2825
+ : new ReactPromise("pending", null, null)),
2720
2826
  chunks.set(id, chunk));
2721
2827
  return chunk;
2722
2828
  }
2723
- function createModelResolver(
2724
- chunk,
2829
+ function fulfillReference(response, reference, value) {
2830
+ for (
2831
+ var handler = reference.handler,
2832
+ parentObject = reference.parentObject,
2833
+ key = reference.key,
2834
+ map = reference.map,
2835
+ path = reference.path,
2836
+ i = 1;
2837
+ i < path.length;
2838
+ i++
2839
+ ) {
2840
+ for (; value instanceof ReactPromise; ) {
2841
+ switch (value.status) {
2842
+ case "resolved_model":
2843
+ initializeModelChunk(value);
2844
+ }
2845
+ switch (value.status) {
2846
+ case "fulfilled":
2847
+ value = value.value;
2848
+ continue;
2849
+ case "blocked":
2850
+ case "pending":
2851
+ path.splice(0, i - 1);
2852
+ null === value.value
2853
+ ? (value.value = [reference])
2854
+ : value.value.push(reference);
2855
+ null === value.reason
2856
+ ? (value.reason = [reference])
2857
+ : value.reason.push(reference);
2858
+ return;
2859
+ default:
2860
+ rejectReference(response, reference.handler, value.reason);
2861
+ return;
2862
+ }
2863
+ }
2864
+ var name = path[i];
2865
+ "object" === typeof value &&
2866
+ hasOwnProperty.call(value, name) &&
2867
+ (value = value[name]);
2868
+ }
2869
+ reference = map(response, value, parentObject, key);
2870
+ parentObject[key] = reference;
2871
+ "" === key && null === handler.value && (handler.value = reference);
2872
+ handler.deps--;
2873
+ 0 === handler.deps &&
2874
+ ((parentObject = handler.chunk),
2875
+ null !== parentObject &&
2876
+ "blocked" === parentObject.status &&
2877
+ ((key = parentObject.value),
2878
+ (parentObject.status = "fulfilled"),
2879
+ (parentObject.value = handler.value),
2880
+ (parentObject.reason = handler.reason),
2881
+ null !== key && wakeChunk(response, key, handler.value)));
2882
+ }
2883
+ function rejectReference(response, handler, error) {
2884
+ handler.errored ||
2885
+ ((handler.errored = !0),
2886
+ (handler.value = null),
2887
+ (handler.reason = error),
2888
+ (handler = handler.chunk),
2889
+ null !== handler &&
2890
+ "blocked" === handler.status &&
2891
+ triggerErrorOnChunk(response, handler, error));
2892
+ }
2893
+ function waitForReference(
2894
+ referencedChunk,
2725
2895
  parentObject,
2726
2896
  key,
2727
- cyclic,
2728
2897
  response,
2729
2898
  map,
2730
2899
  path
2731
2900
  ) {
2732
- if (initializingChunkBlockedModel) {
2733
- var blocked = initializingChunkBlockedModel;
2734
- cyclic || blocked.deps++;
2735
- } else
2736
- blocked = initializingChunkBlockedModel = {
2737
- deps: cyclic ? 0 : 1,
2738
- value: null
2739
- };
2740
- return function (value) {
2741
- for (var i = 1; i < path.length; i++) value = value[path[i]];
2742
- parentObject[key] = map(response, value);
2743
- "" === key &&
2744
- null === blocked.value &&
2745
- (blocked.value = parentObject[key]);
2746
- blocked.deps--;
2747
- 0 === blocked.deps &&
2748
- "blocked" === chunk.status &&
2749
- ((value = chunk.value),
2750
- (chunk.status = "fulfilled"),
2751
- (chunk.value = blocked.value),
2752
- null !== value && wakeChunk(value, blocked.value));
2753
- };
2754
- }
2755
- function createModelReject(chunk) {
2756
- return function (error) {
2757
- return triggerErrorOnChunk(chunk, error);
2901
+ initializingHandler
2902
+ ? ((response = initializingHandler), response.deps++)
2903
+ : (response = initializingHandler =
2904
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
2905
+ parentObject = {
2906
+ handler: response,
2907
+ parentObject: parentObject,
2908
+ key: key,
2909
+ map: map,
2910
+ path: path
2758
2911
  };
2912
+ null === referencedChunk.value
2913
+ ? (referencedChunk.value = [parentObject])
2914
+ : referencedChunk.value.push(parentObject);
2915
+ null === referencedChunk.reason
2916
+ ? (referencedChunk.reason = [parentObject])
2917
+ : referencedChunk.reason.push(parentObject);
2918
+ return null;
2759
2919
  }
2760
2920
  function getOutlinedModel(response, reference, parentObject, key, map) {
2761
2921
  reference = reference.split(":");
@@ -2767,29 +2927,75 @@
2767
2927
  }
2768
2928
  switch (id.status) {
2769
2929
  case "fulfilled":
2770
- parentObject = id.value;
2771
- for (key = 1; key < reference.length; key++)
2772
- parentObject = parentObject[reference[key]];
2773
- return map(response, parentObject);
2930
+ var value = id.value;
2931
+ for (id = 1; id < reference.length; id++) {
2932
+ for (; value instanceof ReactPromise; ) {
2933
+ switch (value.status) {
2934
+ case "resolved_model":
2935
+ initializeModelChunk(value);
2936
+ }
2937
+ switch (value.status) {
2938
+ case "fulfilled":
2939
+ value = value.value;
2940
+ break;
2941
+ case "blocked":
2942
+ case "pending":
2943
+ return waitForReference(
2944
+ value,
2945
+ parentObject,
2946
+ key,
2947
+ response,
2948
+ map,
2949
+ reference.slice(id - 1)
2950
+ );
2951
+ default:
2952
+ return (
2953
+ initializingHandler
2954
+ ? ((initializingHandler.errored = !0),
2955
+ (initializingHandler.value = null),
2956
+ (initializingHandler.reason = value.reason))
2957
+ : (initializingHandler = {
2958
+ chunk: null,
2959
+ value: null,
2960
+ reason: value.reason,
2961
+ deps: 0,
2962
+ errored: !0
2963
+ }),
2964
+ null
2965
+ );
2966
+ }
2967
+ }
2968
+ var name = reference[id];
2969
+ "object" === typeof value &&
2970
+ hasOwnProperty.call(value, name) &&
2971
+ (value = value[name]);
2972
+ }
2973
+ return map(response, value, parentObject, key);
2774
2974
  case "pending":
2775
2975
  case "blocked":
2776
- case "cyclic":
2777
- var parentChunk = initializingChunk;
2778
- id.then(
2779
- createModelResolver(
2780
- parentChunk,
2781
- parentObject,
2782
- key,
2783
- "cyclic" === id.status,
2784
- response,
2785
- map,
2786
- reference
2787
- ),
2788
- createModelReject(parentChunk)
2976
+ return waitForReference(
2977
+ id,
2978
+ parentObject,
2979
+ key,
2980
+ response,
2981
+ map,
2982
+ reference
2789
2983
  );
2790
- return null;
2791
2984
  default:
2792
- throw id.reason;
2985
+ return (
2986
+ initializingHandler
2987
+ ? ((initializingHandler.errored = !0),
2988
+ (initializingHandler.value = null),
2989
+ (initializingHandler.reason = id.reason))
2990
+ : (initializingHandler = {
2991
+ chunk: null,
2992
+ value: null,
2993
+ reason: id.reason,
2994
+ deps: 0,
2995
+ errored: !0
2996
+ }),
2997
+ null
2998
+ );
2793
2999
  }
2794
3000
  }
2795
3001
  function createMap(response, model) {
@@ -2813,40 +3019,68 @@
2813
3019
  parentKey
2814
3020
  ) {
2815
3021
  reference = parseInt(reference.slice(2), 16);
2816
- reference = response._formData.get(response._prefix + reference);
2817
- reference =
2818
- constructor === ArrayBuffer
2819
- ? reference.arrayBuffer()
2820
- : reference.arrayBuffer().then(function (buffer) {
2821
- return new constructor(buffer);
2822
- });
2823
- bytesPerElement = initializingChunk;
3022
+ reference = response._formData
3023
+ .get(response._prefix + reference)
3024
+ .arrayBuffer();
3025
+ if (initializingHandler) {
3026
+ var handler = initializingHandler;
3027
+ handler.deps++;
3028
+ } else
3029
+ handler = initializingHandler = {
3030
+ chunk: null,
3031
+ value: null,
3032
+ reason: null,
3033
+ deps: 1,
3034
+ errored: !1
3035
+ };
2824
3036
  reference.then(
2825
- createModelResolver(
2826
- bytesPerElement,
2827
- parentObject,
2828
- parentKey,
2829
- !1,
2830
- response,
2831
- createModel,
2832
- []
2833
- ),
2834
- createModelReject(bytesPerElement)
3037
+ function (buffer) {
3038
+ buffer =
3039
+ constructor === ArrayBuffer ? buffer : new constructor(buffer);
3040
+ parentObject[parentKey] = buffer;
3041
+ "" === parentKey &&
3042
+ null === handler.value &&
3043
+ (handler.value = buffer);
3044
+ handler.deps--;
3045
+ if (
3046
+ 0 === handler.deps &&
3047
+ ((buffer = handler.chunk),
3048
+ null !== buffer && "blocked" === buffer.status)
3049
+ ) {
3050
+ var resolveListeners = buffer.value;
3051
+ buffer.status = "fulfilled";
3052
+ buffer.value = handler.value;
3053
+ null !== resolveListeners &&
3054
+ wakeChunk(response, resolveListeners, handler.value);
3055
+ }
3056
+ },
3057
+ function (error) {
3058
+ if (!handler.errored) {
3059
+ handler.errored = !0;
3060
+ handler.value = null;
3061
+ handler.reason = error;
3062
+ var chunk = handler.chunk;
3063
+ null !== chunk &&
3064
+ "blocked" === chunk.status &&
3065
+ triggerErrorOnChunk(response, chunk, error);
3066
+ }
3067
+ }
2835
3068
  );
2836
3069
  return null;
2837
3070
  }
2838
3071
  function resolveStream(response, id, stream, controller) {
2839
3072
  var chunks = response._chunks;
2840
- stream = new Chunk("fulfilled", stream, controller, response);
3073
+ stream = new ReactPromise("fulfilled", stream, controller);
2841
3074
  chunks.set(id, stream);
2842
3075
  response = response._formData.getAll(response._prefix + id);
2843
3076
  for (id = 0; id < response.length; id++)
2844
3077
  (chunks = response[id]),
2845
- "C" === chunks[0]
2846
- ? controller.close(
2847
- "C" === chunks ? '"$undefined"' : chunks.slice(1)
2848
- )
2849
- : controller.enqueueModel(chunks);
3078
+ "string" === typeof chunks &&
3079
+ ("C" === chunks[0]
3080
+ ? controller.close(
3081
+ "C" === chunks ? '"$undefined"' : chunks.slice(1)
3082
+ )
3083
+ : controller.enqueueModel(chunks));
2850
3084
  }
2851
3085
  function parseReadableStream(response, reference, type) {
2852
3086
  reference = parseInt(reference.slice(2), 16);
@@ -2861,7 +3095,11 @@
2861
3095
  resolveStream(response, reference, type, {
2862
3096
  enqueueModel: function (json) {
2863
3097
  if (null === previousBlockedChunk) {
2864
- var chunk = new Chunk("resolved_model", json, -1, response);
3098
+ var chunk = new ReactPromise(
3099
+ "resolved_model",
3100
+ json,
3101
+ _defineProperty({ id: -1 }, RESPONSE_SYMBOL, response)
3102
+ );
2865
3103
  initializeModelChunk(chunk);
2866
3104
  "fulfilled" === chunk.status
2867
3105
  ? controller.enqueue(chunk.value)
@@ -2876,7 +3114,7 @@
2876
3114
  (previousBlockedChunk = chunk));
2877
3115
  } else {
2878
3116
  chunk = previousBlockedChunk;
2879
- var _chunk = createPendingChunk(response);
3117
+ var _chunk = new ReactPromise("pending", null, null);
2880
3118
  _chunk.then(
2881
3119
  function (v) {
2882
3120
  return controller.enqueue(v);
@@ -2888,7 +3126,7 @@
2888
3126
  previousBlockedChunk = _chunk;
2889
3127
  chunk.then(function () {
2890
3128
  previousBlockedChunk === _chunk && (previousBlockedChunk = null);
2891
- resolveModelChunk(_chunk, json, -1);
3129
+ resolveModelChunk(response, _chunk, json, -1);
2892
3130
  });
2893
3131
  }
2894
3132
  },
@@ -2937,13 +3175,12 @@
2937
3175
  );
2938
3176
  if (nextReadIndex === buffer.length) {
2939
3177
  if (closed)
2940
- return new Chunk(
3178
+ return new ReactPromise(
2941
3179
  "fulfilled",
2942
3180
  { done: !0, value: void 0 },
2943
- null,
2944
- response
3181
+ null
2945
3182
  );
2946
- buffer[nextReadIndex] = createPendingChunk(response);
3183
+ buffer[nextReadIndex] = new ReactPromise("pending", null, null);
2947
3184
  }
2948
3185
  return buffer[nextReadIndex++];
2949
3186
  });
@@ -2957,7 +3194,12 @@
2957
3194
  value,
2958
3195
  !1
2959
3196
  ))
2960
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);
3197
+ : resolveIteratorResultChunk(
3198
+ response,
3199
+ buffer[nextWriteIndex],
3200
+ value,
3201
+ !1
3202
+ );
2961
3203
  nextWriteIndex++;
2962
3204
  },
2963
3205
  close: function (value) {
@@ -2968,9 +3210,15 @@
2968
3210
  value,
2969
3211
  !0
2970
3212
  ))
2971
- : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);
3213
+ : resolveIteratorResultChunk(
3214
+ response,
3215
+ buffer[nextWriteIndex],
3216
+ value,
3217
+ !0
3218
+ );
2972
3219
  for (nextWriteIndex++; nextWriteIndex < buffer.length; )
2973
3220
  resolveIteratorResultChunk(
3221
+ response,
2974
3222
  buffer[nextWriteIndex++],
2975
3223
  '"$undefined"',
2976
3224
  !0
@@ -2980,11 +3228,11 @@
2980
3228
  closed = !0;
2981
3229
  for (
2982
3230
  nextWriteIndex === buffer.length &&
2983
- (buffer[nextWriteIndex] = createPendingChunk(response));
3231
+ (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
2984
3232
  nextWriteIndex < buffer.length;
2985
3233
 
2986
3234
  )
2987
- triggerErrorOnChunk(buffer[nextWriteIndex++], error);
3235
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2988
3236
  }
2989
3237
  });
2990
3238
  return iterator;
@@ -3001,21 +3249,7 @@
3001
3249
  case "F":
3002
3250
  return (
3003
3251
  (value = value.slice(2)),
3004
- (value = getOutlinedModel(
3005
- response,
3006
- value,
3007
- obj,
3008
- key,
3009
- createModel
3010
- )),
3011
- loadServerReference$1(
3012
- response,
3013
- value.id,
3014
- value.bound,
3015
- initializingChunk,
3016
- obj,
3017
- key
3018
- )
3252
+ getOutlinedModel(response, value, obj, key, loadServerReference$1)
3019
3253
  );
3020
3254
  case "T":
3021
3255
  if (
@@ -3600,6 +3834,7 @@
3600
3834
  debugID = null,
3601
3835
  modelRoot = !1,
3602
3836
  emptyRoot = {},
3837
+ hasOwnProperty = Object.prototype.hasOwnProperty,
3603
3838
  chunkCache = new Map(),
3604
3839
  chunkMap = new Map(),
3605
3840
  webpackGetChunkFilename = __webpack_require__.u;
@@ -3609,33 +3844,31 @@
3609
3844
  ? flightChunk
3610
3845
  : webpackGetChunkFilename(chunkId);
3611
3846
  };
3612
- var hasOwnProperty = Object.prototype.hasOwnProperty;
3613
- Chunk.prototype = Object.create(Promise.prototype);
3614
- Chunk.prototype.then = function (resolve, reject) {
3847
+ var RESPONSE_SYMBOL = Symbol();
3848
+ ReactPromise.prototype = Object.create(Promise.prototype);
3849
+ ReactPromise.prototype.then = function (resolve, reject) {
3615
3850
  switch (this.status) {
3616
3851
  case "resolved_model":
3617
3852
  initializeModelChunk(this);
3618
3853
  }
3619
3854
  switch (this.status) {
3620
3855
  case "fulfilled":
3621
- resolve(this.value);
3856
+ "function" === typeof resolve && resolve(this.value);
3622
3857
  break;
3623
3858
  case "pending":
3624
3859
  case "blocked":
3625
- case "cyclic":
3626
- resolve &&
3860
+ "function" === typeof resolve &&
3627
3861
  (null === this.value && (this.value = []),
3628
3862
  this.value.push(resolve));
3629
- reject &&
3863
+ "function" === typeof reject &&
3630
3864
  (null === this.reason && (this.reason = []),
3631
3865
  this.reason.push(reject));
3632
3866
  break;
3633
3867
  default:
3634
- reject(this.reason);
3868
+ "function" === typeof reject && reject(this.reason);
3635
3869
  }
3636
3870
  };
3637
- var initializingChunk = null,
3638
- initializingChunkBlockedModel = null;
3871
+ var initializingHandler = null;
3639
3872
  exports.createClientModuleProxy = function (moduleId) {
3640
3873
  moduleId = registerClientReferenceImpl({}, moduleId, !1);
3641
3874
  return new Proxy(moduleId, proxyHandlers$1);