@my-react/react-reconciler-compact 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -291,6 +291,8 @@ function requireIndex_production_1 () {
291
291
  UpdateQueueType[UpdateQueueType["hmr"] = 4] = "hmr";
292
292
  UpdateQueueType[UpdateQueueType["trigger"] = 5] = "trigger";
293
293
  UpdateQueueType[UpdateQueueType["suspense"] = 6] = "suspense";
294
+ UpdateQueueType[UpdateQueueType["lazy"] = 7] = "lazy";
295
+ UpdateQueueType[UpdateQueueType["promise"] = 8] = "promise";
294
296
  })(exports.UpdateQueueType || (exports.UpdateQueueType = {}));
295
297
 
296
298
  exports.STATE_TYPE = void 0;
@@ -298,17 +300,15 @@ function requireIndex_production_1 () {
298
300
  STATE_TYPE[STATE_TYPE["__initial__"] = 0] = "__initial__";
299
301
  STATE_TYPE[STATE_TYPE["__create__"] = 1] = "__create__";
300
302
  STATE_TYPE[STATE_TYPE["__stable__"] = 2] = "__stable__";
301
- STATE_TYPE[STATE_TYPE["__skippedConcurrent__"] = 4] = "__skippedConcurrent__";
302
- STATE_TYPE[STATE_TYPE["__skippedSync__"] = 8] = "__skippedSync__";
303
- STATE_TYPE[STATE_TYPE["__inherit__"] = 16] = "__inherit__";
304
- STATE_TYPE[STATE_TYPE["__triggerConcurrent__"] = 32] = "__triggerConcurrent__";
305
- STATE_TYPE[STATE_TYPE["__triggerConcurrentForce__"] = 64] = "__triggerConcurrentForce__";
306
- STATE_TYPE[STATE_TYPE["__triggerSync__"] = 128] = "__triggerSync__";
307
- STATE_TYPE[STATE_TYPE["__triggerSyncForce__"] = 256] = "__triggerSyncForce__";
308
- STATE_TYPE[STATE_TYPE["__unmount__"] = 512] = "__unmount__";
309
- STATE_TYPE[STATE_TYPE["__hmr__"] = 1024] = "__hmr__";
310
- STATE_TYPE[STATE_TYPE["__retrigger__"] = 2048] = "__retrigger__";
311
- STATE_TYPE[STATE_TYPE["__reschedule__"] = 4096] = "__reschedule__";
303
+ STATE_TYPE[STATE_TYPE["__inherit__"] = 4] = "__inherit__";
304
+ STATE_TYPE[STATE_TYPE["__triggerConcurrent__"] = 8] = "__triggerConcurrent__";
305
+ STATE_TYPE[STATE_TYPE["__triggerConcurrentForce__"] = 16] = "__triggerConcurrentForce__";
306
+ STATE_TYPE[STATE_TYPE["__triggerSync__"] = 32] = "__triggerSync__";
307
+ STATE_TYPE[STATE_TYPE["__triggerSyncForce__"] = 64] = "__triggerSyncForce__";
308
+ STATE_TYPE[STATE_TYPE["__unmount__"] = 128] = "__unmount__";
309
+ STATE_TYPE[STATE_TYPE["__hmr__"] = 256] = "__hmr__";
310
+ STATE_TYPE[STATE_TYPE["__retrigger__"] = 512] = "__retrigger__";
311
+ STATE_TYPE[STATE_TYPE["__reschedule__"] = 1024] = "__reschedule__";
312
312
  })(exports.STATE_TYPE || (exports.STATE_TYPE = {}));
313
313
 
314
314
  exports.PATCH_TYPE = void 0;
@@ -911,7 +911,7 @@ function requireIndex_production_1 () {
911
911
  enableSyncFlush$1.current = stack.pop();
912
912
  };
913
913
 
914
- var currentRunningFiber$5 = react.__my_react_internal__.currentRunningFiber, currentScheduler$f = react.__my_react_internal__.currentScheduler, currentScopeFiber$2 = react.__my_react_internal__.currentScopeFiber, currentError$1 = react.__my_react_internal__.currentError, currentCallingFiber$1 = react.__my_react_internal__.currentCallingFiber;
914
+ 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;
915
915
  var safeCall = function (action) {
916
916
  var args = [];
917
917
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -921,8 +921,8 @@ function requireIndex_production_1 () {
921
921
  return action.call.apply(action, __spreadArray([null], args, false));
922
922
  }
923
923
  catch (e) {
924
- 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$2.current || currentRunningFiber$5.current;
925
- var renderScheduler = currentScheduler$f.current;
924
+ 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;
925
+ var renderScheduler = currentScheduler$g.current;
926
926
  currentError$1.current = currentError$1.current || e;
927
927
  renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
928
928
  }
@@ -942,7 +942,7 @@ function requireIndex_production_1 () {
942
942
  return fallback();
943
943
  }
944
944
  else {
945
- var renderScheduler = currentScheduler$f.current;
945
+ var renderScheduler = currentScheduler$g.current;
946
946
  currentError$1.current = currentError$1.current || e;
947
947
  renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
948
948
  }
@@ -957,12 +957,12 @@ function requireIndex_production_1 () {
957
957
  for (var _i = 1; _i < arguments.length; _i++) {
958
958
  args[_i - 1] = arguments[_i];
959
959
  }
960
- currentScopeFiber$2.current = fiber;
960
+ currentScopeFiber$1.current = fiber;
961
961
  try {
962
962
  return action.call.apply(action, __spreadArray([null], args, false));
963
963
  }
964
964
  finally {
965
- currentScopeFiber$2.current = null;
965
+ currentScopeFiber$1.current = null;
966
966
  }
967
967
  };
968
968
  var safeCallWithSync = function (action) {
@@ -975,8 +975,8 @@ function requireIndex_production_1 () {
975
975
  return action.call.apply(action, __spreadArray([null], args, false));
976
976
  }
977
977
  catch (e) {
978
- 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$2.current || currentRunningFiber$5.current;
979
- var renderScheduler = currentScheduler$f.current;
978
+ 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;
979
+ var renderScheduler = currentScheduler$g.current;
980
980
  currentError$1.current = currentError$1.current || e;
981
981
  renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
982
982
  }
@@ -985,7 +985,7 @@ function requireIndex_production_1 () {
985
985
  }
986
986
  };
987
987
 
988
- var currentScheduler$e = react.__my_react_internal__.currentScheduler, currentRunningFiber$4 = react.__my_react_internal__.currentRunningFiber, currentScopeFiber$1 = react.__my_react_internal__.currentScopeFiber, currentCallingFiber = react.__my_react_internal__.currentCallingFiber;
988
+ 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;
989
989
  var enableOptimizeTreeLog = react.__my_react_shared__.enableOptimizeTreeLog;
990
990
  var typeColor = {
991
991
  normal: "rgba(10, 190, 235, 0.8)",
@@ -1040,9 +1040,9 @@ function requireIndex_production_1 () {
1040
1040
  for (var _i = 0; _i < arguments.length; _i++) {
1041
1041
  args[_i] = arguments[_i];
1042
1042
  }
1043
- var renderScheduler = currentScheduler$e.current;
1043
+ var renderScheduler = currentScheduler$f.current;
1044
1044
  var startWithPlain = typeof args[0] === "string";
1045
- var renderFiber = warnFiber || (currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber[(currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber.length) - 1]) || currentScopeFiber$1.current || currentRunningFiber$4.current;
1045
+ 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;
1046
1046
  renderFiber && fiberWarn.apply(void 0, __spreadArray([renderFiber], args, false));
1047
1047
  var treeLog = renderFiber ? renderScheduler.getFiberTree(renderFiber) : "";
1048
1048
  if (enableFiberForLog.current && renderFiber) {
@@ -1077,9 +1077,9 @@ function requireIndex_production_1 () {
1077
1077
  for (var _i = 0; _i < arguments.length; _i++) {
1078
1078
  args[_i] = arguments[_i];
1079
1079
  }
1080
- var renderScheduler = currentScheduler$e.current;
1080
+ var renderScheduler = currentScheduler$f.current;
1081
1081
  var startWithPlain = typeof args[0] === "string";
1082
- var renderFiber = errorFiber || (currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber[(currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber.length) - 1]) || currentScopeFiber$1.current || currentRunningFiber$4.current;
1082
+ 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;
1083
1083
  renderFiber && fiberError.apply(void 0, __spreadArray([renderFiber], args, false));
1084
1084
  var treeLog = renderFiber ? renderScheduler.getFiberTree(renderFiber) : "";
1085
1085
  if (enableFiberForLog.current && renderFiber) {
@@ -1281,7 +1281,7 @@ function requireIndex_production_1 () {
1281
1281
  for (var _i = 2; _i < arguments.length; _i++) {
1282
1282
  args[_i - 2] = arguments[_i];
1283
1283
  }
1284
- var renderScheduler = currentScheduler$e.current;
1284
+ var renderScheduler = currentScheduler$f.current;
1285
1285
  var tree = renderScheduler.getFiberTree(fiber);
1286
1286
  if ((_b = warnMap === null || warnMap === void 0 ? void 0 : warnMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
1287
1287
  return;
@@ -1297,7 +1297,7 @@ function requireIndex_production_1 () {
1297
1297
  for (var _i = 2; _i < arguments.length; _i++) {
1298
1298
  args[_i - 2] = arguments[_i];
1299
1299
  }
1300
- var renderScheduler = currentScheduler$e.current;
1300
+ var renderScheduler = currentScheduler$f.current;
1301
1301
  var tree = renderScheduler.getFiberTree(fiber);
1302
1302
  if ((_b = errorMap === null || errorMap === void 0 ? void 0 : errorMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
1303
1303
  return;
@@ -1498,7 +1498,7 @@ function requireIndex_production_1 () {
1498
1498
  var initHMR = function (env) {
1499
1499
  };
1500
1500
 
1501
- var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$d = react.__my_react_internal__.currentScheduler;
1501
+ var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$e = react.__my_react_internal__.currentScheduler;
1502
1502
  var dispatchHook = function (params) {
1503
1503
  var fiber = currentRunningFiber$3.current;
1504
1504
  if (!fiber) {
@@ -1588,7 +1588,7 @@ function requireIndex_production_1 () {
1588
1588
  }
1589
1589
  };
1590
1590
  var initScheduler = function () {
1591
- var scheduler = currentScheduler$d.current;
1591
+ var scheduler = currentScheduler$e.current;
1592
1592
  scheduler.getFiberTree = getFiberTree;
1593
1593
  scheduler.readPromise = readPromise;
1594
1594
  scheduler.readContext = readContext;
@@ -1804,19 +1804,18 @@ function requireIndex_production_1 () {
1804
1804
 
1805
1805
  /* eslint-disable max-lines */
1806
1806
  react.__my_react_shared__.enableDebugFiled;
1807
- var currentScheduler$c = react.__my_react_internal__.currentScheduler;
1807
+ var currentScheduler$d = react.__my_react_internal__.currentScheduler;
1808
1808
  // TODO 整合
1809
1809
  var processClassComponentUpdateQueue = function (renderDispatch, fiber, enableTaskPriority) {
1810
1810
  if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
1811
1811
  return;
1812
1812
  if (myreactSharedExports.exclude(fiber.type, exports.NODE_TYPE.__class__))
1813
1813
  throw new Error("[@my-react/react] current fiber is not a class component, look like a bug for @my-react");
1814
- var renderScheduler = currentScheduler$c.current;
1814
+ var renderScheduler = currentScheduler$d.current;
1815
1815
  var allQueue = fiber.updateQueue;
1816
1816
  var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
1817
1817
  var needUpdate = true;
1818
1818
  var isSync = false;
1819
- var isSkip = true;
1820
1819
  var isForce = false;
1821
1820
  var isImmediate = false;
1822
1821
  var isRetrigger = false;
@@ -1842,21 +1841,14 @@ function requireIndex_production_1 () {
1842
1841
  },
1843
1842
  });
1844
1843
  isSync = isSync || updater.isSync;
1845
- isSkip = isSkip && updater.isSkip;
1846
1844
  isForce = isForce || updater.isForce;
1847
1845
  isImmediate = isImmediate || updater.isImmediate;
1848
1846
  isRetrigger = isRetrigger || updater.isRetrigger;
1849
1847
  updater.callback && callbacks.push(updater.callback);
1850
1848
  }
1851
1849
  else if (updater.isSync) {
1852
- if (updater.type !== myreactSharedExports.UpdateQueueType.hmr && updater.type !== myreactSharedExports.UpdateQueueType.trigger && updater.type !== myreactSharedExports.UpdateQueueType.suspense) {
1853
- {
1854
- console.error("[@my-react/react] current update not valid, look like a bug for @my-react");
1855
- }
1856
- }
1857
1850
  allQueue.delete(node);
1858
1851
  isSync = isSync || updater.isSync;
1859
- isSkip = isSkip && updater.isSkip;
1860
1852
  isForce = isForce || updater.isForce;
1861
1853
  isImmediate = isImmediate || updater.isImmediate;
1862
1854
  isRetrigger = isRetrigger || updater.isRetrigger;
@@ -1881,7 +1873,6 @@ function requireIndex_production_1 () {
1881
1873
  return {
1882
1874
  needUpdate: needUpdate,
1883
1875
  isSync: isSync,
1884
- isSkip: isSkip,
1885
1876
  isForce: isForce,
1886
1877
  isImmediate: isImmediate,
1887
1878
  isRetrigger: isRetrigger,
@@ -1906,21 +1897,14 @@ function requireIndex_production_1 () {
1906
1897
  },
1907
1898
  });
1908
1899
  isSync = isSync || updater.isSync;
1909
- isSkip = isSkip && updater.isSkip;
1910
1900
  isForce = isForce || updater.isForce;
1911
1901
  isImmediate = isImmediate || updater.isImmediate;
1912
1902
  isRetrigger = isRetrigger || updater.isRetrigger;
1913
1903
  updater.callback && callbacks.push(updater.callback);
1914
1904
  }
1915
1905
  else {
1916
- if (updater.type !== myreactSharedExports.UpdateQueueType.hmr && updater.type !== myreactSharedExports.UpdateQueueType.trigger && updater.type !== myreactSharedExports.UpdateQueueType.suspense) {
1917
- {
1918
- console.error("[@my-react/react] current update not valid, look like a bug for @my-react");
1919
- }
1920
- }
1921
1906
  allQueue.delete(node);
1922
1907
  isSync = isSync || updater.isSync;
1923
- isSkip = isSkip && updater.isSkip;
1924
1908
  isForce = isForce || updater.isForce;
1925
1909
  isImmediate = isImmediate || updater.isImmediate;
1926
1910
  isRetrigger = isRetrigger || updater.isRetrigger;
@@ -1940,7 +1924,6 @@ function requireIndex_production_1 () {
1940
1924
  return {
1941
1925
  needUpdate: needUpdate,
1942
1926
  isSync: isSync,
1943
- isSkip: isSkip,
1944
1927
  isForce: isForce,
1945
1928
  isImmediate: isImmediate,
1946
1929
  isRetrigger: isRetrigger,
@@ -1956,12 +1939,11 @@ function requireIndex_production_1 () {
1956
1939
  if (myreactSharedExports.exclude(fiber.type, exports.NODE_TYPE.__function__)) {
1957
1940
  throw new Error("[@my-react/react] current fiber is not a function component, look like a bug for @my-react");
1958
1941
  }
1959
- var renderScheduler = currentScheduler$c.current;
1942
+ var renderScheduler = currentScheduler$d.current;
1960
1943
  var allQueue = fiber.updateQueue;
1961
1944
  var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
1962
1945
  var needUpdate = false;
1963
1946
  var isSync = false;
1964
- var isSkip = true;
1965
1947
  var isForce = false;
1966
1948
  var isImmediate = false;
1967
1949
  var isRetrigger = false;
@@ -1995,7 +1977,6 @@ function requireIndex_production_1 () {
1995
1977
  },
1996
1978
  });
1997
1979
  isSync = isSync || updater.isSync;
1998
- isSkip = isSkip && updater.isSkip;
1999
1980
  isForce = isForce || updater.isForce;
2000
1981
  isImmediate = isImmediate || updater.isImmediate;
2001
1982
  isRetrigger = isRetrigger || updater.isRetrigger;
@@ -2004,15 +1985,9 @@ function requireIndex_production_1 () {
2004
1985
  needUpdate = true;
2005
1986
  }
2006
1987
  else if (updater.isSync) {
2007
- if (updater.type !== myreactSharedExports.UpdateQueueType.hmr && updater.type !== myreactSharedExports.UpdateQueueType.trigger && updater.type !== myreactSharedExports.UpdateQueueType.suspense) {
2008
- {
2009
- console.error("[@my-react/react] current update not valid, look like a bug for @my-react");
2010
- }
2011
- }
2012
1988
  allQueue.delete(node);
2013
1989
  updater.payLoad;
2014
1990
  isSync = isSync || updater.isSync;
2015
- isSkip = isSkip && updater.isSkip;
2016
1991
  isForce = isForce || updater.isForce;
2017
1992
  isImmediate = isImmediate || updater.isImmediate;
2018
1993
  isRetrigger = isRetrigger || updater.isRetrigger;
@@ -2038,7 +2013,6 @@ function requireIndex_production_1 () {
2038
2013
  return {
2039
2014
  needUpdate: needUpdate,
2040
2015
  isSync: isSync,
2041
- isSkip: isSkip,
2042
2016
  isForce: isForce,
2043
2017
  isImmediate: isImmediate,
2044
2018
  isRetrigger: isRetrigger,
@@ -2075,7 +2049,6 @@ function requireIndex_production_1 () {
2075
2049
  },
2076
2050
  });
2077
2051
  isSync = isSync || updater.isSync;
2078
- isSkip = isSkip && updater.isSkip;
2079
2052
  isForce = isForce || updater.isForce;
2080
2053
  isImmediate = isImmediate || updater.isImmediate;
2081
2054
  isRetrigger = isRetrigger || updater.isRetrigger;
@@ -2084,15 +2057,9 @@ function requireIndex_production_1 () {
2084
2057
  needUpdate = true;
2085
2058
  }
2086
2059
  else {
2087
- if (updater.type !== myreactSharedExports.UpdateQueueType.hmr && updater.type !== myreactSharedExports.UpdateQueueType.trigger && updater.type !== myreactSharedExports.UpdateQueueType.suspense) {
2088
- {
2089
- console.error("[@my-react/react] current update not valid, look like a bug for @my-react");
2090
- }
2091
- }
2092
2060
  allQueue.delete(node);
2093
2061
  updater.payLoad;
2094
2062
  isSync = isSync || updater.isSync;
2095
- isSkip = isSkip && updater.isSkip;
2096
2063
  isForce = isForce || updater.isForce;
2097
2064
  isImmediate = isImmediate || updater.isImmediate;
2098
2065
  isRetrigger = isRetrigger || updater.isRetrigger;
@@ -2113,7 +2080,6 @@ function requireIndex_production_1 () {
2113
2080
  return {
2114
2081
  needUpdate: needUpdate,
2115
2082
  isSync: isSync,
2116
- isSkip: isSkip,
2117
2083
  isForce: isForce,
2118
2084
  isImmediate: isImmediate,
2119
2085
  isRetrigger: isRetrigger,
@@ -2129,7 +2095,6 @@ function requireIndex_production_1 () {
2129
2095
  var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
2130
2096
  var needUpdate = true;
2131
2097
  var isSync = false;
2132
- var isSkip = true;
2133
2098
  var isForce = false;
2134
2099
  var isImmediate = false;
2135
2100
  var isRetrigger = false;
@@ -2137,15 +2102,9 @@ function requireIndex_production_1 () {
2137
2102
  while (node) {
2138
2103
  var updater = node.value;
2139
2104
  var nextNode = node.next;
2140
- if (updater.type === myreactSharedExports.UpdateQueueType.hook || updater.type === myreactSharedExports.UpdateQueueType.component) {
2141
- {
2142
- console.error("[@my-react/react] current update not valid, look like a bug for @my-react");
2143
- }
2144
- }
2145
2105
  allQueue.delete(node);
2146
2106
  updater.payLoad;
2147
2107
  isSync = isSync || updater.isSync;
2148
- isSkip = isSkip && updater.isSkip;
2149
2108
  isForce = isForce || updater.isForce;
2150
2109
  isImmediate = isImmediate || updater.isImmediate;
2151
2110
  isRetrigger = isRetrigger || updater.isRetrigger;
@@ -2161,7 +2120,6 @@ function requireIndex_production_1 () {
2161
2120
  return {
2162
2121
  needUpdate: needUpdate,
2163
2122
  isSync: isSync,
2164
- isSkip: isSkip,
2165
2123
  isForce: isForce,
2166
2124
  isImmediate: isImmediate,
2167
2125
  isRetrigger: isRetrigger,
@@ -2187,6 +2145,27 @@ function requireIndex_production_1 () {
2187
2145
  syncComponentStateToFiber(fiber);
2188
2146
  };
2189
2147
 
2148
+ var initClassInstance = function (instance) {
2149
+ var field = getInstanceFieldByInstance(instance);
2150
+ if (!field)
2151
+ throw new Error("[@my-react/react] can not find instance field for component, look like a bug for @my-react");
2152
+ var typedField = field;
2153
+ typedField.isMounted = false;
2154
+ };
2155
+ var mountClassInstance = function (instance) {
2156
+ var field = getInstanceFieldByInstance(instance);
2157
+ if (!field)
2158
+ throw new Error("[@my-react/react] can not find instance field for component, look like a bug for @my-react");
2159
+ var typedField = field;
2160
+ typedField.isMounted = true;
2161
+ };
2162
+ var getClassInstanceFieldByInstance = function (instance) {
2163
+ var field = getInstanceFieldByInstance(instance);
2164
+ if (!field)
2165
+ throw new Error("[@my-react/react] can not find instance field for component, look like a bug for @my-react");
2166
+ return field;
2167
+ };
2168
+
2190
2169
  /* eslint-disable max-lines */
2191
2170
  var enableLegacyLifeCycle = react.__my_react_shared__.enableLegacyLifeCycle;
2192
2171
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -2246,6 +2225,7 @@ function requireIndex_production_1 () {
2246
2225
  instance.context = context;
2247
2226
  fiber.instance = instance;
2248
2227
  initInstance(instance);
2228
+ initClassInstance(instance);
2249
2229
  setOwnerForInstance(instance, fiber);
2250
2230
  setContextForInstance(instance, providerFiber);
2251
2231
  fiber.pendingState = instance.state;
@@ -2274,12 +2254,13 @@ function requireIndex_production_1 () {
2274
2254
  var processComponentDidMountOnMount = function (renderDispatch, fiber) {
2275
2255
  var typedInstance = fiber.instance;
2276
2256
  var effect = getInstanceEffectState(typedInstance);
2277
- if (typedInstance.componentDidMount && myreactSharedExports.exclude(effect, myreactSharedExports.Effect_TYPE.__effect__)) {
2257
+ if (myreactSharedExports.exclude(effect, myreactSharedExports.Effect_TYPE.__effect__)) {
2278
2258
  setEffectForInstance(typedInstance, myreactSharedExports.Effect_TYPE.__effect__);
2279
2259
  renderDispatch.pendingLayoutEffect(fiber, function invokeComponentDidMountOnInstance() {
2280
2260
  var _a;
2281
2261
  setEffectForInstance(typedInstance, myreactSharedExports.Effect_TYPE.__initial__);
2282
2262
  (_a = typedInstance.componentDidMount) === null || _a === void 0 ? void 0 : _a.call(typedInstance);
2263
+ mountClassInstance(typedInstance);
2283
2264
  });
2284
2265
  }
2285
2266
  };
@@ -2514,6 +2495,9 @@ function requireIndex_production_1 () {
2514
2495
  };
2515
2496
  var processClassComponentUnmount = function (renderDispatch, fiber) {
2516
2497
  var typedInstance = fiber.instance;
2498
+ if (!typedInstance)
2499
+ return;
2500
+ var classField = getInstanceFieldByInstance(typedInstance);
2517
2501
  safeCallWithCurrentFiber({
2518
2502
  fiber: fiber,
2519
2503
  action: function safeCallInstanceUnmountListener() {
@@ -2525,26 +2509,20 @@ function requireIndex_production_1 () {
2525
2509
  fiber: fiber,
2526
2510
  action: function safeCallComponentWillUnmountOnInstance() {
2527
2511
  var _a;
2528
- (_a = typedInstance === null || typedInstance === void 0 ? void 0 : typedInstance.componentWillUnmount) === null || _a === void 0 ? void 0 : _a.call(typedInstance);
2512
+ if (classField.isMounted) {
2513
+ (_a = typedInstance === null || typedInstance === void 0 ? void 0 : typedInstance.componentWillUnmount) === null || _a === void 0 ? void 0 : _a.call(typedInstance);
2514
+ }
2529
2515
  },
2530
2516
  });
2531
2517
  };
2532
2518
 
2533
2519
  var currentComponentFiber$3 = react.__my_react_internal__.currentComponentFiber, MyReactInternalInstance$4 = react.__my_react_internal__.MyReactInternalInstance;
2534
- var enableLoopFromRoot$1 = react.__my_react_shared__.enableLoopFromRoot;
2535
2520
  var processProvider = function (renderDispatch, fiber) {
2536
2521
  if (renderDispatch.isAppMounted) {
2537
- var prevProps_1 = fiber.memoizedProps.value;
2538
- var nextProps_1 = fiber.pendingProps.value;
2539
- if (!myreactSharedExports.isNormalEquals(prevProps_1, nextProps_1)) {
2540
- if (enableLoopFromRoot$1.current) {
2541
- prepareUpdateAllDependence(renderDispatch, fiber);
2542
- }
2543
- else {
2544
- renderDispatch.pendingLayoutEffect(fiber, function invokePrepareUpdateAllDependenceFromRoot() {
2545
- prepareUpdateAllDependenceFromRoot(renderDispatch, fiber);
2546
- });
2547
- }
2522
+ var prevProps = fiber.memoizedProps.value;
2523
+ var nextProps = fiber.pendingProps.value;
2524
+ if (!myreactSharedExports.isNormalEquals(prevProps, nextProps)) {
2525
+ prepareUpdateAllDependence(renderDispatch, fiber);
2548
2526
  }
2549
2527
  }
2550
2528
  };
@@ -2579,7 +2557,7 @@ function requireIndex_production_1 () {
2579
2557
  return children;
2580
2558
  };
2581
2559
 
2582
- var currentHookTreeNode$2 = react.__my_react_internal__.currentHookTreeNode, currentHookNodeIndex$2 = react.__my_react_internal__.currentHookNodeIndex, currentScheduler$b = react.__my_react_internal__.currentScheduler;
2560
+ var currentHookTreeNode$2 = react.__my_react_internal__.currentHookTreeNode, currentHookNodeIndex$2 = react.__my_react_internal__.currentHookNodeIndex, currentScheduler$c = react.__my_react_internal__.currentScheduler;
2583
2561
  var processFunction = function (fiber) {
2584
2562
  var _a;
2585
2563
  currentHookTreeNode$2.current = (_a = fiber.hookList) === null || _a === void 0 ? void 0 : _a.head;
@@ -2598,7 +2576,7 @@ function requireIndex_production_1 () {
2598
2576
  }
2599
2577
  catch (e) {
2600
2578
  if (myreactSharedExports.isPromise(e)) {
2601
- re = (_b = (_a = currentScheduler$b.current) === null || _a === void 0 ? void 0 : _a.dispatchPromise) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, promise: e });
2579
+ re = (_b = (_a = currentScheduler$c.current) === null || _a === void 0 ? void 0 : _a.dispatchPromise) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, promise: e });
2602
2580
  }
2603
2581
  else {
2604
2582
  throw e;
@@ -2619,7 +2597,7 @@ function requireIndex_production_1 () {
2619
2597
  }
2620
2598
  catch (e) {
2621
2599
  if (myreactSharedExports.isPromise(e)) {
2622
- re = (_b = (_a = currentScheduler$b.current) === null || _a === void 0 ? void 0 : _a.dispatchPromise) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, promise: e });
2600
+ re = (_b = (_a = currentScheduler$c.current) === null || _a === void 0 ? void 0 : _a.dispatchPromise) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, promise: e });
2623
2601
  }
2624
2602
  else {
2625
2603
  throw e;
@@ -2652,8 +2630,8 @@ function requireIndex_production_1 () {
2652
2630
  return false;
2653
2631
  };
2654
2632
 
2655
- var currentScheduler$a = react.__my_react_internal__.currentScheduler;
2656
- var loadLazy = function (renderDispatch, fiber, typedElementType) { return __awaiter(void 0, void 0, void 0, function () {
2633
+ var currentScheduler$b = react.__my_react_internal__.currentScheduler;
2634
+ var loadLazy = function (renderDispatch, typedElementType) { return __awaiter(void 0, void 0, void 0, function () {
2657
2635
  var loadedPromise, loaded, render, e_1;
2658
2636
  return __generator(this, function (_a) {
2659
2637
  switch (_a.label) {
@@ -2665,7 +2643,7 @@ function requireIndex_production_1 () {
2665
2643
  _a.trys.push([1, 3, 4, 5]);
2666
2644
  typedElementType._loading = true;
2667
2645
  loadedPromise = typedElementType.loader();
2668
- return [4 /*yield*/, loadedPromise];
2646
+ return [4 /*yield*/, Promise.resolve(loadedPromise)];
2669
2647
  case 2:
2670
2648
  loaded = _a.sent();
2671
2649
  render = typeof loaded === "object" && (typeof (loaded === null || loaded === void 0 ? void 0 : loaded.default) === "function" || typeof (loaded === null || loaded === void 0 ? void 0 : loaded.default) === "object") ? loaded.default : loaded;
@@ -2687,31 +2665,50 @@ function requireIndex_production_1 () {
2687
2665
  var _a, _b;
2688
2666
  var typedElementType = fiber.elementType;
2689
2667
  if (typedElementType._error) {
2690
- (_b = (_a = currentScheduler$a.current).dispatchError) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, error: typedElementType._error });
2668
+ (_b = (_a = currentScheduler$b.current).dispatchError) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, error: typedElementType._error });
2691
2669
  return null;
2692
2670
  }
2693
2671
  if (typedElementType._loaded === true) {
2694
2672
  var render = typedElementType.render;
2695
2673
  return WrapperByLazyScope(react.createElement(render, fiber.pendingProps));
2696
2674
  }
2697
- else if (typedElementType._loading === false) {
2675
+ typedElementType._list = typedElementType._list || new Set();
2676
+ typedElementType._list.add(fiber);
2677
+ var suspenseFiber = renderDispatch.resolveSuspenseFiber(fiber);
2678
+ if (suspenseFiber) {
2679
+ var suspenseField = getInstanceFieldByInstance(suspenseFiber.instance);
2680
+ suspenseField.asyncLoadList.uniPush(typedElementType);
2681
+ renderDispatch.pendingSuspenseFiberArray.uniPush(suspenseFiber);
2682
+ return null;
2683
+ }
2684
+ else {
2685
+ if (typedElementType._loading)
2686
+ return null;
2698
2687
  typedElementType._loading = true;
2699
- renderDispatch.pendingAsyncLoadList = renderDispatch.pendingAsyncLoadList || new myreactSharedExports.ListTree();
2700
- if (!renderDispatch.runtimeFiber.visibleFiber) {
2701
- var visibleFiber = renderDispatch.resolveSuspenseFiber(fiber);
2702
- if (visibleFiber) {
2703
- renderDispatch.runtimeFiber.visibleFiber = visibleFiber;
2704
- renderDispatch.pendingAsyncLoadList.push(fiber);
2705
- }
2706
- else {
2707
- throw new Error("[@my-react/react] lazy component should be used in a suspense boundary");
2708
- }
2709
- }
2710
- else {
2711
- renderDispatch.pendingAsyncLoadList.push(fiber);
2712
- }
2688
+ var renderScheduler_1 = currentScheduler$b.current;
2689
+ renderDispatch.processLazy(typedElementType).then(function () {
2690
+ fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
2691
+ typedElementType._list.delete(fiber);
2692
+ var updater = {
2693
+ type: myreactSharedExports.UpdateQueueType.lazy,
2694
+ trigger: fiber,
2695
+ isSync: true,
2696
+ isForce: true,
2697
+ payLoad: typedElementType,
2698
+ };
2699
+ renderScheduler_1.dispatchState(updater);
2700
+ });
2701
+ return null;
2713
2702
  }
2714
- return null;
2703
+ };
2704
+
2705
+ var initSuspenseInstance = function (instance) {
2706
+ var field = getInstanceFieldByInstance(instance);
2707
+ if (!field)
2708
+ throw new Error("[@my-react/react] can not get field for instance, this is a bug for @my-react");
2709
+ var typedField = field;
2710
+ typedField.isHidden = false;
2711
+ typedField.asyncLoadList = new myreactSharedExports.UniqueArray();
2715
2712
  };
2716
2713
 
2717
2714
  var MyReactInternalInstance$3 = react.__my_react_internal__.MyReactInternalInstance;
@@ -2720,6 +2717,7 @@ function requireIndex_production_1 () {
2720
2717
  fiber.instance = fiber.instance || new MyReactInternalInstance$3();
2721
2718
  !isUpdate && initInstance(fiber.instance);
2722
2719
  !isUpdate && initVisibleInstance(fiber.instance);
2720
+ !isUpdate && initSuspenseInstance(fiber.instance);
2723
2721
  !isUpdate && setOwnerForInstance(fiber.instance, fiber);
2724
2722
  var instanceField = getInstanceFieldByInstance(fiber.instance);
2725
2723
  var children = WrapperBySuspenseScope(instanceField.isHidden ? fiber.pendingProps.fallback : fiber.pendingProps.children);
@@ -2860,6 +2858,9 @@ function requireIndex_production_1 () {
2860
2858
  nextWorkCommon(renderDispatch, fiber, children);
2861
2859
  }
2862
2860
  else {
2861
+ var field = getClassInstanceFieldByInstance(fiber.instance);
2862
+ if (!field.isMounted)
2863
+ return;
2863
2864
  var _a = processClassComponentUpdate(renderDispatch, fiber), updated = _a.updated, children = _a.children;
2864
2865
  if (updated)
2865
2866
  nextWorkCommon(renderDispatch, fiber, children);
@@ -2997,7 +2998,7 @@ function requireIndex_production_1 () {
2997
2998
  fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
2998
2999
  }
2999
3000
  else {
3000
- fiber.state = myreactSharedExports.STATE_TYPE.__inherit__;
3001
+ fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
3001
3002
  }
3002
3003
  if (fiber.child)
3003
3004
  return fiber.child;
@@ -3035,7 +3036,7 @@ function requireIndex_production_1 () {
3035
3036
  fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
3036
3037
  }
3037
3038
  else {
3038
- fiber.state = myreactSharedExports.STATE_TYPE.__inherit__;
3039
+ fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
3039
3040
  }
3040
3041
  if (fiber.child)
3041
3042
  return fiber.child;
@@ -3050,44 +3051,6 @@ function requireIndex_production_1 () {
3050
3051
  renderDispatch.generateCommitList(nextFiber);
3051
3052
  return null;
3052
3053
  };
3053
- var performToNextFiberFromTrigger = function (renderDispatch, fiber) {
3054
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
3055
- return null;
3056
- if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
3057
- myreactSharedExports.STATE_TYPE.__inherit__ |
3058
- myreactSharedExports.STATE_TYPE.__triggerSync__ |
3059
- myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
3060
- myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
3061
- myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
3062
- myreactSharedExports.STATE_TYPE.__retrigger__ |
3063
- myreactSharedExports.STATE_TYPE.__reschedule__)) {
3064
- fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
3065
- currentRunningFiber$2.current = fiber;
3066
- {
3067
- runtimeNextWork(renderDispatch, fiber);
3068
- }
3069
- currentRunningFiber$2.current = null;
3070
- triggerFiberUpdateListener(renderDispatch, fiber);
3071
- if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
3072
- fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
3073
- }
3074
- else {
3075
- fiber.state = myreactSharedExports.STATE_TYPE.__inherit__;
3076
- }
3077
- if (fiber.child)
3078
- return fiber.child;
3079
- }
3080
- var nextFiber = fiber;
3081
- while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
3082
- renderDispatch.generateCommitList(nextFiber);
3083
- if (nextFiber.sibling)
3084
- return nextFiber.sibling;
3085
- nextFiber = nextFiber.parent;
3086
- }
3087
- if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
3088
- renderDispatch.generateCommitList(nextFiber);
3089
- return null;
3090
- };
3091
3054
 
3092
3055
  var defaultGenerateEffectMap = function (fiber, effect, map, option) {
3093
3056
  var list = map.get(fiber) || new myreactSharedExports.ListTree();
@@ -3190,92 +3153,48 @@ function requireIndex_production_1 () {
3190
3153
  var layoutEffect = defaultInvokeLayoutEffect;
3191
3154
  var insertionEffect = defaultInvokeInsertionEffect;
3192
3155
 
3193
- var isErrorBoundariesInstance = function (instance, Component) {
3194
- return typeof instance.componentDidCatch === "function" || typeof Component.getDerivedStateFromError === "function";
3156
+ var defaultReadPromise = function (_promise) {
3157
+ if (_promise.status === "fulfilled") {
3158
+ return _promise.value;
3159
+ }
3160
+ else if (_promise.status === "rejected") {
3161
+ throw _promise.reason;
3162
+ }
3163
+ else {
3164
+ throw _promise;
3165
+ }
3195
3166
  };
3196
- var isErrorBoundariesComponent = function (fiber) {
3197
- if (myreactSharedExports.include(fiber.type, exports.NODE_TYPE.__class__) && myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__)) {
3198
- var Component = fiber.elementType;
3199
- var typedComponent = Component;
3200
- var typedInstance = fiber.instance;
3201
- return isErrorBoundariesInstance(typedInstance, typedComponent);
3167
+ var defaultResolveSuspenseValue = function (fiber) {
3168
+ var _a;
3169
+ var parent = fiber.parent;
3170
+ while (parent) {
3171
+ if (myreactSharedExports.include(parent.type, exports.NODE_TYPE.__suspense__)) {
3172
+ return (_a = parent.pendingProps) === null || _a === void 0 ? void 0 : _a["fallback"];
3173
+ }
3174
+ parent = parent.parent;
3202
3175
  }
3203
- return false;
3176
+ return null;
3204
3177
  };
3205
- var defaultResolveErrorBoundaries = function (fiber) {
3178
+ var defaultResolveSuspenseFiber = function (fiber) {
3206
3179
  var parent = fiber.parent;
3207
3180
  while (parent) {
3208
- if (isErrorBoundariesComponent(parent)) {
3181
+ if (myreactSharedExports.include(parent.type, exports.NODE_TYPE.__suspense__)) {
3209
3182
  return parent;
3210
3183
  }
3211
3184
  parent = parent.parent;
3212
3185
  }
3213
3186
  return null;
3214
3187
  };
3215
-
3216
- react.__my_react_internal__.currentComponentFiber; var currentRunningFiber$1 = react.__my_react_internal__.currentRunningFiber, currentScopeFiber = react.__my_react_internal__.currentScopeFiber;
3217
- react.__my_react_shared__.enableDebugFiled;
3218
- var processState = function (renderDispatch, _params) {
3219
- var ownerFiber = getInstanceOwnerFiber(_params.trigger);
3220
- if (!renderDispatch)
3221
- return;
3222
- _params.isSkip = !!_params.isSkip;
3223
- _params.isImmediate =
3224
- typeof _params.isImmediate === "boolean"
3225
- ? _params.isImmediate
3226
- : renderDispatch.isAppMounted
3227
- ? !currentScopeFiber.current || !!currentRunningFiber$1.current
3228
- : false;
3229
- _params.isRetrigger = currentRunningFiber$1.current === ownerFiber || !!_params.isRetrigger;
3230
- safeCallWithCurrentFiber({
3231
- fiber: ownerFiber,
3232
- action: function safeCallFiberStateListener() {
3233
- var _a, _b;
3234
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberState) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(ownerFiber, _params); });
3235
- },
3236
- });
3237
- var isImmediate = _params.isImmediate;
3238
- _params.isRetrigger;
3239
- if (_params.type === myreactSharedExports.UpdateQueueType.component) {
3240
- if (!ownerFiber || myreactSharedExports.include(ownerFiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
3241
- return;
3242
- var trigger_1 = _params.trigger;
3243
- safeCallWithCurrentFiber({
3244
- fiber: ownerFiber,
3245
- action: function safeCallInstanceStateListener() {
3246
- var _a, _b;
3247
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.instanceState) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(trigger_1, ownerFiber, _params); });
3248
- },
3249
- });
3250
- ownerFiber.updateQueue = ownerFiber.updateQueue || new myreactSharedExports.ListTree();
3251
- ownerFiber.updateQueue.push(_params);
3252
- prepareUpdateOnFiber(renderDispatch, ownerFiber, isImmediate);
3253
- }
3254
- else if (_params.type === myreactSharedExports.UpdateQueueType.hook) {
3255
- if (!ownerFiber || myreactSharedExports.include(ownerFiber === null || ownerFiber === void 0 ? void 0 : ownerFiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
3256
- return;
3257
- var trigger_2 = _params.trigger;
3258
- safeCallWithCurrentFiber({
3259
- fiber: ownerFiber,
3260
- action: function safeCallHookStateListener() {
3261
- var _a, _b;
3262
- (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.hookState) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(trigger_2, ownerFiber, _params); });
3263
- },
3264
- });
3265
- ownerFiber.updateQueue = ownerFiber.updateQueue || new myreactSharedExports.ListTree();
3266
- ownerFiber.updateQueue.push(_params);
3267
- prepareUpdateOnFiber(renderDispatch, ownerFiber, isImmediate);
3268
- }
3269
- else {
3270
- var ownerFiber_1 = _params.trigger;
3271
- if (!ownerFiber_1 || myreactSharedExports.include(ownerFiber_1.state, myreactSharedExports.STATE_TYPE.__unmount__))
3272
- return;
3273
- ownerFiber_1.updateQueue = ownerFiber_1.updateQueue || new myreactSharedExports.ListTree();
3274
- ownerFiber_1.updateQueue.push(_params);
3275
- prepareUpdateOnFiber(renderDispatch, ownerFiber_1, isImmediate);
3188
+ var defaultResolveAliveSuspenseFiber = function (fiber) {
3189
+ while (fiber) {
3190
+ if (myreactSharedExports.include(fiber.type, exports.NODE_TYPE.__suspense__) && myreactSharedExports.exclude(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__)) {
3191
+ return fiber;
3192
+ }
3193
+ fiber = fiber.parent;
3276
3194
  }
3277
3195
  };
3278
3196
 
3197
+ var currentScheduler$a = react.__my_react_internal__.currentScheduler;
3279
3198
  var mountLoopAllFromScheduler = function (renderDispatch) {
3280
3199
  while (renderDispatch.runtimeFiber.nextWorkingFiber) {
3281
3200
  renderDispatch.runtimeFiber.retriggerFiber = null;
@@ -3292,117 +3211,134 @@ function requireIndex_production_1 () {
3292
3211
  mountLoopAllFromScheduler(renderDispatch);
3293
3212
  };
3294
3213
  var processAsyncLoadListOnAsyncMount = function (renderDispatch) { return __awaiter(void 0, void 0, void 0, function () {
3295
- var loopCount, beforeLength, node, afterLength;
3296
- var _a;
3297
- return __generator(this, function (_b) {
3298
- switch (_b.label) {
3214
+ var _loop_1;
3215
+ return __generator(this, function (_a) {
3216
+ switch (_a.label) {
3299
3217
  case 0:
3300
- loopCount = 0;
3301
- _b.label = 1;
3218
+ _loop_1 = function () {
3219
+ var node, suspenseField;
3220
+ return __generator(this, function (_b) {
3221
+ switch (_b.label) {
3222
+ case 0:
3223
+ node = renderDispatch.pendingSuspenseFiberArray.uniShift();
3224
+ suspenseField = getInstanceFieldByInstance(node.instance);
3225
+ renderDispatch.pendingSuspenseFiberArray.clear();
3226
+ return [4 /*yield*/, Promise.all(suspenseField.asyncLoadList.getAll().map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
3227
+ return __generator(this, function (_a) {
3228
+ switch (_a.label) {
3229
+ case 0:
3230
+ if (!myreactSharedExports.isPromise(item)) return [3 /*break*/, 2];
3231
+ return [4 /*yield*/, renderDispatch.processPromise(item)];
3232
+ case 1:
3233
+ _a.sent();
3234
+ return [3 /*break*/, 4];
3235
+ case 2: return [4 /*yield*/, renderDispatch.processLazy(item)];
3236
+ case 3:
3237
+ _a.sent();
3238
+ _a.label = 4;
3239
+ case 4:
3240
+ item._list.forEach(function (node) {
3241
+ node.state = myreactSharedExports.remove(node.state, myreactSharedExports.STATE_TYPE.__stable__);
3242
+ node.state = myreactSharedExports.merge(node.state, myreactSharedExports.STATE_TYPE.__create__);
3243
+ mountLoopAll(renderDispatch, node);
3244
+ });
3245
+ item._list.clear();
3246
+ suspenseField.asyncLoadList.uniDelete(item);
3247
+ return [2 /*return*/];
3248
+ }
3249
+ });
3250
+ }); }))];
3251
+ case 1:
3252
+ _b.sent();
3253
+ return [2 /*return*/];
3254
+ }
3255
+ });
3256
+ };
3257
+ _a.label = 1;
3302
3258
  case 1:
3303
- if (!((_a = renderDispatch.pendingAsyncLoadList) === null || _a === void 0 ? void 0 : _a.length)) return [3 /*break*/, 6];
3304
- beforeLength = renderDispatch.pendingAsyncLoadList.length;
3305
- node = renderDispatch.pendingAsyncLoadList.shift();
3306
- if (!checkIsMyReactFiberNode(node)) return [3 /*break*/, 3];
3307
- return [4 /*yield*/, renderDispatch.processFiber(node)];
3259
+ if (!renderDispatch.pendingSuspenseFiberArray.length) return [3 /*break*/, 3];
3260
+ return [5 /*yield**/, _loop_1()];
3308
3261
  case 2:
3309
- _b.sent();
3310
- node.state = myreactSharedExports.remove(node.state, myreactSharedExports.STATE_TYPE.__stable__);
3311
- node.state = myreactSharedExports.merge(node.state, myreactSharedExports.STATE_TYPE.__create__);
3312
- mountLoopAll(renderDispatch, node);
3313
- return [3 /*break*/, 5];
3262
+ _a.sent();
3263
+ return [3 /*break*/, 1];
3314
3264
  case 3:
3315
- if (!myreactSharedExports.isPromise(node)) return [3 /*break*/, 5];
3316
- return [4 /*yield*/, renderDispatch.processPromise(node)];
3265
+ if (!renderDispatch.pendingSuspenseFiberArray.length) return [3 /*break*/, 5];
3266
+ // If there are still pending async loads, we need to continue processing them
3267
+ return [4 /*yield*/, processAsyncLoadListOnAsyncMount(renderDispatch)];
3317
3268
  case 4:
3318
- _b.sent();
3319
- _b.label = 5;
3320
- case 5:
3321
- afterLength = renderDispatch.pendingAsyncLoadList.length;
3322
- if (beforeLength <= afterLength) {
3323
- loopCount++;
3324
- if (loopCount > 5) {
3325
- throw new Error("async load loop count is too much");
3326
- }
3327
- }
3328
- return [3 /*break*/, 1];
3329
- case 6: return [2 /*return*/];
3269
+ // If there are still pending async loads, we need to continue processing them
3270
+ _a.sent();
3271
+ _a.label = 5;
3272
+ case 5: return [2 /*return*/];
3330
3273
  }
3331
3274
  });
3332
3275
  }); };
3333
3276
  var processAsyncLoadListOnSyncMount = function (renderDispatch) {
3334
3277
  var _a;
3335
- if ((_a = renderDispatch.pendingAsyncLoadList) === null || _a === void 0 ? void 0 : _a.length) {
3336
- var visibleFiber_1 = renderDispatch.runtimeFiber.visibleFiber;
3337
- var asyncLoadList_1 = renderDispatch.pendingAsyncLoadList.toArray();
3338
- renderDispatch.pendingAsyncLoadList.clear();
3278
+ if ((_a = renderDispatch.pendingSuspenseFiberArray) === null || _a === void 0 ? void 0 : _a.length) {
3279
+ var allPendingSuspenseFiberArray = renderDispatch.pendingSuspenseFiberArray.getAll();
3339
3280
  if (renderDispatch.enableAsyncLoad) {
3340
- Promise.all(asyncLoadList_1.map(function (node) { return __awaiter(void 0, void 0, void 0, function () {
3341
- return __generator(this, function (_a) {
3342
- switch (_a.label) {
3343
- case 0:
3344
- if (!checkIsMyReactFiberNode(node)) return [3 /*break*/, 2];
3345
- return [4 /*yield*/, renderDispatch.processFiber(node)];
3346
- case 1:
3347
- _a.sent();
3348
- node.state = myreactSharedExports.remove(node.state, myreactSharedExports.STATE_TYPE.__stable__);
3349
- node.state = myreactSharedExports.merge(node.state, myreactSharedExports.STATE_TYPE.__create__);
3350
- mountLoopAll(renderDispatch, node);
3351
- return [3 /*break*/, 4];
3352
- case 2:
3353
- if (!myreactSharedExports.isPromise(node)) return [3 /*break*/, 4];
3354
- return [4 /*yield*/, renderDispatch.processPromise(node)];
3355
- case 3:
3356
- _a.sent();
3357
- _a.label = 4;
3358
- case 4: return [2 /*return*/];
3281
+ var allField_1 = [];
3282
+ allPendingSuspenseFiberArray.forEach(function (node) {
3283
+ defaultDeleteChildEffect(renderDispatch, node);
3284
+ var field = getInstanceFieldByInstance(node.instance);
3285
+ var allPendingLoadArray = field.asyncLoadList.getAll().filter(function (item) {
3286
+ if (myreactSharedExports.isPromise(item)) {
3287
+ return typeof item.status !== "string";
3288
+ }
3289
+ else {
3290
+ return !item._loading && !item._loaded && !item._error;
3359
3291
  }
3360
3292
  });
3361
- }); })).then(function () {
3362
- if (visibleFiber_1 && myreactSharedExports.exclude(visibleFiber_1.state, myreactSharedExports.STATE_TYPE.__unmount__)) {
3363
- var updateQueue = {
3364
- type: myreactSharedExports.UpdateQueueType.suspense,
3365
- trigger: visibleFiber_1,
3366
- payLoad: asyncLoadList_1,
3367
- isSync: true,
3368
- isForce: true,
3369
- callback: function invokeAsyncLoadListCallback() {
3370
- renderDispatch.runtimeFiber.visibleFiber = null;
3371
- },
3372
- };
3373
- var visibleField = getInstanceFieldByInstance(visibleFiber_1.instance);
3374
- visibleField.isHidden = false;
3375
- processState(renderDispatch, updateQueue);
3376
- }
3377
- else {
3378
- triggerUpdateOnFiber(renderDispatch.rootFiber, myreactSharedExports.STATE_TYPE.__triggerSyncForce__, function invokeAsyncLoadListCallback() {
3379
- renderDispatch.runtimeFiber.visibleFiber = null;
3293
+ if (allPendingLoadArray.length) {
3294
+ Promise.all(allPendingLoadArray.map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
3295
+ var _a;
3296
+ return __generator(this, function (_b) {
3297
+ switch (_b.label) {
3298
+ case 0:
3299
+ if (!myreactSharedExports.isPromise(item)) return [3 /*break*/, 2];
3300
+ return [4 /*yield*/, renderDispatch.processPromise(item)];
3301
+ case 1:
3302
+ _b.sent();
3303
+ return [3 /*break*/, 4];
3304
+ case 2: return [4 /*yield*/, renderDispatch.processLazy(item)];
3305
+ case 3:
3306
+ _b.sent();
3307
+ _b.label = 4;
3308
+ case 4:
3309
+ (_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
3310
+ field.asyncLoadList.uniDelete(item);
3311
+ return [2 /*return*/];
3312
+ }
3313
+ });
3314
+ }); })).then(function () {
3315
+ var aliveNode = defaultResolveAliveSuspenseFiber(node);
3316
+ aliveNode.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
3317
+ var renderScheduler = currentScheduler$a.current;
3318
+ var updater = {
3319
+ type: myreactSharedExports.UpdateQueueType.suspense,
3320
+ trigger: aliveNode,
3321
+ isSync: true,
3322
+ isForce: true,
3323
+ payLoad: allPendingLoadArray,
3324
+ };
3325
+ renderScheduler.dispatchState(updater);
3380
3326
  });
3381
3327
  }
3328
+ node.state = myreactSharedExports.STATE_TYPE.__create__;
3329
+ field.isHidden = true;
3330
+ allField_1.push(field);
3382
3331
  });
3383
- if (visibleFiber_1) {
3384
- defaultDeleteChildEffect(renderDispatch, visibleFiber_1);
3385
- var visibleField = getInstanceFieldByInstance(visibleFiber_1.instance);
3386
- visibleField.isHidden = true;
3387
- visibleFiber_1.state = myreactSharedExports.merge(visibleFiber_1.state, myreactSharedExports.STATE_TYPE.__create__);
3388
- var updateQueue = {
3389
- type: myreactSharedExports.UpdateQueueType.trigger,
3390
- trigger: visibleFiber_1,
3391
- isRetrigger: true,
3392
- isImmediate: true,
3393
- isSync: true,
3394
- isForce: true,
3395
- isSkip: false,
3396
- callback: null,
3397
- };
3398
- processState(renderDispatch, updateQueue);
3399
- }
3400
- else {
3401
- return null;
3402
- }
3332
+ var root = renderDispatch.rootFiber;
3333
+ root.state = myreactSharedExports.remove(root.state, myreactSharedExports.STATE_TYPE.__stable__);
3334
+ root.state = myreactSharedExports.merge(root.state, myreactSharedExports.STATE_TYPE.__retrigger__);
3335
+ // TODO use hide tree to improve
3336
+ mountLoopAll(renderDispatch, root);
3337
+ allField_1.forEach(function (field) { return (field.isHidden = false); });
3338
+ renderDispatch.pendingSuspenseFiberArray.clear();
3403
3339
  }
3404
3340
  else {
3405
- console.error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
3341
+ throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
3406
3342
  }
3407
3343
  }
3408
3344
  };
@@ -3414,16 +3350,6 @@ function requireIndex_production_1 () {
3414
3350
  updateTypeEnum[updateTypeEnum["concurrentFromRoot"] = 2] = "concurrentFromRoot";
3415
3351
  updateTypeEnum[updateTypeEnum["concurrentFromTrigger"] = 3] = "concurrentFromTrigger";
3416
3352
  })(exports.updateTypeEnum || (exports.updateTypeEnum = {}));
3417
- var mountLoopAllSync = function (renderDispatch) {
3418
- while (renderDispatch.runtimeFiber.nextWorkingFiber) {
3419
- renderDispatch.runtimeFiber.retriggerFiber = null;
3420
- var currentFiber = renderDispatch.runtimeFiber.nextWorkingFiber;
3421
- var nextFiber = mountToNextFiberFromRoot(renderDispatch, currentFiber);
3422
- var retriggerFiber = renderDispatch.runtimeFiber.retriggerFiber;
3423
- renderDispatch.runtimeFiber.nextWorkingFiber = retriggerFiber || nextFiber;
3424
- renderDispatch.runtimeFiber.retriggerFiber = null;
3425
- }
3426
- };
3427
3353
  var triggerFiberUpdateListener = function (renderDispatch, fiber) {
3428
3354
  safeCallWithCurrentFiber({
3429
3355
  fiber: fiber,
@@ -3450,16 +3376,6 @@ function requireIndex_production_1 () {
3450
3376
  renderDispatch.runtimeFiber.retriggerFiber = null;
3451
3377
  }
3452
3378
  };
3453
- var updateLoopSyncFromTrigger = function (renderDispatch) {
3454
- while (renderDispatch.runtimeFiber.nextWorkingFiber) {
3455
- renderDispatch.runtimeFiber.retriggerFiber = null;
3456
- var currentFiber = renderDispatch.runtimeFiber.nextWorkingFiber;
3457
- var nextFiber = performToNextFiberFromTrigger(renderDispatch, currentFiber);
3458
- var retriggerFiber = renderDispatch.runtimeFiber.retriggerFiber;
3459
- renderDispatch.runtimeFiber.nextWorkingFiber = retriggerFiber || nextFiber;
3460
- renderDispatch.runtimeFiber.retriggerFiber = null;
3461
- }
3462
- };
3463
3379
  var updateLoopConcurrentFromRoot = function (renderDispatch) {
3464
3380
  while (renderDispatch.runtimeFiber.nextWorkingFiber && !renderDispatch.shouldYield()) {
3465
3381
  renderDispatch.runtimeFiber.retriggerFiber = null;
@@ -3470,29 +3386,90 @@ function requireIndex_production_1 () {
3470
3386
  renderDispatch.runtimeFiber.retriggerFiber = null;
3471
3387
  }
3472
3388
  };
3473
- var updateLoopConcurrentFromTrigger = function (renderDispatch) {
3474
- while (renderDispatch.runtimeFiber.nextWorkingFiber && !renderDispatch.shouldYield()) {
3475
- renderDispatch.runtimeFiber.retriggerFiber = null;
3476
- var currentFiber = renderDispatch.runtimeFiber.nextWorkingFiber;
3477
- var nextFiber = performToNextFiberFromTrigger(renderDispatch, currentFiber);
3478
- var retriggerFiber = renderDispatch.runtimeFiber.retriggerFiber;
3479
- renderDispatch.runtimeFiber.nextWorkingFiber = retriggerFiber || nextFiber;
3480
- renderDispatch.runtimeFiber.retriggerFiber = null;
3389
+ var processAsyncLoadListOnUpdate = processAsyncLoadListOnSyncMount;
3390
+
3391
+ var isErrorBoundariesInstance = function (instance, Component) {
3392
+ return typeof instance.componentDidCatch === "function" || typeof Component.getDerivedStateFromError === "function";
3393
+ };
3394
+ var isErrorBoundariesComponent = function (fiber) {
3395
+ if (myreactSharedExports.include(fiber.type, exports.NODE_TYPE.__class__) && myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__)) {
3396
+ var Component = fiber.elementType;
3397
+ var typedComponent = Component;
3398
+ var typedInstance = fiber.instance;
3399
+ return isErrorBoundariesInstance(typedInstance, typedComponent);
3400
+ }
3401
+ return false;
3402
+ };
3403
+ var defaultResolveErrorBoundaries = function (fiber) {
3404
+ var parent = fiber.parent;
3405
+ while (parent) {
3406
+ if (isErrorBoundariesComponent(parent)) {
3407
+ return parent;
3408
+ }
3409
+ parent = parent.parent;
3410
+ }
3411
+ return null;
3412
+ };
3413
+
3414
+ react.__my_react_internal__.currentComponentFiber; var currentRunningFiber$1 = react.__my_react_internal__.currentRunningFiber;
3415
+ react.__my_react_shared__.enableDebugFiled;
3416
+ var processState = function (renderDispatch, _params) {
3417
+ var ownerFiber = getInstanceOwnerFiber(_params.trigger);
3418
+ if (!renderDispatch)
3419
+ return;
3420
+ _params.isRetrigger = currentRunningFiber$1.current === ownerFiber || !!_params.isRetrigger;
3421
+ _params.isImmediate =
3422
+ typeof _params.isImmediate === "boolean"
3423
+ ? _params.isImmediate
3424
+ : _params.isRetrigger || (renderDispatch.isAppMounted ? !!currentRunningFiber$1.current : false);
3425
+ safeCallWithCurrentFiber({
3426
+ fiber: ownerFiber,
3427
+ action: function safeCallFiberStateListener() {
3428
+ var _a, _b;
3429
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.fiberState) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(ownerFiber, _params); });
3430
+ },
3431
+ });
3432
+ var isImmediate = _params.isImmediate;
3433
+ _params.isRetrigger;
3434
+ if (_params.type === myreactSharedExports.UpdateQueueType.component) {
3435
+ if (!ownerFiber || myreactSharedExports.include(ownerFiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
3436
+ return;
3437
+ var trigger_1 = _params.trigger;
3438
+ safeCallWithCurrentFiber({
3439
+ fiber: ownerFiber,
3440
+ action: function safeCallInstanceStateListener() {
3441
+ var _a, _b;
3442
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.instanceState) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(trigger_1, ownerFiber, _params); });
3443
+ },
3444
+ });
3445
+ ownerFiber.updateQueue = ownerFiber.updateQueue || new myreactSharedExports.ListTree();
3446
+ ownerFiber.updateQueue.push(_params);
3447
+ prepareUpdateOnFiber(renderDispatch, ownerFiber, isImmediate);
3448
+ }
3449
+ else if (_params.type === myreactSharedExports.UpdateQueueType.hook) {
3450
+ if (!ownerFiber || myreactSharedExports.include(ownerFiber === null || ownerFiber === void 0 ? void 0 : ownerFiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
3451
+ return;
3452
+ var trigger_2 = _params.trigger;
3453
+ safeCallWithCurrentFiber({
3454
+ fiber: ownerFiber,
3455
+ action: function safeCallHookStateListener() {
3456
+ var _a, _b;
3457
+ (_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.hookState) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(trigger_2, ownerFiber, _params); });
3458
+ },
3459
+ });
3460
+ ownerFiber.updateQueue = ownerFiber.updateQueue || new myreactSharedExports.ListTree();
3461
+ ownerFiber.updateQueue.push(_params);
3462
+ prepareUpdateOnFiber(renderDispatch, ownerFiber, isImmediate);
3463
+ }
3464
+ else {
3465
+ var ownerFiber_1 = _params.trigger;
3466
+ if (!ownerFiber_1 || myreactSharedExports.include(ownerFiber_1.state, myreactSharedExports.STATE_TYPE.__unmount__))
3467
+ return;
3468
+ ownerFiber_1.updateQueue = ownerFiber_1.updateQueue || new myreactSharedExports.ListTree();
3469
+ ownerFiber_1.updateQueue.push(_params);
3470
+ prepareUpdateOnFiber(renderDispatch, ownerFiber_1, isImmediate);
3481
3471
  }
3482
3472
  };
3483
- // const getNextLoop = (type: updateTypeEnum) => {
3484
- // switch (type) {
3485
- // case updateTypeEnum.syncFromRoot:
3486
- // return updateLoopSyncFromRoot;
3487
- // case updateTypeEnum.syncFromTrigger:
3488
- // return updateLoopSyncFromTrigger;
3489
- // case updateTypeEnum.concurrentFromRoot:
3490
- // return updateLoopConcurrentFromRoot;
3491
- // case updateTypeEnum.concurrentFromTrigger:
3492
- // return updateLoopConcurrentFromTrigger;
3493
- // }
3494
- // };
3495
- var processAsyncLoadListOnUpdate = processAsyncLoadListOnSyncMount;
3496
3473
 
3497
3474
  var defaultGenerateUnmountMap = function (fiber, unmount, map) {
3498
3475
  var list = map.get(fiber) || new myreactSharedExports.ListTree();
@@ -3547,7 +3524,7 @@ function requireIndex_production_1 () {
3547
3524
  var _a, _b, _c, _d;
3548
3525
  renderDispatch.pendingCommitFiberPatch = myreactSharedExports.PATCH_TYPE.__initial__;
3549
3526
  (_a = renderDispatch.pendingUpdateFiberArray) === null || _a === void 0 ? void 0 : _a.clear();
3550
- (_b = renderDispatch.pendingAsyncLoadList) === null || _b === void 0 ? void 0 : _b.clear();
3527
+ (_b = renderDispatch.pendingSuspenseFiberArray) === null || _b === void 0 ? void 0 : _b.clear();
3551
3528
  (_c = renderDispatch.pendingCommitFiberList) === null || _c === void 0 ? void 0 : _c.clear();
3552
3529
  (_d = renderDispatch.pendingChangedFiberList) === null || _d === void 0 ? void 0 : _d.clear();
3553
3530
  renderDispatch.resetUpdateFlowRuntimeFiber();
@@ -3662,7 +3639,7 @@ function requireIndex_production_1 () {
3662
3639
  type: myreactSharedExports.UpdateQueueType.component,
3663
3640
  trigger: typedInstance_1,
3664
3641
  payLoad: payloadState,
3665
- isSync: false,
3642
+ isSync: true,
3666
3643
  isForce: true,
3667
3644
  isRetrigger: false,
3668
3645
  isImmediate: false,
@@ -3690,18 +3667,9 @@ function requireIndex_production_1 () {
3690
3667
  }
3691
3668
  }
3692
3669
  };
3693
- var triggerUnmount = function (renderDispatch, fiber, cb) {
3694
- if (renderDispatch.isAppUnmounted) {
3695
- throw new Error("[@my-react/react] can not unmount a node when current app has been unmounted");
3696
- }
3697
- triggerUpdate(renderDispatch, fiber, myreactSharedExports.STATE_TYPE.__skippedSync__, function finishTriggerUnmountOnFiber() {
3698
- renderDispatch.reconcileUnmount();
3699
- cb === null || cb === void 0 ? void 0 : cb();
3700
- });
3701
- };
3702
3670
 
3703
3671
  var globalLoop$2 = react.__my_react_internal__.globalLoop, currentScheduler$8 = react.__my_react_internal__.currentScheduler;
3704
- var enableConcurrentMode$1 = react.__my_react_shared__.enableConcurrentMode, enableLoopFromRoot = react.__my_react_shared__.enableLoopFromRoot;
3672
+ var enableConcurrentMode$1 = react.__my_react_shared__.enableConcurrentMode;
3705
3673
  var scheduleUpdateFromRoot = function (renderDispatch) {
3706
3674
  var allLive = renderDispatch.pendingUpdateFiberArray.getAll().filter(function (f) { return myreactSharedExports.exclude(f.state, myreactSharedExports.STATE_TYPE.__unmount__); });
3707
3675
  renderDispatch.pendingUpdateFiberArray.clear();
@@ -3709,8 +3677,7 @@ function requireIndex_production_1 () {
3709
3677
  renderDispatch.runtimeFiber.scheduledFiber = renderDispatch.rootFiber;
3710
3678
  renderDispatch.runtimeFiber.nextWorkingFiber = renderDispatch.rootFiber;
3711
3679
  allLive.forEach(function (fiber) { return applyTriggerFiberCb(renderDispatch, fiber); });
3712
- if (!enableConcurrentMode$1.current ||
3713
- allLive.some(function (f) { return myreactSharedExports.include(f.state, myreactSharedExports.STATE_TYPE.__skippedSync__ | myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__); })) {
3680
+ if (!enableConcurrentMode$1.current || allLive.some(function (f) { return myreactSharedExports.include(f.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__); })) {
3714
3681
  updateSyncFromRoot(renderDispatch);
3715
3682
  }
3716
3683
  else {
@@ -3721,63 +3688,6 @@ function requireIndex_production_1 () {
3721
3688
  scheduleNext(renderDispatch);
3722
3689
  }
3723
3690
  };
3724
- var scheduleUpdateFromTrigger = function (renderDispatch) {
3725
- var allPending = renderDispatch.pendingUpdateFiberArray.getAll();
3726
- var nextWorkFiber = null;
3727
- for (var i = 0; i < allPending.length; i++) {
3728
- var item = allPending[i];
3729
- if (myreactSharedExports.include(item.state, myreactSharedExports.STATE_TYPE.__stable__ | myreactSharedExports.STATE_TYPE.__unmount__)) {
3730
- renderDispatch.pendingUpdateFiberArray.uniDelete(item);
3731
- continue;
3732
- }
3733
- else {
3734
- nextWorkFiber = item;
3735
- break;
3736
- }
3737
- }
3738
- if (nextWorkFiber) {
3739
- applyTriggerFiberCb(renderDispatch, nextWorkFiber);
3740
- if (myreactSharedExports.include(nextWorkFiber.state, myreactSharedExports.STATE_TYPE.__skippedSync__ | myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__)) {
3741
- renderDispatch.runtimeFiber.scheduledFiber = nextWorkFiber;
3742
- renderDispatch.runtimeFiber.nextWorkingFiber = nextWorkFiber;
3743
- // normally a context update
3744
- if (myreactSharedExports.include(nextWorkFiber.state, myreactSharedExports.STATE_TYPE.__skippedSync__)) {
3745
- updateSyncFromRoot(renderDispatch);
3746
- }
3747
- else {
3748
- // TODO maybe could use `updateSyncFromRoot`?
3749
- updateSyncFromTrigger(renderDispatch);
3750
- }
3751
- }
3752
- else if (myreactSharedExports.include(nextWorkFiber.state, myreactSharedExports.STATE_TYPE.__skippedConcurrent__ | myreactSharedExports.STATE_TYPE.__triggerConcurrent__ | myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__)) {
3753
- renderDispatch.runtimeFiber.scheduledFiber = nextWorkFiber;
3754
- renderDispatch.runtimeFiber.nextWorkingFiber = nextWorkFiber;
3755
- if (myreactSharedExports.include(nextWorkFiber.state, myreactSharedExports.STATE_TYPE.__skippedConcurrent__)) {
3756
- if (enableConcurrentMode$1.current) {
3757
- updateConcurrentFromRoot(renderDispatch);
3758
- }
3759
- else {
3760
- updateSyncFromRoot(renderDispatch);
3761
- }
3762
- }
3763
- else {
3764
- if (enableConcurrentMode$1.current) {
3765
- updateConcurrentFromTrigger(renderDispatch);
3766
- }
3767
- else {
3768
- updateSyncFromTrigger(renderDispatch);
3769
- }
3770
- }
3771
- }
3772
- else {
3773
- // TODO
3774
- throw new Error("[@my-react/react] unknown state, ".concat(nextWorkFiber.state, ", this like a bug for @my-react"));
3775
- }
3776
- }
3777
- else {
3778
- scheduleNext(renderDispatch);
3779
- }
3780
- };
3781
3691
  var scheduleNext = function (renderDispatch) {
3782
3692
  var _a;
3783
3693
  if (!renderDispatch.isAppUnmounted && !renderDispatch.isAppCrashed && renderDispatch.enableUpdate && renderDispatch.pendingUpdateFiberArray.length) {
@@ -3803,12 +3713,7 @@ function requireIndex_production_1 () {
3803
3713
  scheduleNext(renderDispatch);
3804
3714
  return;
3805
3715
  }
3806
- if (enableLoopFromRoot.current) {
3807
- scheduleUpdateFromRoot(renderDispatch);
3808
- }
3809
- else {
3810
- scheduleUpdateFromTrigger(renderDispatch);
3811
- }
3716
+ scheduleUpdateFromRoot(renderDispatch);
3812
3717
  };
3813
3718
 
3814
3719
  var globalLoop$1 = react.__my_react_internal__.globalLoop, currentScheduler$7 = react.__my_react_internal__.currentScheduler;
@@ -3836,29 +3741,6 @@ function requireIndex_production_1 () {
3836
3741
  scheduleNext(renderDispatch);
3837
3742
  });
3838
3743
  };
3839
- var updateSyncFromTrigger = function (renderDispatch) {
3840
- globalLoop$1.current = true;
3841
- var renderScheduler = currentScheduler$7.current;
3842
- updateLoopSyncFromTrigger(renderDispatch);
3843
- processAsyncLoadListOnUpdate(renderDispatch);
3844
- (function finishUpdateSyncFromTrigger() {
3845
- var commitList = renderDispatch.pendingCommitFiberList;
3846
- var changedList = renderDispatch.pendingChangedFiberList;
3847
- renderDispatch.resetUpdateFlowRuntimeFiber();
3848
- renderDispatch.pendingCommitFiberList = null;
3849
- renderDispatch.pendingChangedFiberList = null;
3850
- (commitList === null || commitList === void 0 ? void 0 : commitList.length) && renderDispatch.reconcileUpdate(commitList);
3851
- (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
3852
- safeCall(function safeCallFiberHasChangeListener() {
3853
- var _a, _b;
3854
- (_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); });
3855
- });
3856
- })();
3857
- renderScheduler.microTask(function callScheduleNext() {
3858
- globalLoop$1.current = false;
3859
- scheduleNext(renderDispatch);
3860
- });
3861
- };
3862
3744
  var updateConcurrentFromRoot = function (renderDispatch) {
3863
3745
  globalLoop$1.current = true;
3864
3746
  var renderScheduler = currentScheduler$7.current;
@@ -3890,37 +3772,6 @@ function requireIndex_production_1 () {
3890
3772
  });
3891
3773
  }
3892
3774
  };
3893
- var updateConcurrentFromTrigger = function (renderDispatch) {
3894
- globalLoop$1.current = true;
3895
- var renderScheduler = currentScheduler$7.current;
3896
- updateLoopConcurrentFromTrigger(renderDispatch);
3897
- if (renderDispatch.runtimeFiber.nextWorkingFiber) {
3898
- renderScheduler.yieldTask(function resumeUpdateConcurrentFromTrigger() {
3899
- updateConcurrentFromTrigger(renderDispatch);
3900
- });
3901
- }
3902
- else {
3903
- processAsyncLoadListOnUpdate(renderDispatch);
3904
- (function finishUpdateConcurrentFromTrigger() {
3905
- var commitList = renderDispatch.pendingCommitFiberList;
3906
- var changedList = renderDispatch.pendingChangedFiberList;
3907
- renderDispatch.resetUpdateFlowRuntimeFiber();
3908
- renderDispatch.pendingCommitFiberList = null;
3909
- renderDispatch.pendingChangedFiberList = null;
3910
- (commitList === null || commitList === void 0 ? void 0 : commitList.length) && renderDispatch.reconcileUpdate(commitList);
3911
- (changedList === null || changedList === void 0 ? void 0 : changedList.length) &&
3912
- safeCall(function safeCallFiberHasChangeListener() {
3913
- var _a, _b;
3914
- (_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); });
3915
- });
3916
- })();
3917
- renderScheduler.microTask(function callScheduleNext() {
3918
- // TODO! flash all effect
3919
- globalLoop$1.current = false;
3920
- scheduleNext(renderDispatch);
3921
- });
3922
- }
3923
- };
3924
3775
 
3925
3776
  var MyReactInternalInstance$1 = react.__my_react_internal__.MyReactInternalInstance, currentScheduler$6 = react.__my_react_internal__.currentScheduler;
3926
3777
  var enableSyncFlush = react.__my_react_shared__.enableSyncFlush;
@@ -3977,7 +3828,7 @@ function requireIndex_production_1 () {
3977
3828
  _this._depsSet.clear();
3978
3829
  _this._value = newValue;
3979
3830
  allDeps.forEach(function (f) { return myreactSharedExports.exclude(f.state, myreactSharedExports.STATE_TYPE.__unmount__) && (f.state = myreactSharedExports.STATE_TYPE.__triggerConcurrent__); });
3980
- triggerUpdateOnFiber(_this._renderDispatch.rootFiber, myreactSharedExports.STATE_TYPE.__skippedSync__);
3831
+ triggerUpdateOnFiber(_this._renderDispatch.rootFiber, myreactSharedExports.STATE_TYPE.__triggerConcurrent__);
3981
3832
  }
3982
3833
  };
3983
3834
  this._value = _rawValue;
@@ -4021,7 +3872,7 @@ function requireIndex_production_1 () {
4021
3872
  hookNode.result = hookNode.value;
4022
3873
  }
4023
3874
  if (hookNode.type === myreactSharedExports.HOOK_TYPE.useId) {
4024
- hookNode.result = "\u00AB-".concat(currentHookIndex, "-").concat(renderDispatch.uniqueIdCount++, "-\u00BB");
3875
+ hookNode.result = "_-".concat(currentHookIndex, "-").concat(renderDispatch.uniqueIdCount++, "-_");
4025
3876
  hookNode.cancel = function () { return renderDispatch.uniqueIdCount--; };
4026
3877
  }
4027
3878
  if (hookNode.type === myreactSharedExports.HOOK_TYPE.useDebugValue) {
@@ -4113,13 +3964,13 @@ function requireIndex_production_1 () {
4113
3964
  var loadingCallback = function (cb) {
4114
3965
  react.startTransition(function () {
4115
3966
  hookNode.result[0] = true;
4116
- hookNode._update({ isForce: true, callback: cb });
3967
+ hookNode._update({ isForce: true, isSync: true, callback: cb });
4117
3968
  });
4118
3969
  };
4119
3970
  var loadedCallback = function () {
4120
3971
  react.startTransition(function () {
4121
3972
  hookNode.result[0] = false;
4122
- hookNode._update({ isForce: true });
3973
+ hookNode._update({ isForce: true, isSync: true });
4123
3974
  });
4124
3975
  };
4125
3976
  var taskCallback = function () {
@@ -4431,7 +4282,6 @@ function requireIndex_production_1 () {
4431
4282
  trigger: this,
4432
4283
  isSync: true,
4433
4284
  isForce: false,
4434
- isSkip: myreactSharedExports.include(state, myreactSharedExports.STATE_TYPE.__skippedSync__ | myreactSharedExports.STATE_TYPE.__skippedConcurrent__),
4435
4285
  isImmediate: true,
4436
4286
  isRetrigger: false,
4437
4287
  callback: cb,
@@ -4488,29 +4338,21 @@ function requireIndex_production_1 () {
4488
4338
  }
4489
4339
  if (updateState.isSync) {
4490
4340
  if (updateState.isImmediate) {
4491
- triggerUpdate(renderDispatch, fiber, updateState.isSkip ? myreactSharedExports.STATE_TYPE.__skippedSync__ : updateState.isForce ? myreactSharedExports.STATE_TYPE.__triggerSyncForce__ : myreactSharedExports.STATE_TYPE.__triggerSync__, updateState.callback);
4341
+ triggerUpdate(renderDispatch, fiber, updateState.isForce ? myreactSharedExports.STATE_TYPE.__triggerSyncForce__ : myreactSharedExports.STATE_TYPE.__triggerSync__, updateState.callback);
4492
4342
  }
4493
4343
  else {
4494
4344
  renderScheduler.microTask(function triggerSyncUpdateOnFiber() {
4495
- triggerUpdate(renderDispatch, fiber, updateState.isSkip ? myreactSharedExports.STATE_TYPE.__skippedSync__ : updateState.isForce ? myreactSharedExports.STATE_TYPE.__triggerSyncForce__ : myreactSharedExports.STATE_TYPE.__triggerSync__, updateState.callback);
4345
+ triggerUpdate(renderDispatch, fiber, updateState.isForce ? myreactSharedExports.STATE_TYPE.__triggerSyncForce__ : myreactSharedExports.STATE_TYPE.__triggerSync__, updateState.callback);
4496
4346
  });
4497
4347
  }
4498
4348
  }
4499
4349
  else {
4500
4350
  if (updateState.isImmediate) {
4501
- triggerUpdate(renderDispatch, fiber, updateState.isSkip
4502
- ? myreactSharedExports.STATE_TYPE.__skippedConcurrent__
4503
- : updateState.isForce
4504
- ? myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__
4505
- : myreactSharedExports.STATE_TYPE.__triggerConcurrent__, updateState.callback);
4351
+ triggerUpdate(renderDispatch, fiber, updateState.isForce ? myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ : myreactSharedExports.STATE_TYPE.__triggerConcurrent__, updateState.callback);
4506
4352
  }
4507
4353
  else {
4508
4354
  renderScheduler.microTask(function triggerConcurrentUpdateOnFiber() {
4509
- triggerUpdate(renderDispatch, fiber, updateState.isSkip
4510
- ? myreactSharedExports.STATE_TYPE.__skippedConcurrent__
4511
- : updateState.isForce
4512
- ? myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__
4513
- : myreactSharedExports.STATE_TYPE.__triggerConcurrent__, updateState.callback);
4355
+ triggerUpdate(renderDispatch, fiber, updateState.isForce ? myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ : myreactSharedExports.STATE_TYPE.__triggerConcurrent__, updateState.callback);
4514
4356
  });
4515
4357
  }
4516
4358
  }
@@ -4529,9 +4371,8 @@ function requireIndex_production_1 () {
4529
4371
  });
4530
4372
  }
4531
4373
  };
4532
- var SyncState = myreactSharedExports.merge(myreactSharedExports.STATE_TYPE.__triggerSyncForce__, myreactSharedExports.merge(myreactSharedExports.STATE_TYPE.__skippedSync__, myreactSharedExports.STATE_TYPE.__triggerSync__));
4374
+ var SyncState = myreactSharedExports.merge(myreactSharedExports.STATE_TYPE.__triggerSyncForce__, myreactSharedExports.STATE_TYPE.__triggerSync__);
4533
4375
  var ForceState = myreactSharedExports.merge(myreactSharedExports.STATE_TYPE.__triggerSyncForce__, myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__);
4534
- var SkipState = myreactSharedExports.merge(myreactSharedExports.STATE_TYPE.__skippedSync__, myreactSharedExports.STATE_TYPE.__skippedConcurrent__);
4535
4376
  var triggerUpdateOnFiber = function (fiber, state, callback) {
4536
4377
  if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__))
4537
4378
  return;
@@ -4541,9 +4382,6 @@ function requireIndex_production_1 () {
4541
4382
  trigger: fiber,
4542
4383
  isSync: myreactSharedExports.include(state, SyncState),
4543
4384
  isForce: myreactSharedExports.include(state, ForceState),
4544
- isSkip: myreactSharedExports.include(state, SkipState),
4545
- isImmediate: true,
4546
- isRetrigger: false,
4547
4385
  callback: callback,
4548
4386
  };
4549
4387
  renderScheduler.dispatchState(updater);
@@ -4812,7 +4650,6 @@ function requireIndex_production_1 () {
4812
4650
  errorCatchFiber: null,
4813
4651
  nextWorkingFiber: null,
4814
4652
  retriggerFiber: null,
4815
- visibleFiber: null,
4816
4653
  }); };
4817
4654
  var initialRef = {
4818
4655
  typeForRef: exports.NODE_TYPE.__plain__ | exports.NODE_TYPE.__class__,
@@ -4876,7 +4713,7 @@ function requireIndex_production_1 () {
4876
4713
  RenderDispatchEvent.prototype.pendingLayoutEffect = function (_fiber, _layoutEffect, _option) { };
4877
4714
  RenderDispatchEvent.prototype.pendingInsertionEffect = function (_fiber, _insertionEffect, _option) { };
4878
4715
  RenderDispatchEvent.prototype.dispatchFiber = function (_fiber) { };
4879
- RenderDispatchEvent.prototype.processFiber = function (_fiber) {
4716
+ RenderDispatchEvent.prototype.processLazy = function (_elementType) {
4880
4717
  return Promise.resolve();
4881
4718
  };
4882
4719
  RenderDispatchEvent.prototype.processPromise = function (_promise) {
@@ -5422,39 +5259,6 @@ function requireIndex_production_1 () {
5422
5259
  return false;
5423
5260
  };
5424
5261
 
5425
- var defaultReadPromise = function (_promise) {
5426
- if (_promise.status === 'fulfilled') {
5427
- return _promise.value;
5428
- }
5429
- else if (_promise.status === 'rejected') {
5430
- throw _promise.reason;
5431
- }
5432
- else {
5433
- throw _promise;
5434
- }
5435
- };
5436
- var defaultResolveSuspenseValue = function (fiber) {
5437
- var _a;
5438
- var parent = fiber.parent;
5439
- while (parent) {
5440
- if (myreactSharedExports.include(parent.type, exports.NODE_TYPE.__suspense__)) {
5441
- return (_a = parent.pendingProps) === null || _a === void 0 ? void 0 : _a["fallback"];
5442
- }
5443
- parent = parent.parent;
5444
- }
5445
- return null;
5446
- };
5447
- var defaultResolveSuspenseFiber = function (fiber) {
5448
- var parent = fiber.parent;
5449
- while (parent) {
5450
- if (myreactSharedExports.include(parent.type, exports.NODE_TYPE.__suspense__)) {
5451
- return parent;
5452
- }
5453
- parent = parent.parent;
5454
- }
5455
- return null;
5456
- };
5457
-
5458
5262
  var currentScheduler$1 = react.__my_react_internal__.currentScheduler;
5459
5263
  react.__my_react_shared__.enableScopeTreeLog;
5460
5264
  var defaultDispatchUpdate = function (_dispatch, _list) {
@@ -5463,6 +5267,10 @@ function requireIndex_production_1 () {
5463
5267
  _list.listToFoot(function invokeUnmountPendingAndInsertionEffectList(_fiber) {
5464
5268
  if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
5465
5269
  defaultInvokeUnmountList(_dispatch, _fiber);
5270
+ }
5271
+ });
5272
+ _list.listToFoot(function invokeUnmountPendingAndInsertionEffectList(_fiber) {
5273
+ if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
5466
5274
  insertionEffect(_dispatch, _fiber);
5467
5275
  }
5468
5276
  });
@@ -5527,7 +5335,7 @@ function requireIndex_production_1 () {
5527
5335
  };
5528
5336
 
5529
5337
  var currentScheduler = react.__my_react_internal__.currentScheduler;
5530
- var loadPromise = function (renderDispatch, fiber, promise) { return __awaiter(void 0, void 0, void 0, function () {
5338
+ var loadPromise = function (renderDispatch, promise) { return __awaiter(void 0, void 0, void 0, function () {
5531
5339
  var value, reason_1;
5532
5340
  return __generator(this, function (_a) {
5533
5341
  switch (_a.label) {
@@ -5556,30 +5364,41 @@ function requireIndex_production_1 () {
5556
5364
  var processPromise = function (renderDispatch, fiber, promise) {
5557
5365
  var _a, _b;
5558
5366
  defaultDeleteCurrentEffect(renderDispatch, fiber);
5559
- promise.fiber = fiber;
5560
5367
  if (promise.status === "rejected") {
5561
5368
  (_b = (_a = currentScheduler.current).dispatchError) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, error: promise.reason });
5562
5369
  return null;
5563
5370
  }
5564
5371
  if (promise.status === "fulfilled") ;
5565
- if (!promise.status) {
5372
+ promise._list = promise._list || new Set();
5373
+ promise._list.add(fiber);
5374
+ var suspenseFiber = renderDispatch.resolveSuspenseFiber(fiber);
5375
+ if (suspenseFiber) {
5376
+ var suspenseField = getInstanceFieldByInstance(suspenseFiber.instance);
5377
+ suspenseField.asyncLoadList.uniPush(promise);
5378
+ renderDispatch.pendingSuspenseFiberArray.uniPush(suspenseFiber);
5379
+ return null;
5380
+ }
5381
+ else {
5382
+ if (promise._loading)
5383
+ return null;
5384
+ promise._loading = true;
5566
5385
  promise.status = "pending";
5567
- renderDispatch.pendingAsyncLoadList = renderDispatch.pendingAsyncLoadList || new myreactSharedExports.ListTree();
5568
- if (!renderDispatch.runtimeFiber.visibleFiber) {
5569
- var visibleFiber = renderDispatch.resolveSuspenseFiber(fiber);
5570
- if (visibleFiber) {
5571
- renderDispatch.runtimeFiber.visibleFiber = visibleFiber;
5572
- renderDispatch.pendingAsyncLoadList.push(promise);
5573
- }
5574
- else {
5575
- throw new Error("[@my-react/react] the promise is not in a suspense tree");
5576
- }
5577
- }
5578
- else {
5579
- renderDispatch.pendingAsyncLoadList.push(promise);
5580
- }
5386
+ var renderScheduler_1 = currentScheduler.current;
5387
+ renderDispatch.processPromise(promise).then(function () {
5388
+ fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
5389
+ promise._list.delete(fiber);
5390
+ promise._loading = false;
5391
+ var updater = {
5392
+ type: myreactSharedExports.UpdateQueueType.promise,
5393
+ trigger: fiber,
5394
+ isSync: true,
5395
+ isForce: true,
5396
+ payLoad: promise,
5397
+ };
5398
+ renderScheduler_1.dispatchState(updater);
5399
+ });
5400
+ return null;
5581
5401
  }
5582
- return null;
5583
5402
  };
5584
5403
 
5585
5404
  var CustomRenderDispatch = /** @class */ (function (_super) {
@@ -5591,14 +5410,14 @@ function requireIndex_production_1 () {
5591
5410
  _this.isAppMounted = false;
5592
5411
  _this.isAppCrashed = false;
5593
5412
  _this.isAppUnmounted = false;
5594
- _this.version = "0.3.10";
5413
+ _this.version = "0.3.11";
5595
5414
  _this.mode = "production";
5596
5415
  _this.renderMode = "render";
5597
5416
  _this.pendingCommitFiberList = null;
5598
5417
  _this.pendingCommitFiberPatch = myreactSharedExports.PATCH_TYPE.__initial__;
5599
- _this.pendingAsyncLoadList = null;
5600
5418
  _this.pendingChangedFiberList = null;
5601
5419
  _this.pendingUpdateFiberArray = new myreactSharedExports.UniqueArray();
5420
+ _this.pendingSuspenseFiberArray = new myreactSharedExports.UniqueArray();
5602
5421
  _this.uniqueIdCount = 0;
5603
5422
  _this.rootElement = rootElement;
5604
5423
  var typedFiber = rootFiber;
@@ -5687,11 +5506,11 @@ function requireIndex_production_1 () {
5687
5506
  CustomRenderDispatch.prototype.dispatchFiber = function (_fiber) {
5688
5507
  defaultDispatchFiber(this, _fiber);
5689
5508
  };
5690
- CustomRenderDispatch.prototype.processFiber = function (_fiber) {
5691
- return loadLazy(this, _fiber, _fiber.elementType);
5509
+ CustomRenderDispatch.prototype.processLazy = function (_elementType) {
5510
+ return loadLazy(this, _elementType);
5692
5511
  };
5693
5512
  CustomRenderDispatch.prototype.processPromise = function (_promise) {
5694
- return loadPromise(this, _promise.fiber, _promise);
5513
+ return loadPromise(this, _promise);
5695
5514
  };
5696
5515
  CustomRenderDispatch.prototype.commitCreate = function (_fiber) {
5697
5516
  };
@@ -5789,7 +5608,6 @@ function requireIndex_production_1 () {
5789
5608
  this.runtimeFiber.scheduledFiber = null;
5790
5609
  this.runtimeFiber.nextWorkingFiber = null;
5791
5610
  this.runtimeFiber.retriggerFiber = null;
5792
- this.runtimeFiber.visibleFiber = null;
5793
5611
  this.pendingCommitFiberPatch = myreactSharedExports.PATCH_TYPE.__initial__;
5794
5612
  };
5795
5613
  CustomRenderDispatch.prototype.getFiberTree = function (_fiber) {
@@ -5868,7 +5686,6 @@ function requireIndex_production_1 () {
5868
5686
  var proUpdater = {
5869
5687
  needUpdate: true,
5870
5688
  isSync: true,
5871
- isSkip: false,
5872
5689
  isForce: true,
5873
5690
  isImmediate: true,
5874
5691
  isRetrigger: true,
@@ -5881,39 +5698,6 @@ function requireIndex_production_1 () {
5881
5698
  },
5882
5699
  });
5883
5700
  };
5884
- var prepareUpdateAllDependenceFromRoot = function (renderDispatch, fiber, beforeValue, afterValue) {
5885
- var consumerList = new Set((fiber === null || fiber === void 0 ? void 0 : fiber.dependence) || []);
5886
- ({
5887
- type: myreactSharedExports.UpdateQueueType.context,
5888
- _debugType: myreactSharedExports.UpdateQueueType[myreactSharedExports.UpdateQueueType.context],
5889
- });
5890
- consumerList.forEach(function prepareUpdateSingleConsumer(i) {
5891
- var owner = getInstanceOwnerFiber(i);
5892
- if (owner && myreactSharedExports.exclude(owner.state, myreactSharedExports.STATE_TYPE.__unmount__)) {
5893
- var typedFiber = owner;
5894
- typedFiber.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
5895
- }
5896
- });
5897
- var root = renderDispatch.rootFiber;
5898
- renderDispatch.pendingUpdateFiberArray.clear();
5899
- triggerUpdateOnFiber(root, myreactSharedExports.STATE_TYPE.__skippedSync__);
5900
- };
5901
- var prepareUpdateAllDependenceFromProvider = function (fiber, beforeValue, afterValue) {
5902
- var consumerList = new Set((fiber === null || fiber === void 0 ? void 0 : fiber.dependence) || []);
5903
- ({
5904
- type: myreactSharedExports.UpdateQueueType.context,
5905
- _debugType: myreactSharedExports.UpdateQueueType[myreactSharedExports.UpdateQueueType.context],
5906
- });
5907
- consumerList.forEach(function prepareUpdateSingleConsumer(i) {
5908
- var owner = getInstanceOwnerFiber(i);
5909
- if (owner && myreactSharedExports.exclude(owner.state, myreactSharedExports.STATE_TYPE.__unmount__)) {
5910
- var typedFiber_2 = owner;
5911
- typedFiber_2.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
5912
- }
5913
- });
5914
- var typedFiber = fiber;
5915
- triggerUpdateOnFiber(typedFiber, myreactSharedExports.STATE_TYPE.__skippedSync__);
5916
- };
5917
5701
 
5918
5702
  var currentComponentFiber = react.__my_react_internal__.currentComponentFiber, currentHookNodeIndex = react.__my_react_internal__.currentHookNodeIndex;
5919
5703
  var resolveHookValue = function (hookNode, field) {
@@ -6024,7 +5808,7 @@ function requireIndex_production_1 () {
6024
5808
  });
6025
5809
  }); };
6026
5810
 
6027
- var version = "0.3.10";
5811
+ var version = "0.3.11";
6028
5812
 
6029
5813
  exports.CustomRenderDispatch = CustomRenderDispatch;
6030
5814
  exports.MyReactFiberNode = MyReactFiberNode;
@@ -6066,6 +5850,7 @@ function requireIndex_production_1 () {
6066
5850
  exports.defaultInvokeUnmountList = defaultInvokeUnmountList;
6067
5851
  exports.defaultReadContext = defaultReadContext;
6068
5852
  exports.defaultReadPromise = defaultReadPromise;
5853
+ exports.defaultResolveAliveSuspenseFiber = defaultResolveAliveSuspenseFiber;
6069
5854
  exports.defaultResolveErrorBoundaries = defaultResolveErrorBoundaries;
6070
5855
  exports.defaultResolveScope = defaultResolveScope;
6071
5856
  exports.defaultResolveSuspenseFiber = defaultResolveSuspenseFiber;
@@ -6084,6 +5869,7 @@ function requireIndex_production_1 () {
6084
5869
  exports.fiberToDispatchMap = fiberToDispatchMap;
6085
5870
  exports.generateFiberToMountList = generateFiberToMountList;
6086
5871
  exports.generateFiberToUnmountList = generateFiberToUnmountList;
5872
+ exports.getClassInstanceFieldByInstance = getClassInstanceFieldByInstance;
6087
5873
  exports.getCurrentDispatchFromFiber = getCurrentDispatchFromFiber;
6088
5874
  exports.getCurrentDispatchFromType = getCurrentDispatchFromType;
6089
5875
  exports.getCurrentFibersFromType = getCurrentFibersFromType;
@@ -6107,10 +5893,12 @@ function requireIndex_production_1 () {
6107
5893
  exports.hmrRevert = hmrRevert;
6108
5894
  exports.hmrUpdate = hmrUpdate;
6109
5895
  exports.hookListUnmount = hookListUnmount;
5896
+ exports.initClassInstance = initClassInstance;
6110
5897
  exports.initHMR = initHMR;
6111
5898
  exports.initHookInstance = initHookInstance;
6112
5899
  exports.initInstance = initInstance;
6113
5900
  exports.initScheduler = initScheduler;
5901
+ exports.initSuspenseInstance = initSuspenseInstance;
6114
5902
  exports.initVisibleInstance = initVisibleInstance;
6115
5903
  exports.initialFiberNode = initialFiberNode;
6116
5904
  exports.insertionEffect = insertionEffect;
@@ -6124,9 +5912,9 @@ function requireIndex_production_1 () {
6124
5912
  exports.loadLazy = loadLazy;
6125
5913
  exports.loadPromise = loadPromise;
6126
5914
  exports.mountAsync = mountAsync;
5915
+ exports.mountClassInstance = mountClassInstance;
6127
5916
  exports.mountLoopAll = mountLoopAll;
6128
5917
  exports.mountLoopAllFromScheduler = mountLoopAllFromScheduler;
6129
- exports.mountLoopAllSync = mountLoopAllSync;
6130
5918
  exports.mountSync = mountSync;
6131
5919
  exports.mountToNextFiberFromRoot = mountToNextFiberFromRoot;
6132
5920
  exports.nextWorkClassComponent = nextWorkClassComponent;
@@ -6144,10 +5932,7 @@ function requireIndex_production_1 () {
6144
5932
  exports.originalError = originalError;
6145
5933
  exports.originalWarn = originalWarn;
6146
5934
  exports.performToNextFiberFromRoot = performToNextFiberFromRoot;
6147
- exports.performToNextFiberFromTrigger = performToNextFiberFromTrigger;
6148
5935
  exports.prepareUpdateAllDependence = prepareUpdateAllDependence;
6149
- exports.prepareUpdateAllDependenceFromProvider = prepareUpdateAllDependenceFromProvider;
6150
- exports.prepareUpdateAllDependenceFromRoot = prepareUpdateAllDependenceFromRoot;
6151
5936
  exports.prepareUpdateOnFiber = prepareUpdateOnFiber;
6152
5937
  exports.processAsyncLoadListOnAsyncMount = processAsyncLoadListOnAsyncMount;
6153
5938
  exports.processAsyncLoadListOnSyncMount = processAsyncLoadListOnSyncMount;
@@ -6189,7 +5974,6 @@ function requireIndex_production_1 () {
6189
5974
  exports.triggerError = triggerError;
6190
5975
  exports.triggerFiberUpdateListener = triggerFiberUpdateListener;
6191
5976
  exports.triggerRevert = triggerRevert;
6192
- exports.triggerUnmount = triggerUnmount;
6193
5977
  exports.triggerUpdate = triggerUpdate;
6194
5978
  exports.triggerUpdateOnFiber = triggerUpdateOnFiber;
6195
5979
  exports.typeToFibersMap = typeToFibersMap;
@@ -6199,15 +5983,11 @@ function requireIndex_production_1 () {
6199
5983
  exports.unmountInstance = unmountInstance;
6200
5984
  exports.unmountList = unmountList;
6201
5985
  exports.updateConcurrentFromRoot = updateConcurrentFromRoot;
6202
- exports.updateConcurrentFromTrigger = updateConcurrentFromTrigger;
6203
5986
  exports.updateFiberNode = updateFiberNode;
6204
5987
  exports.updateHookNode = updateHookNode;
6205
5988
  exports.updateLoopConcurrentFromRoot = updateLoopConcurrentFromRoot;
6206
- exports.updateLoopConcurrentFromTrigger = updateLoopConcurrentFromTrigger;
6207
5989
  exports.updateLoopSyncFromRoot = updateLoopSyncFromRoot;
6208
- exports.updateLoopSyncFromTrigger = updateLoopSyncFromTrigger;
6209
5990
  exports.updateSyncFromRoot = updateSyncFromRoot;
6210
- exports.updateSyncFromTrigger = updateSyncFromTrigger;
6211
5991
  exports.version = version;
6212
5992
  } (index_production$1));
6213
5993
  return index_production$1;
@@ -6429,6 +6209,8 @@ function requireIndex_production () {
6429
6209
  UpdateQueueType[UpdateQueueType["hmr"] = 4] = "hmr";
6430
6210
  UpdateQueueType[UpdateQueueType["trigger"] = 5] = "trigger";
6431
6211
  UpdateQueueType[UpdateQueueType["suspense"] = 6] = "suspense";
6212
+ UpdateQueueType[UpdateQueueType["lazy"] = 7] = "lazy";
6213
+ UpdateQueueType[UpdateQueueType["promise"] = 8] = "promise";
6432
6214
  })(exports.UpdateQueueType || (exports.UpdateQueueType = {}));
6433
6215
 
6434
6216
  exports.STATE_TYPE = void 0;
@@ -6436,17 +6218,15 @@ function requireIndex_production () {
6436
6218
  STATE_TYPE[STATE_TYPE["__initial__"] = 0] = "__initial__";
6437
6219
  STATE_TYPE[STATE_TYPE["__create__"] = 1] = "__create__";
6438
6220
  STATE_TYPE[STATE_TYPE["__stable__"] = 2] = "__stable__";
6439
- STATE_TYPE[STATE_TYPE["__skippedConcurrent__"] = 4] = "__skippedConcurrent__";
6440
- STATE_TYPE[STATE_TYPE["__skippedSync__"] = 8] = "__skippedSync__";
6441
- STATE_TYPE[STATE_TYPE["__inherit__"] = 16] = "__inherit__";
6442
- STATE_TYPE[STATE_TYPE["__triggerConcurrent__"] = 32] = "__triggerConcurrent__";
6443
- STATE_TYPE[STATE_TYPE["__triggerConcurrentForce__"] = 64] = "__triggerConcurrentForce__";
6444
- STATE_TYPE[STATE_TYPE["__triggerSync__"] = 128] = "__triggerSync__";
6445
- STATE_TYPE[STATE_TYPE["__triggerSyncForce__"] = 256] = "__triggerSyncForce__";
6446
- STATE_TYPE[STATE_TYPE["__unmount__"] = 512] = "__unmount__";
6447
- STATE_TYPE[STATE_TYPE["__hmr__"] = 1024] = "__hmr__";
6448
- STATE_TYPE[STATE_TYPE["__retrigger__"] = 2048] = "__retrigger__";
6449
- STATE_TYPE[STATE_TYPE["__reschedule__"] = 4096] = "__reschedule__";
6221
+ STATE_TYPE[STATE_TYPE["__inherit__"] = 4] = "__inherit__";
6222
+ STATE_TYPE[STATE_TYPE["__triggerConcurrent__"] = 8] = "__triggerConcurrent__";
6223
+ STATE_TYPE[STATE_TYPE["__triggerConcurrentForce__"] = 16] = "__triggerConcurrentForce__";
6224
+ STATE_TYPE[STATE_TYPE["__triggerSync__"] = 32] = "__triggerSync__";
6225
+ STATE_TYPE[STATE_TYPE["__triggerSyncForce__"] = 64] = "__triggerSyncForce__";
6226
+ STATE_TYPE[STATE_TYPE["__unmount__"] = 128] = "__unmount__";
6227
+ STATE_TYPE[STATE_TYPE["__hmr__"] = 256] = "__hmr__";
6228
+ STATE_TYPE[STATE_TYPE["__retrigger__"] = 512] = "__retrigger__";
6229
+ STATE_TYPE[STATE_TYPE["__reschedule__"] = 1024] = "__reschedule__";
6450
6230
  })(exports.STATE_TYPE || (exports.STATE_TYPE = {}));
6451
6231
 
6452
6232
  exports.PATCH_TYPE = void 0;
@@ -7712,7 +7492,7 @@ var Reconciler = function (_config) {
7712
7492
  };
7713
7493
  };
7714
7494
 
7715
- var version = "0.0.1";
7495
+ var version = "0.0.2";
7716
7496
  var createReconciler = Reconciler;
7717
7497
 
7718
7498
  exports.createReconciler = createReconciler;