(render)
| 1455 | } |
| 1456 | |
| 1457 | function forwardRef(render) { |
| 1458 | { |
| 1459 | if (render != null && render.$$typeof === REACT_MEMO_TYPE) { |
| 1460 | error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).'); |
| 1461 | } else if (typeof render !== 'function') { |
| 1462 | error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render); |
| 1463 | } else { |
| 1464 | if (render.length !== 0 && render.length !== 2) { |
| 1465 | error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.'); |
| 1466 | } |
| 1467 | } |
| 1468 | |
| 1469 | if (render != null) { |
| 1470 | if (render.defaultProps != null || render.propTypes != null) { |
| 1471 | error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?'); |
| 1472 | } |
| 1473 | } |
| 1474 | } |
| 1475 | |
| 1476 | var elementType = { |
| 1477 | $$typeof: REACT_FORWARD_REF_TYPE, |
| 1478 | render: render |
| 1479 | }; |
| 1480 | |
| 1481 | { |
| 1482 | var ownName; |
| 1483 | Object.defineProperty(elementType, 'displayName', { |
| 1484 | enumerable: false, |
| 1485 | configurable: true, |
| 1486 | get: function () { |
| 1487 | return ownName; |
| 1488 | }, |
| 1489 | set: function (name) { |
| 1490 | ownName = name; // The inner component shouldn't inherit this display name in most cases, |
| 1491 | // because the component may be used elsewhere. |
| 1492 | // But it's nice for anonymous functions to inherit the name, |
| 1493 | // so that our component-stack generation logic will display their frames. |
| 1494 | // An anonymous function generally suggests a pattern like: |
| 1495 | // React.forwardRef((props, ref) => {...}); |
| 1496 | // This kind of inner function is not used elsewhere so the side effect is okay. |
| 1497 | |
| 1498 | if (!render.name && !render.displayName) { |
| 1499 | render.displayName = name; |
| 1500 | } |
| 1501 | } |
| 1502 | }); |
| 1503 | } |
| 1504 | |
| 1505 | return elementType; |
| 1506 | } |
| 1507 | |
| 1508 | var REACT_MODULE_REFERENCE; |
| 1509 |
no test coverage detected
searching dependent graphs…