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

Function ReactFiberCompleteWork

code/new-context-api/public/app.js:9909–10342  ·  view source on GitHub ↗
(config, hostContext, legacyContext, newContext, hydrationContext)

Source from the content-addressed store, hash-verified

9907};
9908
9909var ReactFiberCompleteWork = function (config, hostContext, legacyContext, newContext, hydrationContext) {
9910 var createInstance = config.createInstance,
9911 createTextInstance = config.createTextInstance,
9912 appendInitialChild = config.appendInitialChild,
9913 finalizeInitialChildren = config.finalizeInitialChildren,
9914 prepareUpdate = config.prepareUpdate,
9915 mutation = config.mutation,
9916 persistence = config.persistence;
9917 var getRootHostContainer = hostContext.getRootHostContainer,
9918 popHostContext = hostContext.popHostContext,
9919 getHostContext = hostContext.getHostContext,
9920 popHostContainer = hostContext.popHostContainer;
9921 var popLegacyContextProvider = legacyContext.popContextProvider,
9922 popTopLevelLegacyContextObject = legacyContext.popTopLevelContextObject;
9923 var popProvider = newContext.popProvider;
9924 var prepareToHydrateHostInstance = hydrationContext.prepareToHydrateHostInstance,
9925 prepareToHydrateHostTextInstance = hydrationContext.prepareToHydrateHostTextInstance,
9926 popHydrationState = hydrationContext.popHydrationState;
9927
9928
9929 function markUpdate(workInProgress) {
9930 // Tag the fiber with an update effect. This turns a Placement into
9931 // an UpdateAndPlacement.
9932 workInProgress.effectTag |= Update;
9933 }
9934
9935 function markRef(workInProgress) {
9936 workInProgress.effectTag |= Ref;
9937 }
9938
9939 function appendAllReturns(returns, workInProgress) {
9940 var node = workInProgress.stateNode;
9941 if (node) {
9942 node['return'] = workInProgress;
9943 }
9944 while (node !== null) {
9945 if (node.tag === HostComponent || node.tag === HostText || node.tag === HostPortal) {
9946 invariant(false, 'A call cannot have host component children.');
9947 } else if (node.tag === ReturnComponent) {
9948 returns.push(node.pendingProps.value);
9949 } else if (node.child !== null) {
9950 node.child['return'] = node;
9951 node = node.child;
9952 continue;
9953 }
9954 while (node.sibling === null) {
9955 if (node['return'] === null || node['return'] === workInProgress) {
9956 return;
9957 }
9958 node = node['return'];
9959 }
9960 node.sibling['return'] = node['return'];
9961 node = node.sibling;
9962 }
9963 }
9964
9965 function moveCallToHandlerPhase(current, workInProgress, renderExpirationTime) {
9966 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