(stack)
| 12595 | }; |
| 12596 | |
| 12597 | var ReactFiberNewContext = function (stack) { |
| 12598 | var createCursor = stack.createCursor, |
| 12599 | push = stack.push, |
| 12600 | pop = stack.pop; |
| 12601 | |
| 12602 | |
| 12603 | var providerCursor = createCursor(null); |
| 12604 | var valueCursor = createCursor(null); |
| 12605 | var changedBitsCursor = createCursor(0); |
| 12606 | |
| 12607 | var rendererSigil = void 0; |
| 12608 | { |
| 12609 | // Use this to detect multiple renderers using the same context |
| 12610 | rendererSigil = {}; |
| 12611 | } |
| 12612 | |
| 12613 | function pushProvider(providerFiber) { |
| 12614 | var context = providerFiber.type.context; |
| 12615 | |
| 12616 | push(changedBitsCursor, context._changedBits, providerFiber); |
| 12617 | push(valueCursor, context._currentValue, providerFiber); |
| 12618 | push(providerCursor, providerFiber, providerFiber); |
| 12619 | |
| 12620 | context._currentValue = providerFiber.pendingProps.value; |
| 12621 | context._changedBits = providerFiber.stateNode; |
| 12622 | |
| 12623 | { |
| 12624 | warning(context._currentRenderer === null || context._currentRenderer === rendererSigil, 'Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.'); |
| 12625 | context._currentRenderer = rendererSigil; |
| 12626 | } |
| 12627 | } |
| 12628 | |
| 12629 | function popProvider(providerFiber) { |
| 12630 | var changedBits = changedBitsCursor.current; |
| 12631 | var currentValue = valueCursor.current; |
| 12632 | |
| 12633 | pop(providerCursor, providerFiber); |
| 12634 | pop(valueCursor, providerFiber); |
| 12635 | pop(changedBitsCursor, providerFiber); |
| 12636 | |
| 12637 | var context = providerFiber.type.context; |
| 12638 | context._currentValue = currentValue; |
| 12639 | context._changedBits = changedBits; |
| 12640 | } |
| 12641 | |
| 12642 | return { |
| 12643 | pushProvider: pushProvider, |
| 12644 | popProvider: popProvider |
| 12645 | }; |
| 12646 | }; |
| 12647 | |
| 12648 | var ReactFiberStack = function () { |
| 12649 | var valueStack = []; |
no test coverage detected