(shapeTypes)
| 591 | } |
| 592 | |
| 593 | function createShapeTypeChecker(shapeTypes) { |
| 594 | function validate(props, propName, componentName, location, propFullName) { |
| 595 | var propValue = props[propName]; |
| 596 | var propType = getPropType(propValue); |
| 597 | if (propType !== 'object') { |
| 598 | return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); |
| 599 | } |
| 600 | for (var key in shapeTypes) { |
| 601 | var checker = shapeTypes[key]; |
| 602 | if (typeof checker !== 'function') { |
| 603 | return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); |
| 604 | } |
| 605 | var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); |
| 606 | if (error) { |
| 607 | return error; |
| 608 | } |
| 609 | } |
| 610 | return null; |
| 611 | } |
| 612 | return createChainableTypeChecker(validate); |
| 613 | } |
| 614 | |
| 615 | function createStrictShapeTypeChecker(shapeTypes) { |
| 616 | function validate(props, propName, componentName, location, propFullName) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…