@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_production_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;
|
|
@@ -913,7 +914,7 @@ function requireIndex_production_1 () {
|
|
|
913
914
|
enableSyncFlush$1.current = stack.pop();
|
|
914
915
|
};
|
|
915
916
|
|
|
916
|
-
var currentRunningFiber$5 = react.__my_react_internal__.currentRunningFiber, currentScheduler$
|
|
917
|
+
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;
|
|
917
918
|
var safeCall = function (action) {
|
|
918
919
|
var args = [];
|
|
919
920
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
@@ -924,7 +925,7 @@ function requireIndex_production_1 () {
|
|
|
924
925
|
}
|
|
925
926
|
catch (e) {
|
|
926
927
|
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;
|
|
927
|
-
var renderScheduler = currentScheduler$
|
|
928
|
+
var renderScheduler = currentScheduler$h.current;
|
|
928
929
|
currentError$1.current = currentError$1.current || e;
|
|
929
930
|
renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
|
|
930
931
|
}
|
|
@@ -944,7 +945,7 @@ function requireIndex_production_1 () {
|
|
|
944
945
|
return fallback();
|
|
945
946
|
}
|
|
946
947
|
else {
|
|
947
|
-
var renderScheduler = currentScheduler$
|
|
948
|
+
var renderScheduler = currentScheduler$h.current;
|
|
948
949
|
currentError$1.current = currentError$1.current || e;
|
|
949
950
|
renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
|
|
950
951
|
}
|
|
@@ -978,7 +979,7 @@ function requireIndex_production_1 () {
|
|
|
978
979
|
}
|
|
979
980
|
catch (e) {
|
|
980
981
|
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;
|
|
981
|
-
var renderScheduler = currentScheduler$
|
|
982
|
+
var renderScheduler = currentScheduler$h.current;
|
|
982
983
|
currentError$1.current = currentError$1.current || e;
|
|
983
984
|
renderScheduler.dispatchError({ fiber: fiber, error: currentError$1.current });
|
|
984
985
|
}
|
|
@@ -987,7 +988,7 @@ function requireIndex_production_1 () {
|
|
|
987
988
|
}
|
|
988
989
|
};
|
|
989
990
|
|
|
990
|
-
var currentScheduler$
|
|
991
|
+
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;
|
|
991
992
|
var enableOptimizeTreeLog = react.__my_react_shared__.enableOptimizeTreeLog;
|
|
992
993
|
var typeColor = {
|
|
993
994
|
normal: "rgba(10, 190, 235, 0.8)",
|
|
@@ -1042,7 +1043,7 @@ function requireIndex_production_1 () {
|
|
|
1042
1043
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1043
1044
|
args[_i] = arguments[_i];
|
|
1044
1045
|
}
|
|
1045
|
-
var renderScheduler = currentScheduler$
|
|
1046
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1046
1047
|
var startWithPlain = typeof args[0] === "string";
|
|
1047
1048
|
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;
|
|
1048
1049
|
renderFiber && fiberWarn.apply(void 0, __spreadArray([renderFiber], args, false));
|
|
@@ -1079,7 +1080,7 @@ function requireIndex_production_1 () {
|
|
|
1079
1080
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1080
1081
|
args[_i] = arguments[_i];
|
|
1081
1082
|
}
|
|
1082
|
-
var renderScheduler = currentScheduler$
|
|
1083
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1083
1084
|
var startWithPlain = typeof args[0] === "string";
|
|
1084
1085
|
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;
|
|
1085
1086
|
renderFiber && fiberError.apply(void 0, __spreadArray([renderFiber], args, false));
|
|
@@ -1283,7 +1284,7 @@ function requireIndex_production_1 () {
|
|
|
1283
1284
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
1284
1285
|
args[_i - 2] = arguments[_i];
|
|
1285
1286
|
}
|
|
1286
|
-
var renderScheduler = currentScheduler$
|
|
1287
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1287
1288
|
var tree = renderScheduler.getFiberTree(fiber);
|
|
1288
1289
|
if ((_b = warnMap === null || warnMap === void 0 ? void 0 : warnMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
|
|
1289
1290
|
return;
|
|
@@ -1299,7 +1300,7 @@ function requireIndex_production_1 () {
|
|
|
1299
1300
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
1300
1301
|
args[_i - 2] = arguments[_i];
|
|
1301
1302
|
}
|
|
1302
|
-
var renderScheduler = currentScheduler$
|
|
1303
|
+
var renderScheduler = currentScheduler$g.current;
|
|
1303
1304
|
var tree = renderScheduler.getFiberTree(fiber);
|
|
1304
1305
|
if ((_b = errorMap === null || errorMap === void 0 ? void 0 : errorMap[tree]) === null || _b === void 0 ? void 0 : _b[key])
|
|
1305
1306
|
return;
|
|
@@ -1330,7 +1331,7 @@ function requireIndex_production_1 () {
|
|
|
1330
1331
|
if (typeof element === "object" && element !== null) {
|
|
1331
1332
|
nodeType = myreactSharedExports.merge(nodeType, exports.NODE_TYPE.__empty__);
|
|
1332
1333
|
}
|
|
1333
|
-
else if (element === null || element === undefined || typeof element === "boolean" || typeof element === "function") {
|
|
1334
|
+
else if (element === null || element === undefined || typeof element === "boolean" || typeof element === "function" || element === "") {
|
|
1334
1335
|
nodeType = myreactSharedExports.merge(nodeType, exports.NODE_TYPE.__null__);
|
|
1335
1336
|
}
|
|
1336
1337
|
else {
|
|
@@ -1451,7 +1452,7 @@ function requireIndex_production_1 () {
|
|
|
1451
1452
|
throw new Error("[@my-react/react] invalid symbol element type \"".concat(elementType === null || elementType === void 0 ? void 0 : elementType.toString(), "\""));
|
|
1452
1453
|
}
|
|
1453
1454
|
}
|
|
1454
|
-
else if (typeof elementType === "string") {
|
|
1455
|
+
else if (typeof elementType === "string" && elementType !== "") {
|
|
1455
1456
|
nodeType = myreactSharedExports.merge(nodeType, exports.NODE_TYPE.__plain__);
|
|
1456
1457
|
}
|
|
1457
1458
|
else {
|
|
@@ -1488,7 +1489,17 @@ function requireIndex_production_1 () {
|
|
|
1488
1489
|
return new Set(Array.from(fibers || []).map(function (fiber) { return fiberToDispatchMap.get(fiber); }));
|
|
1489
1490
|
};
|
|
1490
1491
|
var getCurrentDispatchFromFiber = function (fiber) {
|
|
1491
|
-
|
|
1492
|
+
var dispatch = fiberToDispatchMap.get(fiber);
|
|
1493
|
+
if (dispatch)
|
|
1494
|
+
return dispatch;
|
|
1495
|
+
var parent = fiber.parent;
|
|
1496
|
+
while (parent) {
|
|
1497
|
+
var typedFiberRoot = parent;
|
|
1498
|
+
if (typedFiberRoot.renderDispatch) {
|
|
1499
|
+
return typedFiberRoot.renderDispatch;
|
|
1500
|
+
}
|
|
1501
|
+
parent = parent.parent;
|
|
1502
|
+
}
|
|
1492
1503
|
};
|
|
1493
1504
|
var getElementFromRefreshIfExist = function (element) {
|
|
1494
1505
|
var _a, _b;
|
|
@@ -1508,7 +1519,7 @@ function requireIndex_production_1 () {
|
|
|
1508
1519
|
var initHMR = function (env) {
|
|
1509
1520
|
};
|
|
1510
1521
|
|
|
1511
|
-
var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$
|
|
1522
|
+
var currentRunningFiber$3 = react.__my_react_internal__.currentRunningFiber, currentScheduler$f = react.__my_react_internal__.currentScheduler;
|
|
1512
1523
|
var dispatchHook = function (params) {
|
|
1513
1524
|
var fiber = currentRunningFiber$3.current;
|
|
1514
1525
|
if (!fiber) {
|
|
@@ -1539,10 +1550,10 @@ function requireIndex_production_1 () {
|
|
|
1539
1550
|
var dispatchError = function (_params) {
|
|
1540
1551
|
var fiber = _params.fiber || currentRunningFiber$3.current;
|
|
1541
1552
|
if (!fiber) {
|
|
1542
|
-
|
|
1553
|
+
// a normal error
|
|
1554
|
+
throw _params.error;
|
|
1543
1555
|
}
|
|
1544
|
-
if (
|
|
1545
|
-
return;
|
|
1556
|
+
// if (include(fiber.state, STATE_TYPE.__unmount__)) return;
|
|
1546
1557
|
var dispatch = getCurrentDispatchFromFiber(fiber);
|
|
1547
1558
|
if (!dispatch) {
|
|
1548
1559
|
throw new Error("No dispatch found for the current running fiber.");
|
|
@@ -1554,14 +1565,25 @@ function requireIndex_production_1 () {
|
|
|
1554
1565
|
if (!fiber) {
|
|
1555
1566
|
throw new Error("No fiber found for dispatching promise.");
|
|
1556
1567
|
}
|
|
1557
|
-
if (
|
|
1558
|
-
return;
|
|
1568
|
+
// if (include(fiber.state, STATE_TYPE.__unmount__)) return;
|
|
1559
1569
|
var dispatch = getCurrentDispatchFromFiber(fiber);
|
|
1560
1570
|
if (!dispatch) {
|
|
1561
1571
|
throw new Error("No dispatch found for the current running fiber.");
|
|
1562
1572
|
}
|
|
1563
1573
|
return dispatch.dispatchPromise(_params);
|
|
1564
1574
|
};
|
|
1575
|
+
var dispatchSuspensePromise = function (_params) {
|
|
1576
|
+
var fiber = _params.fiber || currentRunningFiber$3.current;
|
|
1577
|
+
if (!fiber) {
|
|
1578
|
+
throw new Error("No fiber found for dispatching suspense promise.");
|
|
1579
|
+
}
|
|
1580
|
+
// if (include(fiber.state, STATE_TYPE.__unmount__)) return;
|
|
1581
|
+
var dispatch = getCurrentDispatchFromFiber(fiber);
|
|
1582
|
+
if (!dispatch) {
|
|
1583
|
+
throw new Error("No dispatch found for the current running fiber.");
|
|
1584
|
+
}
|
|
1585
|
+
return dispatch.dispatchSuspensePromise(_params);
|
|
1586
|
+
};
|
|
1565
1587
|
var readContext = function (_params) {
|
|
1566
1588
|
var fiber = currentRunningFiber$3.current;
|
|
1567
1589
|
if (!fiber) {
|
|
@@ -1598,7 +1620,7 @@ function requireIndex_production_1 () {
|
|
|
1598
1620
|
}
|
|
1599
1621
|
};
|
|
1600
1622
|
var initScheduler = function () {
|
|
1601
|
-
var scheduler = currentScheduler$
|
|
1623
|
+
var scheduler = currentScheduler$f.current;
|
|
1602
1624
|
scheduler.getFiberTree = getFiberTree;
|
|
1603
1625
|
scheduler.readPromise = readPromise;
|
|
1604
1626
|
scheduler.readContext = readContext;
|
|
@@ -1606,6 +1628,7 @@ function requireIndex_production_1 () {
|
|
|
1606
1628
|
scheduler.dispatchHook = dispatchHook;
|
|
1607
1629
|
scheduler.dispatchError = dispatchError;
|
|
1608
1630
|
scheduler.dispatchPromise = dispatchPromise;
|
|
1631
|
+
scheduler.dispatchSuspensePromise = dispatchSuspensePromise;
|
|
1609
1632
|
};
|
|
1610
1633
|
|
|
1611
1634
|
react.__my_react_shared__.enableHMRForDev;
|
|
@@ -1709,85 +1732,6 @@ function requireIndex_production_1 () {
|
|
|
1709
1732
|
return listTree;
|
|
1710
1733
|
};
|
|
1711
1734
|
|
|
1712
|
-
var currentRunningFiber$2 = react.__my_react_internal__.currentRunningFiber;
|
|
1713
|
-
var mountToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
1714
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
1715
|
-
return null;
|
|
1716
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
1717
|
-
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
1718
|
-
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
1719
|
-
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
1720
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
1721
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
1722
|
-
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
1723
|
-
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
1724
|
-
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
1725
|
-
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
1726
|
-
currentRunningFiber$2.current = fiber;
|
|
1727
|
-
{
|
|
1728
|
-
runtimeNextWork(renderDispatch, fiber);
|
|
1729
|
-
}
|
|
1730
|
-
currentRunningFiber$2.current = null;
|
|
1731
|
-
}
|
|
1732
|
-
if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
1733
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
1734
|
-
}
|
|
1735
|
-
else {
|
|
1736
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
1737
|
-
}
|
|
1738
|
-
if (fiber.child)
|
|
1739
|
-
return fiber.child;
|
|
1740
|
-
var nextFiber = fiber;
|
|
1741
|
-
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
1742
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1743
|
-
if (nextFiber.sibling)
|
|
1744
|
-
return nextFiber.sibling;
|
|
1745
|
-
nextFiber = nextFiber.parent;
|
|
1746
|
-
}
|
|
1747
|
-
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
1748
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1749
|
-
return null;
|
|
1750
|
-
};
|
|
1751
|
-
var performToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
1752
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
1753
|
-
return null;
|
|
1754
|
-
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
1755
|
-
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
1756
|
-
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
1757
|
-
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
1758
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
1759
|
-
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
1760
|
-
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
1761
|
-
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
1762
|
-
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
1763
|
-
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
1764
|
-
currentRunningFiber$2.current = fiber;
|
|
1765
|
-
{
|
|
1766
|
-
runtimeNextWork(renderDispatch, fiber);
|
|
1767
|
-
}
|
|
1768
|
-
currentRunningFiber$2.current = null;
|
|
1769
|
-
triggerFiberUpdateListener(renderDispatch, fiber);
|
|
1770
|
-
}
|
|
1771
|
-
if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
1772
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
1773
|
-
}
|
|
1774
|
-
else {
|
|
1775
|
-
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
1776
|
-
}
|
|
1777
|
-
if (fiber.child)
|
|
1778
|
-
return fiber.child;
|
|
1779
|
-
var nextFiber = fiber;
|
|
1780
|
-
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
1781
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1782
|
-
if (nextFiber.sibling)
|
|
1783
|
-
return nextFiber.sibling;
|
|
1784
|
-
nextFiber = nextFiber.parent;
|
|
1785
|
-
}
|
|
1786
|
-
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
1787
|
-
renderDispatch.generateCommitList(nextFiber);
|
|
1788
|
-
return null;
|
|
1789
|
-
};
|
|
1790
|
-
|
|
1791
1735
|
var defaultGenerateEffectMap = function (fiber, effect, map, option) {
|
|
1792
1736
|
var list = map.get(fiber);
|
|
1793
1737
|
if (!list) {
|
|
@@ -1888,6 +1832,16 @@ function requireIndex_production_1 () {
|
|
|
1888
1832
|
child = child.sibling;
|
|
1889
1833
|
}
|
|
1890
1834
|
};
|
|
1835
|
+
var effectCallbackList = new myreactSharedExports.ListTree();
|
|
1836
|
+
var addEffectCallback = function (cb) {
|
|
1837
|
+
effectCallbackList.push(cb);
|
|
1838
|
+
};
|
|
1839
|
+
var flushEffectCallback = function () {
|
|
1840
|
+
effectCallbackList.listToFoot(function (cb) {
|
|
1841
|
+
cb();
|
|
1842
|
+
});
|
|
1843
|
+
effectCallbackList.clear();
|
|
1844
|
+
};
|
|
1891
1845
|
var effect = defaultInvokeEffect;
|
|
1892
1846
|
var layoutEffect = defaultInvokeLayoutEffect;
|
|
1893
1847
|
var insertionEffect = defaultInvokeInsertionEffect;
|
|
@@ -1934,8 +1888,93 @@ function requireIndex_production_1 () {
|
|
|
1934
1888
|
}
|
|
1935
1889
|
};
|
|
1936
1890
|
|
|
1937
|
-
var
|
|
1938
|
-
var
|
|
1891
|
+
var currentRunningFiber$2 = react.__my_react_internal__.currentRunningFiber;
|
|
1892
|
+
var mountToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
1893
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
1894
|
+
return null;
|
|
1895
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
1896
|
+
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
1897
|
+
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
1898
|
+
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
1899
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
1900
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
1901
|
+
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
1902
|
+
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
1903
|
+
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
1904
|
+
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
1905
|
+
currentRunningFiber$2.current = fiber;
|
|
1906
|
+
{
|
|
1907
|
+
runtimeNextWork(renderDispatch, fiber);
|
|
1908
|
+
}
|
|
1909
|
+
currentRunningFiber$2.current = null;
|
|
1910
|
+
}
|
|
1911
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__suspense__)) {
|
|
1912
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
1913
|
+
}
|
|
1914
|
+
else if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
1915
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
1916
|
+
}
|
|
1917
|
+
else {
|
|
1918
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
1919
|
+
}
|
|
1920
|
+
if (fiber.child)
|
|
1921
|
+
return fiber.child;
|
|
1922
|
+
var nextFiber = fiber;
|
|
1923
|
+
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
1924
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
1925
|
+
if (nextFiber.sibling)
|
|
1926
|
+
return nextFiber.sibling;
|
|
1927
|
+
nextFiber = nextFiber.parent;
|
|
1928
|
+
}
|
|
1929
|
+
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
1930
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
1931
|
+
return null;
|
|
1932
|
+
};
|
|
1933
|
+
var performToNextFiberFromRoot = function (renderDispatch, fiber) {
|
|
1934
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) || renderDispatch.isAppCrashed)
|
|
1935
|
+
return null;
|
|
1936
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__create__ |
|
|
1937
|
+
myreactSharedExports.STATE_TYPE.__inherit__ |
|
|
1938
|
+
myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
1939
|
+
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
1940
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
1941
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
1942
|
+
myreactSharedExports.STATE_TYPE.__retrigger__ |
|
|
1943
|
+
myreactSharedExports.STATE_TYPE.__reschedule__ |
|
|
1944
|
+
myreactSharedExports.STATE_TYPE.__recreate__)) {
|
|
1945
|
+
fiber.state = myreactSharedExports.remove(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
1946
|
+
currentRunningFiber$2.current = fiber;
|
|
1947
|
+
{
|
|
1948
|
+
runtimeNextWork(renderDispatch, fiber);
|
|
1949
|
+
}
|
|
1950
|
+
currentRunningFiber$2.current = null;
|
|
1951
|
+
triggerFiberUpdateListener(renderDispatch, fiber);
|
|
1952
|
+
}
|
|
1953
|
+
if (myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__suspense__)) {
|
|
1954
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
1955
|
+
}
|
|
1956
|
+
else if (!myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__retrigger__)) {
|
|
1957
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
1958
|
+
}
|
|
1959
|
+
else {
|
|
1960
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__triggerSync__;
|
|
1961
|
+
}
|
|
1962
|
+
if (fiber.child)
|
|
1963
|
+
return fiber.child;
|
|
1964
|
+
var nextFiber = fiber;
|
|
1965
|
+
while (nextFiber && nextFiber !== renderDispatch.runtimeFiber.scheduledFiber) {
|
|
1966
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
1967
|
+
if (nextFiber.sibling)
|
|
1968
|
+
return nextFiber.sibling;
|
|
1969
|
+
nextFiber = nextFiber.parent;
|
|
1970
|
+
}
|
|
1971
|
+
if (nextFiber === renderDispatch.runtimeFiber.scheduledFiber)
|
|
1972
|
+
renderDispatch.generateCommitList(nextFiber);
|
|
1973
|
+
return null;
|
|
1974
|
+
};
|
|
1975
|
+
|
|
1976
|
+
var enableSuspenseRoot$3 = react.__my_react_shared__.enableSuspenseRoot;
|
|
1977
|
+
var currentScheduler$e = react.__my_react_internal__.currentScheduler;
|
|
1939
1978
|
var mountLoopAllFromScheduler = function (renderDispatch) {
|
|
1940
1979
|
while (renderDispatch.runtimeFiber.nextWorkingFiber) {
|
|
1941
1980
|
renderDispatch.runtimeFiber.retriggerFiber = null;
|
|
@@ -2006,7 +2045,7 @@ function requireIndex_production_1 () {
|
|
|
2006
2045
|
_a.sent();
|
|
2007
2046
|
return [3 /*break*/, 1];
|
|
2008
2047
|
case 3:
|
|
2009
|
-
if (!enableSuspenseRoot$
|
|
2048
|
+
if (!enableSuspenseRoot$3.current) return [3 /*break*/, 5];
|
|
2010
2049
|
suspenseField_1 = getInstanceFieldByInstance(renderDispatch);
|
|
2011
2050
|
list = suspenseField_1.asyncLoadList.getAll();
|
|
2012
2051
|
if (list.length === 0)
|
|
@@ -2087,7 +2126,7 @@ function requireIndex_production_1 () {
|
|
|
2087
2126
|
}); })).then(function () {
|
|
2088
2127
|
var aliveNode = defaultResolveAliveSuspenseFiber(node) || renderDispatch.rootFiber;
|
|
2089
2128
|
aliveNode.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
|
|
2090
|
-
var renderScheduler = currentScheduler$
|
|
2129
|
+
var renderScheduler = currentScheduler$e.current;
|
|
2091
2130
|
var updater = {
|
|
2092
2131
|
type: myreactSharedExports.UpdateQueueType.suspense,
|
|
2093
2132
|
trigger: aliveNode,
|
|
@@ -2114,15 +2153,12 @@ function requireIndex_production_1 () {
|
|
|
2114
2153
|
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
2115
2154
|
}
|
|
2116
2155
|
}
|
|
2117
|
-
|
|
2118
|
-
if (enableSuspenseRoot$2.current) {
|
|
2156
|
+
if (enableSuspenseRoot$3.current) {
|
|
2119
2157
|
var suspenseField_2 = getInstanceFieldByInstance(renderDispatch);
|
|
2120
2158
|
var list = suspenseField_2.asyncLoadList.getAll();
|
|
2121
2159
|
if (list.length === 0)
|
|
2122
2160
|
return;
|
|
2123
2161
|
if (renderDispatch.enableAsyncLoad) {
|
|
2124
|
-
// defaultDeleteCurrentEffect(renderDispatch, renderDispatch.rootFiber);
|
|
2125
|
-
// defaultDeleteChildEffect(renderDispatch, renderDispatch.rootFiber);
|
|
2126
2162
|
var allPendingLoadArray = list.filter(function (item) {
|
|
2127
2163
|
if (myreactSharedExports.isPromise(item)) {
|
|
2128
2164
|
return typeof item.status !== "string";
|
|
@@ -2153,7 +2189,7 @@ function requireIndex_production_1 () {
|
|
|
2153
2189
|
(_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
|
|
2154
2190
|
allFiber.forEach(function (node) {
|
|
2155
2191
|
node.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
2156
|
-
var renderScheduler = currentScheduler$
|
|
2192
|
+
var renderScheduler = currentScheduler$e.current;
|
|
2157
2193
|
var updater = {
|
|
2158
2194
|
type: myreactSharedExports.UpdateQueueType.suspense,
|
|
2159
2195
|
trigger: node,
|
|
@@ -2169,13 +2205,6 @@ function requireIndex_production_1 () {
|
|
|
2169
2205
|
});
|
|
2170
2206
|
}); }));
|
|
2171
2207
|
}
|
|
2172
|
-
// suspenseField.isHidden = true;
|
|
2173
|
-
// const root = renderDispatch.rootFiber;
|
|
2174
|
-
// root.state = remove(root.state, STATE_TYPE.__stable__);
|
|
2175
|
-
// root.state = merge(root.state, STATE_TYPE.__retrigger__);
|
|
2176
|
-
// // TODO use hide tree to improve
|
|
2177
|
-
// mountLoopAll(renderDispatch, root);
|
|
2178
|
-
// suspenseField.isHidden = false;
|
|
2179
2208
|
}
|
|
2180
2209
|
else {
|
|
2181
2210
|
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
@@ -2183,6 +2212,8 @@ function requireIndex_production_1 () {
|
|
|
2183
2212
|
}
|
|
2184
2213
|
};
|
|
2185
2214
|
|
|
2215
|
+
var enableSuspenseRoot$2 = react.__my_react_shared__.enableSuspenseRoot;
|
|
2216
|
+
var currentScheduler$d = react.__my_react_internal__.currentScheduler;
|
|
2186
2217
|
exports.updateTypeEnum = void 0;
|
|
2187
2218
|
(function (updateTypeEnum) {
|
|
2188
2219
|
updateTypeEnum[updateTypeEnum["syncFromRoot"] = 0] = "syncFromRoot";
|
|
@@ -2229,7 +2260,89 @@ function requireIndex_production_1 () {
|
|
|
2229
2260
|
}
|
|
2230
2261
|
return hasSync;
|
|
2231
2262
|
};
|
|
2232
|
-
var processAsyncLoadListOnUpdate =
|
|
2263
|
+
var processAsyncLoadListOnUpdate = function (renderDispatch) {
|
|
2264
|
+
var _a;
|
|
2265
|
+
if ((_a = renderDispatch.pendingSuspenseFiberArray) === null || _a === void 0 ? void 0 : _a.length) {
|
|
2266
|
+
var allPendingSuspenseFiberArray = renderDispatch.pendingSuspenseFiberArray.getAll();
|
|
2267
|
+
if (renderDispatch.enableAsyncLoad) {
|
|
2268
|
+
var allField_1 = [];
|
|
2269
|
+
allPendingSuspenseFiberArray.forEach(function (node) {
|
|
2270
|
+
defaultDeleteChildEffect(renderDispatch, node);
|
|
2271
|
+
var field = getInstanceFieldByInstance(node.instance);
|
|
2272
|
+
var allPendingLoadArray = field.asyncLoadList.getAll().filter(function (item) {
|
|
2273
|
+
if (myreactSharedExports.isPromise(item)) {
|
|
2274
|
+
return typeof item.status !== "string";
|
|
2275
|
+
}
|
|
2276
|
+
else {
|
|
2277
|
+
return !item._loading && !item._loaded && !item._error;
|
|
2278
|
+
}
|
|
2279
|
+
});
|
|
2280
|
+
if (allPendingLoadArray.length) {
|
|
2281
|
+
Promise.all(allPendingLoadArray.map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2282
|
+
var _a;
|
|
2283
|
+
return __generator(this, function (_b) {
|
|
2284
|
+
switch (_b.label) {
|
|
2285
|
+
case 0:
|
|
2286
|
+
if (!myreactSharedExports.isPromise(item)) return [3 /*break*/, 2];
|
|
2287
|
+
return [4 /*yield*/, renderDispatch.processPromise(item)];
|
|
2288
|
+
case 1:
|
|
2289
|
+
_b.sent();
|
|
2290
|
+
return [3 /*break*/, 4];
|
|
2291
|
+
case 2: return [4 /*yield*/, renderDispatch.processLazy(item)];
|
|
2292
|
+
case 3:
|
|
2293
|
+
_b.sent();
|
|
2294
|
+
_b.label = 4;
|
|
2295
|
+
case 4:
|
|
2296
|
+
(_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
|
|
2297
|
+
field.asyncLoadList.uniDelete(item);
|
|
2298
|
+
return [2 /*return*/];
|
|
2299
|
+
}
|
|
2300
|
+
});
|
|
2301
|
+
}); })).then(function () {
|
|
2302
|
+
var aliveNode = defaultResolveAliveSuspenseFiber(node) || renderDispatch.rootFiber;
|
|
2303
|
+
aliveNode.state = myreactSharedExports.STATE_TYPE.__triggerSyncForce__;
|
|
2304
|
+
var renderScheduler = currentScheduler$d.current;
|
|
2305
|
+
var updater = {
|
|
2306
|
+
type: myreactSharedExports.UpdateQueueType.suspense,
|
|
2307
|
+
trigger: aliveNode,
|
|
2308
|
+
isSync: true,
|
|
2309
|
+
isForce: true,
|
|
2310
|
+
payLoad: allPendingLoadArray,
|
|
2311
|
+
};
|
|
2312
|
+
renderScheduler.dispatchState(updater);
|
|
2313
|
+
});
|
|
2314
|
+
}
|
|
2315
|
+
// fix hmr
|
|
2316
|
+
node.state = myreactSharedExports.STATE_TYPE.__reschedule__;
|
|
2317
|
+
field.isHidden = true;
|
|
2318
|
+
allField_1.push(field);
|
|
2319
|
+
});
|
|
2320
|
+
var root = renderDispatch.rootFiber;
|
|
2321
|
+
root.state = myreactSharedExports.remove(root.state, myreactSharedExports.STATE_TYPE.__stable__);
|
|
2322
|
+
root.state = myreactSharedExports.merge(root.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
2323
|
+
// TODO use hide tree to improve
|
|
2324
|
+
mountLoopAll(renderDispatch, root);
|
|
2325
|
+
allField_1.forEach(function (field) { return (field.isHidden = false); });
|
|
2326
|
+
renderDispatch.pendingSuspenseFiberArray.clear();
|
|
2327
|
+
}
|
|
2328
|
+
else {
|
|
2329
|
+
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
2330
|
+
}
|
|
2331
|
+
}
|
|
2332
|
+
// TODO update flow
|
|
2333
|
+
if (enableSuspenseRoot$2.current) {
|
|
2334
|
+
var suspenseField = getInstanceFieldByInstance(renderDispatch);
|
|
2335
|
+
var list = suspenseField.asyncLoadList.getAll();
|
|
2336
|
+
if (list.length === 0)
|
|
2337
|
+
return;
|
|
2338
|
+
if (renderDispatch.enableAsyncLoad) {
|
|
2339
|
+
throw new Error("[@my-react/reconciler] not implemented yet");
|
|
2340
|
+
}
|
|
2341
|
+
else {
|
|
2342
|
+
throw new Error("[@my-react/reconciler] should not process async load list on sync mount without enableAsyncLoad, you may use a wrong renderDispatch instance");
|
|
2343
|
+
}
|
|
2344
|
+
}
|
|
2345
|
+
};
|
|
2233
2346
|
|
|
2234
2347
|
var isErrorBoundariesInstance = function (instance, Component) {
|
|
2235
2348
|
return typeof instance.componentDidCatch === "function" || typeof Component.getDerivedStateFromError === "function";
|
|
@@ -2767,7 +2880,7 @@ function requireIndex_production_1 () {
|
|
|
2767
2880
|
var allQueue = fiber.updateQueue;
|
|
2768
2881
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
2769
2882
|
var needUpdate = true;
|
|
2770
|
-
var isSync =
|
|
2883
|
+
var isSync = true;
|
|
2771
2884
|
var isForce = false;
|
|
2772
2885
|
var isImmediate = false;
|
|
2773
2886
|
var isRetrigger = false;
|
|
@@ -2998,7 +3111,7 @@ function requireIndex_production_1 () {
|
|
|
2998
3111
|
var allQueue = fiber.updateQueue;
|
|
2999
3112
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
3000
3113
|
var needUpdate = false;
|
|
3001
|
-
var isSync =
|
|
3114
|
+
var isSync = true;
|
|
3002
3115
|
var isForce = false;
|
|
3003
3116
|
var isImmediate = false;
|
|
3004
3117
|
var isRetrigger = false;
|
|
@@ -3118,7 +3231,7 @@ function requireIndex_production_1 () {
|
|
|
3118
3231
|
var renderScheduler = currentScheduler$c.current;
|
|
3119
3232
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
3120
3233
|
var needUpdate = true;
|
|
3121
|
-
var isSync =
|
|
3234
|
+
var isSync = true;
|
|
3122
3235
|
var isForce = false;
|
|
3123
3236
|
var isImmediate = false;
|
|
3124
3237
|
var isRetrigger = false;
|
|
@@ -3440,15 +3553,15 @@ function requireIndex_production_1 () {
|
|
|
3440
3553
|
};
|
|
3441
3554
|
|
|
3442
3555
|
var globalLoop$2 = react.__my_react_internal__.globalLoop, currentScheduler$a = react.__my_react_internal__.currentScheduler;
|
|
3443
|
-
var enableConcurrentMode$1 = react.__my_react_shared__.enableConcurrentMode;
|
|
3444
3556
|
var scheduleUpdateFromRoot = function (renderDispatch) {
|
|
3557
|
+
flushEffectCallback();
|
|
3445
3558
|
var allLive = renderDispatch.pendingUpdateFiberArray.getAll().filter(function (f) { return myreactSharedExports.exclude(f.state, myreactSharedExports.STATE_TYPE.__unmount__); });
|
|
3446
3559
|
renderDispatch.pendingUpdateFiberArray.clear();
|
|
3447
3560
|
if (allLive.length) {
|
|
3448
3561
|
renderDispatch.runtimeFiber.scheduledFiber = renderDispatch.rootFiber;
|
|
3449
3562
|
renderDispatch.runtimeFiber.nextWorkingFiber = renderDispatch.rootFiber;
|
|
3450
3563
|
allLive.forEach(function (fiber) { return applyTriggerFiberCb(renderDispatch, fiber); });
|
|
3451
|
-
if (!enableConcurrentMode
|
|
3564
|
+
if (!renderDispatch.enableConcurrentMode || allLive.some(function (f) { return myreactSharedExports.include(f.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__); })) {
|
|
3452
3565
|
updateSyncFromRoot(renderDispatch);
|
|
3453
3566
|
}
|
|
3454
3567
|
else {
|
|
@@ -3547,7 +3660,7 @@ function requireIndex_production_1 () {
|
|
|
3547
3660
|
return myreactSharedExports.include(renderDispatch.runtimeFiber.nextWorkingFiber.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__);
|
|
3548
3661
|
// include(renderDispatch.runtimeFiber.nextWorkingFiber.state, STATE_TYPE.__retrigger__)
|
|
3549
3662
|
}
|
|
3550
|
-
function
|
|
3663
|
+
function updateConcurrentNextFrame(renderDispatch) {
|
|
3551
3664
|
var renderScheduler = currentScheduler$9.current;
|
|
3552
3665
|
var hasSync = updateLoopConcurrentFromRoot(renderDispatch);
|
|
3553
3666
|
if (renderDispatch.runtimeFiber.nextWorkingFiber) {
|
|
@@ -3560,7 +3673,7 @@ function requireIndex_production_1 () {
|
|
|
3560
3673
|
updateSyncFromRoot(renderDispatch);
|
|
3561
3674
|
}
|
|
3562
3675
|
else {
|
|
3563
|
-
|
|
3676
|
+
updateConcurrentNextFrame(renderDispatch);
|
|
3564
3677
|
}
|
|
3565
3678
|
});
|
|
3566
3679
|
}
|
|
@@ -3568,8 +3681,7 @@ function requireIndex_production_1 () {
|
|
|
3568
3681
|
else {
|
|
3569
3682
|
processAsyncLoadListOnUpdate(renderDispatch);
|
|
3570
3683
|
finishUpdateConcurrentFromRoot(renderDispatch);
|
|
3571
|
-
renderScheduler.
|
|
3572
|
-
// TODO! flash all effect
|
|
3684
|
+
renderScheduler.macroTask(function callScheduleNext() {
|
|
3573
3685
|
globalLoop$1.current = false;
|
|
3574
3686
|
scheduleNext(renderDispatch);
|
|
3575
3687
|
});
|
|
@@ -3589,7 +3701,7 @@ function requireIndex_production_1 () {
|
|
|
3589
3701
|
updateSyncFromRoot(renderDispatch);
|
|
3590
3702
|
}
|
|
3591
3703
|
else {
|
|
3592
|
-
|
|
3704
|
+
updateConcurrentNextFrame(renderDispatch);
|
|
3593
3705
|
}
|
|
3594
3706
|
});
|
|
3595
3707
|
}
|
|
@@ -3597,8 +3709,7 @@ function requireIndex_production_1 () {
|
|
|
3597
3709
|
else {
|
|
3598
3710
|
processAsyncLoadListOnUpdate(renderDispatch);
|
|
3599
3711
|
finishUpdateConcurrentFromRoot(renderDispatch);
|
|
3600
|
-
renderScheduler.
|
|
3601
|
-
// TODO! flash all effect
|
|
3712
|
+
renderScheduler.macroTask(function callScheduleNext() {
|
|
3602
3713
|
globalLoop$1.current = false;
|
|
3603
3714
|
scheduleNext(renderDispatch);
|
|
3604
3715
|
});
|
|
@@ -3639,7 +3750,9 @@ function requireIndex_production_1 () {
|
|
|
3639
3750
|
if (!field)
|
|
3640
3751
|
throw new Error("[@my-react/react] hook instance not found, look like a bug for @my-react");
|
|
3641
3752
|
var typedField = field;
|
|
3642
|
-
typedField.dispatch = function (action) {
|
|
3753
|
+
typedField.dispatch = function dispatchAction(action) {
|
|
3754
|
+
hookNode._update({ payLoad: action, isForce: false, isSync: enableSyncFlush.current });
|
|
3755
|
+
};
|
|
3643
3756
|
};
|
|
3644
3757
|
|
|
3645
3758
|
var currentComponentFiber$3 = react.__my_react_internal__.currentComponentFiber;
|
|
@@ -3675,12 +3788,22 @@ function requireIndex_production_1 () {
|
|
|
3675
3788
|
};
|
|
3676
3789
|
var defaultOptimisticReducer = function (state) { return state; };
|
|
3677
3790
|
var createHookNode = function (renderDispatch, _a, fiber) {
|
|
3678
|
-
var _b;
|
|
3791
|
+
var _b, _c;
|
|
3679
3792
|
var type = _a.type, value = _a.value, reducer = _a.reducer, deps = _a.deps;
|
|
3680
3793
|
var currentHook = (_b = currentHookTreeNode$2.current) === null || _b === void 0 ? void 0 : _b.value;
|
|
3681
3794
|
var currentHookIndex = currentHookNodeIndex$2.current;
|
|
3795
|
+
var currentIsReCreate = myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__recreate__);
|
|
3682
3796
|
if (currentHook) {
|
|
3683
|
-
|
|
3797
|
+
if (currentIsReCreate) {
|
|
3798
|
+
if (currentHookIndex === 0) {
|
|
3799
|
+
defaultDeleteChildEffect(renderDispatch, fiber);
|
|
3800
|
+
defaultDeleteCurrentEffect(renderDispatch, fiber);
|
|
3801
|
+
fiber.hookList.clear();
|
|
3802
|
+
}
|
|
3803
|
+
}
|
|
3804
|
+
else {
|
|
3805
|
+
throw new Error("[@my-react/react] should not have a hookList for current node, this is a bug for @my-react");
|
|
3806
|
+
}
|
|
3684
3807
|
}
|
|
3685
3808
|
var hookNode = new MyReactHookNode(type, value, reducer || defaultReducer, deps);
|
|
3686
3809
|
initInstance(hookNode);
|
|
@@ -3704,6 +3827,10 @@ function requireIndex_production_1 () {
|
|
|
3704
3827
|
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useRef || hookNode.type === myreactSharedExports.HOOK_TYPE.useCallback || hookNode.type === myreactSharedExports.HOOK_TYPE.useDeferredValue) {
|
|
3705
3828
|
hookNode.result = hookNode.value;
|
|
3706
3829
|
}
|
|
3830
|
+
// cache ref state from recreate
|
|
3831
|
+
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useRef && currentHook && currentHook.type === myreactSharedExports.HOOK_TYPE.useRef) {
|
|
3832
|
+
hookNode.result = currentHook.result;
|
|
3833
|
+
}
|
|
3707
3834
|
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useId) {
|
|
3708
3835
|
hookNode.result = "\u00AB-".concat(currentHookIndex, "-").concat(renderDispatch.uniqueIdCount++, "-\u00BB");
|
|
3709
3836
|
hookNode.cancel = function () { return renderDispatch.uniqueIdCount--; };
|
|
@@ -3726,12 +3853,13 @@ function requireIndex_production_1 () {
|
|
|
3726
3853
|
return safeCallWithCurrentFiber({
|
|
3727
3854
|
fiber: fiber,
|
|
3728
3855
|
action: function safeCallGetSnapshot() {
|
|
3729
|
-
var _a;
|
|
3730
3856
|
return renderDispatch.isAppMounted
|
|
3731
3857
|
? storeApi_1.getSnapshot.call(null)
|
|
3732
|
-
:
|
|
3733
|
-
|
|
3734
|
-
|
|
3858
|
+
: // SEE https://github.com/facebook/react/blob/main/packages/use-sync-external-store/src/useSyncExternalStoreShimClient.js#L33
|
|
3859
|
+
// : storeApi.getServerSnapshot
|
|
3860
|
+
// ? storeApi.getServerSnapshot?.call(null)
|
|
3861
|
+
// : storeApi.getSnapshot.call(null);
|
|
3862
|
+
storeApi_1.getSnapshot.call(null);
|
|
3735
3863
|
},
|
|
3736
3864
|
});
|
|
3737
3865
|
};
|
|
@@ -3825,6 +3953,7 @@ function requireIndex_production_1 () {
|
|
|
3825
3953
|
},
|
|
3826
3954
|
};
|
|
3827
3955
|
}
|
|
3956
|
+
currentHookTreeNode$2.current = (_c = currentHookTreeNode$2.current) === null || _c === void 0 ? void 0 : _c.next;
|
|
3828
3957
|
return hookNode;
|
|
3829
3958
|
};
|
|
3830
3959
|
|
|
@@ -4147,11 +4276,10 @@ function requireIndex_production_1 () {
|
|
|
4147
4276
|
fiber.constructor.prototype.isMyReactFiberNode);
|
|
4148
4277
|
};
|
|
4149
4278
|
|
|
4150
|
-
var enableConcurrentMode = react.__my_react_shared__.enableConcurrentMode;
|
|
4151
4279
|
var currentScheduler$5 = react.__my_react_internal__.currentScheduler;
|
|
4152
4280
|
var processUpdateOnFiber = function (renderDispatch, fiber, _isImmediate, _isRetrigger) {
|
|
4153
4281
|
var renderScheduler = currentScheduler$5.current;
|
|
4154
|
-
var flag = enableConcurrentMode
|
|
4282
|
+
var flag = renderDispatch.enableConcurrentMode;
|
|
4155
4283
|
var updateState = null;
|
|
4156
4284
|
if (myreactSharedExports.include(fiber.type, exports.NODE_TYPE.__class__)) {
|
|
4157
4285
|
updateState = flag ? processClassComponentUpdateQueueLatest(renderDispatch, fiber, flag) : processClassComponentUpdateQueueLegacy(renderDispatch, fiber);
|
|
@@ -4370,7 +4498,8 @@ function requireIndex_production_1 () {
|
|
|
4370
4498
|
renderDispatch.pendingUpdate(fiber);
|
|
4371
4499
|
}
|
|
4372
4500
|
}
|
|
4373
|
-
if (
|
|
4501
|
+
if (prevRef !== nextRef) {
|
|
4502
|
+
fiber.refPrevious = prevRef;
|
|
4374
4503
|
renderDispatch.pendingRef(fiber);
|
|
4375
4504
|
}
|
|
4376
4505
|
if (fiber !== prevFiber) {
|
|
@@ -4523,8 +4652,8 @@ function requireIndex_production_1 () {
|
|
|
4523
4652
|
return updateFiberNode(renderDispatch, { fiber: draftFiber_1, parent: parentFiber, prevFiber: prevFiberChild }, newElement);
|
|
4524
4653
|
}
|
|
4525
4654
|
else {
|
|
4526
|
-
renderDispatch.generateChangedList(parentFiber);
|
|
4527
|
-
renderDispatch.pendingUnmount(parentFiber, draftFiber_1);
|
|
4655
|
+
draftFiber_1 && renderDispatch.generateChangedList(parentFiber);
|
|
4656
|
+
draftFiber_1 && renderDispatch.pendingUnmount(parentFiber, draftFiber_1);
|
|
4528
4657
|
return createFragmentWithUpdate(renderDispatch, newChild, parentFiber);
|
|
4529
4658
|
}
|
|
4530
4659
|
}
|
|
@@ -4541,7 +4670,7 @@ function requireIndex_production_1 () {
|
|
|
4541
4670
|
}
|
|
4542
4671
|
else {
|
|
4543
4672
|
draftFiber && renderDispatch.pendingUnmount(parentFiber, draftFiber);
|
|
4544
|
-
renderDispatch.generateChangedList(parentFiber);
|
|
4673
|
+
draftFiber && renderDispatch.generateChangedList(parentFiber);
|
|
4545
4674
|
return createFiberNode(renderDispatch, { parent: parentFiber, type: "position" }, newChild);
|
|
4546
4675
|
}
|
|
4547
4676
|
};
|
|
@@ -4556,9 +4685,13 @@ function requireIndex_production_1 () {
|
|
|
4556
4685
|
var isUpdate = myreactSharedExports.exclude(parentFiber.state, myreactSharedExports.STATE_TYPE.__create__);
|
|
4557
4686
|
var isHMR = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__hmr__);
|
|
4558
4687
|
var isRetrigger = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
4688
|
+
var isSuspense = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__suspense__);
|
|
4559
4689
|
// is current is retrigger update, skip update children
|
|
4560
4690
|
if (isRetrigger)
|
|
4561
4691
|
return;
|
|
4692
|
+
// if is suspense, skip update children
|
|
4693
|
+
if (isSuspense)
|
|
4694
|
+
return;
|
|
4562
4695
|
if (isUpdate || isHMR) {
|
|
4563
4696
|
var _a = getExistingChildren(parentFiber), existingChildrenMap = _a.existingChildrenMap, existingChildrenArray = _a.existingChildrenArray;
|
|
4564
4697
|
parentFiber.child = null;
|
|
@@ -4644,6 +4777,11 @@ function requireIndex_production_1 () {
|
|
|
4644
4777
|
};
|
|
4645
4778
|
|
|
4646
4779
|
var currentHookTreeNode = react.__my_react_internal__.currentHookTreeNode, currentHookNodeIndex$1 = react.__my_react_internal__.currentHookNodeIndex, currentScheduler$4 = react.__my_react_internal__.currentScheduler;
|
|
4780
|
+
var triggerState = myreactSharedExports.STATE_TYPE.__triggerSync__ |
|
|
4781
|
+
myreactSharedExports.STATE_TYPE.__triggerSyncForce__ |
|
|
4782
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrent__ |
|
|
4783
|
+
myreactSharedExports.STATE_TYPE.__triggerConcurrentForce__ |
|
|
4784
|
+
myreactSharedExports.STATE_TYPE.__retrigger__;
|
|
4647
4785
|
var processFunction = function (fiber) {
|
|
4648
4786
|
var _a;
|
|
4649
4787
|
currentHookTreeNode.current = (_a = fiber.hookList) === null || _a === void 0 ? void 0 : _a.head;
|
|
@@ -4655,14 +4793,20 @@ function requireIndex_production_1 () {
|
|
|
4655
4793
|
children = safeCallWithCurrentFiber({
|
|
4656
4794
|
fiber: fiber,
|
|
4657
4795
|
action: function safeCallForwardRefFunctionalComponent() {
|
|
4658
|
-
var _a, _b;
|
|
4796
|
+
var _a, _b, _c, _d;
|
|
4659
4797
|
var re = undefined;
|
|
4660
4798
|
try {
|
|
4661
4799
|
re = typedElementTypeWithRef_1(fiber.pendingProps, fiber.ref);
|
|
4662
4800
|
}
|
|
4663
4801
|
catch (e) {
|
|
4664
4802
|
if (myreactSharedExports.isPromise(e)) {
|
|
4665
|
-
|
|
4803
|
+
var currentIsTrigger = myreactSharedExports.include(fiber.state, triggerState);
|
|
4804
|
+
if (currentIsTrigger) {
|
|
4805
|
+
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 });
|
|
4806
|
+
}
|
|
4807
|
+
else {
|
|
4808
|
+
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 });
|
|
4809
|
+
}
|
|
4666
4810
|
}
|
|
4667
4811
|
else {
|
|
4668
4812
|
throw e;
|
|
@@ -4676,14 +4820,20 @@ function requireIndex_production_1 () {
|
|
|
4676
4820
|
children = safeCallWithCurrentFiber({
|
|
4677
4821
|
fiber: fiber,
|
|
4678
4822
|
action: function safeCallFunctionalComponent() {
|
|
4679
|
-
var _a, _b;
|
|
4823
|
+
var _a, _b, _c, _d;
|
|
4680
4824
|
var re = undefined;
|
|
4681
4825
|
try {
|
|
4682
4826
|
re = typedElementType(fiber.pendingProps);
|
|
4683
4827
|
}
|
|
4684
4828
|
catch (e) {
|
|
4685
4829
|
if (myreactSharedExports.isPromise(e)) {
|
|
4686
|
-
|
|
4830
|
+
var currentIsTrigger = myreactSharedExports.include(fiber.state, triggerState);
|
|
4831
|
+
if (currentIsTrigger) {
|
|
4832
|
+
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 });
|
|
4833
|
+
}
|
|
4834
|
+
else {
|
|
4835
|
+
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 });
|
|
4836
|
+
}
|
|
4687
4837
|
}
|
|
4688
4838
|
else {
|
|
4689
4839
|
throw e;
|
|
@@ -4769,7 +4919,7 @@ function requireIndex_production_1 () {
|
|
|
4769
4919
|
return null;
|
|
4770
4920
|
}
|
|
4771
4921
|
else {
|
|
4772
|
-
// TODO
|
|
4922
|
+
// TODO update flow
|
|
4773
4923
|
if (enableSuspenseRoot$1.current && !renderDispatch.isAppMounted) {
|
|
4774
4924
|
var suspenseField = getInstanceFieldByInstance(renderDispatch);
|
|
4775
4925
|
suspenseField.asyncLoadList.uniPush(typedElementType);
|
|
@@ -5157,6 +5307,9 @@ function requireIndex_production_1 () {
|
|
|
5157
5307
|
RenderDispatchEvent.prototype.dispatchPromise = function (_params) {
|
|
5158
5308
|
throw new Error("Method not implemented.");
|
|
5159
5309
|
};
|
|
5310
|
+
RenderDispatchEvent.prototype.dispatchSuspensePromise = function (_params) {
|
|
5311
|
+
throw new Error("Method not implemented.");
|
|
5312
|
+
};
|
|
5160
5313
|
RenderDispatchEvent.prototype.trigger = function (_fiber, _state, cb) {
|
|
5161
5314
|
return triggerUpdateOnFiber(_fiber, _state, cb);
|
|
5162
5315
|
};
|
|
@@ -5687,12 +5840,23 @@ function requireIndex_production_1 () {
|
|
|
5687
5840
|
layoutEffect(_dispatch, _fiber);
|
|
5688
5841
|
});
|
|
5689
5842
|
afterSyncUpdate();
|
|
5690
|
-
|
|
5691
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
5843
|
+
function invokeEffectListTask() {
|
|
5692
5844
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
5693
5845
|
effect(_dispatch, _fiber);
|
|
5694
5846
|
});
|
|
5695
|
-
}
|
|
5847
|
+
}
|
|
5848
|
+
addEffectCallback(invokeEffectListTask);
|
|
5849
|
+
var renderScheduler = currentScheduler$2.current;
|
|
5850
|
+
if (_dispatch.enableConcurrentMode) {
|
|
5851
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
5852
|
+
flushEffectCallback();
|
|
5853
|
+
});
|
|
5854
|
+
}
|
|
5855
|
+
else {
|
|
5856
|
+
renderScheduler.microTask(function flushEffect() {
|
|
5857
|
+
flushEffectCallback();
|
|
5858
|
+
});
|
|
5859
|
+
}
|
|
5696
5860
|
};
|
|
5697
5861
|
var defaultDispatchMount = defaultDispatchMountLatest;
|
|
5698
5862
|
|
|
@@ -5776,15 +5940,25 @@ function requireIndex_production_1 () {
|
|
|
5776
5940
|
}
|
|
5777
5941
|
});
|
|
5778
5942
|
afterSyncUpdate();
|
|
5779
|
-
|
|
5780
|
-
// TODO before next update flow, make sure all the effect has done
|
|
5781
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
5943
|
+
function invokeEffectListTask() {
|
|
5782
5944
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
5783
5945
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
5784
5946
|
effect(_dispatch, _fiber);
|
|
5785
5947
|
}
|
|
5786
5948
|
});
|
|
5787
|
-
}
|
|
5949
|
+
}
|
|
5950
|
+
addEffectCallback(invokeEffectListTask);
|
|
5951
|
+
var renderScheduler = currentScheduler$1.current;
|
|
5952
|
+
if (_dispatch.enableConcurrentMode) {
|
|
5953
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
5954
|
+
flushEffectCallback();
|
|
5955
|
+
});
|
|
5956
|
+
}
|
|
5957
|
+
else {
|
|
5958
|
+
renderScheduler.microTask(function flushEffect() {
|
|
5959
|
+
flushEffectCallback();
|
|
5960
|
+
});
|
|
5961
|
+
}
|
|
5788
5962
|
};
|
|
5789
5963
|
|
|
5790
5964
|
var enableSuspenseRoot = react.__my_react_shared__.enableSuspenseRoot;
|
|
@@ -5845,7 +6019,9 @@ function requireIndex_production_1 () {
|
|
|
5845
6019
|
promise._loading = true;
|
|
5846
6020
|
promise.status = "pending";
|
|
5847
6021
|
var renderScheduler_1 = currentScheduler.current;
|
|
5848
|
-
renderDispatch
|
|
6022
|
+
renderDispatch
|
|
6023
|
+
.processPromise(promise)
|
|
6024
|
+
.then(function () {
|
|
5849
6025
|
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
5850
6026
|
promise._list.delete(fiber);
|
|
5851
6027
|
promise._loading = false;
|
|
@@ -5857,9 +6033,44 @@ function requireIndex_production_1 () {
|
|
|
5857
6033
|
payLoad: promise,
|
|
5858
6034
|
};
|
|
5859
6035
|
renderScheduler_1.dispatchState(updater);
|
|
5860
|
-
})
|
|
6036
|
+
})
|
|
6037
|
+
.catch(function (e) { return renderScheduler_1.dispatchError({ fiber: fiber, error: e }); });
|
|
6038
|
+
return null;
|
|
6039
|
+
}
|
|
6040
|
+
};
|
|
6041
|
+
var processSuspensePromise = function (renderDispatch, fiber, promise) {
|
|
6042
|
+
var _a, _b;
|
|
6043
|
+
defaultDeleteCurrentEffect(renderDispatch, fiber);
|
|
6044
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__suspense__;
|
|
6045
|
+
if (promise.status === "rejected") {
|
|
6046
|
+
(_b = (_a = currentScheduler.current).dispatchError) === null || _b === void 0 ? void 0 : _b.call(_a, { fiber: fiber, error: promise._reason });
|
|
5861
6047
|
return null;
|
|
5862
6048
|
}
|
|
6049
|
+
if (promise.status === "fulfilled") ;
|
|
6050
|
+
promise._list = promise._list || new Set();
|
|
6051
|
+
promise._list.add(fiber);
|
|
6052
|
+
if (promise._loading)
|
|
6053
|
+
return null;
|
|
6054
|
+
promise._loading = true;
|
|
6055
|
+
promise.status = "pending";
|
|
6056
|
+
var renderScheduler = currentScheduler.current;
|
|
6057
|
+
renderDispatch
|
|
6058
|
+
.processPromise(promise)
|
|
6059
|
+
.then(function () {
|
|
6060
|
+
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
6061
|
+
promise._list.delete(fiber);
|
|
6062
|
+
promise._loading = false;
|
|
6063
|
+
var updater = {
|
|
6064
|
+
type: myreactSharedExports.UpdateQueueType.promise,
|
|
6065
|
+
trigger: fiber,
|
|
6066
|
+
isSync: true,
|
|
6067
|
+
isForce: true,
|
|
6068
|
+
payLoad: promise,
|
|
6069
|
+
};
|
|
6070
|
+
renderScheduler.dispatchState(updater);
|
|
6071
|
+
})
|
|
6072
|
+
.catch(function (e) { return renderScheduler.dispatchError({ fiber: fiber, error: e }); });
|
|
6073
|
+
return null;
|
|
5863
6074
|
};
|
|
5864
6075
|
|
|
5865
6076
|
var CustomRenderDispatch = /** @class */ (function (_super) {
|
|
@@ -5871,7 +6082,7 @@ function requireIndex_production_1 () {
|
|
|
5871
6082
|
_this.isAppMounted = false;
|
|
5872
6083
|
_this.isAppCrashed = false;
|
|
5873
6084
|
_this.isAppUnmounted = false;
|
|
5874
|
-
_this.version = "0.3.
|
|
6085
|
+
_this.version = "0.3.18";
|
|
5875
6086
|
_this.mode = "production";
|
|
5876
6087
|
_this.renderMode = "render";
|
|
5877
6088
|
_this.pendingCommitFiberList = null;
|
|
@@ -6283,7 +6494,7 @@ function requireIndex_production_1 () {
|
|
|
6283
6494
|
});
|
|
6284
6495
|
}); };
|
|
6285
6496
|
|
|
6286
|
-
var version = "0.3.
|
|
6497
|
+
var version = "0.3.18";
|
|
6287
6498
|
|
|
6288
6499
|
exports.CustomRenderDispatch = CustomRenderDispatch;
|
|
6289
6500
|
exports.MyReactFiberNode = MyReactFiberNode;
|
|
@@ -6292,6 +6503,7 @@ function requireIndex_production_1 () {
|
|
|
6292
6503
|
exports.RenderDispatchEvent = RenderDispatchEvent;
|
|
6293
6504
|
exports.WrapperByLazyScope = WrapperByLazyScope;
|
|
6294
6505
|
exports.WrapperBySuspenseScope = WrapperBySuspenseScope;
|
|
6506
|
+
exports.addEffectCallback = addEffectCallback;
|
|
6295
6507
|
exports.afterSyncFlush = afterSyncFlush;
|
|
6296
6508
|
exports.afterSyncUpdate = afterSyncUpdate;
|
|
6297
6509
|
exports.applyTriggerFiberCb = applyTriggerFiberCb;
|
|
@@ -6341,6 +6553,7 @@ function requireIndex_production_1 () {
|
|
|
6341
6553
|
exports.enableLogForCurrentFlowIsRunning = enableLogForCurrentFlowIsRunning;
|
|
6342
6554
|
exports.enableValidMyReactElement = enableValidMyReactElement;
|
|
6343
6555
|
exports.fiberToDispatchMap = fiberToDispatchMap;
|
|
6556
|
+
exports.flushEffectCallback = flushEffectCallback;
|
|
6344
6557
|
exports.generateFiberToListWithAction = generateFiberToListWithAction;
|
|
6345
6558
|
exports.generateFiberToMountList = generateFiberToMountList;
|
|
6346
6559
|
exports.generateFiberToUnmountList = generateFiberToUnmountList;
|
|
@@ -6430,6 +6643,7 @@ function requireIndex_production_1 () {
|
|
|
6430
6643
|
exports.processProvider = processProvider;
|
|
6431
6644
|
exports.processState = processState;
|
|
6432
6645
|
exports.processSuspense = processSuspense;
|
|
6646
|
+
exports.processSuspensePromise = processSuspensePromise;
|
|
6433
6647
|
exports.resetLogScope = resetLogScope;
|
|
6434
6648
|
exports.runtimeNextWork = runtimeNextWork;
|
|
6435
6649
|
exports.runtimeNextWorkDev = runtimeNextWorkDev;
|
|
@@ -6706,6 +6920,7 @@ function requireIndex_production () {
|
|
|
6706
6920
|
STATE_TYPE[STATE_TYPE["__retrigger__"] = 512] = "__retrigger__";
|
|
6707
6921
|
STATE_TYPE[STATE_TYPE["__reschedule__"] = 1024] = "__reschedule__";
|
|
6708
6922
|
STATE_TYPE[STATE_TYPE["__recreate__"] = 2048] = "__recreate__";
|
|
6923
|
+
STATE_TYPE[STATE_TYPE["__suspense__"] = 4096] = "__suspense__";
|
|
6709
6924
|
})(exports.STATE_TYPE || (exports.STATE_TYPE = {}));
|
|
6710
6925
|
|
|
6711
6926
|
exports.PATCH_TYPE = void 0;
|
|
@@ -7184,27 +7399,51 @@ var delGlobalDispatch = function (dispatch) {
|
|
|
7184
7399
|
* @internal
|
|
7185
7400
|
*/
|
|
7186
7401
|
var setRef = function (_fiber, config) {
|
|
7187
|
-
var _a, _b;
|
|
7188
7402
|
if (myreactSharedExports.include(_fiber.patch, myreactSharedExports.PATCH_TYPE.__ref__)) {
|
|
7403
|
+
var cleanUp = function () {
|
|
7404
|
+
var refPrevious = _fiber.refPrevious;
|
|
7405
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
7406
|
+
fiber: _fiber,
|
|
7407
|
+
action: function safeCallRefPrevious() {
|
|
7408
|
+
if (typeof refPrevious === "object" && refPrevious !== null) {
|
|
7409
|
+
refPrevious.current = null;
|
|
7410
|
+
}
|
|
7411
|
+
else if (typeof refPrevious === "function") {
|
|
7412
|
+
refPrevious === null || refPrevious === void 0 ? void 0 : refPrevious(null);
|
|
7413
|
+
}
|
|
7414
|
+
},
|
|
7415
|
+
});
|
|
7416
|
+
_fiber.refPrevious = undefined;
|
|
7417
|
+
var refCleanup = _fiber.refCleanup;
|
|
7418
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
7419
|
+
fiber: _fiber,
|
|
7420
|
+
action: function safeCallRefCleanup() {
|
|
7421
|
+
if (typeof refCleanup === "function") {
|
|
7422
|
+
refCleanup();
|
|
7423
|
+
}
|
|
7424
|
+
},
|
|
7425
|
+
});
|
|
7426
|
+
_fiber.refCleanup = undefined;
|
|
7427
|
+
};
|
|
7189
7428
|
if (myreactSharedExports.include(_fiber.type, myreactReconcilerExports.NODE_TYPE.__plain__)) {
|
|
7190
7429
|
if (_fiber.nativeNode) {
|
|
7430
|
+
cleanUp();
|
|
7191
7431
|
var ref_1 = _fiber.ref;
|
|
7192
|
-
|
|
7193
|
-
|
|
7194
|
-
|
|
7195
|
-
|
|
7196
|
-
|
|
7197
|
-
|
|
7198
|
-
|
|
7199
|
-
|
|
7200
|
-
(_a = _fiber.refCleanup) === null || _a === void 0 ? void 0 : _a.call(_fiber);
|
|
7432
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
7433
|
+
fiber: _fiber,
|
|
7434
|
+
action: function safeCallSetRef() {
|
|
7435
|
+
var _a, _b;
|
|
7436
|
+
if (typeof ref_1 === "object" && ref_1 !== null) {
|
|
7437
|
+
ref_1.current = (_a = config === null || config === void 0 ? void 0 : config.getPublicInstance) === null || _a === void 0 ? void 0 : _a.call(config, _fiber.nativeNode);
|
|
7438
|
+
}
|
|
7439
|
+
else if (typeof ref_1 === "function") {
|
|
7201
7440
|
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));
|
|
7202
7441
|
if (typeof refCleanUp === "function") {
|
|
7203
7442
|
_fiber.refCleanup = refCleanUp;
|
|
7204
7443
|
}
|
|
7205
|
-
}
|
|
7206
|
-
}
|
|
7207
|
-
}
|
|
7444
|
+
}
|
|
7445
|
+
},
|
|
7446
|
+
});
|
|
7208
7447
|
}
|
|
7209
7448
|
else {
|
|
7210
7449
|
throw new Error("[@my-react/react] plain element do not have a native node");
|
|
@@ -7212,23 +7451,23 @@ var setRef = function (_fiber, config) {
|
|
|
7212
7451
|
}
|
|
7213
7452
|
else if (myreactSharedExports.include(_fiber.type, myreactReconcilerExports.NODE_TYPE.__class__)) {
|
|
7214
7453
|
if (_fiber.instance) {
|
|
7454
|
+
cleanUp();
|
|
7215
7455
|
var ref_2 = _fiber.ref;
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7224
|
-
(_a = _fiber.refCleanup) === null || _a === void 0 ? void 0 : _a.call(_fiber);
|
|
7456
|
+
myreactReconcilerExports.safeCallWithCurrentFiber({
|
|
7457
|
+
fiber: _fiber,
|
|
7458
|
+
action: function safeCallSetRef() {
|
|
7459
|
+
var _a, _b;
|
|
7460
|
+
if (typeof ref_2 === "object" && ref_2 !== null) {
|
|
7461
|
+
ref_2.current = (_a = config === null || config === void 0 ? void 0 : config.getPublicInstance) === null || _a === void 0 ? void 0 : _a.call(config, _fiber.instance);
|
|
7462
|
+
}
|
|
7463
|
+
else if (typeof ref_2 === "function") {
|
|
7225
7464
|
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));
|
|
7226
7465
|
if (typeof refCleanUp === "function") {
|
|
7227
7466
|
_fiber.refCleanup = refCleanUp;
|
|
7228
7467
|
}
|
|
7229
|
-
}
|
|
7230
|
-
}
|
|
7231
|
-
}
|
|
7468
|
+
}
|
|
7469
|
+
},
|
|
7470
|
+
});
|
|
7232
7471
|
}
|
|
7233
7472
|
else {
|
|
7234
7473
|
throw new Error("[@my-react/react-dom] class component do not have a instance");
|
|
@@ -7694,11 +7933,15 @@ var ReconcilerDispatchMount = function (_dispatch, _fiber, config) {
|
|
|
7694
7933
|
myreactReconcilerExports.layoutEffect(_dispatch, _fiber);
|
|
7695
7934
|
});
|
|
7696
7935
|
myreactReconcilerExports.afterSyncUpdate();
|
|
7697
|
-
|
|
7698
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
7936
|
+
function invokeEffectListTask() {
|
|
7699
7937
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
7700
7938
|
myreactReconcilerExports.effect(_dispatch, _fiber);
|
|
7701
7939
|
});
|
|
7940
|
+
}
|
|
7941
|
+
myreactReconcilerExports.addEffectCallback(invokeEffectListTask);
|
|
7942
|
+
var renderScheduler = currentScheduler$2.current;
|
|
7943
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
7944
|
+
myreactReconcilerExports.flushEffectCallback();
|
|
7702
7945
|
});
|
|
7703
7946
|
};
|
|
7704
7947
|
|
|
@@ -7717,7 +7960,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
7717
7960
|
}
|
|
7718
7961
|
});
|
|
7719
7962
|
myreactReconcilerExports.afterSyncUpdate();
|
|
7720
|
-
var
|
|
7963
|
+
var pendingFinalizeInitialChildrenFiberSet = new Set();
|
|
7721
7964
|
var pendingCommitFiberArray = [];
|
|
7722
7965
|
_list.listToFoot(function invokeCreateAndUpdateList(_fiber) {
|
|
7723
7966
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
@@ -7731,7 +7974,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
7731
7974
|
});
|
|
7732
7975
|
var afterHasNode = _fiber.nativeNode;
|
|
7733
7976
|
if (!beforeHasNode && afterHasNode) {
|
|
7734
|
-
|
|
7977
|
+
pendingFinalizeInitialChildrenFiberSet.add(_fiber);
|
|
7735
7978
|
}
|
|
7736
7979
|
}
|
|
7737
7980
|
});
|
|
@@ -7741,6 +7984,8 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
7741
7984
|
fiber: _fiber,
|
|
7742
7985
|
action: function safeCallPosition() {
|
|
7743
7986
|
_dispatch.commitPosition(_fiber);
|
|
7987
|
+
var parentFiber = getValidParentFiberWithNode(_dispatch, _fiber);
|
|
7988
|
+
parentFiber && pendingFinalizeInitialChildrenFiberSet.add(parentFiber);
|
|
7744
7989
|
},
|
|
7745
7990
|
});
|
|
7746
7991
|
}
|
|
@@ -7751,6 +7996,8 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
7751
7996
|
fiber: _fiber,
|
|
7752
7997
|
action: function safeCallAppendList() {
|
|
7753
7998
|
_dispatch.commitAppend(_fiber);
|
|
7999
|
+
var parentFiber = getValidParentFiberWithNode(_dispatch, _fiber);
|
|
8000
|
+
parentFiber && pendingFinalizeInitialChildrenFiberSet.add(parentFiber);
|
|
7754
8001
|
},
|
|
7755
8002
|
});
|
|
7756
8003
|
}
|
|
@@ -7765,7 +8012,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
7765
8012
|
});
|
|
7766
8013
|
}
|
|
7767
8014
|
});
|
|
7768
|
-
|
|
8015
|
+
pendingFinalizeInitialChildrenFiberSet.forEach(function invokeFinalizeInitialChildren(_fiber) {
|
|
7769
8016
|
if (_fiber.nativeNode) {
|
|
7770
8017
|
var node = config.getPublicInstance(_fiber.nativeNode);
|
|
7771
8018
|
var type = _fiber.elementType;
|
|
@@ -7791,15 +8038,25 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
7791
8038
|
}
|
|
7792
8039
|
});
|
|
7793
8040
|
myreactReconcilerExports.afterSyncUpdate();
|
|
7794
|
-
|
|
7795
|
-
// TODO before next update flow, make sure all the effect has done
|
|
7796
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
8041
|
+
function invokeEffectListTask() {
|
|
7797
8042
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
7798
8043
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
7799
8044
|
myreactReconcilerExports.effect(_dispatch, _fiber);
|
|
7800
8045
|
}
|
|
7801
8046
|
});
|
|
7802
|
-
}
|
|
8047
|
+
}
|
|
8048
|
+
myreactReconcilerExports.addEffectCallback(invokeEffectListTask);
|
|
8049
|
+
var renderScheduler = currentScheduler$1.current;
|
|
8050
|
+
if (_dispatch.enableConcurrentMode) {
|
|
8051
|
+
renderScheduler.macroTask(function flushEffect() {
|
|
8052
|
+
myreactReconcilerExports.flushEffectCallback();
|
|
8053
|
+
});
|
|
8054
|
+
}
|
|
8055
|
+
else {
|
|
8056
|
+
renderScheduler.microTask(function flushEffect() {
|
|
8057
|
+
myreactReconcilerExports.flushEffectCallback();
|
|
8058
|
+
});
|
|
8059
|
+
}
|
|
7803
8060
|
};
|
|
7804
8061
|
|
|
7805
8062
|
require$$0.__my_react_internal__.currentComponentFiber;
|
|
@@ -7810,7 +8067,7 @@ var initialRef = {
|
|
|
7810
8067
|
typeForAppend: myreactReconcilerExports.NODE_TYPE.__text__ | myreactReconcilerExports.NODE_TYPE.__plain__,
|
|
7811
8068
|
typeForNativeNode: myreactReconcilerExports.NODE_TYPE.__text__ | myreactReconcilerExports.NODE_TYPE.__plain__ | myreactReconcilerExports.NODE_TYPE.__portal__,
|
|
7812
8069
|
};
|
|
7813
|
-
var createDispatch = function (rootNode, rootFiber, rootElement, config) {
|
|
8070
|
+
var createDispatch = function (rootNode, rootFiber, rootElement, config, flag) {
|
|
7814
8071
|
var ReconcilerDispatch = /** @class */ (function (_super) {
|
|
7815
8072
|
__extends(ReconcilerDispatch, _super);
|
|
7816
8073
|
function ReconcilerDispatch() {
|
|
@@ -7905,13 +8162,19 @@ var createDispatch = function (rootNode, rootFiber, rootElement, config) {
|
|
|
7905
8162
|
ReconcilerDispatch.prototype.dispatchPromise = function (_params) {
|
|
7906
8163
|
return myreactReconcilerExports.processPromise(this, _params.fiber, _params.promise);
|
|
7907
8164
|
};
|
|
8165
|
+
ReconcilerDispatch.prototype.dispatchSuspensePromise = function (_params) {
|
|
8166
|
+
return myreactReconcilerExports.processSuspensePromise(this, _params.fiber, _params.promise);
|
|
8167
|
+
};
|
|
7908
8168
|
ReconcilerDispatch.prototype.dispatchError = function (_params) {
|
|
7909
8169
|
myreactReconcilerExports.triggerError(this, _params.fiber, _params.error);
|
|
7910
8170
|
return void 0;
|
|
7911
8171
|
};
|
|
7912
8172
|
return ReconcilerDispatch;
|
|
7913
8173
|
}(myreactReconcilerExports.CustomRenderDispatch));
|
|
7914
|
-
|
|
8174
|
+
var dispatch = new ReconcilerDispatch(rootNode, rootFiber, rootElement);
|
|
8175
|
+
dispatch.enableConcurrentMode = flag !== 0;
|
|
8176
|
+
dispatch.renderMode = flag !== 0 ? "concurrent" : "legacy";
|
|
8177
|
+
return dispatch;
|
|
7915
8178
|
};
|
|
7916
8179
|
|
|
7917
8180
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
@@ -7973,12 +8236,11 @@ var loadScript = function (url) {
|
|
|
7973
8236
|
}
|
|
7974
8237
|
};
|
|
7975
8238
|
|
|
7976
|
-
var enableDebugFiled$1 = require$$0.__my_react_shared__.enableDebugFiled, enableScopeTreeLog$1 = require$$0.__my_react_shared__.enableScopeTreeLog
|
|
8239
|
+
var enableDebugFiled$1 = require$$0.__my_react_shared__.enableDebugFiled, enableScopeTreeLog$1 = require$$0.__my_react_shared__.enableScopeTreeLog;
|
|
7977
8240
|
/**
|
|
7978
8241
|
* @internal
|
|
7979
8242
|
*/
|
|
7980
8243
|
var prepareScheduler = function () {
|
|
7981
|
-
// enableConcurrentMode.current = false;
|
|
7982
8244
|
enableDebugFiled$1.current = true;
|
|
7983
8245
|
enableScopeTreeLog$1.current = true;
|
|
7984
8246
|
myreactReconcilerExports.enableFiberForLog.current = true;
|
|
@@ -7992,11 +8254,19 @@ var currentScheduler = require$$0.__my_react_internal__.currentScheduler;
|
|
|
7992
8254
|
var Reconciler = function (_config) {
|
|
7993
8255
|
var rendererPackageName = "@my-react";
|
|
7994
8256
|
var ReconcilerSet = new Set();
|
|
7995
|
-
var createContainer = function (_container) {
|
|
8257
|
+
var createContainer = function (_container, flag) {
|
|
7996
8258
|
prepareScheduler();
|
|
8259
|
+
if (flag === 0) {
|
|
8260
|
+
// legacy mode
|
|
8261
|
+
_container.__flag__ = 0;
|
|
8262
|
+
}
|
|
8263
|
+
else {
|
|
8264
|
+
// concurrent mode
|
|
8265
|
+
_container.__flag__ = 1;
|
|
8266
|
+
}
|
|
7997
8267
|
enableDebugFiled.current = false;
|
|
7998
8268
|
enableScopeTreeLog.current = false;
|
|
7999
|
-
|
|
8269
|
+
myreactReconcilerExports.enableFiberForLog.current = false;
|
|
8000
8270
|
return _container;
|
|
8001
8271
|
};
|
|
8002
8272
|
var updateContainer = function (_element, _container, _ignore, _cb) {
|
|
@@ -8022,7 +8292,7 @@ var Reconciler = function (_config) {
|
|
|
8022
8292
|
delGlobalDispatch(renderDispatch);
|
|
8023
8293
|
}
|
|
8024
8294
|
var _fiber = new myreactReconcilerExports.MyReactFiberNode(_element);
|
|
8025
|
-
var _renderDispatch = createDispatch(_container, _fiber, _element, _config);
|
|
8295
|
+
var _renderDispatch = createDispatch(_container, _fiber, _element, _config, _container.__flag__);
|
|
8026
8296
|
_cb && _renderDispatch.pendingEffect(_fiber, _cb);
|
|
8027
8297
|
ReconcilerSet.add(_renderDispatch);
|
|
8028
8298
|
renderScheduler.dispatchSet.uniPush(_renderDispatch);
|
|
@@ -8089,7 +8359,7 @@ var Reconciler = function (_config) {
|
|
|
8089
8359
|
};
|
|
8090
8360
|
};
|
|
8091
8361
|
|
|
8092
|
-
var version = "0.0.
|
|
8362
|
+
var version = "0.0.9";
|
|
8093
8363
|
var createReconciler = Reconciler;
|
|
8094
8364
|
|
|
8095
8365
|
exports.createReconciler = createReconciler;
|