(stack)
| 12640 | }; |
| 12641 | |
| 12642 | var ReactFiberNewContext = function (stack) { |
| 12643 | var createCursor = stack.createCursor, |
| 12644 | push = stack.push, |
| 12645 | pop = stack.pop; |
| 12646 | |
| 12647 | |
| 12648 | var providerCursor = createCursor(null); |
| 12649 | var valueCursor = createCursor(null); |
| 12650 | var changedBitsCursor = createCursor(0); |
| 12651 | |
| 12652 | var rendererSigil = void 0; |
| 12653 | { |
| 12654 | // Use this to detect multiple renderers using the same context |
| 12655 | rendererSigil = {}; |
| 12656 | } |
| 12657 | |
| 12658 | function pushProvider(providerFiber) { |
| 12659 | var context = providerFiber.type.context; |
| 12660 | |
| 12661 | push(changedBitsCursor, context._changedBits, providerFiber); |
| 12662 | push(valueCursor, context._currentValue, providerFiber); |
| 12663 | push(providerCursor, providerFiber, providerFiber); |
| 12664 | |
| 12665 | context._currentValue = providerFiber.pendingProps.value; |
| 12666 | context._changedBits = providerFiber.stateNode; |
| 12667 | |
| 12668 | { |
| 12669 | warning(context._currentRenderer === null || context._currentRenderer === rendererSigil, 'Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.'); |
| 12670 | context._currentRenderer = rendererSigil; |
| 12671 | } |
| 12672 | } |
| 12673 | |
| 12674 | function popProvider(providerFiber) { |
| 12675 | var changedBits = changedBitsCursor.current; |
| 12676 | var currentValue = valueCursor.current; |
| 12677 | |
| 12678 | pop(providerCursor, providerFiber); |
| 12679 | pop(valueCursor, providerFiber); |
| 12680 | pop(changedBitsCursor, providerFiber); |
| 12681 | |
| 12682 | var context = providerFiber.type.context; |
| 12683 | context._currentValue = currentValue; |
| 12684 | context._changedBits = changedBits; |
| 12685 | } |
| 12686 | |
| 12687 | return { |
| 12688 | pushProvider: pushProvider, |
| 12689 | popProvider: popProvider |
| 12690 | }; |
| 12691 | }; |
| 12692 | |
| 12693 | var ReactFiberStack = function () { |
| 12694 | var valueStack = []; |
no test coverage detected