MCPcopy Create free account
hub / github.com/krasimir/react-in-patterns / ReactFiberCompleteWork

Function ReactFiberCompleteWork

code/third-party/public/app.js:9781–10214  ·  view source on GitHub ↗
(config, hostContext, legacyContext, newContext, hydrationContext)

Source from the content-addressed store, hash-verified

9779};
9780
9781var ReactFiberCompleteWork = function (config, hostContext, legacyContext, newContext, hydrationContext) {
9782 var createInstance = config.createInstance,
9783 createTextInstance = config.createTextInstance,
9784 appendInitialChild = config.appendInitialChild,
9785 finalizeInitialChildren = config.finalizeInitialChildren,
9786 prepareUpdate = config.prepareUpdate,
9787 mutation = config.mutation,
9788 persistence = config.persistence;
9789 var getRootHostContainer = hostContext.getRootHostContainer,
9790 popHostContext = hostContext.popHostContext,
9791 getHostContext = hostContext.getHostContext,
9792 popHostContainer = hostContext.popHostContainer;
9793 var popLegacyContextProvider = legacyContext.popContextProvider,
9794 popTopLevelLegacyContextObject = legacyContext.popTopLevelContextObject;
9795 var popProvider = newContext.popProvider;
9796 var prepareToHydrateHostInstance = hydrationContext.prepareToHydrateHostInstance,
9797 prepareToHydrateHostTextInstance = hydrationContext.prepareToHydrateHostTextInstance,
9798 popHydrationState = hydrationContext.popHydrationState;
9799
9800
9801 function markUpdate(workInProgress) {
9802 // Tag the fiber with an update effect. This turns a Placement into
9803 // an UpdateAndPlacement.
9804 workInProgress.effectTag |= Update;
9805 }
9806
9807 function markRef(workInProgress) {
9808 workInProgress.effectTag |= Ref;
9809 }
9810
9811 function appendAllReturns(returns, workInProgress) {
9812 var node = workInProgress.stateNode;
9813 if (node) {
9814 node['return'] = workInProgress;
9815 }
9816 while (node !== null) {
9817 if (node.tag === HostComponent || node.tag === HostText || node.tag === HostPortal) {
9818 invariant(false, 'A call cannot have host component children.');
9819 } else if (node.tag === ReturnComponent) {
9820 returns.push(node.pendingProps.value);
9821 } else if (node.child !== null) {
9822 node.child['return'] = node;
9823 node = node.child;
9824 continue;
9825 }
9826 while (node.sibling === null) {
9827 if (node['return'] === null || node['return'] === workInProgress) {
9828 return;
9829 }
9830 node = node['return'];
9831 }
9832 node.sibling['return'] = node['return'];
9833 node = node.sibling;
9834 }
9835 }
9836
9837 function moveCallToHandlerPhase(current, workInProgress, renderExpirationTime) {
9838 var props = workInProgress.memoizedProps;

Callers 1

ReactFiberSchedulerFunction · 0.70

Calls 6

markUpdateFunction · 0.70
invariantFunction · 0.70
appendAllChildrenFunction · 0.70
getRootHostContainerFunction · 0.70
getHostContextFunction · 0.70

Tested by

no test coverage detected