1212
1313import type Documentation from '../Documentation' ;
1414
15- import getMembers from '../utils/getMembers' ;
1615import getPropType from '../utils/getPropType' ;
1716import getPropertyName from '../utils/getPropertyName' ;
1817import getMemberValuePath from '../utils/getMemberValuePath' ;
1918import isReactModuleName from '../utils/isReactModuleName' ;
19+ import isRequiredPropType from '../utils/isRequiredPropType' ;
2020import printValue from '../utils/printValue' ;
2121import recast from 'recast' ;
2222import resolveToModule from '../utils/resolveToModule' ;
@@ -33,16 +33,6 @@ function isPropTypesExpression(path) {
3333 return false ;
3434}
3535
36- /**
37- * Returns true of the prop is required, according to its type defintion
38- */
39- function isRequired ( path ) {
40- return getMembers ( path ) . some (
41- member => ! member . computed && member . path . node . name === 'isRequired' ||
42- member . computed && member . path . node . value === 'isRequired'
43- ) ;
44- }
45-
4636function amendPropTypes ( documentation , path ) {
4737 path . get ( 'properties' ) . each ( function ( propertyPath ) {
4838 switch ( propertyPath . node . type ) {
@@ -58,7 +48,7 @@ function amendPropTypes(documentation, path) {
5848 if ( type ) {
5949 propDescriptor . type = type ;
6050 propDescriptor . required =
61- type . name !== 'custom' && isRequired ( valuePath ) ;
51+ type . name !== 'custom' && isRequiredPropType ( valuePath ) ;
6252 }
6353 break ;
6454 case types . SpreadProperty . name :
0 commit comments