@my-react/react-reconciler-compact 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.development.js +497 -223
- package/dist/cjs/index.production.js +468 -198
- package/dist/types/api/ref.d.ts.map +1 -1
- package/dist/types/dispatch.d.ts +6 -1
- package/dist/types/dispatch.d.ts.map +1 -1
- package/dist/types/dispatchMount.d.ts.map +1 -1
- package/dist/types/dispatchUpdate.d.ts.map +1 -1
- package/dist/types/feature.d.ts +2 -1
- package/dist/types/feature.d.ts.map +1 -1
- package/dist/types/scheduler.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -311,6 +311,7 @@ function requireIndex_development_1 () {
|
|
|
311
311
|
STATE_TYPE[STATE_TYPE["__retrigger__"] = 512] = "__retrigger__";
|
|
312
312
|
STATE_TYPE[STATE_TYPE["__reschedule__"] = 1024] = "__reschedule__";
|
|
313
313
|
STATE_TYPE[STATE_TYPE["__recreate__"] = 2048] = "__recreate__";
|
|
314
|
+
STATE_TYPE[STATE_TYPE["__suspense__"] = 4096] = "__suspense__";
|
|
314
315
|
})(exports.STATE_TYPE || (exports.STATE_TYPE = {}));
|
|
315
316
|
|
|
316
317
|
exports.PATCH_TYPE = void 0;
|
|
@@ -920,7 +921,7 @@ function requireIndex_development_1 () {
|
|
|
920
921
|
enableSyncFlush$1.current = stack.pop();
|
|
921
922
|
};
|
|
922
923
|
|
|
923
|
-
var currentRunningFiber$5 = react.__my_react_internal__.currentRunningFiber, currentScheduler$
|
|
924
|
+
var currentRunningFiber$5 = react.__my_react_internal__.currentRunningFiber, currentScheduler$h = react.__my_react_internal__.currentScheduler, currentScopeFiber$1 = react.__my_react_internal__.currentScopeFiber, currentError$1 = react.__my_react_internal__.currentError, currentCallingFiber$1 = react.__my_react_internal__.currentCallingFiber;
|
|
924
925
|
var safeCall = function (action) {
|
|
925
926
|
var args = [];
|
|
926
927
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
@@ -931,7 +932,7 @@ function requireIndex_development_1 () {
|
|
|
931
932
|
}
|
|
932
933
|
catch (e) {
|
|
933
934
|
var fiber = (currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1[(currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1.length) - 1]) || currentScopeFiber$1.current || currentRunningFiber$5.current;
|
|
934
|
-
var renderScheduler = currentScheduler$
|
|
935
|
+
var renderScheduler = currentScheduler$h.current;
|
|
935
936
|
currentError$1.current = currentError$1.current || e;
|
|
936
937
|
renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
|
|
937
938
|
}
|
|
@@ -951,7 +952,7 @@ function requireIndex_development_1 () {
|
|
|
951
952
|
return fallback();
|
|
952
953
|
}
|
|
953
954
|
else {
|
|
954
|
-
var renderScheduler = currentScheduler$
|
|
955
|
+
var renderScheduler = currentScheduler$h.current;
|
|
955
956
|
currentError$1.current = currentError$1.current || e;
|
|
956
957
|
renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
|
|
957
958
|
}
|
|
@@ -985,7 +986,7 @@ function requireIndex_development_1 () {
|
|
|
985
986
|
}
|
|
986
987
|
catch (e) {
|
|
987
988
|
var fiber = (currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1[(currentCallingFiber$1 === null || currentCallingFiber$1 === void 0 ? void 0 : currentCallingFiber$1.length) - 1]) || currentScopeFiber$1.current || currentRunningFiber$5.current;
|
|
988
|
-
var renderScheduler = currentScheduler$
|
|
989
|
+
var renderScheduler = currentScheduler$h.current;
|
|
989
990
|
currentError$1.current = currentError$1.current || e;
|
|
990
991
|
renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
|
|
991
992
|
}
|
|
@@ -994,7 +995,7 @@ function requireIndex_development_1 () {
|
|
|
994
995
|
}
|
|
995
996
|
};
|
|
996
997
|
|
|
997
|
-
var currentScheduler$
|
|
998
|
+
var currentScheduler$g = react.__my_react_internal__.currentScheduler, currentRunningFiber$4 = react.__my_react_internal__.currentRunningFiber, currentScopeFiber = react.__my_react_internal__.currentScopeFiber, currentCallingFiber = react.__my_react_internal__.currentCallingFiber;
|
|
998
999
|
var enableOptimizeTreeLog = react.__my_react_shared__.enableOptimizeTreeLog;
|
|
999
1000
|
var typeColor = {
|
|
1000
1001
|
normal: "rgba(10, 190, 235, 0.8)",
|
|
@@ -1049,7 +1050,7 @@ function requireIndex_development_1 () {
|
|
|
1049
1050
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1050
1051
|
args[_i] = arguments[_i];
|
|
1051
1052
|
}
|
|
1052
|
-
var renderScheduler = currentScheduler$
|
|
1053
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1053
1054
|
var startWithPlain = typeof args[0] === "string";
|
|
1054
1055
|
var renderFiber = warnFiber || (currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber[(currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber.length) - 1]) || currentScopeFiber.current || currentRunningFiber$4.current;
|
|
1055
1056
|
renderFiber && fiberWarn.apply(void 0, __spreadArray([renderFiber], args, false));
|
|
@@ -1086,7 +1087,7 @@ function requireIndex_development_1 () {
|
|
|
1086
1087
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1087
1088
|
args[_i] = arguments[_i];
|
|
1088
1089
|
}
|
|
1089
|
-
var renderScheduler = currentScheduler$
|
|
1090
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1090
1091
|
var startWithPlain = typeof args[0] === "string";
|
|
1091
1092
|
var renderFiber = errorFiber || (currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber[(currentCallingFiber === null || currentCallingFiber === void 0 ? void 0 : currentCallingFiber.length) - 1]) || currentScopeFiber.current || currentRunningFiber$4.current;
|
|
1092
1093
|
renderFiber && fiberError.apply(void 0, __spreadArray([renderFiber], args, false));
|
|
@@ -1330,7 +1331,7 @@ function requireIndex_development_1 () {
|
|
|
1330
1331
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
1331
1332
|
args[_i - 2] = arguments[_i];
|
|
1332
1333
|
}
|
|
1333
|
-
var renderScheduler = currentScheduler$
|
|
1334
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1334
1335
|
var tree = renderScheduler.getFiberTree(fiber);
|
|
1335
1336
|
if ((_b = warnMap === null || warnMap === void 0 ? void 0 : warnMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
|
|
1336
1337
|
return;
|
|
@@ -1346,7 +1347,7 @@ function requireIndex_development_1 () {
|
|
|
1346
1347
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
1347
1348
|
args[_i - 2] = arguments[_i];
|
|
1348
1349
|
}
|
|
1349
|
-
var renderScheduler = currentScheduler$
|
|
1350
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1350
1351
|
var tree = renderScheduler.getFiberTree(fiber);
|
|
1351
1352
|
if ((_b = errorMap === null || errorMap === void 0 ? void 0 : errorMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
|
|
1352
1353
|
return;
|
|
@@ -1391,7 +1392,7 @@ function requireIndex_development_1 () {
|
|
|
1391
1392
|
}
|
|
1392
1393
|
nodeType = myreactSharedExports.merge(nodeType, exports.NODE_TYPE.__empty__);
|
|
1393
1394
|
}
|
|
1394
|
-
else if (element === null || element === undefined || typeof element === "boolean" || typeof element === "function") {
|
|
1395
|
+
else if (element === null || element === undefined || typeof element === "boolean" || typeof element === "function" || element === "") {
|
|
1395
1396
|
nodeType = myreactSharedExports.merge(nodeType, exports.NODE_TYPE.__null__);
|
|
1396
1397
|
}
|
|
1397
1398
|
else {
|
|
@@ -1519,7 +1520,7 @@ function requireIndex_development_1 () {
|
|
|
1519
1520
|
throw new Error("[@my-react/react] invalid symbol element type \"".concat(elementType === null || elementType === void 0 ? void 0 : elementType.toString(), "\""));
|
|
1520
1521
|
}
|
|
1521
1522
|
}
|
|
1522
|
-
else if (typeof elementType === "string") {
|
|
1523
|
+
else if (typeof elementType === "string" && elementType !== "") {
|
|
1523
1524
|
nodeType = myreactSharedExports.merge(nodeType, exports.NODE_TYPE.__plain__);
|
|
1524
1525
|
}
|
|
1525
1526
|
else {
|
|
@@ -1567,7 +1568,17 @@ function requireIndex_development_1 () {
|
|
|
1567
1568
|
return new Set(Array.from(fibers || []).map(function (fiber) { return fiberToDispatchMap.get(fiber); }));
|
|
1568
1569
|
};
|
|
1569
1570
|
var getCurrentDispatchFromFiber = function (fiber) {
|
|
1570
|
-
|
|
1571
|
+
var dispatch = fiberToDispatchMap.get(fiber);
|
|
1572
|
+
if (dispatch)
|
|
1573
|
+
return dispatch;
|
|
1574
|
+
var parent = fiber.parent;
|
|
1575
|
+
while (parent) {
|
|
1576
|
+
var typedFiberRoot = parent;
|
|
1577
|
+
if (typedFiberRoot.renderDispatch) {
|
|
1578
|
+
return typedFiberRoot.renderDispatch;
|
|
1579
|
+
}
|
|
1580
|
+
parent = parent.parent;
|
|
1581
|
+
}
|
|
1571
1582
|
};
|
|
1572
1583
|
var getElementFromRefreshIfExist = function (element) {
|
|
1573
1584
|
var _a, _b;
|
|
@@ -1605,7 +1616,7 @@ function requireIndex_development_1 () {
|
|
|
1605
1616
|
}
|
|
1606
1617
|
};
|
|
1607
1618
|
|
|
1608
|
-
var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$
|
|
1619
|
+
var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$f = react.__my_react_internal__.currentScheduler;
|
|
1609
1620
|
var dispatchHook = function (params) {
|
|
1610
1621
|
var fiber = currentRunningFiber$3.current;
|
|
1611
1622
|
if (!fiber) {
|
|
@@ -1636,10 +1647,10 @@ function requireIndex_development_1 () {
|
|
|
1636
1647
|
var dispatchError = function (_params) {
|
|
1637
1648
|
var fiber = _params.fiber || currentRunningFiber$3.current;
|
|
1638
1649
|
if (!fiber) {
|
|
1639
|
-
|
|
1650
|
+
// a normal error
|
|
1651
|
+
throw _params.error;
|
|
1640
1652
|
}
|
|
1641
|
-
if (
|
|
1642
|
-
return;
|
|
1653
|
+
// if (include(fiber.state, STATE_TYPE.__unmount__)) return;
|
|
1643
1654
|
var dispatch = getCurrentDispatchFromFiber(fiber);
|
|
1644
1655
|
if (!dispatch) {
|
|
1645
1656
|
throw new Error("No dispatch found for the current running fiber.");
|
|
@@ -1651,14 +1662,25 @@ function requireIndex_development_1 () {
|
|
|
1651
1662
|
if (!fiber) {
|
|
1652
1663
|
throw new Error("No fiber found for dispatching promise.");
|
|
1653
1664
|
}
|
|
1654
|
-
if (
|
|
1655
|
-
return;
|
|
1665
|
+
// if (include(fiber.state, STATE_TYPE.__unmount__)) return;
|
|
1656
1666
|
var dispatch = getCurrentDispatchFromFiber(fiber);
|
|
1657
1667
|
if (!dispatch) {
|
|
1658
1668
|
throw new Error("No dispatch found for the current running fiber.");
|
|
1659
1669
|
}
|
|
1660
1670
|
return dispatch.dispatchPromise(_params);
|
|
1661
1671
|
};
|
|
1672
|
+
var dispatchSuspensePromise = function (_params) {
|
|
1673
|
+
var fiber = _params.fiber || currentRunningFiber$3.current;
|
|
1674
|
+
if (!fiber) {
|
|
1675
|
+
throw new Error("No fiber found for dispatching suspense promise.");
|
|
1676
|
+
}
|
|
1677
|
+
// if (include(fiber.state, STATE_TYPE.__unmount__)) return;
|
|
1678
|
+
var dispatch = getCurrentDispatchFromFiber(fiber);
|
|
1679
|
+
if (!dispatch) {
|
|
1680
|
+
throw new Error("No dispatch found for the current running fiber.");
|
|
1681
|
+
}
|
|
1682
|
+
return dispatch.dispatchSuspensePromise(_params);
|
|
1683
|
+
};
|
|
1662
1684
|
var readContext = function (_params) {
|
|
1663
1685
|
var fiber = currentRunningFiber$3.current;
|
|
1664
1686
|
if (!fiber) {
|
|
@@ -1695,7 +1717,7 @@ function requireIndex_development_1 () {
|
|
|
1695
1717
|
}
|
|
1696
1718
|
};
|
|
1697
1719
|
var initScheduler = function () {
|
|
1698
|
-
var scheduler = currentScheduler$
|
|
1720
|
+
var scheduler = currentScheduler$f.current;
|
|
1699
1721
|
scheduler.getFiberTree = getFiberTree;
|
|
1700
1722
|
scheduler.readPromise = readPromise;
|
|
1701
1723
|
scheduler.readContext = readContext;
|
|
@@ -1703,6 +1725,7 @@ function requireIndex_development_1 () {
|
|
|
1703
1725
|
scheduler.dispatchHook = dispatchHook;
|
|
1704
1726
|
scheduler.dispatchError = dispatchError;
|
|
1705
1727
|
scheduler.dispatchPromise = dispatchPromise;
|
|
1728
|
+
scheduler.dispatchSuspensePromise = dispatchSuspensePromise;
|
|
1706
1729
|
};
|
|
1707
1730
|
|
|
1708
1731
|
var enableHMRForDev = react.__my_react_shared__.enableHMRForDev;
|
|
@@ -1813,110 +1836,6 @@ function requireIndex_development_1 () {
|
|
|
1813
1836
|
return listTree;
|
|
1814
1837
|
};
|
|
1815
1838
|
|
|
1816
|
-
var currentRunningFiber$2 = react.__my_react_internal__.currentRunningFiber;
|
|
1817
|
-
var mountToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
1818
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
1819
|
-
return null;
|
|
1820
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
|
|
1821
|
-
devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
|
|
1822
|
-
}
|
|
1823
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
1824
|
-
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
1825
|
-
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
1826
|
-
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
1827
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
1828
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
1829
|
-
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
1830
|
-
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
1831
|
-
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
1832
|
-
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
1833
|
-
currentRunningFiber$2.current = fiber;
|
|
1834
|
-
{
|
|
1835
|
-
runtimeNextWorkDev(renderDispatch, fiber);
|
|
1836
|
-
}
|
|
1837
|
-
currentRunningFiber$2.current = null;
|
|
1838
|
-
}
|
|
1839
|
-
if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
1840
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
1841
|
-
}
|
|
1842
|
-
else {
|
|
1843
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
1844
|
-
}
|
|
1845
|
-
if (fiber.child)
|
|
1846
|
-
return fiber.child;
|
|
1847
|
-
var nextFiber = fiber;
|
|
1848
|
-
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
1849
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1850
|
-
if (nextFiber.sibling)
|
|
1851
|
-
return nextFiber.sibling;
|
|
1852
|
-
// current nextFiber is all done, back to parent
|
|
1853
|
-
{
|
|
1854
|
-
safeCallWithCurrentFiber({
|
|
1855
|
-
fiber: nextFiber,
|
|
1856
|
-
action: function safeCallAfterFiberDone() {
|
|
1857
|
-
var _a, _b;
|
|
1858
|
-
(_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterFiberDone) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(nextFiber); });
|
|
1859
|
-
},
|
|
1860
|
-
});
|
|
1861
|
-
}
|
|
1862
|
-
nextFiber = nextFiber.parent;
|
|
1863
|
-
}
|
|
1864
|
-
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
1865
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1866
|
-
return null;
|
|
1867
|
-
};
|
|
1868
|
-
var performToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
1869
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
1870
|
-
return null;
|
|
1871
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
|
|
1872
|
-
devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
|
|
1873
|
-
}
|
|
1874
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
1875
|
-
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
1876
|
-
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
1877
|
-
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
1878
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
1879
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
1880
|
-
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
1881
|
-
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
1882
|
-
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
1883
|
-
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
1884
|
-
currentRunningFiber$2.current = fiber;
|
|
1885
|
-
{
|
|
1886
|
-
runtimeNextWorkDev(renderDispatch, fiber);
|
|
1887
|
-
}
|
|
1888
|
-
currentRunningFiber$2.current = null;
|
|
1889
|
-
triggerFiberUpdateListener(renderDispatch, fiber);
|
|
1890
|
-
}
|
|
1891
|
-
if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
1892
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
1893
|
-
}
|
|
1894
|
-
else {
|
|
1895
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
1896
|
-
}
|
|
1897
|
-
if (fiber.child)
|
|
1898
|
-
return fiber.child;
|
|
1899
|
-
var nextFiber = fiber;
|
|
1900
|
-
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
1901
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1902
|
-
if (nextFiber.sibling)
|
|
1903
|
-
return nextFiber.sibling;
|
|
1904
|
-
{
|
|
1905
|
-
safeCallWithCurrentFiber({
|
|
1906
|
-
fiber: nextFiber,
|
|
1907
|
-
action: function safeCallAfterFiberDone() {
|
|
1908
|
-
var _a, _b;
|
|
1909
|
-
(_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterFiberDone) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(nextFiber); });
|
|
1910
|
-
},
|
|
1911
|
-
});
|
|
1912
|
-
}
|
|
1913
|
-
nextFiber = nextFiber.parent;
|
|
1914
|
-
}
|
|
1915
|
-
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
1916
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1917
|
-
return null;
|
|
1918
|
-
};
|
|
1919
|
-
|
|
1920
1839
|
var defaultGenerateEffectMap = function (fiber, effect, map, option) {
|
|
1921
1840
|
var list = map.get(fiber);
|
|
1922
1841
|
if (!list) {
|
|
@@ -2017,6 +1936,16 @@ function requireIndex_development_1 () {
|
|
|
2017
1936
|
child = child.sibling;
|
|
2018
1937
|
}
|
|
2019
1938
|
};
|
|
1939
|
+
var effectCallbackList = new myreactSharedExports.ListTree();
|
|
1940
|
+
var addEffectCallback = function (cb) {
|
|
1941
|
+
effectCallbackList.push(cb);
|
|
1942
|
+
};
|
|
1943
|
+
var flushEffectCallback = function () {
|
|
1944
|
+
effectCallbackList.listToFoot(function (cb) {
|
|
1945
|
+
cb();
|
|
1946
|
+
});
|
|
1947
|
+
effectCallbackList.clear();
|
|
1948
|
+
};
|
|
2020
1949
|
var effect = defaultInvokeEffect;
|
|
2021
1950
|
var layoutEffect = defaultInvokeLayoutEffect;
|
|
2022
1951
|
var insertionEffect = defaultInvokeInsertionEffect;
|
|
@@ -2063,8 +1992,118 @@ function requireIndex_development_1 () {
|
|
|
2063
1992
|
}
|
|
2064
1993
|
};
|
|
2065
1994
|
|
|
2066
|
-
var
|
|
2067
|
-
var
|
|
1995
|
+
var currentRunningFiber$2 = react.__my_react_internal__.currentRunningFiber;
|
|
1996
|
+
var mountToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
1997
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
1998
|
+
return null;
|
|
1999
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
|
|
2000
|
+
devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
|
|
2001
|
+
}
|
|
2002
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
2003
|
+
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
2004
|
+
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
2005
|
+
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
2006
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
2007
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
2008
|
+
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
2009
|
+
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
2010
|
+
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
2011
|
+
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
2012
|
+
currentRunningFiber$2.current = fiber;
|
|
2013
|
+
{
|
|
2014
|
+
runtimeNextWorkDev(renderDispatch, fiber);
|
|
2015
|
+
}
|
|
2016
|
+
currentRunningFiber$2.current = null;
|
|
2017
|
+
}
|
|
2018
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__suspense__)) {
|
|
2019
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
2020
|
+
}
|
|
2021
|
+
else if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
2022
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
2023
|
+
}
|
|
2024
|
+
else {
|
|
2025
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
2026
|
+
}
|
|
2027
|
+
if (fiber.child)
|
|
2028
|
+
return fiber.child;
|
|
2029
|
+
var nextFiber = fiber;
|
|
2030
|
+
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
2031
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
2032
|
+
if (nextFiber.sibling)
|
|
2033
|
+
return nextFiber.sibling;
|
|
2034
|
+
// current nextFiber is all done, back to parent
|
|
2035
|
+
{
|
|
2036
|
+
safeCallWithCurrentFiber({
|
|
2037
|
+
fiber: nextFiber,
|
|
2038
|
+
action: function safeCallAfterFiberDone() {
|
|
2039
|
+
var _a, _b;
|
|
2040
|
+
(_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterFiberDone) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(nextFiber); });
|
|
2041
|
+
},
|
|
2042
|
+
});
|
|
2043
|
+
}
|
|
2044
|
+
nextFiber = nextFiber.parent;
|
|
2045
|
+
}
|
|
2046
|
+
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
2047
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
2048
|
+
return null;
|
|
2049
|
+
};
|
|
2050
|
+
var performToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
2051
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
2052
|
+
return null;
|
|
2053
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__stable__) && fiber.state !== myreactSharedExports.STATE_TYPE.__stable__) {
|
|
2054
|
+
devErrorWithFiber(fiber, "[@my-react/react] current fiber state not valid, look like a bug for @my-react");
|
|
2055
|
+
}
|
|
2056
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
2057
|
+
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
2058
|
+
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
2059
|
+
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
2060
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
2061
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
2062
|
+
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
2063
|
+
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
2064
|
+
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
2065
|
+
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
2066
|
+
currentRunningFiber$2.current = fiber;
|
|
2067
|
+
{
|
|
2068
|
+
runtimeNextWorkDev(renderDispatch, fiber);
|
|
2069
|
+
}
|
|
2070
|
+
currentRunningFiber$2.current = null;
|
|
2071
|
+
triggerFiberUpdateListener(renderDispatch, fiber);
|
|
2072
|
+
}
|
|
2073
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__suspense__)) {
|
|
2074
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
2075
|
+
}
|
|
2076
|
+
else if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
2077
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
2078
|
+
}
|
|
2079
|
+
else {
|
|
2080
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
2081
|
+
}
|
|
2082
|
+
if (fiber.child)
|
|
2083
|
+
return fiber.child;
|
|
2084
|
+
var nextFiber = fiber;
|
|
2085
|
+
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
2086
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
2087
|
+
if (nextFiber.sibling)
|
|
2088
|
+
return nextFiber.sibling;
|
|
2089
|
+
{
|
|
2090
|
+
safeCallWithCurrentFiber({
|
|
2091
|
+
fiber: nextFiber,
|
|
2092
|
+
action: function safeCallAfterFiberDone() {
|
|
2093
|
+
var _a, _b;
|
|
2094
|
+
(_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.afterFiberDone) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(nextFiber); });
|
|
2095
|
+
},
|
|
2096
|
+
});
|
|
2097
|
+
}
|
|
2098
|
+
nextFiber = nextFiber.parent;
|
|
2099
|
+
}
|
|
2100
|
+
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
2101
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
2102
|
+
return null;
|
|
2103
|
+
};
|
|
2104
|
+
|
|
2105
|
+
var enableSuspenseRoot$3 = react.__my_react_shared__.enableSuspenseRoot;
|
|
2106
|
+
var currentScheduler$e = react.__my_react_internal__.currentScheduler;
|
|
2068
2107
|
var mountLoopAllFromScheduler = function (renderDispatch) {
|
|
2069
2108
|
while (renderDispatch.runtimeFiber.nextWorkingFiber) {
|
|
2070
2109
|
renderDispatch.runtimeFiber.retriggerFiber = null;
|
|
@@ -2135,7 +2174,7 @@ function requireIndex_development_1 () {
|
|
|
2135
2174
|
_a.sent();
|
|
2136
2175
|
return [3 /*break*/, 1];
|
|
2137
2176
|
case 3:
|
|
2138
|
-
if (!enableSuspenseRoot$
|
|
2177
|
+
if (!enableSuspenseRoot$3.current) return [3 /*break*/, 5];
|
|
2139
2178
|
suspenseField_1 = getInstanceFieldByInstance(renderDispatch);
|
|
2140
2179
|
list = suspenseField_1.asyncLoadList.getAll();
|
|
2141
2180
|
if (list.length === 0)
|
|
@@ -2216,7 +2255,7 @@ function requireIndex_development_1 () {
|
|
|
2216
2255
|
}); })).then(function () {
|
|
2217
2256
|
var aliveNode = defaultResolveAliveSuspenseFiber(node) || renderDispatch.rootFiber;
|
|
2218
2257
|
aliveNode.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
|
|
2219
|
-
var renderScheduler = currentScheduler$
|
|
2258
|
+
var renderScheduler = currentScheduler$e.current;
|
|
2220
2259
|
var updater = {
|
|
2221
2260
|
type: myreactSharedExports.UpdateQueueType.suspense,
|
|
2222
2261
|
trigger: aliveNode,
|
|
@@ -2243,15 +2282,12 @@ function requireIndex_development_1 () {
|
|
|
2243
2282
|
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
2244
2283
|
}
|
|
2245
2284
|
}
|
|
2246
|
-
|
|
2247
|
-
if (enableSuspenseRoot$2.current) {
|
|
2285
|
+
if (enableSuspenseRoot$3.current) {
|
|
2248
2286
|
var suspenseField_2 = getInstanceFieldByInstance(renderDispatch);
|
|
2249
2287
|
var list = suspenseField_2.asyncLoadList.getAll();
|
|
2250
2288
|
if (list.length === 0)
|
|
2251
2289
|
return;
|
|
2252
2290
|
if (renderDispatch.enableAsyncLoad) {
|
|
2253
|
-
// defaultDeleteCurrentEffect(renderDispatch, renderDispatch.rootFiber);
|
|
2254
|
-
// defaultDeleteChildEffect(renderDispatch, renderDispatch.rootFiber);
|
|
2255
2291
|
var allPendingLoadArray = list.filter(function (item) {
|
|
2256
2292
|
if (myreactSharedExports.isPromise(item)) {
|
|
2257
2293
|
return typeof item.status !== "string";
|
|
@@ -2282,7 +2318,7 @@ function requireIndex_development_1 () {
|
|
|
2282
2318
|
(_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
|
|
2283
2319
|
allFiber.forEach(function (node) {
|
|
2284
2320
|
node.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
2285
|
-
var renderScheduler = currentScheduler$
|
|
2321
|
+
var renderScheduler = currentScheduler$e.current;
|
|
2286
2322
|
var updater = {
|
|
2287
2323
|
type: myreactSharedExports.UpdateQueueType.suspense,
|
|
2288
2324
|
trigger: node,
|
|
@@ -2298,13 +2334,6 @@ function requireIndex_development_1 () {
|
|
|
2298
2334
|
});
|
|
2299
2335
|
}); }));
|
|
2300
2336
|
}
|
|
2301
|
-
// suspenseField.isHidden = true;
|
|
2302
|
-
// const root = renderDispatch.rootFiber;
|
|
2303
|
-
// root.state = remove(root.state, STATE_TYPE.__stable__);
|
|
2304
|
-
// root.state = merge(root.state, STATE_TYPE.__retrigger__);
|
|
2305
|
-
// // TODO use hide tree to improve
|
|
2306
|
-
// mountLoopAll(renderDispatch, root);
|
|
2307
|
-
// suspenseField.isHidden = false;
|
|
2308
2337
|
}
|
|
2309
2338
|
else {
|
|
2310
2339
|
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
@@ -2312,6 +2341,8 @@ function requireIndex_development_1 () {
|
|
|
2312
2341
|
}
|
|
2313
2342
|
};
|
|
2314
2343
|
|
|
2344
|
+
var enableSuspenseRoot$2 = react.__my_react_shared__.enableSuspenseRoot;
|
|
2345
|
+
var currentScheduler$d = react.__my_react_internal__.currentScheduler;
|
|
2315
2346
|
exports.updateTypeEnum = void 0;
|
|
2316
2347
|
(function (updateTypeEnum) {
|
|
2317
2348
|
updateTypeEnum[updateTypeEnum["syncFromRoot"] = 0] = "syncFromRoot";
|
|
@@ -2358,7 +2389,89 @@ function requireIndex_development_1 () {
|
|
|
2358
2389
|
}
|
|
2359
2390
|
return hasSync;
|
|
2360
2391
|
};
|
|
2361
|
-
var processAsyncLoadListOnUpdate =
|
|
2392
|
+
var processAsyncLoadListOnUpdate = function (renderDispatch) {
|
|
2393
|
+
var _a;
|
|
2394
|
+
if ((_a = renderDispatch.pendingSuspenseFiberArray) === null || _a === void 0 ? void 0 : _a.length) {
|
|
2395
|
+
var allPendingSuspenseFiberArray = renderDispatch.pendingSuspenseFiberArray.getAll();
|
|
2396
|
+
if (renderDispatch.enableAsyncLoad) {
|
|
2397
|
+
var allField_1 = [];
|
|
2398
|
+
allPendingSuspenseFiberArray.forEach(function (node) {
|
|
2399
|
+
defaultDeleteChildEffect(renderDispatch, node);
|
|
2400
|
+
var field = getInstanceFieldByInstance(node.instance);
|
|
2401
|
+
var allPendingLoadArray = field.asyncLoadList.getAll().filter(function (item) {
|
|
2402
|
+
if (myreactSharedExports.isPromise(item)) {
|
|
2403
|
+
return typeof item.status !== "string";
|
|
2404
|
+
}
|
|
2405
|
+
else {
|
|
2406
|
+
return !item._loading && !item._loaded && !item._error;
|
|
2407
|
+
}
|
|
2408
|
+
});
|
|
2409
|
+
if (allPendingLoadArray.length) {
|
|
2410
|
+
Promise.all(allPendingLoadArray.map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2411
|
+
var _a;
|
|
2412
|
+
return __generator(this, function (_b) {
|
|
2413
|
+
switch (_b.label) {
|
|
2414
|
+
case 0:
|
|
2415
|
+
if (!myreactSharedExports.isPromise(item)) return [3 /*break*/, 2];
|
|
2416
|
+
return [4 /*yield*/, renderDispatch.processPromise(item)];
|
|
2417
|
+
case 1:
|
|
2418
|
+
_b.sent();
|
|
2419
|
+
return [3 /*break*/, 4];
|
|
2420
|
+
case 2: return [4 /*yield*/, renderDispatch.processLazy(item)];
|
|
2421
|
+
case 3:
|
|
2422
|
+
_b.sent();
|
|
2423
|
+
_b.label = 4;
|
|
2424
|
+
case 4:
|
|
2425
|
+
(_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
|
|
2426
|
+
field.asyncLoadList.uniDelete(item);
|
|
2427
|
+
return [2 /*return*/];
|
|
2428
|
+
}
|
|
2429
|
+
});
|
|
2430
|
+
}); })).then(function () {
|
|
2431
|
+
var aliveNode = defaultResolveAliveSuspenseFiber(node) || renderDispatch.rootFiber;
|
|
2432
|
+
aliveNode.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
|
|
2433
|
+
var renderScheduler = currentScheduler$d.current;
|
|
2434
|
+
var updater = {
|
|
2435
|
+
type: myreactSharedExports.UpdateQueueType.suspense,
|
|
2436
|
+
trigger: aliveNode,
|
|
2437
|
+
isSync: true,
|
|
2438
|
+
isForce: true,
|
|
2439
|
+
payLoad: allPendingLoadArray,
|
|
2440
|
+
};
|
|
2441
|
+
renderScheduler.dispatchState(updater);
|
|
2442
|
+
});
|
|
2443
|
+
}
|
|
2444
|
+
// fix hmr
|
|
2445
|
+
node.state = myreactSharedExports.STATE_TYPE.__reschedule__;
|
|
2446
|
+
field.isHidden = true;
|
|
2447
|
+
allField_1.push(field);
|
|
2448
|
+
});
|
|
2449
|
+
var root = renderDispatch.rootFiber;
|
|
2450
|
+
root.state = myreactSharedExports.remove(root.state, myreactSharedExports.STATE_TYPE.__stable__);
|
|
2451
|
+
root.state = myreactSharedExports.merge(root.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
2452
|
+
// TODO use hide tree to improve
|
|
2453
|
+
mountLoopAll(renderDispatch, root);
|
|
2454
|
+
allField_1.forEach(function (field) { return (field.isHidden = false); });
|
|
2455
|
+
renderDispatch.pendingSuspenseFiberArray.clear();
|
|
2456
|
+
}
|
|
2457
|
+
else {
|
|
2458
|
+
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
2459
|
+
}
|
|
2460
|
+
}
|
|
2461
|
+
// TODO update flow
|
|
2462
|
+
if (enableSuspenseRoot$2.current) {
|
|
2463
|
+
var suspenseField = getInstanceFieldByInstance(renderDispatch);
|
|
2464
|
+
var list = suspenseField.asyncLoadList.getAll();
|
|
2465
|
+
if (list.length === 0)
|
|
2466
|
+
return;
|
|
2467
|
+
if (renderDispatch.enableAsyncLoad) {
|
|
2468
|
+
throw new Error("[@my-react/reconciler] not implemented yet");
|
|
2469
|
+
}
|
|
2470
|
+
else {
|
|
2471
|
+
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
2472
|
+
}
|
|
2473
|
+
}
|
|
2474
|
+
};
|
|
2362
2475
|
|
|
2363
2476
|
var isErrorBoundariesInstance = function (instance, Component) {
|
|
2364
2477
|
return typeof instance.componentDidCatch === "function" || typeof Component.getDerivedStateFromError === "function";
|
|
@@ -2967,7 +3080,7 @@ function requireIndex_development_1 () {
|
|
|
2967
3080
|
var typedFiber = fiber;
|
|
2968
3081
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
2969
3082
|
var needUpdate = true;
|
|
2970
|
-
var isSync =
|
|
3083
|
+
var isSync = true;
|
|
2971
3084
|
var isForce = false;
|
|
2972
3085
|
var isImmediate = false;
|
|
2973
3086
|
var isRetrigger = false;
|
|
@@ -3274,7 +3387,7 @@ function requireIndex_development_1 () {
|
|
|
3274
3387
|
var typedFiber = fiber;
|
|
3275
3388
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
3276
3389
|
var needUpdate = false;
|
|
3277
|
-
var isSync =
|
|
3390
|
+
var isSync = true;
|
|
3278
3391
|
var isForce = false;
|
|
3279
3392
|
var isImmediate = false;
|
|
3280
3393
|
var isRetrigger = false;
|
|
@@ -3431,7 +3544,7 @@ function requireIndex_development_1 () {
|
|
|
3431
3544
|
var renderScheduler = currentScheduler$c.current;
|
|
3432
3545
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
3433
3546
|
var needUpdate = true;
|
|
3434
|
-
var isSync =
|
|
3547
|
+
var isSync = true;
|
|
3435
3548
|
var isForce = false;
|
|
3436
3549
|
var isImmediate = false;
|
|
3437
3550
|
var isRetrigger = false;
|
|
@@ -3841,9 +3954,9 @@ function requireIndex_development_1 () {
|
|
|
3841
3954
|
};
|
|
3842
3955
|
|
|
3843
3956
|
var globalLoop$2 = react.__my_react_internal__.globalLoop, currentScheduler$a = react.__my_react_internal__.currentScheduler;
|
|
3844
|
-
var enableConcurrentMode$1 = react.__my_react_shared__.enableConcurrentMode;
|
|
3845
3957
|
var scheduleUpdateFromRoot = function (renderDispatch) {
|
|
3846
3958
|
var _a, _b, _c, _d;
|
|
3959
|
+
flushEffectCallback();
|
|
3847
3960
|
var allLive = renderDispatch.pendingUpdateFiberArray.getAll().filter(function (f) { return myreactSharedExports.exclude(f.state, myreactSharedExports.STATE_TYPE.__unmount__); });
|
|
3848
3961
|
renderDispatch.pendingUpdateFiberArray.clear();
|
|
3849
3962
|
if (allLive.length) {
|
|
@@ -3851,7 +3964,7 @@ function requireIndex_development_1 () {
|
|
|
3851
3964
|
renderDispatch.runtimeFiber.nextWorkingFiber = renderDispatch.rootFiber;
|
|
3852
3965
|
currentTriggerFiber.current = allLive.length > 1 ? allLive : allLive[0];
|
|
3853
3966
|
allLive.forEach(function (fiber) { return applyTriggerFiberCb(renderDispatch, fiber); });
|
|
3854
|
-
if (!enableConcurrentMode
|
|
3967
|
+
if (!renderDispatch.enableConcurrentMode || allLive.some(function (f) { return myreactSharedExports.include(f.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__); })) {
|
|
3855
3968
|
{
|
|
3856
3969
|
(_b = (_a = listenerMap.get(renderDispatch)) === null || _a === void 0 ? void 0 : _a.beforeDispatchUpdate) === null || _b === void 0 ? void 0 : _b.forEach(function (cb) { return cb(renderDispatch, allLive); });
|
|
3857
3970
|
}
|
|
@@ -3967,7 +4080,7 @@ function requireIndex_development_1 () {
|
|
|
3967
4080
|
return myreactSharedExports.include(renderDispatch.runtimeFiber.nextWorkingFiber.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__);
|
|
3968
4081
|
// include(renderDispatch.runtimeFiber.nextWorkingFiber.state, STATE_TYPE.__retrigger__)
|
|
3969
4082
|
}
|
|
3970
|
-
function
|
|
4083
|
+
function updateConcurrentNextFrame(renderDispatch) {
|
|
3971
4084
|
var renderScheduler = currentScheduler$9.current;
|
|
3972
4085
|
enableScopeTreeLog$3.current && setLogScope();
|
|
3973
4086
|
var hasSync = updateLoopConcurrentFromRoot(renderDispatch);
|
|
@@ -3982,7 +4095,7 @@ function requireIndex_development_1 () {
|
|
|
3982
4095
|
updateSyncFromRoot(renderDispatch);
|
|
3983
4096
|
}
|
|
3984
4097
|
else {
|
|
3985
|
-
|
|
4098
|
+
updateConcurrentNextFrame(renderDispatch);
|
|
3986
4099
|
}
|
|
3987
4100
|
});
|
|
3988
4101
|
}
|
|
@@ -3990,8 +4103,7 @@ function requireIndex_development_1 () {
|
|
|
3990
4103
|
else {
|
|
3991
4104
|
processAsyncLoadListOnUpdate(renderDispatch);
|
|
3992
4105
|
finishUpdateConcurrentFromRoot(renderDispatch);
|
|
3993
|
-
renderScheduler.
|
|
3994
|
-
// TODO! flash all effect
|
|
4106
|
+
renderScheduler.macroTask(function callScheduleNext() {
|
|
3995
4107
|
globalLoop$1.current = false;
|
|
3996
4108
|
scheduleNext(renderDispatch);
|
|
3997
4109
|
});
|
|
@@ -4013,7 +4125,7 @@ function requireIndex_development_1 () {
|
|
|
4013
4125
|
updateSyncFromRoot(renderDispatch);
|
|
4014
4126
|
}
|
|
4015
4127
|
else {
|
|
4016
|
-
|
|
4128
|
+
updateConcurrentNextFrame(renderDispatch);
|
|
4017
4129
|
}
|
|
4018
4130
|
});
|
|
4019
4131
|
}
|
|
@@ -4021,8 +4133,7 @@ function requireIndex_development_1 () {
|
|
|
4021
4133
|
else {
|
|
4022
4134
|
processAsyncLoadListOnUpdate(renderDispatch);
|
|
4023
4135
|
finishUpdateConcurrentFromRoot(renderDispatch);
|
|
4024
|
-
renderScheduler.
|
|
4025
|
-
// TODO! flash all effect
|
|
4136
|
+
renderScheduler.macroTask(function callScheduleNext() {
|
|
4026
4137
|
globalLoop$1.current = false;
|
|
4027
4138
|
scheduleNext(renderDispatch);
|
|
4028
4139
|
});
|
|
@@ -4091,7 +4202,9 @@ function requireIndex_development_1 () {
|
|
|
4091
4202
|
if (!field)
|
|
4092
4203
|
throw new Error("[@my-react/react] hook instance not found, look like a bug for @my-react");
|
|
4093
4204
|
var typedField = field;
|
|
4094
|
-
typedField.dispatch = function (action) {
|
|
4205
|
+
typedField.dispatch = function dispatchAction(action) {
|
|
4206
|
+
hookNode._update({ payLoad: action, isForce: false, isSync: enableSyncFlush.current });
|
|
4207
|
+
};
|
|
4095
4208
|
};
|
|
4096
4209
|
|
|
4097
4210
|
var currentComponentFiber$3 = react.__my_react_internal__.currentComponentFiber;
|
|
@@ -4127,12 +4240,22 @@ function requireIndex_development_1 () {
|
|
|
4127
4240
|
};
|
|
4128
4241
|
var defaultOptimisticReducer = function (state) { return state; };
|
|
4129
4242
|
var createHookNode = function (renderDispatch, _a, fiber) {
|
|
4130
|
-
var _b;
|
|
4243
|
+
var _b, _c;
|
|
4131
4244
|
var type = _a.type, value = _a.value, reducer = _a.reducer, deps = _a.deps;
|
|
4132
4245
|
var currentHook = (_b = currentHookTreeNode$2.current) === null || _b === void 0 ? void 0 : _b.value;
|
|
4133
4246
|
var currentHookIndex = currentHookNodeIndex$2.current;
|
|
4247
|
+
var currentIsReCreate = myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__recreate__);
|
|
4134
4248
|
if (currentHook) {
|
|
4135
|
-
|
|
4249
|
+
if (currentIsReCreate) {
|
|
4250
|
+
if (currentHookIndex === 0) {
|
|
4251
|
+
defaultDeleteChildEffect(renderDispatch, fiber);
|
|
4252
|
+
defaultDeleteCurrentEffect(renderDispatch, fiber);
|
|
4253
|
+
fiber.hookList.clear();
|
|
4254
|
+
}
|
|
4255
|
+
}
|
|
4256
|
+
else {
|
|
4257
|
+
throw new Error("[@my-react/react] should not have a hookList for current node, this is a bug for @my-react");
|
|
4258
|
+
}
|
|
4136
4259
|
}
|
|
4137
4260
|
var hookNode = new MyReactHookNode(type, value, reducer || defaultReducer, deps);
|
|
4138
4261
|
initInstance(hookNode);
|
|
@@ -4157,6 +4280,10 @@ function requireIndex_development_1 () {
|
|
|
4157
4280
|
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useRef || hookNode.type === myreactSharedExports.HOOK_TYPE.useCallback || hookNode.type === myreactSharedExports.HOOK_TYPE.useDeferredValue) {
|
|
4158
4281
|
hookNode.result = hookNode.value;
|
|
4159
4282
|
}
|
|
4283
|
+
// cache ref state from recreate
|
|
4284
|
+
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useRef && currentHook && currentHook.type === myreactSharedExports.HOOK_TYPE.useRef) {
|
|
4285
|
+
hookNode.result = currentHook.result;
|
|
4286
|
+
}
|
|
4160
4287
|
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useId) {
|
|
4161
4288
|
hookNode.result = "\u00AB-".concat(currentHookIndex, "-").concat(renderDispatch.uniqueIdCount++, "-\u00BB");
|
|
4162
4289
|
hookNode.cancel = function () { return renderDispatch.uniqueIdCount--; };
|
|
@@ -4179,12 +4306,13 @@ function requireIndex_development_1 () {
|
|
|
4179
4306
|
return safeCallWithCurrentFiber({
|
|
4180
4307
|
fiber: fiber,
|
|
4181
4308
|
action: function safeCallGetSnapshot() {
|
|
4182
|
-
var _a;
|
|
4183
4309
|
return renderDispatch.isAppMounted
|
|
4184
4310
|
? storeApi_1.getSnapshot.call(null)
|
|
4185
|
-
:
|
|
4186
|
-
|
|
4187
|
-
|
|
4311
|
+
: // SEE https://github.com/facebook/react/blob/main/packages/use-sync-external-store/src/useSyncExternalStoreShimClient.js#L33
|
|
4312
|
+
// : storeApi.getServerSnapshot
|
|
4313
|
+
// ? storeApi.getServerSnapshot?.call(null)
|
|
4314
|
+
// : storeApi.getSnapshot.call(null);
|
|
4315
|
+
storeApi_1.getSnapshot.call(null);
|
|
4188
4316
|
},
|
|
4189
4317
|
});
|
|
4190
4318
|
};
|
|
@@ -4286,6 +4414,7 @@ function requireIndex_development_1 () {
|
|
|
4286
4414
|
typedHook._debugType = myreactSharedExports.HOOK_TYPE[hookNode.type];
|
|
4287
4415
|
typedHook._debugIndex = currentHookIndex;
|
|
4288
4416
|
}
|
|
4417
|
+
currentHookTreeNode$2.current = (_c = currentHookTreeNode$2.current) === null || _c === void 0 ? void 0 : _c.next;
|
|
4289
4418
|
return hookNode;
|
|
4290
4419
|
};
|
|
4291
4420
|
|
|
@@ -4641,11 +4770,10 @@ function requireIndex_development_1 () {
|
|
|
4641
4770
|
fiber.constructor.prototype.isMyReactFiberNode);
|
|
4642
4771
|
};
|
|
4643
4772
|
|
|
4644
|
-
var enableConcurrentMode = react.__my_react_shared__.enableConcurrentMode;
|
|
4645
4773
|
var currentScheduler$5 = react.__my_react_internal__.currentScheduler;
|
|
4646
4774
|
var processUpdateOnFiber = function (renderDispatch, fiber, _isImmediate, _isRetrigger) {
|
|
4647
4775
|
var renderScheduler = currentScheduler$5.current;
|
|
4648
|
-
var flag = enableConcurrentMode
|
|
4776
|
+
var flag = renderDispatch.enableConcurrentMode;
|
|
4649
4777
|
var updateState = null;
|
|
4650
4778
|
if (myreactSharedExports.include(fiber.type, exports.NODE_TYPE.__class__)) {
|
|
4651
4779
|
updateState = flag ? processClassComponentUpdateQueueLatest(renderDispatch, fiber, flag) : processClassComponentUpdateQueueLegacy(renderDispatch, fiber);
|
|
@@ -4886,7 +5014,8 @@ function requireIndex_development_1 () {
|
|
|
4886
5014
|
renderDispatch.pendingUpdate(fiber);
|
|
4887
5015
|
}
|
|
4888
5016
|
}
|
|
4889
|
-
if (
|
|
5017
|
+
if (prevRef !== nextRef) {
|
|
5018
|
+
fiber.refPrevious = prevRef;
|
|
4890
5019
|
renderDispatch.pendingRef(fiber);
|
|
4891
5020
|
}
|
|
4892
5021
|
if (fiber !== prevFiber) {
|
|
@@ -5045,8 +5174,8 @@ function requireIndex_development_1 () {
|
|
|
5045
5174
|
return updateFiberNode(renderDispatch, { fiber: draftFiber_1, parent: parentFiber, prevFiber: prevFiberChild }, newElement);
|
|
5046
5175
|
}
|
|
5047
5176
|
else {
|
|
5048
|
-
renderDispatch.generateChangedList(parentFiber);
|
|
5049
|
-
renderDispatch.pendingUnmount(parentFiber, draftFiber_1);
|
|
5177
|
+
draftFiber_1 && renderDispatch.generateChangedList(parentFiber);
|
|
5178
|
+
draftFiber_1 && renderDispatch.pendingUnmount(parentFiber, draftFiber_1);
|
|
5050
5179
|
return createFragmentWithUpdate(renderDispatch, newChild, parentFiber);
|
|
5051
5180
|
}
|
|
5052
5181
|
}
|
|
@@ -5063,7 +5192,7 @@ function requireIndex_development_1 () {
|
|
|
5063
5192
|
}
|
|
5064
5193
|
else {
|
|
5065
5194
|
draftFiber && renderDispatch.pendingUnmount(parentFiber, draftFiber);
|
|
5066
|
-
renderDispatch.generateChangedList(parentFiber);
|
|
5195
|
+
draftFiber && renderDispatch.generateChangedList(parentFiber);
|
|
5067
5196
|
return createFiberNode(renderDispatch, { parent: parentFiber, type: "position" }, newChild);
|
|
5068
5197
|
}
|
|
5069
5198
|
};
|
|
@@ -5078,9 +5207,13 @@ function requireIndex_development_1 () {
|
|
|
5078
5207
|
var isUpdate = myreactSharedExports.exclude(parentFiber.state, myreactSharedExports.STATE_TYPE.__create__);
|
|
5079
5208
|
var isHMR = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__hmr__);
|
|
5080
5209
|
var isRetrigger = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
5210
|
+
var isSuspense = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__suspense__);
|
|
5081
5211
|
// is current is retrigger update, skip update children
|
|
5082
5212
|
if (isRetrigger)
|
|
5083
5213
|
return;
|
|
5214
|
+
// if is suspense, skip update children
|
|
5215
|
+
if (isSuspense)
|
|
5216
|
+
return;
|
|
5084
5217
|
if (isUpdate || isHMR) {
|
|
5085
5218
|
var _a = getExistingChildren(parentFiber), existingChildrenMap = _a.existingChildrenMap, existingChildrenArray = _a.existingChildrenArray;
|
|
5086
5219
|
parentFiber.child = null;
|
|
@@ -5184,6 +5317,11 @@ function requireIndex_development_1 () {
|
|
|
5184
5317
|
};
|
|
5185
5318
|
|
|
5186
5319
|
var currentHookTreeNode = react.__my_react_internal__.currentHookTreeNode, currentHookNodeIndex$1 = react.__my_react_internal__.currentHookNodeIndex, currentScheduler$4 = react.__my_react_internal__.currentScheduler;
|
|
5320
|
+
var triggerState = myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
5321
|
+
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
5322
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
5323
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
5324
|
+
myreactSharedExports.STATE_TYPE.__retrigger__;
|
|
5187
5325
|
var processFunction = function (fiber) {
|
|
5188
5326
|
var _a;
|
|
5189
5327
|
currentHookTreeNode.current = (_a = fiber.hookList) === null || _a === void 0 ? void 0 : _a.head;
|
|
@@ -5195,14 +5333,20 @@ function requireIndex_development_1 () {
|
|
|
5195
5333
|
children = safeCallWithCurrentFiber({
|
|
5196
5334
|
fiber: fiber,
|
|
5197
5335
|
action: function safeCallForwardRefFunctionalComponent() {
|
|
5198
|
-
var _a, _b;
|
|
5336
|
+
var _a, _b, _c, _d;
|
|
5199
5337
|
var re = undefined;
|
|
5200
5338
|
try {
|
|
5201
5339
|
re = typedElementTypeWithRef_1(fiber.pendingProps, fiber.ref);
|
|
5202
5340
|
}
|
|
5203
5341
|
catch (e) {
|
|
5204
5342
|
if (myreactSharedExports.isPromise(e)) {
|
|
5205
|
-
|
|
5343
|
+
var currentIsTrigger = myreactSharedExports.include(fiber.state, triggerState);
|
|
5344
|
+
if (currentIsTrigger) {
|
|
5345
|
+
re = (_b = (_a = currentScheduler$4.current) === null || _a === void 0 ? void 0 : _a.dispatchSuspensePromise) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, promise: e });
|
|
5346
|
+
}
|
|
5347
|
+
else {
|
|
5348
|
+
re = (_d = (_c = currentScheduler$4.current) === null || _c === void 0 ? void 0 : _c.dispatchPromise) === null || _d === void 0 ? void 0 : _d.call(_c, { fiber: fiber, promise: e });
|
|
5349
|
+
}
|
|
5206
5350
|
}
|
|
5207
5351
|
else {
|
|
5208
5352
|
throw e;
|
|
@@ -5216,14 +5360,20 @@ function requireIndex_development_1 () {
|
|
|
5216
5360
|
children = safeCallWithCurrentFiber({
|
|
5217
5361
|
fiber: fiber,
|
|
5218
5362
|
action: function safeCallFunctionalComponent() {
|
|
5219
|
-
var _a, _b;
|
|
5363
|
+
var _a, _b, _c, _d;
|
|
5220
5364
|
var re = undefined;
|
|
5221
5365
|
try {
|
|
5222
5366
|
re = typedElementType(fiber.pendingProps);
|
|
5223
5367
|
}
|
|
5224
5368
|
catch (e) {
|
|
5225
5369
|
if (myreactSharedExports.isPromise(e)) {
|
|
5226
|
-
|
|
5370
|
+
var currentIsTrigger = myreactSharedExports.include(fiber.state, triggerState);
|
|
5371
|
+
if (currentIsTrigger) {
|
|
5372
|
+
re = (_b = (_a = currentScheduler$4.current) === null || _a === void 0 ? void 0 : _a.dispatchSuspensePromise) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, promise: e });
|
|
5373
|
+
}
|
|
5374
|
+
else {
|
|
5375
|
+
re = (_d = (_c = currentScheduler$4.current) === null || _c === void 0 ? void 0 : _c.dispatchPromise) === null || _d === void 0 ? void 0 : _d.call(_c, { fiber: fiber, promise: e });
|
|
5376
|
+
}
|
|
5227
5377
|
}
|
|
5228
5378
|
else {
|
|
5229
5379
|
throw e;
|
|
@@ -5312,7 +5462,7 @@ function requireIndex_development_1 () {
|
|
|
5312
5462
|
return null;
|
|
5313
5463
|
}
|
|
5314
5464
|
else {
|
|
5315
|
-
// TODO
|
|
5465
|
+
// TODO update flow
|
|
5316
5466
|
if (enableSuspenseRoot$1.current && !renderDispatch.isAppMounted) {
|
|
5317
5467
|
var suspenseField = getInstanceFieldByInstance(renderDispatch);
|
|
5318
5468
|
suspenseField.asyncLoadList.uniPush(typedElementType);
|
|
@@ -5721,6 +5871,9 @@ function requireIndex_development_1 () {
|
|
|
5721
5871
|
RenderDispatchEvent.prototype.dispatchPromise = function (_params) {
|
|
5722
5872
|
throw new Error("Method not implemented.");
|
|
5723
5873
|
};
|
|
5874
|
+
RenderDispatchEvent.prototype.dispatchSuspensePromise = function (_params) {
|
|
5875
|
+
throw new Error("Method not implemented.");
|
|
5876
|
+
};
|
|
5724
5877
|
RenderDispatchEvent.prototype.trigger = function (_fiber, _state, cb) {
|
|
5725
5878
|
return triggerUpdateOnFiber(_fiber, _state, cb);
|
|
5726
5879
|
};
|
|
@@ -6251,14 +6404,25 @@ function requireIndex_development_1 () {
|
|
|
6251
6404
|
layoutEffect(_dispatch, _fiber);
|
|
6252
6405
|
});
|
|
6253
6406
|
afterSyncUpdate();
|
|
6254
|
-
|
|
6255
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
6407
|
+
function invokeEffectListTask() {
|
|
6256
6408
|
enableScopeTreeLog$2.current && setLogScope();
|
|
6257
6409
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
6258
6410
|
effect(_dispatch, _fiber);
|
|
6259
6411
|
});
|
|
6260
6412
|
enableScopeTreeLog$2.current && resetLogScope();
|
|
6261
|
-
}
|
|
6413
|
+
}
|
|
6414
|
+
addEffectCallback(invokeEffectListTask);
|
|
6415
|
+
var renderScheduler = currentScheduler$2.current;
|
|
6416
|
+
if (_dispatch.enableConcurrentMode) {
|
|
6417
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
6418
|
+
flushEffectCallback();
|
|
6419
|
+
});
|
|
6420
|
+
}
|
|
6421
|
+
else {
|
|
6422
|
+
renderScheduler.microTask(function flushEffect() {
|
|
6423
|
+
flushEffectCallback();
|
|
6424
|
+
});
|
|
6425
|
+
}
|
|
6262
6426
|
};
|
|
6263
6427
|
var defaultDispatchMount = defaultDispatchMountLatest;
|
|
6264
6428
|
|
|
@@ -6359,9 +6523,7 @@ function requireIndex_development_1 () {
|
|
|
6359
6523
|
}
|
|
6360
6524
|
});
|
|
6361
6525
|
afterSyncUpdate();
|
|
6362
|
-
|
|
6363
|
-
// TODO before next update flow, make sure all the effect has done
|
|
6364
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
6526
|
+
function invokeEffectListTask() {
|
|
6365
6527
|
enableScopeTreeLog$1.current && setLogScope();
|
|
6366
6528
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
6367
6529
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
@@ -6369,7 +6531,19 @@ function requireIndex_development_1 () {
|
|
|
6369
6531
|
}
|
|
6370
6532
|
});
|
|
6371
6533
|
enableScopeTreeLog$1.current && resetLogScope();
|
|
6372
|
-
}
|
|
6534
|
+
}
|
|
6535
|
+
addEffectCallback(invokeEffectListTask);
|
|
6536
|
+
var renderScheduler = currentScheduler$1.current;
|
|
6537
|
+
if (_dispatch.enableConcurrentMode) {
|
|
6538
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
6539
|
+
flushEffectCallback();
|
|
6540
|
+
});
|
|
6541
|
+
}
|
|
6542
|
+
else {
|
|
6543
|
+
renderScheduler.microTask(function flushEffect() {
|
|
6544
|
+
flushEffectCallback();
|
|
6545
|
+
});
|
|
6546
|
+
}
|
|
6373
6547
|
};
|
|
6374
6548
|
|
|
6375
6549
|
var enableSuspenseRoot = react.__my_react_shared__.enableSuspenseRoot;
|
|
@@ -6434,7 +6608,9 @@ function requireIndex_development_1 () {
|
|
|
6434
6608
|
promise._loading = true;
|
|
6435
6609
|
promise.status = "pending";
|
|
6436
6610
|
var renderScheduler_1 = currentScheduler.current;
|
|
6437
|
-
renderDispatch
|
|
6611
|
+
renderDispatch
|
|
6612
|
+
.processPromise(promise)
|
|
6613
|
+
.then(function () {
|
|
6438
6614
|
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
6439
6615
|
promise._list.delete(fiber);
|
|
6440
6616
|
promise._loading = false;
|
|
@@ -6446,10 +6622,49 @@ function requireIndex_development_1 () {
|
|
|
6446
6622
|
payLoad: promise,
|
|
6447
6623
|
};
|
|
6448
6624
|
renderScheduler_1.dispatchState(updater);
|
|
6449
|
-
})
|
|
6625
|
+
})
|
|
6626
|
+
.catch(function (e) { return renderScheduler_1.dispatchError({ fiber: fiber, error: e }); });
|
|
6450
6627
|
return null;
|
|
6451
6628
|
}
|
|
6452
6629
|
};
|
|
6630
|
+
var processSuspensePromise = function (renderDispatch, fiber, promise) {
|
|
6631
|
+
var _a, _b;
|
|
6632
|
+
defaultDeleteCurrentEffect(renderDispatch, fiber);
|
|
6633
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__suspense__;
|
|
6634
|
+
if (promise.status === "rejected") {
|
|
6635
|
+
(_b = (_a = currentScheduler.current).dispatchError) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, error: promise._reason });
|
|
6636
|
+
return null;
|
|
6637
|
+
}
|
|
6638
|
+
if (promise.status === "fulfilled") {
|
|
6639
|
+
{
|
|
6640
|
+
console.warn("[@my-react/react] throw a promise what has already fulfilled, this is not a valid usage");
|
|
6641
|
+
}
|
|
6642
|
+
}
|
|
6643
|
+
promise._list = promise._list || new Set();
|
|
6644
|
+
promise._list.add(fiber);
|
|
6645
|
+
if (promise._loading)
|
|
6646
|
+
return null;
|
|
6647
|
+
promise._loading = true;
|
|
6648
|
+
promise.status = "pending";
|
|
6649
|
+
var renderScheduler = currentScheduler.current;
|
|
6650
|
+
renderDispatch
|
|
6651
|
+
.processPromise(promise)
|
|
6652
|
+
.then(function () {
|
|
6653
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
6654
|
+
promise._list.delete(fiber);
|
|
6655
|
+
promise._loading = false;
|
|
6656
|
+
var updater = {
|
|
6657
|
+
type: myreactSharedExports.UpdateQueueType.promise,
|
|
6658
|
+
trigger: fiber,
|
|
6659
|
+
isSync: true,
|
|
6660
|
+
isForce: true,
|
|
6661
|
+
payLoad: promise,
|
|
6662
|
+
};
|
|
6663
|
+
renderScheduler.dispatchState(updater);
|
|
6664
|
+
})
|
|
6665
|
+
.catch(function (e) { return renderScheduler.dispatchError({ fiber: fiber, error: e }); });
|
|
6666
|
+
return null;
|
|
6667
|
+
};
|
|
6453
6668
|
|
|
6454
6669
|
var CustomRenderDispatch = /** @class */ (function (_super) {
|
|
6455
6670
|
__extends(CustomRenderDispatch, _super);
|
|
@@ -6460,7 +6675,7 @@ function requireIndex_development_1 () {
|
|
|
6460
6675
|
_this.isAppMounted = false;
|
|
6461
6676
|
_this.isAppCrashed = false;
|
|
6462
6677
|
_this.isAppUnmounted = false;
|
|
6463
|
-
_this.version = "0.3.
|
|
6678
|
+
_this.version = "0.3.18";
|
|
6464
6679
|
_this.mode = "development" ;
|
|
6465
6680
|
_this.renderMode = "render";
|
|
6466
6681
|
_this.pendingCommitFiberList = null;
|
|
@@ -6899,7 +7114,7 @@ function requireIndex_development_1 () {
|
|
|
6899
7114
|
});
|
|
6900
7115
|
}); };
|
|
6901
7116
|
|
|
6902
|
-
var version = "0.3.
|
|
7117
|
+
var version = "0.3.18";
|
|
6903
7118
|
|
|
6904
7119
|
exports.CustomRenderDispatch = CustomRenderDispatch;
|
|
6905
7120
|
exports.MyReactFiberNode = MyReactFiberNode;
|
|
@@ -6908,6 +7123,7 @@ function requireIndex_development_1 () {
|
|
|
6908
7123
|
exports.RenderDispatchEvent = RenderDispatchEvent;
|
|
6909
7124
|
exports.WrapperByLazyScope = WrapperByLazyScope;
|
|
6910
7125
|
exports.WrapperBySuspenseScope = WrapperBySuspenseScope;
|
|
7126
|
+
exports.addEffectCallback = addEffectCallback;
|
|
6911
7127
|
exports.afterSyncFlush = afterSyncFlush;
|
|
6912
7128
|
exports.afterSyncUpdate = afterSyncUpdate;
|
|
6913
7129
|
exports.applyTriggerFiberCb = applyTriggerFiberCb;
|
|
@@ -6957,6 +7173,7 @@ function requireIndex_development_1 () {
|
|
|
6957
7173
|
exports.enableLogForCurrentFlowIsRunning = enableLogForCurrentFlowIsRunning;
|
|
6958
7174
|
exports.enableValidMyReactElement = enableValidMyReactElement;
|
|
6959
7175
|
exports.fiberToDispatchMap = fiberToDispatchMap;
|
|
7176
|
+
exports.flushEffectCallback = flushEffectCallback;
|
|
6960
7177
|
exports.generateFiberToListWithAction = generateFiberToListWithAction;
|
|
6961
7178
|
exports.generateFiberToMountList = generateFiberToMountList;
|
|
6962
7179
|
exports.generateFiberToUnmountList = generateFiberToUnmountList;
|
|
@@ -7046,6 +7263,7 @@ function requireIndex_development_1 () {
|
|
|
7046
7263
|
exports.processProvider = processProvider;
|
|
7047
7264
|
exports.processState = processState;
|
|
7048
7265
|
exports.processSuspense = processSuspense;
|
|
7266
|
+
exports.processSuspensePromise = processSuspensePromise;
|
|
7049
7267
|
exports.resetLogScope = resetLogScope;
|
|
7050
7268
|
exports.runtimeNextWork = runtimeNextWork;
|
|
7051
7269
|
exports.runtimeNextWorkDev = runtimeNextWorkDev;
|
|
@@ -7322,6 +7540,7 @@ function requireIndex_development () {
|
|
|
7322
7540
|
STATE_TYPE[STATE_TYPE["__retrigger__"] = 512] = "__retrigger__";
|
|
7323
7541
|
STATE_TYPE[STATE_TYPE["__reschedule__"] = 1024] = "__reschedule__";
|
|
7324
7542
|
STATE_TYPE[STATE_TYPE["__recreate__"] = 2048] = "__recreate__";
|
|
7543
|
+
STATE_TYPE[STATE_TYPE["__suspense__"] = 4096] = "__suspense__";
|
|
7325
7544
|
})(exports.STATE_TYPE || (exports.STATE_TYPE = {}));
|
|
7326
7545
|
|
|
7327
7546
|
exports.PATCH_TYPE = void 0;
|
|
@@ -7807,27 +8026,51 @@ var delGlobalDispatch = function (dispatch) {
|
|
|
7807
8026
|
* @internal
|
|
7808
8027
|
*/
|
|
7809
8028
|
var setRef = function (_fiber, config) {
|
|
7810
|
-
var _a, _b;
|
|
7811
8029
|
if (myreactSharedExports.include(_fiber.patch, myreactSharedExports.PATCH_TYPE.__ref__)) {
|
|
8030
|
+
var cleanUp = function () {
|
|
8031
|
+
var refPrevious = _fiber.refPrevious;
|
|
8032
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
8033
|
+
fiber: _fiber,
|
|
8034
|
+
action: function safeCallRefPrevious() {
|
|
8035
|
+
if (typeof refPrevious === "object" && refPrevious !== null) {
|
|
8036
|
+
refPrevious.current = null;
|
|
8037
|
+
}
|
|
8038
|
+
else if (typeof refPrevious === "function") {
|
|
8039
|
+
refPrevious === null || refPrevious === void 0 ? void 0 : refPrevious(null);
|
|
8040
|
+
}
|
|
8041
|
+
},
|
|
8042
|
+
});
|
|
8043
|
+
_fiber.refPrevious = undefined;
|
|
8044
|
+
var refCleanup = _fiber.refCleanup;
|
|
8045
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
8046
|
+
fiber: _fiber,
|
|
8047
|
+
action: function safeCallRefCleanup() {
|
|
8048
|
+
if (typeof refCleanup === "function") {
|
|
8049
|
+
refCleanup();
|
|
8050
|
+
}
|
|
8051
|
+
},
|
|
8052
|
+
});
|
|
8053
|
+
_fiber.refCleanup = undefined;
|
|
8054
|
+
};
|
|
7812
8055
|
if (myreactSharedExports.include(_fiber.type, myreactReconcilerExports.NODE_TYPE.__plain__)) {
|
|
7813
8056
|
if (_fiber.nativeNode) {
|
|
8057
|
+
cleanUp();
|
|
7814
8058
|
var ref_1 = _fiber.ref;
|
|
7815
|
-
|
|
7816
|
-
|
|
7817
|
-
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
(_a = _fiber.refCleanup) === null || _a === void 0 ? void 0 : _a.call(_fiber);
|
|
8059
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
8060
|
+
fiber: _fiber,
|
|
8061
|
+
action: function safeCallSetRef() {
|
|
8062
|
+
var _a, _b;
|
|
8063
|
+
if (typeof ref_1 === "object" && ref_1 !== null) {
|
|
8064
|
+
ref_1.current = (_a = config === null || config === void 0 ? void 0 : config.getPublicInstance) === null || _a === void 0 ? void 0 : _a.call(config, _fiber.nativeNode);
|
|
8065
|
+
}
|
|
8066
|
+
else if (typeof ref_1 === "function") {
|
|
7824
8067
|
var refCleanUp = ref_1((_b = config === null || config === void 0 ? void 0 : config.getPublicInstance) === null || _b === void 0 ? void 0 : _b.call(config, _fiber.nativeNode));
|
|
7825
8068
|
if (typeof refCleanUp === "function") {
|
|
7826
8069
|
_fiber.refCleanup = refCleanUp;
|
|
7827
8070
|
}
|
|
7828
|
-
}
|
|
7829
|
-
}
|
|
7830
|
-
}
|
|
8071
|
+
}
|
|
8072
|
+
},
|
|
8073
|
+
});
|
|
7831
8074
|
}
|
|
7832
8075
|
else {
|
|
7833
8076
|
throw new Error("[@my-react/react] plain element do not have a native node");
|
|
@@ -7835,23 +8078,23 @@ var setRef = function (_fiber, config) {
|
|
|
7835
8078
|
}
|
|
7836
8079
|
else if (myreactSharedExports.include(_fiber.type, myreactReconcilerExports.NODE_TYPE.__class__)) {
|
|
7837
8080
|
if (_fiber.instance) {
|
|
8081
|
+
cleanUp();
|
|
7838
8082
|
var ref_2 = _fiber.ref;
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
|
|
7842
|
-
|
|
7843
|
-
|
|
7844
|
-
|
|
7845
|
-
|
|
7846
|
-
|
|
7847
|
-
(_a = _fiber.refCleanup) === null || _a === void 0 ? void 0 : _a.call(_fiber);
|
|
8083
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
8084
|
+
fiber: _fiber,
|
|
8085
|
+
action: function safeCallSetRef() {
|
|
8086
|
+
var _a, _b;
|
|
8087
|
+
if (typeof ref_2 === "object" && ref_2 !== null) {
|
|
8088
|
+
ref_2.current = (_a = config === null || config === void 0 ? void 0 : config.getPublicInstance) === null || _a === void 0 ? void 0 : _a.call(config, _fiber.instance);
|
|
8089
|
+
}
|
|
8090
|
+
else if (typeof ref_2 === "function") {
|
|
7848
8091
|
var refCleanUp = ref_2((_b = config === null || config === void 0 ? void 0 : config.getPublicInstance) === null || _b === void 0 ? void 0 : _b.call(config, _fiber.instance));
|
|
7849
8092
|
if (typeof refCleanUp === "function") {
|
|
7850
8093
|
_fiber.refCleanup = refCleanUp;
|
|
7851
8094
|
}
|
|
7852
|
-
}
|
|
7853
|
-
}
|
|
7854
|
-
}
|
|
8095
|
+
}
|
|
8096
|
+
},
|
|
8097
|
+
});
|
|
7855
8098
|
}
|
|
7856
8099
|
else {
|
|
7857
8100
|
throw new Error("[@my-react/react-dom] class component do not have a instance");
|
|
@@ -8321,13 +8564,17 @@ var ReconcilerDispatchMount = function (_dispatch, _fiber, config) {
|
|
|
8321
8564
|
myreactReconcilerExports.layoutEffect(_dispatch, _fiber);
|
|
8322
8565
|
});
|
|
8323
8566
|
myreactReconcilerExports.afterSyncUpdate();
|
|
8324
|
-
|
|
8325
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
8567
|
+
function invokeEffectListTask() {
|
|
8326
8568
|
enableScopeTreeLog$3.current && myreactReconcilerExports.setLogScope();
|
|
8327
8569
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
8328
8570
|
myreactReconcilerExports.effect(_dispatch, _fiber);
|
|
8329
8571
|
});
|
|
8330
8572
|
enableScopeTreeLog$3.current && myreactReconcilerExports.resetLogScope();
|
|
8573
|
+
}
|
|
8574
|
+
myreactReconcilerExports.addEffectCallback(invokeEffectListTask);
|
|
8575
|
+
var renderScheduler = currentScheduler$2.current;
|
|
8576
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
8577
|
+
myreactReconcilerExports.flushEffectCallback();
|
|
8331
8578
|
});
|
|
8332
8579
|
};
|
|
8333
8580
|
|
|
@@ -8346,7 +8593,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8346
8593
|
}
|
|
8347
8594
|
});
|
|
8348
8595
|
myreactReconcilerExports.afterSyncUpdate();
|
|
8349
|
-
var
|
|
8596
|
+
var pendingFinalizeInitialChildrenFiberSet = new Set();
|
|
8350
8597
|
var pendingCommitFiberArray = [];
|
|
8351
8598
|
_list.listToFoot(function invokeCreateAndUpdateList(_fiber) {
|
|
8352
8599
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
@@ -8360,7 +8607,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8360
8607
|
});
|
|
8361
8608
|
var afterHasNode = _fiber.nativeNode;
|
|
8362
8609
|
if (!beforeHasNode && afterHasNode) {
|
|
8363
|
-
|
|
8610
|
+
pendingFinalizeInitialChildrenFiberSet.add(_fiber);
|
|
8364
8611
|
}
|
|
8365
8612
|
}
|
|
8366
8613
|
});
|
|
@@ -8370,6 +8617,8 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8370
8617
|
fiber: _fiber,
|
|
8371
8618
|
action: function safeCallPosition() {
|
|
8372
8619
|
_dispatch.commitPosition(_fiber);
|
|
8620
|
+
var parentFiber = getValidParentFiberWithNode(_dispatch, _fiber);
|
|
8621
|
+
parentFiber && pendingFinalizeInitialChildrenFiberSet.add(parentFiber);
|
|
8373
8622
|
},
|
|
8374
8623
|
});
|
|
8375
8624
|
}
|
|
@@ -8380,6 +8629,8 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8380
8629
|
fiber: _fiber,
|
|
8381
8630
|
action: function safeCallAppendList() {
|
|
8382
8631
|
_dispatch.commitAppend(_fiber);
|
|
8632
|
+
var parentFiber = getValidParentFiberWithNode(_dispatch, _fiber);
|
|
8633
|
+
parentFiber && pendingFinalizeInitialChildrenFiberSet.add(parentFiber);
|
|
8383
8634
|
},
|
|
8384
8635
|
});
|
|
8385
8636
|
}
|
|
@@ -8394,7 +8645,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8394
8645
|
});
|
|
8395
8646
|
}
|
|
8396
8647
|
});
|
|
8397
|
-
|
|
8648
|
+
pendingFinalizeInitialChildrenFiberSet.forEach(function invokeFinalizeInitialChildren(_fiber) {
|
|
8398
8649
|
if (_fiber.nativeNode) {
|
|
8399
8650
|
var node = config.getPublicInstance(_fiber.nativeNode);
|
|
8400
8651
|
var type = _fiber.elementType;
|
|
@@ -8420,9 +8671,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8420
8671
|
}
|
|
8421
8672
|
});
|
|
8422
8673
|
myreactReconcilerExports.afterSyncUpdate();
|
|
8423
|
-
|
|
8424
|
-
// TODO before next update flow, make sure all the effect has done
|
|
8425
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
8674
|
+
function invokeEffectListTask() {
|
|
8426
8675
|
enableScopeTreeLog$2.current && myreactReconcilerExports.setLogScope();
|
|
8427
8676
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
8428
8677
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
@@ -8430,7 +8679,19 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8430
8679
|
}
|
|
8431
8680
|
});
|
|
8432
8681
|
enableScopeTreeLog$2.current && myreactReconcilerExports.resetLogScope();
|
|
8433
|
-
}
|
|
8682
|
+
}
|
|
8683
|
+
myreactReconcilerExports.addEffectCallback(invokeEffectListTask);
|
|
8684
|
+
var renderScheduler = currentScheduler$1.current;
|
|
8685
|
+
if (_dispatch.enableConcurrentMode) {
|
|
8686
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
8687
|
+
myreactReconcilerExports.flushEffectCallback();
|
|
8688
|
+
});
|
|
8689
|
+
}
|
|
8690
|
+
else {
|
|
8691
|
+
renderScheduler.microTask(function flushEffect() {
|
|
8692
|
+
myreactReconcilerExports.flushEffectCallback();
|
|
8693
|
+
});
|
|
8694
|
+
}
|
|
8434
8695
|
};
|
|
8435
8696
|
|
|
8436
8697
|
var currentComponentFiber = require$$0.__my_react_internal__.currentComponentFiber;
|
|
@@ -8441,7 +8702,7 @@ var initialRef = {
|
|
|
8441
8702
|
typeForAppend: myreactReconcilerExports.NODE_TYPE.__text__ | myreactReconcilerExports.NODE_TYPE.__plain__,
|
|
8442
8703
|
typeForNativeNode: myreactReconcilerExports.NODE_TYPE.__text__ | myreactReconcilerExports.NODE_TYPE.__plain__ | myreactReconcilerExports.NODE_TYPE.__portal__,
|
|
8443
8704
|
};
|
|
8444
|
-
var createDispatch = function (rootNode, rootFiber, rootElement, config) {
|
|
8705
|
+
var createDispatch = function (rootNode, rootFiber, rootElement, config, flag) {
|
|
8445
8706
|
var ReconcilerDispatch = /** @class */ (function (_super) {
|
|
8446
8707
|
__extends(ReconcilerDispatch, _super);
|
|
8447
8708
|
function ReconcilerDispatch() {
|
|
@@ -8536,6 +8797,9 @@ var createDispatch = function (rootNode, rootFiber, rootElement, config) {
|
|
|
8536
8797
|
ReconcilerDispatch.prototype.dispatchPromise = function (_params) {
|
|
8537
8798
|
return myreactReconcilerExports.processPromise(this, _params.fiber, _params.promise);
|
|
8538
8799
|
};
|
|
8800
|
+
ReconcilerDispatch.prototype.dispatchSuspensePromise = function (_params) {
|
|
8801
|
+
return myreactReconcilerExports.processSuspensePromise(this, _params.fiber, _params.promise);
|
|
8802
|
+
};
|
|
8539
8803
|
ReconcilerDispatch.prototype.dispatchError = function (_params) {
|
|
8540
8804
|
{
|
|
8541
8805
|
myreactReconcilerExports.devErrorWithFiber(_params.fiber, _params.error);
|
|
@@ -8564,7 +8828,10 @@ var createDispatch = function (rootNode, rootFiber, rootElement, config) {
|
|
|
8564
8828
|
},
|
|
8565
8829
|
});
|
|
8566
8830
|
}
|
|
8567
|
-
|
|
8831
|
+
var dispatch = new ReconcilerDispatch(rootNode, rootFiber, rootElement);
|
|
8832
|
+
dispatch.enableConcurrentMode = flag !== 0;
|
|
8833
|
+
dispatch.renderMode = flag !== 0 ? "concurrent" : "legacy";
|
|
8834
|
+
return dispatch;
|
|
8568
8835
|
};
|
|
8569
8836
|
|
|
8570
8837
|
var DEV_REFRESH_FIELD = "__@my-react/react-refresh-inject__";
|
|
@@ -8640,12 +8907,11 @@ var loadScript = function (url) {
|
|
|
8640
8907
|
}
|
|
8641
8908
|
};
|
|
8642
8909
|
|
|
8643
|
-
var enableDebugFiled$1 = require$$0.__my_react_shared__.enableDebugFiled, enableScopeTreeLog$1 = require$$0.__my_react_shared__.enableScopeTreeLog
|
|
8910
|
+
var enableDebugFiled$1 = require$$0.__my_react_shared__.enableDebugFiled, enableScopeTreeLog$1 = require$$0.__my_react_shared__.enableScopeTreeLog;
|
|
8644
8911
|
/**
|
|
8645
8912
|
* @internal
|
|
8646
8913
|
*/
|
|
8647
8914
|
var prepareScheduler = function () {
|
|
8648
|
-
// enableConcurrentMode.current = false;
|
|
8649
8915
|
enableDebugFiled$1.current = true;
|
|
8650
8916
|
enableScopeTreeLog$1.current = true;
|
|
8651
8917
|
myreactReconcilerExports.enableFiberForLog.current = true;
|
|
@@ -8659,11 +8925,19 @@ var currentScheduler = require$$0.__my_react_internal__.currentScheduler;
|
|
|
8659
8925
|
var Reconciler = function (_config) {
|
|
8660
8926
|
var rendererPackageName = "@my-react";
|
|
8661
8927
|
var ReconcilerSet = new Set();
|
|
8662
|
-
var createContainer = function (_container) {
|
|
8928
|
+
var createContainer = function (_container, flag) {
|
|
8663
8929
|
prepareScheduler();
|
|
8930
|
+
if (flag === 0) {
|
|
8931
|
+
// legacy mode
|
|
8932
|
+
_container.__flag__ = 0;
|
|
8933
|
+
}
|
|
8934
|
+
else {
|
|
8935
|
+
// concurrent mode
|
|
8936
|
+
_container.__flag__ = 1;
|
|
8937
|
+
}
|
|
8664
8938
|
enableDebugFiled.current = true;
|
|
8665
8939
|
enableScopeTreeLog.current = false;
|
|
8666
|
-
|
|
8940
|
+
myreactReconcilerExports.enableFiberForLog.current = false;
|
|
8667
8941
|
return _container;
|
|
8668
8942
|
};
|
|
8669
8943
|
var updateContainer = function (_element, _container, _ignore, _cb) {
|
|
@@ -8689,7 +8963,7 @@ var Reconciler = function (_config) {
|
|
|
8689
8963
|
delGlobalDispatch(renderDispatch);
|
|
8690
8964
|
}
|
|
8691
8965
|
var _fiber = new myreactReconcilerExports.MyReactFiberNode(_element);
|
|
8692
|
-
var _renderDispatch = createDispatch(_container, _fiber, _element, _config);
|
|
8966
|
+
var _renderDispatch = createDispatch(_container, _fiber, _element, _config, _container.__flag__);
|
|
8693
8967
|
_cb && _renderDispatch.pendingEffect(_fiber, _cb);
|
|
8694
8968
|
ReconcilerSet.add(_renderDispatch);
|
|
8695
8969
|
renderScheduler.dispatchSet.uniPush(_renderDispatch);
|
|
@@ -8757,7 +9031,7 @@ var Reconciler = function (_config) {
|
|
|
8757
9031
|
};
|
|
8758
9032
|
};
|
|
8759
9033
|
|
|
8760
|
-
var version = "0.0.
|
|
9034
|
+
var version = "0.0.9";
|
|
8761
9035
|
var createReconciler = Reconciler;
|
|
8762
9036
|
|
|
8763
9037
|
exports.createReconciler = createReconciler;
|