@my-react/react-reconciler-compact 0.0.8 → 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 +271 -147
- package/dist/cjs/index.production.js +267 -147
- package/dist/types/api/ref.d.ts.map +1 -1
- package/dist/types/dispatch.d.ts +4 -0
- 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/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;
|
|
@@ -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;
|
|
@@ -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) {
|
|
@@ -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;
|
|
@@ -1913,6 +1936,16 @@ function requireIndex_development_1 () {
|
|
|
1913
1936
|
child = child.sibling;
|
|
1914
1937
|
}
|
|
1915
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
|
+
};
|
|
1916
1949
|
var effect = defaultInvokeEffect;
|
|
1917
1950
|
var layoutEffect = defaultInvokeLayoutEffect;
|
|
1918
1951
|
var insertionEffect = defaultInvokeInsertionEffect;
|
|
@@ -1982,7 +2015,10 @@ function requireIndex_development_1 () {
|
|
|
1982
2015
|
}
|
|
1983
2016
|
currentRunningFiber$2.current = null;
|
|
1984
2017
|
}
|
|
1985
|
-
if (
|
|
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__)) {
|
|
1986
2022
|
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
1987
2023
|
}
|
|
1988
2024
|
else {
|
|
@@ -2034,7 +2070,10 @@ function requireIndex_development_1 () {
|
|
|
2034
2070
|
currentRunningFiber$2.current = null;
|
|
2035
2071
|
triggerFiberUpdateListener(renderDispatch, fiber);
|
|
2036
2072
|
}
|
|
2037
|
-
if (
|
|
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__)) {
|
|
2038
2077
|
fiber.state = myreactSharedExports.STATE_TYPE.__stable__;
|
|
2039
2078
|
}
|
|
2040
2079
|
else {
|
|
@@ -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
|
-
// TODO update flow
|
|
2247
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";
|
|
@@ -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");
|
|
@@ -2431,66 +2460,12 @@ function requireIndex_development_1 () {
|
|
|
2431
2460
|
}
|
|
2432
2461
|
// TODO update flow
|
|
2433
2462
|
if (enableSuspenseRoot$2.current) {
|
|
2434
|
-
var
|
|
2435
|
-
var list =
|
|
2463
|
+
var suspenseField = getInstanceFieldByInstance(renderDispatch);
|
|
2464
|
+
var list = suspenseField.asyncLoadList.getAll();
|
|
2436
2465
|
if (list.length === 0)
|
|
2437
2466
|
return;
|
|
2438
2467
|
if (renderDispatch.enableAsyncLoad) {
|
|
2439
|
-
|
|
2440
|
-
// defaultDeleteChildEffect(renderDispatch, renderDispatch.rootFiber);
|
|
2441
|
-
var allPendingLoadArray = list.filter(function (item) {
|
|
2442
|
-
if (myreactSharedExports.isPromise(item)) {
|
|
2443
|
-
return typeof item.status !== "string";
|
|
2444
|
-
}
|
|
2445
|
-
else {
|
|
2446
|
-
return !item._loading && !item._loaded && !item._error;
|
|
2447
|
-
}
|
|
2448
|
-
});
|
|
2449
|
-
if (allPendingLoadArray.length) {
|
|
2450
|
-
allPendingLoadArray.forEach(function (item) { var _a; return (_a = item._list) === null || _a === void 0 ? void 0 : _a.forEach(function (node) { return defaultDeleteCurrentEffect(renderDispatch, node); }); });
|
|
2451
|
-
Promise.all(allPendingLoadArray.map(function (item) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2452
|
-
var allFiber;
|
|
2453
|
-
var _a;
|
|
2454
|
-
return __generator(this, function (_b) {
|
|
2455
|
-
switch (_b.label) {
|
|
2456
|
-
case 0:
|
|
2457
|
-
if (!myreactSharedExports.isPromise(item)) return [3 /*break*/, 2];
|
|
2458
|
-
return [4 /*yield*/, renderDispatch.processPromise(item)];
|
|
2459
|
-
case 1:
|
|
2460
|
-
_b.sent();
|
|
2461
|
-
return [3 /*break*/, 4];
|
|
2462
|
-
case 2: return [4 /*yield*/, renderDispatch.processLazy(item)];
|
|
2463
|
-
case 3:
|
|
2464
|
-
_b.sent();
|
|
2465
|
-
_b.label = 4;
|
|
2466
|
-
case 4:
|
|
2467
|
-
allFiber = new Set(item._list);
|
|
2468
|
-
(_a = item._list) === null || _a === void 0 ? void 0 : _a.clear();
|
|
2469
|
-
allFiber.forEach(function (node) {
|
|
2470
|
-
node.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
2471
|
-
var renderScheduler = currentScheduler$d.current;
|
|
2472
|
-
var updater = {
|
|
2473
|
-
type: myreactSharedExports.UpdateQueueType.suspense,
|
|
2474
|
-
trigger: node,
|
|
2475
|
-
isSync: true,
|
|
2476
|
-
isForce: true,
|
|
2477
|
-
payLoad: [item],
|
|
2478
|
-
};
|
|
2479
|
-
renderScheduler.dispatchState(updater);
|
|
2480
|
-
});
|
|
2481
|
-
suspenseField_1.asyncLoadList.uniDelete(item);
|
|
2482
|
-
return [2 /*return*/];
|
|
2483
|
-
}
|
|
2484
|
-
});
|
|
2485
|
-
}); }));
|
|
2486
|
-
}
|
|
2487
|
-
// suspenseField.isHidden = true;
|
|
2488
|
-
// const root = renderDispatch.rootFiber;
|
|
2489
|
-
// root.state = remove(root.state, STATE_TYPE.__stable__);
|
|
2490
|
-
// root.state = merge(root.state, STATE_TYPE.__retrigger__);
|
|
2491
|
-
// // TODO use hide tree to improve
|
|
2492
|
-
// mountLoopAll(renderDispatch, root);
|
|
2493
|
-
// suspenseField.isHidden = false;
|
|
2468
|
+
throw new Error("[@my-react/reconciler] not implemented yet");
|
|
2494
2469
|
}
|
|
2495
2470
|
else {
|
|
2496
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");
|
|
@@ -3105,7 +3080,7 @@ function requireIndex_development_1 () {
|
|
|
3105
3080
|
var typedFiber = fiber;
|
|
3106
3081
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
3107
3082
|
var needUpdate = true;
|
|
3108
|
-
var isSync =
|
|
3083
|
+
var isSync = true;
|
|
3109
3084
|
var isForce = false;
|
|
3110
3085
|
var isImmediate = false;
|
|
3111
3086
|
var isRetrigger = false;
|
|
@@ -3412,7 +3387,7 @@ function requireIndex_development_1 () {
|
|
|
3412
3387
|
var typedFiber = fiber;
|
|
3413
3388
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
3414
3389
|
var needUpdate = false;
|
|
3415
|
-
var isSync =
|
|
3390
|
+
var isSync = true;
|
|
3416
3391
|
var isForce = false;
|
|
3417
3392
|
var isImmediate = false;
|
|
3418
3393
|
var isRetrigger = false;
|
|
@@ -3569,7 +3544,7 @@ function requireIndex_development_1 () {
|
|
|
3569
3544
|
var renderScheduler = currentScheduler$c.current;
|
|
3570
3545
|
var node = allQueue === null || allQueue === void 0 ? void 0 : allQueue.head;
|
|
3571
3546
|
var needUpdate = true;
|
|
3572
|
-
var isSync =
|
|
3547
|
+
var isSync = true;
|
|
3573
3548
|
var isForce = false;
|
|
3574
3549
|
var isImmediate = false;
|
|
3575
3550
|
var isRetrigger = false;
|
|
@@ -3981,6 +3956,7 @@ function requireIndex_development_1 () {
|
|
|
3981
3956
|
var globalLoop$2 = react.__my_react_internal__.globalLoop, currentScheduler$a = react.__my_react_internal__.currentScheduler;
|
|
3982
3957
|
var scheduleUpdateFromRoot = function (renderDispatch) {
|
|
3983
3958
|
var _a, _b, _c, _d;
|
|
3959
|
+
flushEffectCallback();
|
|
3984
3960
|
var allLive = renderDispatch.pendingUpdateFiberArray.getAll().filter(function (f) { return myreactSharedExports.exclude(f.state, myreactSharedExports.STATE_TYPE.__unmount__); });
|
|
3985
3961
|
renderDispatch.pendingUpdateFiberArray.clear();
|
|
3986
3962
|
if (allLive.length) {
|
|
@@ -4104,7 +4080,7 @@ function requireIndex_development_1 () {
|
|
|
4104
4080
|
return myreactSharedExports.include(renderDispatch.runtimeFiber.nextWorkingFiber.state, myreactSharedExports.STATE_TYPE.__triggerSync__ | myreactSharedExports.STATE_TYPE.__triggerSyncForce__);
|
|
4105
4081
|
// include(renderDispatch.runtimeFiber.nextWorkingFiber.state, STATE_TYPE.__retrigger__)
|
|
4106
4082
|
}
|
|
4107
|
-
function
|
|
4083
|
+
function updateConcurrentNextFrame(renderDispatch) {
|
|
4108
4084
|
var renderScheduler = currentScheduler$9.current;
|
|
4109
4085
|
enableScopeTreeLog$3.current && setLogScope();
|
|
4110
4086
|
var hasSync = updateLoopConcurrentFromRoot(renderDispatch);
|
|
@@ -4119,7 +4095,7 @@ function requireIndex_development_1 () {
|
|
|
4119
4095
|
updateSyncFromRoot(renderDispatch);
|
|
4120
4096
|
}
|
|
4121
4097
|
else {
|
|
4122
|
-
|
|
4098
|
+
updateConcurrentNextFrame(renderDispatch);
|
|
4123
4099
|
}
|
|
4124
4100
|
});
|
|
4125
4101
|
}
|
|
@@ -4127,8 +4103,7 @@ function requireIndex_development_1 () {
|
|
|
4127
4103
|
else {
|
|
4128
4104
|
processAsyncLoadListOnUpdate(renderDispatch);
|
|
4129
4105
|
finishUpdateConcurrentFromRoot(renderDispatch);
|
|
4130
|
-
renderScheduler.
|
|
4131
|
-
// TODO! flash all effect
|
|
4106
|
+
renderScheduler.macroTask(function callScheduleNext() {
|
|
4132
4107
|
globalLoop$1.current = false;
|
|
4133
4108
|
scheduleNext(renderDispatch);
|
|
4134
4109
|
});
|
|
@@ -4150,7 +4125,7 @@ function requireIndex_development_1 () {
|
|
|
4150
4125
|
updateSyncFromRoot(renderDispatch);
|
|
4151
4126
|
}
|
|
4152
4127
|
else {
|
|
4153
|
-
|
|
4128
|
+
updateConcurrentNextFrame(renderDispatch);
|
|
4154
4129
|
}
|
|
4155
4130
|
});
|
|
4156
4131
|
}
|
|
@@ -4158,8 +4133,7 @@ function requireIndex_development_1 () {
|
|
|
4158
4133
|
else {
|
|
4159
4134
|
processAsyncLoadListOnUpdate(renderDispatch);
|
|
4160
4135
|
finishUpdateConcurrentFromRoot(renderDispatch);
|
|
4161
|
-
renderScheduler.
|
|
4162
|
-
// TODO! flash all effect
|
|
4136
|
+
renderScheduler.macroTask(function callScheduleNext() {
|
|
4163
4137
|
globalLoop$1.current = false;
|
|
4164
4138
|
scheduleNext(renderDispatch);
|
|
4165
4139
|
});
|
|
@@ -4228,7 +4202,9 @@ function requireIndex_development_1 () {
|
|
|
4228
4202
|
if (!field)
|
|
4229
4203
|
throw new Error("[@my-react/react] hook instance not found, look like a bug for @my-react");
|
|
4230
4204
|
var typedField = field;
|
|
4231
|
-
typedField.dispatch = function (action) {
|
|
4205
|
+
typedField.dispatch = function dispatchAction(action) {
|
|
4206
|
+
hookNode._update({ payLoad: action, isForce: false, isSync: enableSyncFlush.current });
|
|
4207
|
+
};
|
|
4232
4208
|
};
|
|
4233
4209
|
|
|
4234
4210
|
var currentComponentFiber$3 = react.__my_react_internal__.currentComponentFiber;
|
|
@@ -4264,12 +4240,22 @@ function requireIndex_development_1 () {
|
|
|
4264
4240
|
};
|
|
4265
4241
|
var defaultOptimisticReducer = function (state) { return state; };
|
|
4266
4242
|
var createHookNode = function (renderDispatch, _a, fiber) {
|
|
4267
|
-
var _b;
|
|
4243
|
+
var _b, _c;
|
|
4268
4244
|
var type = _a.type, value = _a.value, reducer = _a.reducer, deps = _a.deps;
|
|
4269
4245
|
var currentHook = (_b = currentHookTreeNode$2.current) === null || _b === void 0 ? void 0 : _b.value;
|
|
4270
4246
|
var currentHookIndex = currentHookNodeIndex$2.current;
|
|
4247
|
+
var currentIsReCreate = myreactSharedExports.include(fiber.state, myreactSharedExports.STATE_TYPE.__recreate__);
|
|
4271
4248
|
if (currentHook) {
|
|
4272
|
-
|
|
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
|
+
}
|
|
4273
4259
|
}
|
|
4274
4260
|
var hookNode = new MyReactHookNode(type, value, reducer || defaultReducer, deps);
|
|
4275
4261
|
initInstance(hookNode);
|
|
@@ -4294,6 +4280,10 @@ function requireIndex_development_1 () {
|
|
|
4294
4280
|
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useRef || hookNode.type === myreactSharedExports.HOOK_TYPE.useCallback || hookNode.type === myreactSharedExports.HOOK_TYPE.useDeferredValue) {
|
|
4295
4281
|
hookNode.result = hookNode.value;
|
|
4296
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
|
+
}
|
|
4297
4287
|
if (hookNode.type === myreactSharedExports.HOOK_TYPE.useId) {
|
|
4298
4288
|
hookNode.result = "\u00AB-".concat(currentHookIndex, "-").concat(renderDispatch.uniqueIdCount++, "-\u00BB");
|
|
4299
4289
|
hookNode.cancel = function () { return renderDispatch.uniqueIdCount--; };
|
|
@@ -4316,12 +4306,13 @@ function requireIndex_development_1 () {
|
|
|
4316
4306
|
return safeCallWithCurrentFiber({
|
|
4317
4307
|
fiber: fiber,
|
|
4318
4308
|
action: function safeCallGetSnapshot() {
|
|
4319
|
-
var _a;
|
|
4320
4309
|
return renderDispatch.isAppMounted
|
|
4321
4310
|
? storeApi_1.getSnapshot.call(null)
|
|
4322
|
-
:
|
|
4323
|
-
|
|
4324
|
-
|
|
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);
|
|
4325
4316
|
},
|
|
4326
4317
|
});
|
|
4327
4318
|
};
|
|
@@ -4423,6 +4414,7 @@ function requireIndex_development_1 () {
|
|
|
4423
4414
|
typedHook._debugType = myreactSharedExports.HOOK_TYPE[hookNode.type];
|
|
4424
4415
|
typedHook._debugIndex = currentHookIndex;
|
|
4425
4416
|
}
|
|
4417
|
+
currentHookTreeNode$2.current = (_c = currentHookTreeNode$2.current) === null || _c === void 0 ? void 0 : _c.next;
|
|
4426
4418
|
return hookNode;
|
|
4427
4419
|
};
|
|
4428
4420
|
|
|
@@ -5022,7 +5014,8 @@ function requireIndex_development_1 () {
|
|
|
5022
5014
|
renderDispatch.pendingUpdate(fiber);
|
|
5023
5015
|
}
|
|
5024
5016
|
}
|
|
5025
|
-
if (
|
|
5017
|
+
if (prevRef !== nextRef) {
|
|
5018
|
+
fiber.refPrevious = prevRef;
|
|
5026
5019
|
renderDispatch.pendingRef(fiber);
|
|
5027
5020
|
}
|
|
5028
5021
|
if (fiber !== prevFiber) {
|
|
@@ -5181,8 +5174,8 @@ function requireIndex_development_1 () {
|
|
|
5181
5174
|
return updateFiberNode(renderDispatch, { fiber: draftFiber_1, parent: parentFiber, prevFiber: prevFiberChild }, newElement);
|
|
5182
5175
|
}
|
|
5183
5176
|
else {
|
|
5184
|
-
renderDispatch.generateChangedList(parentFiber);
|
|
5185
|
-
renderDispatch.pendingUnmount(parentFiber, draftFiber_1);
|
|
5177
|
+
draftFiber_1 && renderDispatch.generateChangedList(parentFiber);
|
|
5178
|
+
draftFiber_1 && renderDispatch.pendingUnmount(parentFiber, draftFiber_1);
|
|
5186
5179
|
return createFragmentWithUpdate(renderDispatch, newChild, parentFiber);
|
|
5187
5180
|
}
|
|
5188
5181
|
}
|
|
@@ -5199,7 +5192,7 @@ function requireIndex_development_1 () {
|
|
|
5199
5192
|
}
|
|
5200
5193
|
else {
|
|
5201
5194
|
draftFiber && renderDispatch.pendingUnmount(parentFiber, draftFiber);
|
|
5202
|
-
renderDispatch.generateChangedList(parentFiber);
|
|
5195
|
+
draftFiber && renderDispatch.generateChangedList(parentFiber);
|
|
5203
5196
|
return createFiberNode(renderDispatch, { parent: parentFiber, type: "position" }, newChild);
|
|
5204
5197
|
}
|
|
5205
5198
|
};
|
|
@@ -5214,9 +5207,13 @@ function requireIndex_development_1 () {
|
|
|
5214
5207
|
var isUpdate = myreactSharedExports.exclude(parentFiber.state, myreactSharedExports.STATE_TYPE.__create__);
|
|
5215
5208
|
var isHMR = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__hmr__);
|
|
5216
5209
|
var isRetrigger = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__retrigger__);
|
|
5210
|
+
var isSuspense = myreactSharedExports.include(parentFiber.state, myreactSharedExports.STATE_TYPE.__suspense__);
|
|
5217
5211
|
// is current is retrigger update, skip update children
|
|
5218
5212
|
if (isRetrigger)
|
|
5219
5213
|
return;
|
|
5214
|
+
// if is suspense, skip update children
|
|
5215
|
+
if (isSuspense)
|
|
5216
|
+
return;
|
|
5220
5217
|
if (isUpdate || isHMR) {
|
|
5221
5218
|
var _a = getExistingChildren(parentFiber), existingChildrenMap = _a.existingChildrenMap, existingChildrenArray = _a.existingChildrenArray;
|
|
5222
5219
|
parentFiber.child = null;
|
|
@@ -5320,6 +5317,11 @@ function requireIndex_development_1 () {
|
|
|
5320
5317
|
};
|
|
5321
5318
|
|
|
5322
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__;
|
|
5323
5325
|
var processFunction = function (fiber) {
|
|
5324
5326
|
var _a;
|
|
5325
5327
|
currentHookTreeNode.current = (_a = fiber.hookList) === null || _a === void 0 ? void 0 : _a.head;
|
|
@@ -5331,14 +5333,20 @@ function requireIndex_development_1 () {
|
|
|
5331
5333
|
children = safeCallWithCurrentFiber({
|
|
5332
5334
|
fiber: fiber,
|
|
5333
5335
|
action: function safeCallForwardRefFunctionalComponent() {
|
|
5334
|
-
var _a, _b;
|
|
5336
|
+
var _a, _b, _c, _d;
|
|
5335
5337
|
var re = undefined;
|
|
5336
5338
|
try {
|
|
5337
5339
|
re = typedElementTypeWithRef_1(fiber.pendingProps, fiber.ref);
|
|
5338
5340
|
}
|
|
5339
5341
|
catch (e) {
|
|
5340
5342
|
if (myreactSharedExports.isPromise(e)) {
|
|
5341
|
-
|
|
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
|
+
}
|
|
5342
5350
|
}
|
|
5343
5351
|
else {
|
|
5344
5352
|
throw e;
|
|
@@ -5352,14 +5360,20 @@ function requireIndex_development_1 () {
|
|
|
5352
5360
|
children = safeCallWithCurrentFiber({
|
|
5353
5361
|
fiber: fiber,
|
|
5354
5362
|
action: function safeCallFunctionalComponent() {
|
|
5355
|
-
var _a, _b;
|
|
5363
|
+
var _a, _b, _c, _d;
|
|
5356
5364
|
var re = undefined;
|
|
5357
5365
|
try {
|
|
5358
5366
|
re = typedElementType(fiber.pendingProps);
|
|
5359
5367
|
}
|
|
5360
5368
|
catch (e) {
|
|
5361
5369
|
if (myreactSharedExports.isPromise(e)) {
|
|
5362
|
-
|
|
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
|
+
}
|
|
5363
5377
|
}
|
|
5364
5378
|
else {
|
|
5365
5379
|
throw e;
|
|
@@ -5448,7 +5462,7 @@ function requireIndex_development_1 () {
|
|
|
5448
5462
|
return null;
|
|
5449
5463
|
}
|
|
5450
5464
|
else {
|
|
5451
|
-
// TODO
|
|
5465
|
+
// TODO update flow
|
|
5452
5466
|
if (enableSuspenseRoot$1.current && !renderDispatch.isAppMounted) {
|
|
5453
5467
|
var suspenseField = getInstanceFieldByInstance(renderDispatch);
|
|
5454
5468
|
suspenseField.asyncLoadList.uniPush(typedElementType);
|
|
@@ -5857,6 +5871,9 @@ function requireIndex_development_1 () {
|
|
|
5857
5871
|
RenderDispatchEvent.prototype.dispatchPromise = function (_params) {
|
|
5858
5872
|
throw new Error("Method not implemented.");
|
|
5859
5873
|
};
|
|
5874
|
+
RenderDispatchEvent.prototype.dispatchSuspensePromise = function (_params) {
|
|
5875
|
+
throw new Error("Method not implemented.");
|
|
5876
|
+
};
|
|
5860
5877
|
RenderDispatchEvent.prototype.trigger = function (_fiber, _state, cb) {
|
|
5861
5878
|
return triggerUpdateOnFiber(_fiber, _state, cb);
|
|
5862
5879
|
};
|
|
@@ -6387,14 +6404,25 @@ function requireIndex_development_1 () {
|
|
|
6387
6404
|
layoutEffect(_dispatch, _fiber);
|
|
6388
6405
|
});
|
|
6389
6406
|
afterSyncUpdate();
|
|
6390
|
-
|
|
6391
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
6407
|
+
function invokeEffectListTask() {
|
|
6392
6408
|
enableScopeTreeLog$2.current && setLogScope();
|
|
6393
6409
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
6394
6410
|
effect(_dispatch, _fiber);
|
|
6395
6411
|
});
|
|
6396
6412
|
enableScopeTreeLog$2.current && resetLogScope();
|
|
6397
|
-
}
|
|
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
|
+
}
|
|
6398
6426
|
};
|
|
6399
6427
|
var defaultDispatchMount = defaultDispatchMountLatest;
|
|
6400
6428
|
|
|
@@ -6495,9 +6523,7 @@ function requireIndex_development_1 () {
|
|
|
6495
6523
|
}
|
|
6496
6524
|
});
|
|
6497
6525
|
afterSyncUpdate();
|
|
6498
|
-
|
|
6499
|
-
// TODO before next update flow, make sure all the effect has done
|
|
6500
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
6526
|
+
function invokeEffectListTask() {
|
|
6501
6527
|
enableScopeTreeLog$1.current && setLogScope();
|
|
6502
6528
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
6503
6529
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
@@ -6505,7 +6531,19 @@ function requireIndex_development_1 () {
|
|
|
6505
6531
|
}
|
|
6506
6532
|
});
|
|
6507
6533
|
enableScopeTreeLog$1.current && resetLogScope();
|
|
6508
|
-
}
|
|
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
|
+
}
|
|
6509
6547
|
};
|
|
6510
6548
|
|
|
6511
6549
|
var enableSuspenseRoot = react.__my_react_shared__.enableSuspenseRoot;
|
|
@@ -6570,7 +6608,9 @@ function requireIndex_development_1 () {
|
|
|
6570
6608
|
promise._loading = true;
|
|
6571
6609
|
promise.status = "pending";
|
|
6572
6610
|
var renderScheduler_1 = currentScheduler.current;
|
|
6573
|
-
renderDispatch
|
|
6611
|
+
renderDispatch
|
|
6612
|
+
.processPromise(promise)
|
|
6613
|
+
.then(function () {
|
|
6574
6614
|
fiber.state = myreactSharedExports.STATE_TYPE.__recreate__;
|
|
6575
6615
|
promise._list.delete(fiber);
|
|
6576
6616
|
promise._loading = false;
|
|
@@ -6582,10 +6622,49 @@ function requireIndex_development_1 () {
|
|
|
6582
6622
|
payLoad: promise,
|
|
6583
6623
|
};
|
|
6584
6624
|
renderScheduler_1.dispatchState(updater);
|
|
6585
|
-
})
|
|
6625
|
+
})
|
|
6626
|
+
.catch(function (e) { return renderScheduler_1.dispatchError({ fiber: fiber, error: e }); });
|
|
6586
6627
|
return null;
|
|
6587
6628
|
}
|
|
6588
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
|
+
};
|
|
6589
6668
|
|
|
6590
6669
|
var CustomRenderDispatch = /** @class */ (function (_super) {
|
|
6591
6670
|
__extends(CustomRenderDispatch, _super);
|
|
@@ -6596,7 +6675,7 @@ function requireIndex_development_1 () {
|
|
|
6596
6675
|
_this.isAppMounted = false;
|
|
6597
6676
|
_this.isAppCrashed = false;
|
|
6598
6677
|
_this.isAppUnmounted = false;
|
|
6599
|
-
_this.version = "0.3.
|
|
6678
|
+
_this.version = "0.3.18";
|
|
6600
6679
|
_this.mode = "development" ;
|
|
6601
6680
|
_this.renderMode = "render";
|
|
6602
6681
|
_this.pendingCommitFiberList = null;
|
|
@@ -7035,7 +7114,7 @@ function requireIndex_development_1 () {
|
|
|
7035
7114
|
});
|
|
7036
7115
|
}); };
|
|
7037
7116
|
|
|
7038
|
-
var version = "0.3.
|
|
7117
|
+
var version = "0.3.18";
|
|
7039
7118
|
|
|
7040
7119
|
exports.CustomRenderDispatch = CustomRenderDispatch;
|
|
7041
7120
|
exports.MyReactFiberNode = MyReactFiberNode;
|
|
@@ -7044,6 +7123,7 @@ function requireIndex_development_1 () {
|
|
|
7044
7123
|
exports.RenderDispatchEvent = RenderDispatchEvent;
|
|
7045
7124
|
exports.WrapperByLazyScope = WrapperByLazyScope;
|
|
7046
7125
|
exports.WrapperBySuspenseScope = WrapperBySuspenseScope;
|
|
7126
|
+
exports.addEffectCallback = addEffectCallback;
|
|
7047
7127
|
exports.afterSyncFlush = afterSyncFlush;
|
|
7048
7128
|
exports.afterSyncUpdate = afterSyncUpdate;
|
|
7049
7129
|
exports.applyTriggerFiberCb = applyTriggerFiberCb;
|
|
@@ -7093,6 +7173,7 @@ function requireIndex_development_1 () {
|
|
|
7093
7173
|
exports.enableLogForCurrentFlowIsRunning = enableLogForCurrentFlowIsRunning;
|
|
7094
7174
|
exports.enableValidMyReactElement = enableValidMyReactElement;
|
|
7095
7175
|
exports.fiberToDispatchMap = fiberToDispatchMap;
|
|
7176
|
+
exports.flushEffectCallback = flushEffectCallback;
|
|
7096
7177
|
exports.generateFiberToListWithAction = generateFiberToListWithAction;
|
|
7097
7178
|
exports.generateFiberToMountList = generateFiberToMountList;
|
|
7098
7179
|
exports.generateFiberToUnmountList = generateFiberToUnmountList;
|
|
@@ -7182,6 +7263,7 @@ function requireIndex_development_1 () {
|
|
|
7182
7263
|
exports.processProvider = processProvider;
|
|
7183
7264
|
exports.processState = processState;
|
|
7184
7265
|
exports.processSuspense = processSuspense;
|
|
7266
|
+
exports.processSuspensePromise = processSuspensePromise;
|
|
7185
7267
|
exports.resetLogScope = resetLogScope;
|
|
7186
7268
|
exports.runtimeNextWork = runtimeNextWork;
|
|
7187
7269
|
exports.runtimeNextWorkDev = runtimeNextWorkDev;
|
|
@@ -7458,6 +7540,7 @@ function requireIndex_development () {
|
|
|
7458
7540
|
STATE_TYPE[STATE_TYPE["__retrigger__"] = 512] = "__retrigger__";
|
|
7459
7541
|
STATE_TYPE[STATE_TYPE["__reschedule__"] = 1024] = "__reschedule__";
|
|
7460
7542
|
STATE_TYPE[STATE_TYPE["__recreate__"] = 2048] = "__recreate__";
|
|
7543
|
+
STATE_TYPE[STATE_TYPE["__suspense__"] = 4096] = "__suspense__";
|
|
7461
7544
|
})(exports.STATE_TYPE || (exports.STATE_TYPE = {}));
|
|
7462
7545
|
|
|
7463
7546
|
exports.PATCH_TYPE = void 0;
|
|
@@ -7943,27 +8026,51 @@ var delGlobalDispatch = function (dispatch) {
|
|
|
7943
8026
|
* @internal
|
|
7944
8027
|
*/
|
|
7945
8028
|
var setRef = function (_fiber, config) {
|
|
7946
|
-
var _a, _b;
|
|
7947
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
|
+
};
|
|
7948
8055
|
if (myreactSharedExports.include(_fiber.type, myreactReconcilerExports.NODE_TYPE.__plain__)) {
|
|
7949
8056
|
if (_fiber.nativeNode) {
|
|
8057
|
+
cleanUp();
|
|
7950
8058
|
var ref_1 = _fiber.ref;
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
(_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") {
|
|
7960
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));
|
|
7961
8068
|
if (typeof refCleanUp === "function") {
|
|
7962
8069
|
_fiber.refCleanup = refCleanUp;
|
|
7963
8070
|
}
|
|
7964
|
-
}
|
|
7965
|
-
}
|
|
7966
|
-
}
|
|
8071
|
+
}
|
|
8072
|
+
},
|
|
8073
|
+
});
|
|
7967
8074
|
}
|
|
7968
8075
|
else {
|
|
7969
8076
|
throw new Error("[@my-react/react] plain element do not have a native node");
|
|
@@ -7971,23 +8078,23 @@ var setRef = function (_fiber, config) {
|
|
|
7971
8078
|
}
|
|
7972
8079
|
else if (myreactSharedExports.include(_fiber.type, myreactReconcilerExports.NODE_TYPE.__class__)) {
|
|
7973
8080
|
if (_fiber.instance) {
|
|
8081
|
+
cleanUp();
|
|
7974
8082
|
var ref_2 = _fiber.ref;
|
|
7975
|
-
|
|
7976
|
-
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
7982
|
-
|
|
7983
|
-
(_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") {
|
|
7984
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));
|
|
7985
8092
|
if (typeof refCleanUp === "function") {
|
|
7986
8093
|
_fiber.refCleanup = refCleanUp;
|
|
7987
8094
|
}
|
|
7988
|
-
}
|
|
7989
|
-
}
|
|
7990
|
-
}
|
|
8095
|
+
}
|
|
8096
|
+
},
|
|
8097
|
+
});
|
|
7991
8098
|
}
|
|
7992
8099
|
else {
|
|
7993
8100
|
throw new Error("[@my-react/react-dom] class component do not have a instance");
|
|
@@ -8457,13 +8564,17 @@ var ReconcilerDispatchMount = function (_dispatch, _fiber, config) {
|
|
|
8457
8564
|
myreactReconcilerExports.layoutEffect(_dispatch, _fiber);
|
|
8458
8565
|
});
|
|
8459
8566
|
myreactReconcilerExports.afterSyncUpdate();
|
|
8460
|
-
|
|
8461
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
8567
|
+
function invokeEffectListTask() {
|
|
8462
8568
|
enableScopeTreeLog$3.current && myreactReconcilerExports.setLogScope();
|
|
8463
8569
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
8464
8570
|
myreactReconcilerExports.effect(_dispatch, _fiber);
|
|
8465
8571
|
});
|
|
8466
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();
|
|
8467
8578
|
});
|
|
8468
8579
|
};
|
|
8469
8580
|
|
|
@@ -8560,9 +8671,7 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8560
8671
|
}
|
|
8561
8672
|
});
|
|
8562
8673
|
myreactReconcilerExports.afterSyncUpdate();
|
|
8563
|
-
|
|
8564
|
-
// TODO before next update flow, make sure all the effect has done
|
|
8565
|
-
renderScheduler.microTask(function invokeEffectListTask() {
|
|
8674
|
+
function invokeEffectListTask() {
|
|
8566
8675
|
enableScopeTreeLog$2.current && myreactReconcilerExports.setLogScope();
|
|
8567
8676
|
_list.listToFoot(function invokeEffectList(_fiber) {
|
|
8568
8677
|
if (myreactSharedExports.exclude(_fiber.state, myreactSharedExports.STATE_TYPE.__unmount__) && !_dispatch.isAppUnmounted) {
|
|
@@ -8570,7 +8679,19 @@ var ReconcilerDispatchUpdate = function (_dispatch, _list, config) {
|
|
|
8570
8679
|
}
|
|
8571
8680
|
});
|
|
8572
8681
|
enableScopeTreeLog$2.current && myreactReconcilerExports.resetLogScope();
|
|
8573
|
-
}
|
|
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
|
+
}
|
|
8574
8695
|
};
|
|
8575
8696
|
|
|
8576
8697
|
var currentComponentFiber = require$$0.__my_react_internal__.currentComponentFiber;
|
|
@@ -8676,6 +8797,9 @@ var createDispatch = function (rootNode, rootFiber, rootElement, config, flag) {
|
|
|
8676
8797
|
ReconcilerDispatch.prototype.dispatchPromise = function (_params) {
|
|
8677
8798
|
return myreactReconcilerExports.processPromise(this, _params.fiber, _params.promise);
|
|
8678
8799
|
};
|
|
8800
|
+
ReconcilerDispatch.prototype.dispatchSuspensePromise = function (_params) {
|
|
8801
|
+
return myreactReconcilerExports.processSuspensePromise(this, _params.fiber, _params.promise);
|
|
8802
|
+
};
|
|
8679
8803
|
ReconcilerDispatch.prototype.dispatchError = function (_params) {
|
|
8680
8804
|
{
|
|
8681
8805
|
myreactReconcilerExports.devErrorWithFiber(_params.fiber, _params.error);
|
|
@@ -8813,7 +8937,7 @@ var Reconciler = function (_config) {
|
|
|
8813
8937
|
}
|
|
8814
8938
|
enableDebugFiled.current = true;
|
|
8815
8939
|
enableScopeTreeLog.current = false;
|
|
8816
|
-
|
|
8940
|
+
myreactReconcilerExports.enableFiberForLog.current = false;
|
|
8817
8941
|
return _container;
|
|
8818
8942
|
};
|
|
8819
8943
|
var updateContainer = function (_element, _container, _ignore, _cb) {
|
|
@@ -8907,7 +9031,7 @@ var Reconciler = function (_config) {
|
|
|
8907
9031
|
};
|
|
8908
9032
|
};
|
|
8909
9033
|
|
|
8910
|
-
var version = "0.0.
|
|
9034
|
+
var version = "0.0.9";
|
|
8911
9035
|
var createReconciler = Reconciler;
|
|
8912
9036
|
|
|
8913
9037
|
exports.createReconciler = createReconciler;
|