UNPKG

orionsoft-react-scripts

Version:

Orionsoft Configuration and scripts for Create React App.

44 lines (37 loc) 1.45 kB
'use strict'; exports.__esModule = true; exports['default'] = deepForceUpdate; function traverseRenderedChildren(internalInstance, callback, argument) { callback(internalInstance, argument); if (internalInstance._renderedComponent) { traverseRenderedChildren(internalInstance._renderedComponent, callback, argument); } else { for (var key in internalInstance._renderedChildren) { if (internalInstance._renderedChildren.hasOwnProperty(key)) { traverseRenderedChildren(internalInstance._renderedChildren[key], callback, argument); } } } } function setPendingForceUpdate(internalInstance) { if (internalInstance._pendingForceUpdate === false) { internalInstance._pendingForceUpdate = true; } } function forceUpdateIfPending(internalInstance) { if (internalInstance._pendingForceUpdate === true) { var publicInstance = internalInstance._instance; var updater = publicInstance.updater; if (typeof publicInstance.forceUpdate === 'function') { publicInstance.forceUpdate(); } else if (updater && typeof updater.enqueueForceUpdate === 'function') { updater.enqueueForceUpdate(publicInstance); } } } function deepForceUpdate(instance) { var internalInstance = instance._reactInternalInstance; traverseRenderedChildren(internalInstance, setPendingForceUpdate); traverseRenderedChildren(internalInstance, forceUpdateIfPending); } module.exports = exports['default'];