(returnFiber, newChild, expirationTime)
| 9162 | } |
| 9163 | |
| 9164 | function createChild(returnFiber, newChild, expirationTime) { |
| 9165 | if (typeof newChild === 'string' || typeof newChild === 'number') { |
| 9166 | // Text nodes don't have keys. If the previous node is implicitly keyed |
| 9167 | // we can continue to replace it without aborting even if it is not a text |
| 9168 | // node. |
| 9169 | var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime); |
| 9170 | created['return'] = returnFiber; |
| 9171 | return created; |
| 9172 | } |
| 9173 | |
| 9174 | if (typeof newChild === 'object' && newChild !== null) { |
| 9175 | switch (newChild.$$typeof) { |
| 9176 | case REACT_ELEMENT_TYPE: |
| 9177 | { |
| 9178 | var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime); |
| 9179 | _created.ref = coerceRef(returnFiber, null, newChild); |
| 9180 | _created['return'] = returnFiber; |
| 9181 | return _created; |
| 9182 | } |
| 9183 | case REACT_PORTAL_TYPE: |
| 9184 | { |
| 9185 | var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); |
| 9186 | _created2['return'] = returnFiber; |
| 9187 | return _created2; |
| 9188 | } |
| 9189 | } |
| 9190 | |
| 9191 | if (isArray$1(newChild) || getIteratorFn(newChild)) { |
| 9192 | var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null); |
| 9193 | _created3['return'] = returnFiber; |
| 9194 | return _created3; |
| 9195 | } |
| 9196 | |
| 9197 | throwOnInvalidObjectType(returnFiber, newChild); |
| 9198 | } |
| 9199 | |
| 9200 | { |
| 9201 | if (typeof newChild === 'function') { |
| 9202 | warnOnFunctionType(); |
| 9203 | } |
| 9204 | } |
| 9205 | |
| 9206 | return null; |
| 9207 | } |
| 9208 | |
| 9209 | function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { |
| 9210 | // Update the fiber if the keys match, otherwise return null. |
no test coverage detected