@my-react/react-reconciler-compact 0.0.6 → 0.0.8

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.
@@ -920,7 +920,7 @@ function requireIndex_development_1 () {
920
920
  enableSyncFlush$1.current = stack.pop();
921
921
  };
922
922
 
923
- var currentRunningFiber$5 = react.__my_react_internal__.currentRunningFiber, currentScheduler$g = react.__my_react_internal__.currentScheduler, currentScopeFiber$1 = react.__my_react_internal__.currentScopeFiber, currentError$1 = react.__my_react_internal__.currentError, currentCallingFiber$1 = react.__my_react_internal__.currentCallingFiber;
923
+ var currentRunningFiber$5 = react.__my_react_internal__.currentRunningFiber, currentScheduler$h = react.__my_react_internal__.currentScheduler, currentScopeFiber$1 = react.__my_react_internal__.currentScopeFiber, currentError$1 = react.__my_react_internal__.currentError, currentCallingFiber$1 = react.__my_react_internal__.currentCallingFiber;
924
924
  var safeCall = function (action) {
925
925
  var args = [];
926
926
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -931,7 +931,7 @@ function requireIndex_development_1 () {
931
931
  }
932
932
  catch (e) {
933
933
  var fiber = (currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1[(currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1.length) - 1]) || currentScopeFiber$1.current || currentRunningFiber$5.current;
934
- var renderScheduler = currentScheduler$g.current;
934
+ var renderScheduler = currentScheduler$h.current;
935
935
  currentError$1.current = currentError$1.current || e;
936
936
  renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
937
937
  }
@@ -951,7 +951,7 @@ function requireIndex_development_1 () {
951
951
  return fallback();
952
952
  }
953
953
  else {
954
- var renderScheduler = currentScheduler$g.current;
954
+ var renderScheduler = currentScheduler$h.current;
955
955
  currentError$1.current = currentError$1.current || e;
956
956
  renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
957
957
  }
@@ -985,7 +985,7 @@ function requireIndex_development_1 () {
985
985
  }
986
986
  catch (e) {
987
987
  var fiber = (currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1[(currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1.length) - 1]) || currentScopeFiber$1.current || currentRunningFiber$5.current;
988
- var renderScheduler = currentScheduler$g.current;
988
+ var renderScheduler = currentScheduler$h.current;
989
989
  currentError$1.current = currentError$1.current || e;
990
990
  renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
991
991
  }
@@ -994,7 +994,7 @@ function requireIndex_development_1 () {
994
994
  }
995
995
  };
996
996
 
997
- var currentScheduler$f = react.__my_react_internal__.currentScheduler, currentRunningFiber$4 = react.__my_react_internal__.currentRunningFiber, currentScopeFiber = react.__my_react_internal__.currentScopeFiber, currentCallingFiber = react.__my_react_internal__.currentCallingFiber;
997
+ var currentScheduler$g = react.__my_react_internal__.currentScheduler, currentRunningFiber$4 = react.__my_react_internal__.currentRunningFiber, currentScopeFiber = react.__my_react_internal__.currentScopeFiber, currentCallingFiber = react.__my_react_internal__.currentCallingFiber;
998
998
  var enableOptimizeTreeLog = react.__my_react_shared__.enableOptimizeTreeLog;
999
999
  var typeColor = {
1000
1000
  normal: "rgba(10, 190, 235, 0.8)",
@@ -1049,7 +1049,7 @@ function requireIndex_development_1 () {
1049
1049
  for (var _i = 0; _i < arguments.length; _i++) {
1050
1050
  args[_i] = arguments[_i];
1051
1051
  }
1052
- var renderScheduler = currentScheduler$f.current;
1052
+ var renderScheduler = currentScheduler$g.current;
1053
1053
  var startWithPlain = typeof args[0] === "string";
1054
1054
  var renderFiber = warnFiber || (currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber[(currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber.length) - 1]) || currentScopeFiber.current || currentRunningFiber$4.current;
1055
1055
  renderFiber && fiberWarn.apply(void 0, __spreadArray([renderFiber], args, false));
@@ -1086,7 +1086,7 @@ function requireIndex_development_1 () {
1086
1086
  for (var _i = 0; _i < arguments.length; _i++) {
1087
1087
  args[_i] = arguments[_i];
1088
1088
  }
1089
- var renderScheduler = currentScheduler$f.current;
1089
+ var renderScheduler = currentScheduler$g.current;
1090
1090
  var startWithPlain = typeof args[0] === "string";
1091
1091
  var renderFiber = errorFiber || (currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber[(currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber.length) - 1]) || currentScopeFiber.current || currentRunningFiber$4.current;
1092
1092
  renderFiber && fiberError.apply(void 0, __spreadArray([renderFiber], args, false));
@@ -1330,7 +1330,7 @@ function requireIndex_development_1 () {
1330
1330
  for (var _i = 2; _i < arguments.length; _i++) {
1331
1331
  args[_i - 2] = arguments[_i];
1332
1332
  }
1333
- var renderScheduler = currentScheduler$f.current;
1333
+ var renderScheduler = currentScheduler$g.current;
1334
1334
  var tree = renderScheduler.getFiberTree(fiber);
1335
1335
  if ((_b = warnMap === null || warnMap === void 0 ? void 0 : warnMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
1336
1336
  return;
@@ -1346,7 +1346,7 @@ function requireIndex_development_1 () {
1346
1346
  for (var _i = 2; _i < arguments.length; _i++) {
1347
1347
  args[_i - 2] = arguments[_i];
1348
1348
  }
1349
- var renderScheduler = currentScheduler$f.current;
1349
+ var renderScheduler = currentScheduler$g.current;
1350
1350
  var tree = renderScheduler.getFiberTree(fiber);
1351
1351
  if ((_b = errorMap === null || errorMap === void 0 ? void 0 : errorMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
1352
1352
  return;
@@ -1396,7 +1396,15 @@ function requireIndex_development_1 () {
1396
1396
  }
1397
1397
  else {
1398
1398
  // text element
1399
- return { key: null, ref: null, nodeType: exports.NODE_TYPE.__text__, elementType: String(element), pendingProps: emptyProps$1, finalElement: element, pendingText: String(element) };
1399
+ return {
1400
+ key: null,
1401
+ ref: null,
1402
+ nodeType: exports.NODE_TYPE.__text__,
1403
+ elementType: String(element),
1404
+ pendingProps: emptyProps$1,
1405
+ finalElement: element,
1406
+ pendingText: String(element),
1407
+ };
1400
1408
  }
1401
1409
  }
1402
1410
  return { key: null, ref: null, nodeType: nodeType, elementType: null, pendingProps: emptyProps$1, finalElement: element };
@@ -1597,7 +1605,7 @@ function requireIndex_development_1 () {
1597
1605
  }
1598
1606
  };
1599
1607
 
1600
- var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$e = react.__my_react_internal__.currentScheduler;
1608
+ var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$f = react.__my_react_internal__.currentScheduler;
1601
1609
  var dispatchHook = function (params) {
1602
1610
  var fiber = currentRunningFiber$3.current;
1603
1611
  if (!fiber) {
@@ -1687,7 +1695,7 @@ function requireIndex_development_1 () {
1687
1695
  }
1688
1696
  };
1689
1697
  var initScheduler = function () {
1690
- var scheduler = currentScheduler$e.current;
1698
+ var scheduler = currentScheduler$f.current;
1691
1699
  scheduler.getFiberTree = getFiberTree;
1692
1700
  scheduler.readPromise = readPromise;
1693
1701
  scheduler.readContext = readContext;
@@ -1746,8 +1754,11 @@ function requireIndex_development_1 () {
1746
1754
  var generateFiberToMountList = function (fiber) {
1747
1755
  var listTree = new myreactSharedExports.ListTree();
1748
1756
  var getNext = function (fiber, root) {
1749
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
1750
- return null;
1757
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__)) {
1758
+ if (fiber.sibling)
1759
+ return fiber.sibling;
1760
+ return fiber.parent;
1761
+ }
1751
1762
  if (fiber.child)
1752
1763
  return fiber.child;
1753
1764
  while (fiber && fiber !== root) {
@@ -1768,94 +1779,46 @@ function requireIndex_development_1 () {
1768
1779
  return listTree;
1769
1780
  };
1770
1781
  var generateFiberToUnmountList = generateFiberToMountList;
1771
-
1772
- var currentRunningFiber$2 = react.__my_react_internal__.currentRunningFiber;
1773
- var mountToNextFiberFromRoot = function (renderDispatch, fiber) {
1774
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
1775
- return null;
1776
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
1777
- devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
1778
- }
1779
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
1780
- myreactSharedExports.STATE_TYPE.__inherit__ |
1781
- myreactSharedExports.STATE_TYPE.__triggerSync__ |
1782
- myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
1783
- myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
1784
- myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
1785
- myreactSharedExports.STATE_TYPE.__retrigger__ |
1786
- myreactSharedExports.STATE_TYPE.__reschedule__ |
1787
- myreactSharedExports.STATE_TYPE.__recreate__)) {
1788
- fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
1789
- currentRunningFiber$2.current = fiber;
1790
- {
1791
- runtimeNextWorkDev(renderDispatch, fiber);
1782
+ /**
1783
+ *
1784
+ * @param action listToFoot action for performance
1785
+ */
1786
+ var generateFiberToListWithAction = function (fiber, action) {
1787
+ var listTree = new myreactSharedExports.ListTree();
1788
+ var getNext = function (fiber, root) {
1789
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__)) {
1790
+ if (fiber.sibling)
1791
+ return fiber.sibling;
1792
+ return fiber.parent;
1792
1793
  }
1793
- currentRunningFiber$2.current = null;
1794
- }
1795
- if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
1796
- fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
1797
- }
1798
- else {
1799
- fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
1800
- }
1801
- if (fiber.child)
1802
- return fiber.child;
1803
- var nextFiber = fiber;
1804
- while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
1805
- renderDispatch.generateCommitList(nextFiber);
1806
- if (nextFiber.sibling)
1807
- return nextFiber.sibling;
1808
- nextFiber = nextFiber.parent;
1809
- }
1810
- if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
1811
- renderDispatch.generateCommitList(nextFiber);
1812
- return null;
1813
- };
1814
- var performToNextFiberFromRoot = function (renderDispatch, fiber) {
1815
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
1816
- return null;
1817
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
1818
- devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
1819
- }
1820
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
1821
- myreactSharedExports.STATE_TYPE.__inherit__ |
1822
- myreactSharedExports.STATE_TYPE.__triggerSync__ |
1823
- myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
1824
- myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
1825
- myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
1826
- myreactSharedExports.STATE_TYPE.__retrigger__ |
1827
- myreactSharedExports.STATE_TYPE.__reschedule__ |
1828
- myreactSharedExports.STATE_TYPE.__recreate__)) {
1829
- fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
1830
- currentRunningFiber$2.current = fiber;
1831
- {
1832
- runtimeNextWorkDev(renderDispatch, fiber);
1794
+ if (fiber.child)
1795
+ return fiber.child;
1796
+ while (fiber && fiber !== root) {
1797
+ listTree.push(fiber);
1798
+ action(fiber);
1799
+ if (fiber.sibling)
1800
+ return fiber.sibling;
1801
+ fiber = fiber.parent;
1833
1802
  }
1834
- currentRunningFiber$2.current = null;
1835
- triggerFiberUpdateListener(renderDispatch, fiber);
1836
- }
1837
- if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
1838
- fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
1839
- }
1840
- else {
1841
- fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
1842
- }
1843
- if (fiber.child)
1844
- return fiber.child;
1845
- var nextFiber = fiber;
1846
- while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
1847
- renderDispatch.generateCommitList(nextFiber);
1848
- if (nextFiber.sibling)
1849
- return nextFiber.sibling;
1850
- nextFiber = nextFiber.parent;
1803
+ if (fiber === root) {
1804
+ listTree.push(fiber);
1805
+ action(fiber);
1806
+ }
1807
+ return null;
1808
+ };
1809
+ var f = fiber;
1810
+ while (f) {
1811
+ f = getNext(f, fiber);
1851
1812
  }
1852
- if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
1853
- renderDispatch.generateCommitList(nextFiber);
1854
- return null;
1813
+ return listTree;
1855
1814
  };
1856
1815
 
1857
1816
  var defaultGenerateEffectMap = function (fiber, effect, map, option) {
1858
- var list = map.get(fiber) || new myreactSharedExports.ListTree();
1817
+ var list = map.get(fiber);
1818
+ if (!list) {
1819
+ list = new myreactSharedExports.ListTree();
1820
+ map.set(fiber, list);
1821
+ }
1859
1822
  if (option) {
1860
1823
  if (option.stickyToHead) {
1861
1824
  list.pushToHead(effect);
@@ -1870,7 +1833,6 @@ function requireIndex_development_1 () {
1870
1833
  else {
1871
1834
  list.push(effect);
1872
1835
  }
1873
- map.set(fiber, list);
1874
1836
  };
1875
1837
  var defaultInvokeEffect = function (renderDispatch, fiber) {
1876
1838
  if (myreactSharedExports.include(fiber.patch, myreactSharedExports.PATCH_TYPE.__effect__)) {
@@ -1997,8 +1959,112 @@ function requireIndex_development_1 () {
1997
1959
  }
1998
1960
  };
1999
1961
 
2000
- var enableSuspenseRoot$2 = react.__my_react_shared__.enableSuspenseRoot;
2001
- var currentScheduler$d = react.__my_react_internal__.currentScheduler;
1962
+ var currentRunningFiber$2 = react.__my_react_internal__.currentRunningFiber;
1963
+ var mountToNextFiberFromRoot = function (renderDispatch, fiber) {
1964
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
1965
+ return null;
1966
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
1967
+ devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
1968
+ }
1969
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
1970
+ myreactSharedExports.STATE_TYPE.__inherit__ |
1971
+ myreactSharedExports.STATE_TYPE.__triggerSync__ |
1972
+ myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
1973
+ myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
1974
+ myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
1975
+ myreactSharedExports.STATE_TYPE.__retrigger__ |
1976
+ myreactSharedExports.STATE_TYPE.__reschedule__ |
1977
+ myreactSharedExports.STATE_TYPE.__recreate__)) {
1978
+ fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
1979
+ currentRunningFiber$2.current = fiber;
1980
+ {
1981
+ runtimeNextWorkDev(renderDispatch, fiber);
1982
+ }
1983
+ currentRunningFiber$2.current = null;
1984
+ }
1985
+ if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
1986
+ fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
1987
+ }
1988
+ else {
1989
+ fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
1990
+ }
1991
+ if (fiber.child)
1992
+ return fiber.child;
1993
+ var nextFiber = fiber;
1994
+ while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
1995
+ renderDispatch.generateCommitList(nextFiber);
1996
+ if (nextFiber.sibling)
1997
+ return nextFiber.sibling;
1998
+ // current nextFiber is all done, back to parent
1999
+ {
2000
+ safeCallWithCurrentFiber({
2001
+ fiber: nextFiber,
2002
+ action: function safeCallAfterFiberDone() {
2003
+ var _a, _b;
2004
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterFiberDone) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(nextFiber); });
2005
+ },
2006
+ });
2007
+ }
2008
+ nextFiber = nextFiber.parent;
2009
+ }
2010
+ if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
2011
+ renderDispatch.generateCommitList(nextFiber);
2012
+ return null;
2013
+ };
2014
+ var performToNextFiberFromRoot = function (renderDispatch, fiber) {
2015
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
2016
+ return null;
2017
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
2018
+ devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
2019
+ }
2020
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
2021
+ myreactSharedExports.STATE_TYPE.__inherit__ |
2022
+ myreactSharedExports.STATE_TYPE.__triggerSync__ |
2023
+ myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
2024
+ myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
2025
+ myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
2026
+ myreactSharedExports.STATE_TYPE.__retrigger__ |
2027
+ myreactSharedExports.STATE_TYPE.__reschedule__ |
2028
+ myreactSharedExports.STATE_TYPE.__recreate__)) {
2029
+ fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
2030
+ currentRunningFiber$2.current = fiber;
2031
+ {
2032
+ runtimeNextWorkDev(renderDispatch, fiber);
2033
+ }
2034
+ currentRunningFiber$2.current = null;
2035
+ triggerFiberUpdateListener(renderDispatch, fiber);
2036
+ }
2037
+ if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
2038
+ fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
2039
+ }
2040
+ else {
2041
+ fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
2042
+ }
2043
+ if (fiber.child)
2044
+ return fiber.child;
2045
+ var nextFiber = fiber;
2046
+ while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
2047
+ renderDispatch.generateCommitList(nextFiber);
2048
+ if (nextFiber.sibling)
2049
+ return nextFiber.sibling;
2050
+ {
2051
+ safeCallWithCurrentFiber({
2052
+ fiber: nextFiber,
2053
+ action: function safeCallAfterFiberDone() {
2054
+ var _a, _b;
2055
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterFiberDone) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(nextFiber); });
2056
+ },
2057
+ });
2058
+ }
2059
+ nextFiber = nextFiber.parent;
2060
+ }
2061
+ if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
2062
+ renderDispatch.generateCommitList(nextFiber);
2063
+ return null;
2064
+ };
2065
+
2066
+ var enableSuspenseRoot$3 = react.__my_react_shared__.enableSuspenseRoot;
2067
+ var currentScheduler$e = react.__my_react_internal__.currentScheduler;
2002
2068
  var mountLoopAllFromScheduler = function (renderDispatch) {
2003
2069
  while (renderDispatch.runtimeFiber.nextWorkingFiber) {
2004
2070
  renderDispatch.runtimeFiber.retriggerFiber = null;
@@ -2069,7 +2135,7 @@ function requireIndex_development_1 () {
2069
2135
  _a.sent();
2070
2136
  return [3 /*break*/, 1];
2071
2137
  case 3:
2072
- if (!enableSuspenseRoot$2.current) return [3 /*break*/, 5];
2138
+ if (!enableSuspenseRoot$3.current) return [3 /*break*/, 5];
2073
2139
  suspenseField_1 = getInstanceFieldByInstance(renderDispatch);
2074
2140
  list = suspenseField_1.asyncLoadList.getAll();
2075
2141
  if (list.length === 0)
@@ -2150,7 +2216,7 @@ function requireIndex_development_1 () {
2150
2216
  }); })).then(function () {
2151
2217
  var aliveNode = defaultResolveAliveSuspenseFiber(node) || renderDispatch.rootFiber;
2152
2218
  aliveNode.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
2153
- var renderScheduler = currentScheduler$d.current;
2219
+ var renderScheduler = currentScheduler$e.current;
2154
2220
  var updater = {
2155
2221
  type: myreactSharedExports.UpdateQueueType.suspense,
2156
2222
  trigger: aliveNode,
@@ -2178,7 +2244,7 @@ function requireIndex_development_1 () {
2178
2244
  }
2179
2245
  }
2180
2246
  // TODO update flow
2181
- if (enableSuspenseRoot$2.current) {
2247
+ if (enableSuspenseRoot$3.current) {
2182
2248
  var suspenseField_2 = getInstanceFieldByInstance(renderDispatch);
2183
2249
  var list = suspenseField_2.asyncLoadList.getAll();
2184
2250
  if (list.length === 0)
@@ -2216,7 +2282,7 @@ function requireIndex_development_1 () {
2216
2282
  (_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
2217
2283
  allFiber.forEach(function (node) {
2218
2284
  node.state = myreactSharedExports.STATE_TYPE.__recreate__;
2219
- var renderScheduler = currentScheduler$d.current;
2285
+ var renderScheduler = currentScheduler$e.current;
2220
2286
  var updater = {
2221
2287
  type: myreactSharedExports.UpdateQueueType.suspense,
2222
2288
  trigger: node,
@@ -2246,6 +2312,8 @@ function requireIndex_development_1 () {
2246
2312
  }
2247
2313
  };
2248
2314
 
2315
+ var enableSuspenseRoot$2 = react.__my_react_shared__.enableSuspenseRoot;
2316
+ var currentScheduler$d = react.__my_react_internal__.currentScheduler;
2249
2317
  exports.updateTypeEnum = void 0;
2250
2318
  (function (updateTypeEnum) {
2251
2319
  updateTypeEnum[updateTypeEnum["syncFromRoot"] = 0] = "syncFromRoot";
@@ -2292,7 +2360,143 @@ function requireIndex_development_1 () {
2292
2360
  }
2293
2361
  return hasSync;
2294
2362
  };
2295
- var processAsyncLoadListOnUpdate = processAsyncLoadListOnSyncMount;
2363
+ var processAsyncLoadListOnUpdate = function (renderDispatch) {
2364
+ var _a;
2365
+ if ((_a = renderDispatch.pendingSuspenseFiberArray) === null || _a === void 0 ? void 0 : _a.length) {
2366
+ var allPendingSuspenseFiberArray = renderDispatch.pendingSuspenseFiberArray.getAll();
2367
+ if (renderDispatch.enableAsyncLoad) {
2368
+ var allField_1 = [];
2369
+ allPendingSuspenseFiberArray.forEach(function (node) {
2370
+ defaultDeleteChildEffect(renderDispatch, node);
2371
+ var field = getInstanceFieldByInstance(node.instance);
2372
+ var allPendingLoadArray = field.asyncLoadList.getAll().filter(function (item) {
2373
+ if (myreactSharedExports.isPromise(item)) {
2374
+ return typeof item.status !== "string";
2375
+ }
2376
+ else {
2377
+ return !item._loading && !item._loaded && !item._error;
2378
+ }
2379
+ });
2380
+ if (allPendingLoadArray.length) {
2381
+ Promise.all(allPendingLoadArray.map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
2382
+ var _a;
2383
+ return __generator(this, function (_b) {
2384
+ switch (_b.label) {
2385
+ case 0:
2386
+ if (!myreactSharedExports.isPromise(item)) return [3 /*break*/, 2];
2387
+ return [4 /*yield*/, renderDispatch.processPromise(item)];
2388
+ case 1:
2389
+ _b.sent();
2390
+ return [3 /*break*/, 4];
2391
+ case 2: return [4 /*yield*/, renderDispatch.processLazy(item)];
2392
+ case 3:
2393
+ _b.sent();
2394
+ _b.label = 4;
2395
+ case 4:
2396
+ (_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
2397
+ field.asyncLoadList.uniDelete(item);
2398
+ return [2 /*return*/];
2399
+ }
2400
+ });
2401
+ }); })).then(function () {
2402
+ var aliveNode = defaultResolveAliveSuspenseFiber(node) || renderDispatch.rootFiber;
2403
+ aliveNode.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
2404
+ var renderScheduler = currentScheduler$d.current;
2405
+ var updater = {
2406
+ type: myreactSharedExports.UpdateQueueType.suspense,
2407
+ trigger: aliveNode,
2408
+ isSync: true,
2409
+ isForce: true,
2410
+ payLoad: allPendingLoadArray,
2411
+ };
2412
+ renderScheduler.dispatchState(updater);
2413
+ });
2414
+ }
2415
+ // fix hmr
2416
+ node.state = myreactSharedExports.STATE_TYPE.__reschedule__;
2417
+ field.isHidden = true;
2418
+ allField_1.push(field);
2419
+ });
2420
+ var root = renderDispatch.rootFiber;
2421
+ root.state = myreactSharedExports.remove(root.state, myreactSharedExports.STATE_TYPE.__stable__);
2422
+ root.state = myreactSharedExports.merge(root.state, myreactSharedExports.STATE_TYPE.__retrigger__);
2423
+ // TODO use hide tree to improve
2424
+ mountLoopAll(renderDispatch, root);
2425
+ allField_1.forEach(function (field) { return (field.isHidden = false); });
2426
+ renderDispatch.pendingSuspenseFiberArray.clear();
2427
+ }
2428
+ else {
2429
+ throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
2430
+ }
2431
+ }
2432
+ // TODO update flow
2433
+ if (enableSuspenseRoot$2.current) {
2434
+ var suspenseField_1 = getInstanceFieldByInstance(renderDispatch);
2435
+ var list = suspenseField_1.asyncLoadList.getAll();
2436
+ if (list.length === 0)
2437
+ return;
2438
+ if (renderDispatch.enableAsyncLoad) {
2439
+ // defaultDeleteCurrentEffect(renderDispatch, renderDispatch.rootFiber);
2440
+ // defaultDeleteChildEffect(renderDispatch, renderDispatch.rootFiber);
2441
+ var allPendingLoadArray = list.filter(function (item) {
2442
+ if (myreactSharedExports.isPromise(item)) {
2443
+ return typeof item.status !== "string";
2444
+ }
2445
+ else {
2446
+ return !item._loading && !item._loaded && !item._error;
2447
+ }
2448
+ });
2449
+ if (allPendingLoadArray.length) {
2450
+ allPendingLoadArray.forEach(function (item) { var _a; return (_a = item._list) === null || _a === void 0 ? void 0 : _a.forEach(function (node) { return defaultDeleteCurrentEffect(renderDispatch, node); }); });
2451
+ Promise.all(allPendingLoadArray.map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
2452
+ var allFiber;
2453
+ var _a;
2454
+ return __generator(this, function (_b) {
2455
+ switch (_b.label) {
2456
+ case 0:
2457
+ if (!myreactSharedExports.isPromise(item)) return [3 /*break*/, 2];
2458
+ return [4 /*yield*/, renderDispatch.processPromise(item)];
2459
+ case 1:
2460
+ _b.sent();
2461
+ return [3 /*break*/, 4];
2462
+ case 2: return [4 /*yield*/, renderDispatch.processLazy(item)];
2463
+ case 3:
2464
+ _b.sent();
2465
+ _b.label = 4;
2466
+ case 4:
2467
+ allFiber = new Set(item._list);
2468
+ (_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
2469
+ allFiber.forEach(function (node) {
2470
+ node.state = myreactSharedExports.STATE_TYPE.__recreate__;
2471
+ var renderScheduler = currentScheduler$d.current;
2472
+ var updater = {
2473
+ type: myreactSharedExports.UpdateQueueType.suspense,
2474
+ trigger: node,
2475
+ isSync: true,
2476
+ isForce: true,
2477
+ payLoad: [item],
2478
+ };
2479
+ renderScheduler.dispatchState(updater);
2480
+ });
2481
+ suspenseField_1.asyncLoadList.uniDelete(item);
2482
+ return [2 /*return*/];
2483
+ }
2484
+ });
2485
+ }); }));
2486
+ }
2487
+ // suspenseField.isHidden = true;
2488
+ // const root = renderDispatch.rootFiber;
2489
+ // root.state = remove(root.state, STATE_TYPE.__stable__);
2490
+ // root.state = merge(root.state, STATE_TYPE.__retrigger__);
2491
+ // // TODO use hide tree to improve
2492
+ // mountLoopAll(renderDispatch, root);
2493
+ // suspenseField.isHidden = false;
2494
+ }
2495
+ else {
2496
+ throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
2497
+ }
2498
+ }
2499
+ };
2296
2500
 
2297
2501
  var isErrorBoundariesInstance = function (instance, Component) {
2298
2502
  return typeof instance.componentDidCatch === "function" || typeof Component.getDerivedStateFromError === "function";
@@ -2741,9 +2945,7 @@ function requireIndex_development_1 () {
2741
2945
  throw new Error("[@my-react/react] current update not valid, look like a bug for @my-react");
2742
2946
  }
2743
2947
  allQueue.delete(node);
2744
- {
2745
- processedNodes.push(updater);
2746
- }
2948
+ processedNodes.push(updater);
2747
2949
  var payLoad_1 = updater.payLoad;
2748
2950
  fiber.pendingState = safeCallWithCurrentFiber({
2749
2951
  fiber: fiber,
@@ -2773,9 +2975,7 @@ function requireIndex_development_1 () {
2773
2975
  }
2774
2976
  else if (updater.isSync) {
2775
2977
  allQueue.delete(node);
2776
- {
2777
- processedNodes.push(updater);
2778
- }
2978
+ processedNodes.push(updater);
2779
2979
  isSync = isSync || updater.isSync;
2780
2980
  isForce = isForce || updater.isForce;
2781
2981
  isImmediate = isImmediate || updater.isImmediate;
@@ -2808,17 +3008,15 @@ function requireIndex_development_1 () {
2808
3008
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
2809
3009
  }
2810
3010
  : void 0;
2811
- {
2812
- return {
2813
- needUpdate: needUpdate,
2814
- nodes: processedNodes,
2815
- isSync: isSync,
2816
- isForce: isForce,
2817
- isImmediate: isImmediate,
2818
- isRetrigger: isRetrigger,
2819
- callback: invokeCallbackArray,
2820
- };
2821
- }
3011
+ return {
3012
+ needUpdate: needUpdate,
3013
+ nodes: processedNodes,
3014
+ isSync: isSync,
3015
+ isForce: isForce,
3016
+ isImmediate: isImmediate,
3017
+ isRetrigger: isRetrigger,
3018
+ callback: invokeCallbackArray,
3019
+ };
2822
3020
  }
2823
3021
  else {
2824
3022
  var _loop_2 = function () {
@@ -2828,9 +3026,7 @@ function requireIndex_development_1 () {
2828
3026
  if (updater.trigger !== typedInstance)
2829
3027
  throw new Error("[@my-react/react] current update not valid, look like a bug for @my-react");
2830
3028
  allQueue.delete(node);
2831
- {
2832
- processedNodes.push(updater);
2833
- }
3029
+ processedNodes.push(updater);
2834
3030
  var payLoad_2 = updater.payLoad;
2835
3031
  fiber.pendingState = safeCallWithCurrentFiber({
2836
3032
  fiber: fiber,
@@ -2860,9 +3056,7 @@ function requireIndex_development_1 () {
2860
3056
  }
2861
3057
  else {
2862
3058
  allQueue.delete(node);
2863
- {
2864
- processedNodes.push(updater);
2865
- }
3059
+ processedNodes.push(updater);
2866
3060
  isSync = isSync || updater.isSync;
2867
3061
  isForce = isForce || updater.isForce;
2868
3062
  isImmediate = isImmediate || updater.isImmediate;
@@ -2890,17 +3084,15 @@ function requireIndex_development_1 () {
2890
3084
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
2891
3085
  }
2892
3086
  : void 0;
2893
- {
2894
- return {
2895
- needUpdate: needUpdate,
2896
- nodes: processedNodes,
2897
- isSync: isSync,
2898
- isForce: isForce,
2899
- isImmediate: isImmediate,
2900
- isRetrigger: isRetrigger,
2901
- callback: invokeCallbackArray,
2902
- };
2903
- }
3087
+ return {
3088
+ needUpdate: needUpdate,
3089
+ nodes: processedNodes,
3090
+ isSync: isSync,
3091
+ isForce: isForce,
3092
+ isImmediate: isImmediate,
3093
+ isRetrigger: isRetrigger,
3094
+ callback: invokeCallbackArray,
3095
+ };
2904
3096
  }
2905
3097
  };
2906
3098
  var processClassComponentUpdateQueueLegacy = function (renderDispatch, fiber) {
@@ -2929,9 +3121,7 @@ function requireIndex_development_1 () {
2929
3121
  if (updater.trigger !== typedInstance)
2930
3122
  throw new Error("[@my-react/react] current update not valid, look like a bug for @my-react");
2931
3123
  allQueue.delete(node);
2932
- {
2933
- processedNodes.push(updater);
2934
- }
3124
+ processedNodes.push(updater);
2935
3125
  var payLoad_3 = updater.payLoad;
2936
3126
  fiber.pendingState = safeCallWithCurrentFiber({
2937
3127
  fiber: fiber,
@@ -2961,9 +3151,7 @@ function requireIndex_development_1 () {
2961
3151
  }
2962
3152
  else {
2963
3153
  allQueue.delete(node);
2964
- {
2965
- processedNodes.push(updater);
2966
- }
3154
+ processedNodes.push(updater);
2967
3155
  isSync = isSync || updater.isSync;
2968
3156
  isForce = isForce || updater.isForce;
2969
3157
  isImmediate = isImmediate || updater.isImmediate;
@@ -2992,17 +3180,15 @@ function requireIndex_development_1 () {
2992
3180
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
2993
3181
  }
2994
3182
  : void 0;
2995
- {
2996
- return {
2997
- needUpdate: needUpdate,
2998
- nodes: processedNodes,
2999
- isSync: isSync,
3000
- isForce: isForce,
3001
- isImmediate: isImmediate,
3002
- isRetrigger: isRetrigger,
3003
- callback: invokeCallbackArray,
3004
- };
3005
- }
3183
+ return {
3184
+ needUpdate: needUpdate,
3185
+ nodes: processedNodes,
3186
+ isSync: isSync,
3187
+ isForce: isForce,
3188
+ isImmediate: isImmediate,
3189
+ isRetrigger: isRetrigger,
3190
+ callback: invokeCallbackArray,
3191
+ };
3006
3192
  };
3007
3193
  var processFunctionComponentUpdateQueueLatest = function (renderDispatch, fiber, enableTaskPriority) {
3008
3194
  var _a, _b;
@@ -3031,9 +3217,7 @@ function requireIndex_development_1 () {
3031
3217
  throw new Error("[@my-react/react] current update not valid, look like a bug for @my-react");
3032
3218
  }
3033
3219
  allQueue.delete(node);
3034
- {
3035
- processedNodes.push(updater);
3036
- }
3220
+ processedNodes.push(updater);
3037
3221
  var trigger = updater.trigger, payLoad_4 = updater.payLoad, reducer_1 = updater.reducer;
3038
3222
  var typedTrigger_1 = trigger;
3039
3223
  var lastResult_1 = typedTrigger_1.result;
@@ -3078,9 +3262,7 @@ function requireIndex_development_1 () {
3078
3262
  }
3079
3263
  else if (updater.isSync) {
3080
3264
  allQueue.delete(node);
3081
- {
3082
- processedNodes.push(updater);
3083
- }
3265
+ processedNodes.push(updater);
3084
3266
  var payLoad = updater.payLoad;
3085
3267
  isSync = isSync || updater.isSync;
3086
3268
  isForce = isForce || updater.isForce;
@@ -3114,17 +3296,15 @@ function requireIndex_development_1 () {
3114
3296
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
3115
3297
  }
3116
3298
  : void 0;
3117
- {
3118
- return {
3119
- needUpdate: needUpdate,
3120
- nodes: processedNodes,
3121
- isSync: isSync,
3122
- isForce: isForce,
3123
- isImmediate: isImmediate,
3124
- isRetrigger: isRetrigger,
3125
- callback: invokeCallbackArray,
3126
- };
3127
- }
3299
+ return {
3300
+ needUpdate: needUpdate,
3301
+ nodes: processedNodes,
3302
+ isSync: isSync,
3303
+ isForce: isForce,
3304
+ isImmediate: isImmediate,
3305
+ isRetrigger: isRetrigger,
3306
+ callback: invokeCallbackArray,
3307
+ };
3128
3308
  }
3129
3309
  else {
3130
3310
  var _loop_4 = function () {
@@ -3135,9 +3315,7 @@ function requireIndex_development_1 () {
3135
3315
  throw new Error("[@my-react/react] current update not valid, look like a bug for @my-react");
3136
3316
  }
3137
3317
  allQueue.delete(node);
3138
- {
3139
- processedNodes.push(updater);
3140
- }
3318
+ processedNodes.push(updater);
3141
3319
  var trigger = updater.trigger, payLoad_5 = updater.payLoad, reducer_2 = updater.reducer;
3142
3320
  var typedTrigger_2 = trigger;
3143
3321
  var lastResult_2 = typedTrigger_2.result;
@@ -3182,9 +3360,7 @@ function requireIndex_development_1 () {
3182
3360
  }
3183
3361
  else {
3184
3362
  allQueue.delete(node);
3185
- {
3186
- processedNodes.push(updater);
3187
- }
3363
+ processedNodes.push(updater);
3188
3364
  var payLoad = updater.payLoad;
3189
3365
  isSync = isSync || updater.isSync;
3190
3366
  isForce = isForce || updater.isForce;
@@ -3213,17 +3389,15 @@ function requireIndex_development_1 () {
3213
3389
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
3214
3390
  }
3215
3391
  : void 0;
3216
- {
3217
- return {
3218
- needUpdate: needUpdate,
3219
- nodes: processedNodes,
3220
- isSync: isSync,
3221
- isForce: isForce,
3222
- isImmediate: isImmediate,
3223
- isRetrigger: isRetrigger,
3224
- callback: invokeCallbackArray,
3225
- };
3226
- }
3392
+ return {
3393
+ needUpdate: needUpdate,
3394
+ nodes: processedNodes,
3395
+ isSync: isSync,
3396
+ isForce: isForce,
3397
+ isImmediate: isImmediate,
3398
+ isRetrigger: isRetrigger,
3399
+ callback: invokeCallbackArray,
3400
+ };
3227
3401
  }
3228
3402
  };
3229
3403
  var processFunctionComponentUpdateQueueLegacy = function (renderDispatch, fiber) {
@@ -3251,9 +3425,7 @@ function requireIndex_development_1 () {
3251
3425
  throw new Error("[@my-react/react] current update not valid, look like a bug for @my-react");
3252
3426
  }
3253
3427
  allQueue.delete(node);
3254
- {
3255
- processedNodes.push(updater);
3256
- }
3428
+ processedNodes.push(updater);
3257
3429
  var trigger = updater.trigger, payLoad_6 = updater.payLoad, reducer_3 = updater.reducer;
3258
3430
  var typedTrigger_3 = trigger;
3259
3431
  var lastResult_3 = typedTrigger_3.result;
@@ -3298,9 +3470,7 @@ function requireIndex_development_1 () {
3298
3470
  }
3299
3471
  else {
3300
3472
  allQueue.delete(node);
3301
- {
3302
- processedNodes.push(updater);
3303
- }
3473
+ processedNodes.push(updater);
3304
3474
  var payLoad = updater.payLoad;
3305
3475
  isSync = isSync || updater.isSync;
3306
3476
  isForce = isForce || updater.isForce;
@@ -3330,17 +3500,15 @@ function requireIndex_development_1 () {
3330
3500
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
3331
3501
  }
3332
3502
  : void 0;
3333
- {
3334
- return {
3335
- needUpdate: needUpdate,
3336
- nodes: processedNodes,
3337
- isSync: isSync,
3338
- isForce: isForce,
3339
- isImmediate: isImmediate,
3340
- isRetrigger: isRetrigger,
3341
- callback: invokeCallbackArray,
3342
- };
3343
- }
3503
+ return {
3504
+ needUpdate: needUpdate,
3505
+ nodes: processedNodes,
3506
+ isSync: isSync,
3507
+ isForce: isForce,
3508
+ isImmediate: isImmediate,
3509
+ isRetrigger: isRetrigger,
3510
+ callback: invokeCallbackArray,
3511
+ };
3344
3512
  };
3345
3513
  var processNormalComponentUpdateLatest = function (renderDispatch, fiber) {
3346
3514
  if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
@@ -3359,9 +3527,7 @@ function requireIndex_development_1 () {
3359
3527
  var updater = node.value;
3360
3528
  var nextNode = node.next;
3361
3529
  allQueue.delete(node);
3362
- {
3363
- processedNodes.push(updater);
3364
- }
3530
+ processedNodes.push(updater);
3365
3531
  var payLoad = updater.payLoad;
3366
3532
  isSync = isSync || updater.isSync;
3367
3533
  isForce = isForce || updater.isForce;
@@ -3385,17 +3551,15 @@ function requireIndex_development_1 () {
3385
3551
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
3386
3552
  }
3387
3553
  : void 0;
3388
- {
3389
- return {
3390
- needUpdate: needUpdate,
3391
- nodes: processedNodes,
3392
- isSync: isSync,
3393
- isForce: isForce,
3394
- isImmediate: isImmediate,
3395
- isRetrigger: isRetrigger,
3396
- callback: invokeCallbackArray,
3397
- };
3398
- }
3554
+ return {
3555
+ needUpdate: needUpdate,
3556
+ nodes: processedNodes,
3557
+ isSync: isSync,
3558
+ isForce: isForce,
3559
+ isImmediate: isImmediate,
3560
+ isRetrigger: isRetrigger,
3561
+ callback: invokeCallbackArray,
3562
+ };
3399
3563
  };
3400
3564
  var processNormalComponentUpdateLegacy = function (renderDispatch, fiber) {
3401
3565
  if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
@@ -3414,9 +3578,7 @@ function requireIndex_development_1 () {
3414
3578
  if (node) {
3415
3579
  var updater = node.value;
3416
3580
  allQueue.delete(node);
3417
- {
3418
- processedNodes.push(updater);
3419
- }
3581
+ processedNodes.push(updater);
3420
3582
  var payLoad = updater.payLoad;
3421
3583
  isSync = isSync || updater.isSync;
3422
3584
  isForce = isForce || updater.isForce;
@@ -3444,17 +3606,15 @@ function requireIndex_development_1 () {
3444
3606
  return callbacks.forEach(function (cb) { return cb === null || cb === void 0 ? void 0 : cb(); });
3445
3607
  }
3446
3608
  : void 0;
3447
- {
3448
- return {
3449
- needUpdate: needUpdate,
3450
- nodes: processedNodes,
3451
- isSync: isSync,
3452
- isForce: isForce,
3453
- isImmediate: isImmediate,
3454
- isRetrigger: isRetrigger,
3455
- callback: invokeCallbackArray,
3456
- };
3457
- }
3609
+ return {
3610
+ needUpdate: needUpdate,
3611
+ nodes: processedNodes,
3612
+ isSync: isSync,
3613
+ isForce: isForce,
3614
+ isImmediate: isImmediate,
3615
+ isRetrigger: isRetrigger,
3616
+ callback: invokeCallbackArray,
3617
+ };
3458
3618
  };
3459
3619
  /**
3460
3620
  * @deprecated
@@ -3602,9 +3762,12 @@ function requireIndex_development_1 () {
3602
3762
  };
3603
3763
 
3604
3764
  var defaultGenerateUnmountMap = function (fiber, unmount, map) {
3605
- var list = map.get(fiber) || new myreactSharedExports.ListTree();
3606
- var newList = generateFiberToUnmountList(unmount);
3607
- map.set(fiber, list.concat(newList));
3765
+ var list = map.get(fiber);
3766
+ if (!list) {
3767
+ list = new myreactSharedExports.ListTree();
3768
+ map.set(fiber, list);
3769
+ }
3770
+ list.push(unmount);
3608
3771
  };
3609
3772
  var defaultDispatchUnmount = function (renderDispatch) {
3610
3773
  if (renderDispatch.isAppUnmounted)
@@ -3616,35 +3779,33 @@ function requireIndex_development_1 () {
3616
3779
  var defaultInvokeUnmountList = function (renderDispatch, fiber) {
3617
3780
  if (myreactSharedExports.include(fiber.patch, myreactSharedExports.PATCH_TYPE.__unmount__)) {
3618
3781
  var unmountMap = renderDispatch.runtimeMap.unmountMap;
3619
- var allUnmount_1 = unmountMap.get(fiber);
3782
+ var allUnmount = unmountMap.get(fiber);
3620
3783
  unmountMap.delete(fiber);
3621
- if (allUnmount_1 && allUnmount_1.length)
3622
- safeCallWithCurrentFiber({
3623
- fiber: fiber,
3624
- action: function safeCallUnmountList() {
3625
- unmountList(renderDispatch, allUnmount_1);
3626
- },
3784
+ if (allUnmount && allUnmount.length) {
3785
+ allUnmount.listToFoot(function invokeUnmountFromCurrent(unmount) {
3786
+ safeCallWithCurrentFiber({
3787
+ fiber: unmount,
3788
+ action: function safeCallUnmountFromCurrent() {
3789
+ unmountFiber(renderDispatch, unmount);
3790
+ },
3791
+ });
3627
3792
  });
3793
+ }
3628
3794
  fiber.patch = myreactSharedExports.remove(fiber.patch, myreactSharedExports.PATCH_TYPE.__unmount__);
3629
3795
  }
3630
3796
  };
3631
3797
 
3632
- var unmountList = function (renderDispatch, list) {
3633
- // will happen when app crash
3634
- list.listToFoot(function invokeUnmountPendingList(f) {
3798
+ // unmount current fiber
3799
+ var unmountFiber = function (renderDispatch, fiber) {
3800
+ if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
3801
+ return;
3802
+ var list = generateFiberToListWithAction(fiber, function invokeUnmountPending(f) {
3635
3803
  defaultInvokeUnmountList(renderDispatch, f);
3636
3804
  });
3637
3805
  list.listToFoot(function invokeFiberUnmountList(f) {
3638
3806
  unmountFiberNode(renderDispatch, f);
3639
3807
  });
3640
3808
  };
3641
- // unmount current fiber
3642
- var unmountFiber = function (renderDispatch, fiber) {
3643
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
3644
- return;
3645
- var list = generateFiberToUnmountList(fiber);
3646
- unmountList(renderDispatch, list);
3647
- };
3648
3809
  // unmount current container with safe
3649
3810
  var unmountContainer = function (renderDispatch, cb) {
3650
3811
  renderDispatch.reconcileUnmount();
@@ -3818,8 +3979,8 @@ function requireIndex_development_1 () {
3818
3979
  };
3819
3980
 
3820
3981
  var globalLoop$2 = react.__my_react_internal__.globalLoop, currentScheduler$a = react.__my_react_internal__.currentScheduler;
3821
- var enableConcurrentMode$1 = react.__my_react_shared__.enableConcurrentMode;
3822
3982
  var scheduleUpdateFromRoot = function (renderDispatch) {
3983
+ var _a, _b, _c, _d;
3823
3984
  var allLive = renderDispatch.pendingUpdateFiberArray.getAll().filter(function (f) { return myreactSharedExports.exclude(f.state, myreactSharedExports.STATE_TYPE.__unmount__); });
3824
3985
  renderDispatch.pendingUpdateFiberArray.clear();
3825
3986
  if (allLive.length) {
@@ -3827,11 +3988,17 @@ function requireIndex_development_1 () {
3827
3988
  renderDispatch.runtimeFiber.nextWorkingFiber = renderDispatch.rootFiber;
3828
3989
  currentTriggerFiber.current = allLive.length > 1 ? allLive : allLive[0];
3829
3990
  allLive.forEach(function (fiber) { return applyTriggerFiberCb(renderDispatch, fiber); });
3830
- if (!enableConcurrentMode$1.current || allLive.some(function (f) { return myreactSharedExports.include(f.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__); })) {
3991
+ if (!renderDispatch.enableConcurrentMode || allLive.some(function (f) { return myreactSharedExports.include(f.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__); })) {
3992
+ {
3993
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.beforeDispatchUpdate) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(renderDispatch, allLive); });
3994
+ }
3831
3995
  updateSyncFromRoot(renderDispatch);
3832
3996
  }
3833
3997
  else {
3834
3998
  renderDispatch.resetYield();
3999
+ {
4000
+ (_d = (_c = listenerMap.get(renderDispatch)) === null || _c === void 0 ? void 0 : _c.beforeDispatchUpdate) === null || _d === void 0 ? void 0 : _d.forEach(function (cb) { return cb(renderDispatch, allLive); });
4001
+ }
3835
4002
  updateConcurrentFromRoot(renderDispatch);
3836
4003
  }
3837
4004
  }
@@ -3840,6 +4007,22 @@ function requireIndex_development_1 () {
3840
4007
  scheduleNext(renderDispatch);
3841
4008
  }
3842
4009
  };
4010
+ var scheduleOther = function (renderDispatch) {
4011
+ var _a;
4012
+ var renderScheduler = currentScheduler$a.current;
4013
+ if (!renderScheduler.dispatchSet || ((_a = renderScheduler.dispatchSet) === null || _a === void 0 ? void 0 : _a.length) === 1)
4014
+ return;
4015
+ var allDispatch = renderScheduler.dispatchSet;
4016
+ var hasPending = allDispatch
4017
+ .getAll()
4018
+ .find(function (d) { return d !== renderDispatch && d.isAppMounted && d.enableUpdate && !d.isAppCrashed && !d.isAppUnmounted && d.pendingUpdateFiberArray.length; });
4019
+ if (hasPending) {
4020
+ scheduleUpdate(hasPending);
4021
+ }
4022
+ else {
4023
+ globalLoop$2.current = false;
4024
+ }
4025
+ };
3843
4026
  var scheduleNext = function (renderDispatch) {
3844
4027
  var _a;
3845
4028
  if (!renderDispatch.isAppUnmounted && !renderDispatch.isAppCrashed && renderDispatch.enableUpdate && renderDispatch.pendingUpdateFiberArray.length) {
@@ -3862,7 +4045,7 @@ function requireIndex_development_1 () {
3862
4045
  };
3863
4046
  var scheduleUpdate = function (renderDispatch) {
3864
4047
  if (renderDispatch.isAppUnmounted) {
3865
- scheduleNext(renderDispatch);
4048
+ scheduleOther(renderDispatch);
3866
4049
  return;
3867
4050
  }
3868
4051
  scheduleUpdateFromRoot(renderDispatch);
@@ -3870,6 +4053,23 @@ function requireIndex_development_1 () {
3870
4053
 
3871
4054
  var globalLoop$1 = react.__my_react_internal__.globalLoop, currentScheduler$9 = react.__my_react_internal__.currentScheduler;
3872
4055
  var enableScopeTreeLog$3 = react.__my_react_shared__.enableScopeTreeLog;
4056
+ function finishUpdateSyncFromRoot(renderDispatch) {
4057
+ var _a, _b;
4058
+ var commitList = renderDispatch.pendingCommitFiberList;
4059
+ var changedList = renderDispatch.pendingChangedFiberList;
4060
+ renderDispatch.resetUpdateFlowRuntimeFiber();
4061
+ renderDispatch.pendingCommitFiberList = null;
4062
+ renderDispatch.pendingChangedFiberList = null;
4063
+ enableScopeTreeLog$3.current && setLogScope();
4064
+ (commitList === null || commitList === void 0 ? void 0 : commitList.length) && renderDispatch.reconcileUpdate(commitList);
4065
+ enableScopeTreeLog$3.current && resetLogScope();
4066
+ ((_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterDispatchUpdate) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(renderDispatch); }));
4067
+ (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
4068
+ safeCall(function safeCallFiberHasChangeListener() {
4069
+ var _a, _b;
4070
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
4071
+ });
4072
+ }
3873
4073
  var updateSyncFromRoot = function (renderDispatch) {
3874
4074
  globalLoop$1.current = true;
3875
4075
  var renderScheduler = currentScheduler$9.current;
@@ -3877,26 +4077,63 @@ function requireIndex_development_1 () {
3877
4077
  updateLoopSyncFromRoot(renderDispatch);
3878
4078
  processAsyncLoadListOnUpdate(renderDispatch);
3879
4079
  enableScopeTreeLog$3.current && resetLogScope();
3880
- (function finishUpdateSyncFromRoot() {
3881
- var commitList = renderDispatch.pendingCommitFiberList;
3882
- var changedList = renderDispatch.pendingChangedFiberList;
3883
- renderDispatch.resetUpdateFlowRuntimeFiber();
3884
- renderDispatch.pendingCommitFiberList = null;
3885
- renderDispatch.pendingChangedFiberList = null;
3886
- enableScopeTreeLog$3.current && setLogScope();
3887
- (commitList === null || commitList === void 0 ? void 0 : commitList.length) && renderDispatch.reconcileUpdate(commitList);
3888
- enableScopeTreeLog$3.current && resetLogScope();
3889
- (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
3890
- safeCall(function safeCallFiberHasChangeListener() {
3891
- var _a, _b;
3892
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
3893
- });
3894
- })();
4080
+ finishUpdateSyncFromRoot(renderDispatch);
3895
4081
  renderScheduler.microTask(function callScheduleNext() {
3896
4082
  globalLoop$1.current = false;
3897
4083
  scheduleNext(renderDispatch);
3898
4084
  });
3899
4085
  };
4086
+ function finishUpdateConcurrentFromRoot(renderDispatch) {
4087
+ var _a, _b;
4088
+ var commitList = renderDispatch.pendingCommitFiberList;
4089
+ var changedList = renderDispatch.pendingChangedFiberList;
4090
+ renderDispatch.resetUpdateFlowRuntimeFiber();
4091
+ renderDispatch.pendingCommitFiberList = null;
4092
+ renderDispatch.pendingChangedFiberList = null;
4093
+ enableScopeTreeLog$3.current && setLogScope();
4094
+ (commitList === null || commitList === void 0 ? void 0 : commitList.length) && renderDispatch.reconcileUpdate(commitList);
4095
+ enableScopeTreeLog$3.current && setLogScope();
4096
+ ((_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterDispatchUpdate) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(renderDispatch); }));
4097
+ (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
4098
+ safeCall(function safeCallFiberHasChangeListener() {
4099
+ var _a, _b;
4100
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
4101
+ });
4102
+ }
4103
+ function checkNextFiberIsSync(renderDispatch) {
4104
+ return myreactSharedExports.include(renderDispatch.runtimeFiber.nextWorkingFiber.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__);
4105
+ // include(renderDispatch.runtimeFiber.nextWorkingFiber.state, STATE_TYPE.__retrigger__)
4106
+ }
4107
+ function updateConCurrentNextFrame(renderDispatch) {
4108
+ var renderScheduler = currentScheduler$9.current;
4109
+ enableScopeTreeLog$3.current && setLogScope();
4110
+ var hasSync = updateLoopConcurrentFromRoot(renderDispatch);
4111
+ enableScopeTreeLog$3.current && resetLogScope();
4112
+ if (renderDispatch.runtimeFiber.nextWorkingFiber) {
4113
+ if (hasSync || checkNextFiberIsSync(renderDispatch)) {
4114
+ updateSyncFromRoot(renderDispatch);
4115
+ }
4116
+ else {
4117
+ renderScheduler.yieldTask(function resumeUpdateConcurrentFromRoot() {
4118
+ if (hasSync || checkNextFiberIsSync(renderDispatch)) {
4119
+ updateSyncFromRoot(renderDispatch);
4120
+ }
4121
+ else {
4122
+ updateConCurrentNextFrame(renderDispatch);
4123
+ }
4124
+ });
4125
+ }
4126
+ }
4127
+ else {
4128
+ processAsyncLoadListOnUpdate(renderDispatch);
4129
+ finishUpdateConcurrentFromRoot(renderDispatch);
4130
+ renderScheduler.microTask(function callScheduleNext() {
4131
+ // TODO! flash all effect
4132
+ globalLoop$1.current = false;
4133
+ scheduleNext(renderDispatch);
4134
+ });
4135
+ }
4136
+ }
3900
4137
  var updateConcurrentFromRoot = function (renderDispatch) {
3901
4138
  globalLoop$1.current = true;
3902
4139
  var renderScheduler = currentScheduler$9.current;
@@ -3904,40 +4141,23 @@ function requireIndex_development_1 () {
3904
4141
  var hasSync = updateLoopConcurrentFromRoot(renderDispatch);
3905
4142
  enableScopeTreeLog$3.current && resetLogScope();
3906
4143
  if (renderDispatch.runtimeFiber.nextWorkingFiber) {
3907
- var checkCurrentIsSync_1 = function () {
3908
- return hasSync || myreactSharedExports.include(renderDispatch.runtimeFiber.nextWorkingFiber.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__);
3909
- };
3910
- if (checkCurrentIsSync_1()) {
4144
+ if (hasSync || checkNextFiberIsSync(renderDispatch)) {
3911
4145
  updateSyncFromRoot(renderDispatch);
3912
4146
  }
3913
4147
  else {
3914
4148
  renderScheduler.yieldTask(function resumeUpdateConcurrentFromRoot() {
3915
- if (checkCurrentIsSync_1()) {
4149
+ if (hasSync || checkNextFiberIsSync(renderDispatch)) {
3916
4150
  updateSyncFromRoot(renderDispatch);
3917
4151
  }
3918
4152
  else {
3919
- updateConcurrentFromRoot(renderDispatch);
4153
+ updateConCurrentNextFrame(renderDispatch);
3920
4154
  }
3921
4155
  });
3922
4156
  }
3923
4157
  }
3924
4158
  else {
3925
4159
  processAsyncLoadListOnUpdate(renderDispatch);
3926
- (function finishUpdateConcurrentFromRoot() {
3927
- var commitList = renderDispatch.pendingCommitFiberList;
3928
- var changedList = renderDispatch.pendingChangedFiberList;
3929
- renderDispatch.resetUpdateFlowRuntimeFiber();
3930
- renderDispatch.pendingCommitFiberList = null;
3931
- renderDispatch.pendingChangedFiberList = null;
3932
- enableScopeTreeLog$3.current && setLogScope();
3933
- (commitList === null || commitList === void 0 ? void 0 : commitList.length) && renderDispatch.reconcileUpdate(commitList);
3934
- enableScopeTreeLog$3.current && setLogScope();
3935
- (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
3936
- safeCall(function safeCallFiberHasChangeListener() {
3937
- var _a, _b;
3938
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
3939
- });
3940
- })();
4160
+ finishUpdateConcurrentFromRoot(renderDispatch);
3941
4161
  renderScheduler.microTask(function callScheduleNext() {
3942
4162
  // TODO! flash all effect
3943
4163
  globalLoop$1.current = false;
@@ -3968,7 +4188,7 @@ function requireIndex_development_1 () {
3968
4188
  }
3969
4189
  if (hookNode.type === myreactSharedExports.HOOK_TYPE.useOptimistic) {
3970
4190
  var value = hookNode.value;
3971
- if (value.reducer && typeof value.reducer !== 'function') {
4191
+ if (value.reducer && typeof value.reducer !== "function") {
3972
4192
  throw new Error("[@my-react/react] ".concat(myreactSharedExports.HOOK_TYPE[hookNode.type], " initial error"));
3973
4193
  }
3974
4194
  }
@@ -4191,7 +4411,7 @@ function requireIndex_development_1 () {
4191
4411
  var nextValue = mergeFunc(newValue, hookNode.result.value.value);
4192
4412
  var payloadRef = { current: function (last) { return ({ value: nextValue, start: last.start }); } };
4193
4413
  hookNode._update({ isForce: true, isSync: true, payLoad: function (last) { return payloadRef.current(last); } });
4194
- hookNode.cancel = function () { return payloadRef.current = function (last) { return last; }; };
4414
+ hookNode.cancel = function () { return (payloadRef.current = function (last) { return last; }); };
4195
4415
  },
4196
4416
  };
4197
4417
  }
@@ -4558,11 +4778,10 @@ function requireIndex_development_1 () {
4558
4778
  fiber.constructor.prototype.isMyReactFiberNode);
4559
4779
  };
4560
4780
 
4561
- var enableConcurrentMode = react.__my_react_shared__.enableConcurrentMode;
4562
4781
  var currentScheduler$5 = react.__my_react_internal__.currentScheduler;
4563
4782
  var processUpdateOnFiber = function (renderDispatch, fiber, _isImmediate, _isRetrigger) {
4564
4783
  var renderScheduler = currentScheduler$5.current;
4565
- var flag = enableConcurrentMode.current;
4784
+ var flag = renderDispatch.enableConcurrentMode;
4566
4785
  var updateState = null;
4567
4786
  if (myreactSharedExports.include(fiber.type, exports.NODE_TYPE.__class__)) {
4568
4787
  updateState = flag ? processClassComponentUpdateQueueLatest(renderDispatch, fiber, flag) : processClassComponentUpdateQueueLegacy(renderDispatch, fiber);
@@ -5550,6 +5769,9 @@ function requireIndex_development_1 () {
5550
5769
  fiberHMR: new Set(),
5551
5770
  beforeFiberRun: new Set(),
5552
5771
  afterFiberRun: new Set(),
5772
+ afterFiberDone: new Set(),
5773
+ beforeDispatchRender: new Set(),
5774
+ afterDispatchRender: new Set(),
5553
5775
  fiberWarn: new Set(),
5554
5776
  fiberError: new Set(),
5555
5777
  fiberState: new Set(),
@@ -5563,12 +5785,12 @@ function requireIndex_development_1 () {
5563
5785
  hookUpdate: new Set(),
5564
5786
  hookState: new Set(),
5565
5787
  hookUnmount: new Set(),
5566
- beforeCommit: new Set(),
5567
- afterCommit: new Set(),
5568
- beforeUpdate: new Set(),
5569
- afterUpdate: new Set(),
5570
- beforeUnmount: new Set(),
5571
- afterUnmount: new Set(),
5788
+ beforeCommitMount: new Set(),
5789
+ afterCommitMount: new Set(),
5790
+ beforeCommitUpdate: new Set(),
5791
+ afterCommitUpdate: new Set(),
5792
+ beforeCommitUnmount: new Set(),
5793
+ afterCommitUnmount: new Set(),
5572
5794
  }
5573
5795
  ;
5574
5796
  };
@@ -5865,6 +6087,54 @@ function requireIndex_development_1 () {
5865
6087
  };
5866
6088
  (_a = set === null || set === void 0 ? void 0 : set.add) === null || _a === void 0 ? void 0 : _a.call(set, onceCb);
5867
6089
  };
6090
+ RenderDispatchEvent.prototype.onAfterFiberDone = function (cb) {
6091
+ var _a;
6092
+ var set = listenerMap.get(this).afterFiberDone;
6093
+ (_a = set === null || set === void 0 ? void 0 : set.add) === null || _a === void 0 ? void 0 : _a.call(set, cb);
6094
+ return function () { var _a; return (_a = set === null || set === void 0 ? void 0 : set.delete) === null || _a === void 0 ? void 0 : _a.call(set, cb); };
6095
+ };
6096
+ RenderDispatchEvent.prototype.onceAfterFiberDone = function (cb) {
6097
+ var _a;
6098
+ var set = listenerMap.get(this).afterFiberDone;
6099
+ var onceCb = function (_fiber) {
6100
+ var _a;
6101
+ cb(_fiber);
6102
+ (_a = set === null || set === void 0 ? void 0 : set.delete) === null || _a === void 0 ? void 0 : _a.call(set, onceCb);
6103
+ };
6104
+ (_a = set === null || set === void 0 ? void 0 : set.add) === null || _a === void 0 ? void 0 : _a.call(set, onceCb);
6105
+ };
6106
+ RenderDispatchEvent.prototype.onBeforeDispatchRender = function (cb) {
6107
+ var _a;
6108
+ var set = listenerMap.get(this).beforeDispatchRender;
6109
+ (_a = set === null || set === void 0 ? void 0 : set.add) === null || _a === void 0 ? void 0 : _a.call(set, cb);
6110
+ return function () { var _a; return (_a = set === null || set === void 0 ? void 0 : set.delete) === null || _a === void 0 ? void 0 : _a.call(set, cb); };
6111
+ };
6112
+ RenderDispatchEvent.prototype.onceBeforeDispatchRender = function (cb) {
6113
+ var _a;
6114
+ var set = listenerMap.get(this).beforeDispatchRender;
6115
+ var onceCb = function (renderDispatch) {
6116
+ var _a;
6117
+ cb(renderDispatch);
6118
+ (_a = set === null || set === void 0 ? void 0 : set.delete) === null || _a === void 0 ? void 0 : _a.call(set, onceCb);
6119
+ };
6120
+ (_a = set === null || set === void 0 ? void 0 : set.add) === null || _a === void 0 ? void 0 : _a.call(set, onceCb);
6121
+ };
6122
+ RenderDispatchEvent.prototype.onBeforeDispatchUpdate = function (cb) {
6123
+ var _a;
6124
+ var set = listenerMap.get(this).beforeDispatchUpdate;
6125
+ (_a = set === null || set === void 0 ? void 0 : set.add) === null || _a === void 0 ? void 0 : _a.call(set, cb);
6126
+ return function () { var _a; return (_a = set === null || set === void 0 ? void 0 : set.delete) === null || _a === void 0 ? void 0 : _a.call(set, cb); };
6127
+ };
6128
+ RenderDispatchEvent.prototype.onceBeforeDispatchUpdate = function (cb) {
6129
+ var _a;
6130
+ var set = listenerMap.get(this).beforeDispatchUpdate;
6131
+ var onceCb = function (renderDispatch, list) {
6132
+ var _a;
6133
+ cb(renderDispatch, list);
6134
+ (_a = set === null || set === void 0 ? void 0 : set.delete) === null || _a === void 0 ? void 0 : _a.call(set, onceCb);
6135
+ };
6136
+ (_a = set === null || set === void 0 ? void 0 : set.add) === null || _a === void 0 ? void 0 : _a.call(set, onceCb);
6137
+ };
5868
6138
  RenderDispatchEvent.prototype.onInstanceInitial = function (cb) {
5869
6139
  var set = listenerMap.get(this).instanceInitial;
5870
6140
  set.add(cb);
@@ -5969,78 +6239,78 @@ function requireIndex_development_1 () {
5969
6239
  };
5970
6240
  set.add(onceCb);
5971
6241
  };
5972
- RenderDispatchEvent.prototype.onBeforeCommit = function (cb) {
5973
- var set = listenerMap.get(this).beforeCommit;
6242
+ RenderDispatchEvent.prototype.onBeforeCommitMount = function (cb) {
6243
+ var set = listenerMap.get(this).beforeCommitMount;
5974
6244
  set.add(cb);
5975
6245
  return function () { return set.delete(cb); };
5976
6246
  };
5977
- RenderDispatchEvent.prototype.onceBeforeCommit = function (cb) {
5978
- var set = listenerMap.get(this).beforeCommit;
6247
+ RenderDispatchEvent.prototype.onceBeforeCommitMount = function (cb) {
6248
+ var set = listenerMap.get(this).beforeCommitMount;
5979
6249
  var onceCb = function () {
5980
6250
  cb();
5981
6251
  set.delete(onceCb);
5982
6252
  };
5983
6253
  set.add(onceCb);
5984
6254
  };
5985
- RenderDispatchEvent.prototype.onAfterCommit = function (cb) {
5986
- var set = listenerMap.get(this).afterCommit;
6255
+ RenderDispatchEvent.prototype.onAfterCommitMount = function (cb) {
6256
+ var set = listenerMap.get(this).afterCommitMount;
5987
6257
  set.add(cb);
5988
6258
  return function () { return set.delete(cb); };
5989
6259
  };
5990
- RenderDispatchEvent.prototype.onceAfterCommit = function (cb) {
5991
- var set = listenerMap.get(this).afterCommit;
6260
+ RenderDispatchEvent.prototype.onceAfterCommitMount = function (cb) {
6261
+ var set = listenerMap.get(this).afterCommitMount;
5992
6262
  var onceCb = function () {
5993
6263
  cb();
5994
6264
  set.delete(onceCb);
5995
6265
  };
5996
6266
  set.add(onceCb);
5997
6267
  };
5998
- RenderDispatchEvent.prototype.onBeforeUpdate = function (cb) {
5999
- var set = listenerMap.get(this).beforeUpdate;
6268
+ RenderDispatchEvent.prototype.onBeforeCommitUpdate = function (cb) {
6269
+ var set = listenerMap.get(this).beforeCommitUpdate;
6000
6270
  set.add(cb);
6001
6271
  return function () { return set.delete(cb); };
6002
6272
  };
6003
- RenderDispatchEvent.prototype.onceBeforeUpdate = function (cb) {
6004
- var set = listenerMap.get(this).beforeUpdate;
6273
+ RenderDispatchEvent.prototype.onceBeforeCommitUpdate = function (cb) {
6274
+ var set = listenerMap.get(this).beforeCommitUpdate;
6005
6275
  var onceCb = function () {
6006
6276
  cb();
6007
6277
  set.delete(onceCb);
6008
6278
  };
6009
6279
  set.add(onceCb);
6010
6280
  };
6011
- RenderDispatchEvent.prototype.onAfterUpdate = function (cb) {
6012
- var set = listenerMap.get(this).afterUpdate;
6281
+ RenderDispatchEvent.prototype.onAfterCommitUpdate = function (cb) {
6282
+ var set = listenerMap.get(this).afterCommitUpdate;
6013
6283
  set.add(cb);
6014
6284
  return function () { return set.delete(cb); };
6015
6285
  };
6016
- RenderDispatchEvent.prototype.onceAfterUpdate = function (cb) {
6017
- var set = listenerMap.get(this).afterUpdate;
6286
+ RenderDispatchEvent.prototype.onceAfterCommitUpdate = function (cb) {
6287
+ var set = listenerMap.get(this).afterCommitUpdate;
6018
6288
  var onceCb = function () {
6019
6289
  cb();
6020
6290
  set.delete(onceCb);
6021
6291
  };
6022
6292
  set.add(onceCb);
6023
6293
  };
6024
- RenderDispatchEvent.prototype.onBeforeUnmount = function (cb) {
6025
- var set = listenerMap.get(this).beforeUnmount;
6294
+ RenderDispatchEvent.prototype.onBeforeCommitUnmount = function (cb) {
6295
+ var set = listenerMap.get(this).beforeCommitUnmount;
6026
6296
  set.add(cb);
6027
6297
  return function () { return set.delete(cb); };
6028
6298
  };
6029
- RenderDispatchEvent.prototype.onceBeforeUnmount = function (cb) {
6030
- var set = listenerMap.get(this).beforeUnmount;
6299
+ RenderDispatchEvent.prototype.onceBeforeCommitUnmount = function (cb) {
6300
+ var set = listenerMap.get(this).beforeCommitUnmount;
6031
6301
  var onceCb = function () {
6032
6302
  cb();
6033
6303
  set.delete(onceCb);
6034
6304
  };
6035
6305
  set.add(onceCb);
6036
6306
  };
6037
- RenderDispatchEvent.prototype.onAfterUnmount = function (cb) {
6038
- var set = listenerMap.get(this).afterUnmount;
6307
+ RenderDispatchEvent.prototype.onAfterCommitUnmount = function (cb) {
6308
+ var set = listenerMap.get(this).afterCommitUnmount;
6039
6309
  set.add(cb);
6040
6310
  return function () { return set.delete(cb); };
6041
6311
  };
6042
- RenderDispatchEvent.prototype.onceAfterUnmount = function (cb) {
6043
- var set = listenerMap.get(this).afterUnmount;
6312
+ RenderDispatchEvent.prototype.onceAfterCommitUnmount = function (cb) {
6313
+ var set = listenerMap.get(this).afterCommitUnmount;
6044
6314
  var onceCb = function () {
6045
6315
  cb();
6046
6316
  set.delete(onceCb);
@@ -6077,10 +6347,10 @@ function requireIndex_development_1 () {
6077
6347
 
6078
6348
  var currentScheduler$2 = react.__my_react_internal__.currentScheduler;
6079
6349
  var enableScopeTreeLog$2 = react.__my_react_shared__.enableScopeTreeLog;
6350
+ // TODO improve
6080
6351
  var defaultDispatchMountLatest = function (_dispatch, _fiber) {
6081
- var _list = generateFiberToMountList(_fiber);
6082
6352
  beforeSyncUpdate();
6083
- _list.listToFoot(function invokeUnmountPendingAndInsertionEffectList(_fiber) {
6353
+ var _list = generateFiberToListWithAction(_fiber, function invokeUnmountPendingList(_fiber) {
6084
6354
  defaultInvokeUnmountList(_dispatch, _fiber);
6085
6355
  });
6086
6356
  _list.listToFoot(function invokeInsertionEffectList(_fiber) {
@@ -6326,7 +6596,7 @@ function requireIndex_development_1 () {
6326
6596
  _this.isAppMounted = false;
6327
6597
  _this.isAppCrashed = false;
6328
6598
  _this.isAppUnmounted = false;
6329
- _this.version = "0.3.15";
6599
+ _this.version = "0.3.17";
6330
6600
  _this.mode = "development" ;
6331
6601
  _this.renderMode = "render";
6332
6602
  _this.pendingCommitFiberList = null;
@@ -6470,11 +6740,11 @@ function requireIndex_development_1 () {
6470
6740
  (_a = instance.beforeCommit) === null || _a === void 0 ? void 0 : _a.call(instance);
6471
6741
  });
6472
6742
  safeCall(function safeCallBeforeCommitListener() {
6473
- listenerMap.get(instance).beforeCommit.forEach(function (cb) { return cb(); });
6743
+ listenerMap.get(instance).beforeCommitMount.forEach(function (cb) { return cb(); });
6474
6744
  });
6475
6745
  defaultDispatchMount(this, _fiber);
6476
6746
  safeCall(function safeCallAfterCommitListener() {
6477
- listenerMap.get(instance).afterCommit.forEach(function (cb) { return cb(); });
6747
+ listenerMap.get(instance).afterCommitMount.forEach(function (cb) { return cb(); });
6478
6748
  });
6479
6749
  safeCall(function safeCallAfterCommit() {
6480
6750
  var _a;
@@ -6488,11 +6758,11 @@ function requireIndex_development_1 () {
6488
6758
  (_a = instance.beforeUpdate) === null || _a === void 0 ? void 0 : _a.call(instance);
6489
6759
  });
6490
6760
  safeCall(function safeCallBeforeUpdateListener() {
6491
- listenerMap.get(instance).beforeUpdate.forEach(function (cb) { return cb(); });
6761
+ listenerMap.get(instance).beforeCommitUpdate.forEach(function (cb) { return cb(); });
6492
6762
  });
6493
6763
  defaultDispatchUpdate(this, _list);
6494
6764
  safeCall(function safeCallAfterUpdateListener() {
6495
- listenerMap.get(instance).afterUpdate.forEach(function (cb) { return cb(); });
6765
+ listenerMap.get(instance).afterCommitUpdate.forEach(function (cb) { return cb(); });
6496
6766
  });
6497
6767
  safeCall(function safeCallAfterUpdate() {
6498
6768
  var _a;
@@ -6506,11 +6776,11 @@ function requireIndex_development_1 () {
6506
6776
  (_a = instance.beforeUnmount) === null || _a === void 0 ? void 0 : _a.call(instance);
6507
6777
  });
6508
6778
  safeCall(function safeCallBeforeUnmountListener() {
6509
- listenerMap.get(instance).beforeUnmount.forEach(function (cb) { return cb(); });
6779
+ listenerMap.get(instance).beforeCommitUnmount.forEach(function (cb) { return cb(); });
6510
6780
  });
6511
6781
  defaultDispatchUnmount(this);
6512
6782
  safeCall(function safeCallAfterUnmountListener() {
6513
- listenerMap.get(instance).afterUnmount.forEach(function (cb) { return cb(); });
6783
+ listenerMap.get(instance).afterCommitUnmount.forEach(function (cb) { return cb(); });
6514
6784
  });
6515
6785
  safeCall(function safeCallAfterUnmount() {
6516
6786
  var _a;
@@ -6603,29 +6873,29 @@ function requireIndex_development_1 () {
6603
6873
  });
6604
6874
  var typedFiber = fiber;
6605
6875
  var processedNodes = [];
6876
+ var updater = {
6877
+ type: myreactSharedExports.UpdateQueueType.context,
6878
+ trigger: fiber,
6879
+ payLoad: afterValue,
6880
+ isSync: true,
6881
+ isForce: true,
6882
+ isImmediate: true,
6883
+ isRetrigger: true,
6884
+ };
6606
6885
  if (enableDebugFiled.current) {
6607
- typedFiber._debugUpdateQueue = typedFiber._debugUpdateQueue || new myreactSharedExports.ListTree();
6608
6886
  var now = Date.now();
6609
- var updater = {
6610
- type: myreactSharedExports.UpdateQueueType.context,
6611
- trigger: fiber,
6612
- payLoad: afterValue,
6613
- isSync: true,
6614
- isForce: true,
6615
- isImmediate: true,
6616
- isRetrigger: true,
6617
- _debugBeforeValue: beforeValue,
6618
- _debugAfterValue: afterValue,
6619
- _debugCreateTime: now,
6620
- _debugRunTime: now,
6621
- _debugType: myreactSharedExports.UpdateQueueType[myreactSharedExports.UpdateQueueType.context],
6622
- };
6623
- processedNodes.push(updater);
6887
+ updater._debugBeforeValue = beforeValue;
6888
+ updater._debugAfterValue = afterValue;
6889
+ updater._debugCreateTime = now;
6890
+ updater._debugRunTime = now;
6891
+ updater._debugType = myreactSharedExports.UpdateQueueType[myreactSharedExports.UpdateQueueType.context];
6624
6892
  if (enableDebugUpdateQueue.current) {
6893
+ typedFiber._debugUpdateQueue = typedFiber._debugUpdateQueue || new myreactSharedExports.ListTree();
6625
6894
  typedFiber._debugUpdateQueue.push(updater);
6626
6895
  }
6627
6896
  }
6628
- var devUpdater = {
6897
+ processedNodes.push(updater);
6898
+ var updateState = {
6629
6899
  needUpdate: true,
6630
6900
  nodes: processedNodes,
6631
6901
  isSync: true,
@@ -6637,7 +6907,7 @@ function requireIndex_development_1 () {
6637
6907
  fiber: fiber,
6638
6908
  action: function safeCallFiberTriggerListener() {
6639
6909
  var _a, _b;
6640
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberTrigger) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(fiber, devUpdater ); });
6910
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberTrigger) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(fiber, updateState); });
6641
6911
  },
6642
6912
  });
6643
6913
  };
@@ -6698,66 +6968,74 @@ function requireIndex_development_1 () {
6698
6968
 
6699
6969
  var globalLoop = react.__my_react_internal__.globalLoop;
6700
6970
  var enableScopeTreeLog = react.__my_react_shared__.enableScopeTreeLog;
6971
+ function finishMountSync(renderDispatch, fiber) {
6972
+ enableScopeTreeLog.current && setLogScope();
6973
+ renderDispatch.reconcileCommit(fiber);
6974
+ var changedList = renderDispatch.pendingChangedFiberList;
6975
+ renderDispatch.resetUpdateFlowRuntimeFiber();
6976
+ renderDispatch.pendingCommitFiberList = null;
6977
+ renderDispatch.pendingChangedFiberList = null;
6978
+ enableScopeTreeLog.current && resetLogScope();
6979
+ (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
6980
+ safeCallWithCurrentFiber({
6981
+ fiber: fiber,
6982
+ action: function safeCallFiberHasChangeListener() {
6983
+ var _a, _b;
6984
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
6985
+ },
6986
+ });
6987
+ }
6701
6988
  var mountSync = function (renderDispatch, fiber) {
6989
+ var _a, _b, _c;
6990
+ ((_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.beforeDispatchRender) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(renderDispatch); }));
6702
6991
  globalLoop.current = true;
6703
6992
  enableScopeTreeLog.current && setLogScope();
6704
6993
  mountLoopAll(renderDispatch, fiber);
6705
6994
  processAsyncLoadListOnSyncMount(renderDispatch);
6706
6995
  enableScopeTreeLog.current && resetLogScope();
6707
- (function finishMount() {
6708
- enableScopeTreeLog.current && setLogScope();
6709
- renderDispatch.reconcileCommit(fiber);
6710
- var changedList = renderDispatch.pendingChangedFiberList;
6711
- renderDispatch.resetUpdateFlowRuntimeFiber();
6712
- renderDispatch.pendingCommitFiberList = null;
6713
- renderDispatch.pendingChangedFiberList = null;
6714
- enableScopeTreeLog.current && resetLogScope();
6715
- (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
6716
- safeCallWithCurrentFiber({
6717
- fiber: fiber,
6718
- action: function safeCallFiberHasChangeListener() {
6719
- var _a, _b;
6720
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
6721
- },
6722
- });
6723
- })();
6996
+ finishMountSync(renderDispatch, fiber);
6997
+ ((_c = listenerMap.get(renderDispatch)) === null || _c === void 0 ? void 0 : _c.afterDispatchRender.forEach(function (cb) { return cb(renderDispatch); }));
6724
6998
  globalLoop.current = false;
6725
6999
  };
7000
+ function finishMountAsync(renderDispatch, fiber) {
7001
+ enableScopeTreeLog.current && setLogScope();
7002
+ renderDispatch.reconcileCommit(fiber);
7003
+ var changedList = renderDispatch.pendingChangedFiberList;
7004
+ renderDispatch.resetUpdateFlowRuntimeFiber();
7005
+ renderDispatch.pendingCommitFiberList = null;
7006
+ renderDispatch.pendingChangedFiberList = null;
7007
+ enableScopeTreeLog.current && resetLogScope();
7008
+ (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
7009
+ safeCallWithCurrentFiber({
7010
+ fiber: fiber,
7011
+ action: function safeCallFiberHasChangeListener() {
7012
+ var _a, _b;
7013
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
7014
+ },
7015
+ });
7016
+ }
6726
7017
  var mountAsync = function (renderDispatch, fiber) { return __awaiter(void 0, void 0, void 0, function () {
6727
- return __generator(this, function (_a) {
6728
- switch (_a.label) {
7018
+ var _a, _b, _c;
7019
+ return __generator(this, function (_d) {
7020
+ switch (_d.label) {
6729
7021
  case 0:
7022
+ ((_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.beforeDispatchRender) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(renderDispatch); }));
6730
7023
  globalLoop.current = true;
6731
7024
  enableScopeTreeLog.current && setLogScope();
6732
7025
  mountLoopAll(renderDispatch, fiber);
6733
7026
  return [4 /*yield*/, processAsyncLoadListOnAsyncMount(renderDispatch)];
6734
7027
  case 1:
6735
- _a.sent();
6736
- enableScopeTreeLog.current && setLogScope();
6737
- (function finishMount() {
6738
- enableScopeTreeLog.current && setLogScope();
6739
- renderDispatch.reconcileCommit(fiber);
6740
- var changedList = renderDispatch.pendingChangedFiberList;
6741
- renderDispatch.resetUpdateFlowRuntimeFiber();
6742
- renderDispatch.pendingCommitFiberList = null;
6743
- renderDispatch.pendingChangedFiberList = null;
6744
- enableScopeTreeLog.current && setLogScope();
6745
- (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
6746
- safeCallWithCurrentFiber({
6747
- fiber: fiber,
6748
- action: function safeCallFiberHasChangeListener() {
6749
- var _a, _b;
6750
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberHasChange) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(changedList); });
6751
- },
6752
- });
6753
- })();
7028
+ _d.sent();
7029
+ enableScopeTreeLog.current && resetLogScope();
7030
+ finishMountAsync(renderDispatch, fiber);
7031
+ ((_c = listenerMap.get(renderDispatch)) === null || _c === void 0 ? void 0 : _c.afterDispatchRender.forEach(function (cb) { return cb(renderDispatch); }));
6754
7032
  globalLoop.current = false;
6755
7033
  return [2 /*return*/];
6756
7034
  }
6757
7035
  });
6758
7036
  }); };
6759
7037
 
6760
- var version = "0.3.15";
7038
+ var version = "0.3.17";
6761
7039
 
6762
7040
  exports.CustomRenderDispatch = CustomRenderDispatch;
6763
7041
  exports.MyReactFiberNode = MyReactFiberNode;
@@ -6815,6 +7093,7 @@ function requireIndex_development_1 () {
6815
7093
  exports.enableLogForCurrentFlowIsRunning = enableLogForCurrentFlowIsRunning;
6816
7094
  exports.enableValidMyReactElement = enableValidMyReactElement;
6817
7095
  exports.fiberToDispatchMap = fiberToDispatchMap;
7096
+ exports.generateFiberToListWithAction = generateFiberToListWithAction;
6818
7097
  exports.generateFiberToMountList = generateFiberToMountList;
6819
7098
  exports.generateFiberToUnmountList = generateFiberToUnmountList;
6820
7099
  exports.getClassInstanceFieldByInstance = getClassInstanceFieldByInstance;
@@ -6932,7 +7211,6 @@ function requireIndex_development_1 () {
6932
7211
  exports.unmountFiber = unmountFiber;
6933
7212
  exports.unmountFiberNode = unmountFiberNode;
6934
7213
  exports.unmountInstance = unmountInstance;
6935
- exports.unmountList = unmountList;
6936
7214
  exports.updateConcurrentFromRoot = updateConcurrentFromRoot;
6937
7215
  exports.updateFiberNode = updateFiberNode;
6938
7216
  exports.updateHookNode = updateHookNode;
@@ -8121,10 +8399,9 @@ var ReconcilerDispatchFiber = function (renderDispatch, fiber) {
8121
8399
  var currentScheduler$2 = require$$0.__my_react_internal__.currentScheduler;
8122
8400
  var enableScopeTreeLog$3 = require$$0.__my_react_shared__.enableScopeTreeLog;
8123
8401
  var ReconcilerDispatchMount = function (_dispatch, _fiber, config) {
8124
- var _list = myreactReconcilerExports.generateFiberToMountList(_fiber);
8125
8402
  var pendingCommitFiberArray = [];
8126
8403
  myreactReconcilerExports.beforeSyncUpdate();
8127
- _list.listToFoot(function invokeUnmountPendingAndInsertionEffectList(_fiber) {
8404
+ var _list = myreactReconcilerExports.generateFiberToListWithAction(_fiber, function invokeUnmountPendingList(_fiber) {
8128
8405
  myreactReconcilerExports.defaultInvokeUnmountList(_dispatch, _fiber);
8129
8406
  });
8130
8407
  _list.listToFoot(function invokeInsertionEffectList(_fiber) {
@@ -8205,7 +8482,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
8205
8482
  }
8206
8483
  });
8207
8484
  myreactReconcilerExports.afterSyncUpdate();
8208
- var pendingCreateFiberArray = [];
8485
+ var pendingFinalizeInitialChildrenFiberSet = new Set();
8209
8486
  var pendingCommitFiberArray = [];
8210
8487
  _list.listToFoot(function invokeCreateAndUpdateList(_fiber) {
8211
8488
  if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
@@ -8219,7 +8496,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
8219
8496
  });
8220
8497
  var afterHasNode = _fiber.nativeNode;
8221
8498
  if (!beforeHasNode && afterHasNode) {
8222
- pendingCreateFiberArray.push(_fiber);
8499
+ pendingFinalizeInitialChildrenFiberSet.add(_fiber);
8223
8500
  }
8224
8501
  }
8225
8502
  });
@@ -8229,6 +8506,8 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
8229
8506
  fiber: _fiber,
8230
8507
  action: function safeCallPosition() {
8231
8508
  _dispatch.commitPosition(_fiber);
8509
+ var parentFiber = getValidParentFiberWithNode(_dispatch, _fiber);
8510
+ parentFiber && pendingFinalizeInitialChildrenFiberSet.add(parentFiber);
8232
8511
  },
8233
8512
  });
8234
8513
  }
@@ -8239,6 +8518,8 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
8239
8518
  fiber: _fiber,
8240
8519
  action: function safeCallAppendList() {
8241
8520
  _dispatch.commitAppend(_fiber);
8521
+ var parentFiber = getValidParentFiberWithNode(_dispatch, _fiber);
8522
+ parentFiber && pendingFinalizeInitialChildrenFiberSet.add(parentFiber);
8242
8523
  },
8243
8524
  });
8244
8525
  }
@@ -8253,7 +8534,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
8253
8534
  });
8254
8535
  }
8255
8536
  });
8256
- pendingCreateFiberArray.forEach(function invokeFinalizeInitialChildren(_fiber) {
8537
+ pendingFinalizeInitialChildrenFiberSet.forEach(function invokeFinalizeInitialChildren(_fiber) {
8257
8538
  if (_fiber.nativeNode) {
8258
8539
  var node = config.getPublicInstance(_fiber.nativeNode);
8259
8540
  var type = _fiber.elementType;
@@ -8300,7 +8581,7 @@ var initialRef = {
8300
8581
  typeForAppend: myreactReconcilerExports.NODE_TYPE.__text__ | myreactReconcilerExports.NODE_TYPE.__plain__,
8301
8582
  typeForNativeNode: myreactReconcilerExports.NODE_TYPE.__text__ | myreactReconcilerExports.NODE_TYPE.__plain__ | myreactReconcilerExports.NODE_TYPE.__portal__,
8302
8583
  };
8303
- var createDispatch = function (rootNode, rootFiber, rootElement, config) {
8584
+ var createDispatch = function (rootNode, rootFiber, rootElement, config, flag) {
8304
8585
  var ReconcilerDispatch = /** @class */ (function (_super) {
8305
8586
  __extends(ReconcilerDispatch, _super);
8306
8587
  function ReconcilerDispatch() {
@@ -8347,11 +8628,11 @@ var createDispatch = function (rootNode, rootFiber, rootElement, config) {
8347
8628
  (_a = instance.beforeCommit) === null || _a === void 0 ? void 0 : _a.call(instance);
8348
8629
  });
8349
8630
  myreactReconcilerExports.safeCall(function safeCallBeforeCommitListener() {
8350
- myreactReconcilerExports.listenerMap.get(instance).beforeCommit.forEach(function (cb) { return cb(); });
8631
+ myreactReconcilerExports.listenerMap.get(instance).beforeCommitMount.forEach(function (cb) { return cb(); });
8351
8632
  });
8352
8633
  ReconcilerDispatchMount(this, _fiber, config);
8353
8634
  myreactReconcilerExports.safeCall(function safeCallAfterCommitListener() {
8354
- myreactReconcilerExports.listenerMap.get(instance).afterCommit.forEach(function (cb) { return cb(); });
8635
+ myreactReconcilerExports.listenerMap.get(instance).afterCommitMount.forEach(function (cb) { return cb(); });
8355
8636
  });
8356
8637
  myreactReconcilerExports.safeCall(function safeCallAfterCommit() {
8357
8638
  var _a;
@@ -8368,11 +8649,11 @@ var createDispatch = function (rootNode, rootFiber, rootElement, config) {
8368
8649
  (_a = instance.beforeUpdate) === null || _a === void 0 ? void 0 : _a.call(instance);
8369
8650
  });
8370
8651
  myreactReconcilerExports.safeCall(function safeCallBeforeUpdateListener() {
8371
- myreactReconcilerExports.listenerMap.get(instance).beforeUpdate.forEach(function (cb) { return cb(); });
8652
+ myreactReconcilerExports.listenerMap.get(instance).beforeCommitUpdate.forEach(function (cb) { return cb(); });
8372
8653
  });
8373
8654
  ReconcilerDispatchUpdate(this, _list, config);
8374
8655
  myreactReconcilerExports.safeCall(function safeCallAfterUpdateListener() {
8375
- myreactReconcilerExports.listenerMap.get(instance).afterUpdate.forEach(function (cb) { return cb(); });
8656
+ myreactReconcilerExports.listenerMap.get(instance).afterCommitUpdate.forEach(function (cb) { return cb(); });
8376
8657
  });
8377
8658
  myreactReconcilerExports.safeCall(function safeCallAfterUpdate() {
8378
8659
  var _a;
@@ -8423,7 +8704,10 @@ var createDispatch = function (rootNode, rootFiber, rootElement, config) {
8423
8704
  },
8424
8705
  });
8425
8706
  }
8426
- return new ReconcilerDispatch(rootNode, rootFiber, rootElement);
8707
+ var dispatch = new ReconcilerDispatch(rootNode, rootFiber, rootElement);
8708
+ dispatch.enableConcurrentMode = flag !== 0;
8709
+ dispatch.renderMode = flag !== 0 ? "concurrent" : "legacy";
8710
+ return dispatch;
8427
8711
  };
8428
8712
 
8429
8713
  var DEV_REFRESH_FIELD = "__@my-react/react-refresh-inject__";
@@ -8504,7 +8788,6 @@ var enableDebugFiled$1 = require$$0.__my_react_shared__.enableDebugFiled, enable
8504
8788
  * @internal
8505
8789
  */
8506
8790
  var prepareScheduler = function () {
8507
- // enableConcurrentMode.current = false;
8508
8791
  enableDebugFiled$1.current = true;
8509
8792
  enableScopeTreeLog$1.current = true;
8510
8793
  myreactReconcilerExports.enableFiberForLog.current = true;
@@ -8518,8 +8801,16 @@ var currentScheduler = require$$0.__my_react_internal__.currentScheduler;
8518
8801
  var Reconciler = function (_config) {
8519
8802
  var rendererPackageName = "@my-react";
8520
8803
  var ReconcilerSet = new Set();
8521
- var createContainer = function (_container) {
8804
+ var createContainer = function (_container, flag) {
8522
8805
  prepareScheduler();
8806
+ if (flag === 0) {
8807
+ // legacy mode
8808
+ _container.__flag__ = 0;
8809
+ }
8810
+ else {
8811
+ // concurrent mode
8812
+ _container.__flag__ = 1;
8813
+ }
8523
8814
  enableDebugFiled.current = true;
8524
8815
  enableScopeTreeLog.current = false;
8525
8816
  // enableFiberForLog.current = false;
@@ -8548,7 +8839,7 @@ var Reconciler = function (_config) {
8548
8839
  delGlobalDispatch(renderDispatch);
8549
8840
  }
8550
8841
  var _fiber = new myreactReconcilerExports.MyReactFiberNode(_element);
8551
- var _renderDispatch = createDispatch(_container, _fiber, _element, _config);
8842
+ var _renderDispatch = createDispatch(_container, _fiber, _element, _config, _container.__flag__);
8552
8843
  _cb && _renderDispatch.pendingEffect(_fiber, _cb);
8553
8844
  ReconcilerSet.add(_renderDispatch);
8554
8845
  renderScheduler.dispatchSet.uniPush(_renderDispatch);
@@ -8616,7 +8907,7 @@ var Reconciler = function (_config) {
8616
8907
  };
8617
8908
  };
8618
8909
 
8619
- var version = "0.0.6";
8910
+ var version = "0.0.8";
8620
8911
  var createReconciler = Reconciler;
8621
8912
 
8622
8913
  exports.createReconciler = createReconciler;