* Update the node from which the parent value is used. * * @param {IContextPropUsed<?, ?>} used * @param {?ContextNode} newParentContextNode * @private
(used, newParentContextNode)
| 624 | * @private |
| 625 | */ |
| 626 | updateParentContextNode_(used, newParentContextNode) { |
| 627 | const {parentContextNode: oldParentContextNode, pingParent, prop} = used; |
| 628 | if (newParentContextNode != oldParentContextNode) { |
| 629 | used.parentContextNode = newParentContextNode; |
| 630 | used.parentValue = undefined; |
| 631 | |
| 632 | devAssert(pingParent); |
| 633 | if (oldParentContextNode) { |
| 634 | oldParentContextNode.values.unsubscribe(prop, pingParent); |
| 635 | } |
| 636 | |
| 637 | if (newParentContextNode) { |
| 638 | devAssert(pingParent); |
| 639 | newParentContextNode.values.subscribe(prop, pingParent); |
| 640 | } |
| 641 | } |
| 642 | } |
| 643 | } |
| 644 | |
| 645 | /** |
no test coverage detected