12
12
13
13
import type Documentation from '../Documentation' ;
14
14
15
- import getMembers from '../utils/getMembers' ;
16
15
import getPropType from '../utils/getPropType' ;
17
16
import getPropertyName from '../utils/getPropertyName' ;
18
17
import getMemberValuePath from '../utils/getMemberValuePath' ;
19
18
import isReactModuleName from '../utils/isReactModuleName' ;
19
+ import isRequiredPropType from '../utils/isRequiredPropType' ;
20
20
import printValue from '../utils/printValue' ;
21
21
import recast from 'recast' ;
22
22
import resolveToModule from '../utils/resolveToModule' ;
@@ -33,16 +33,6 @@ function isPropTypesExpression(path) {
33
33
return false ;
34
34
}
35
35
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
-
46
36
function amendPropTypes ( documentation , path ) {
47
37
path . get ( 'properties' ) . each ( function ( propertyPath ) {
48
38
switch ( propertyPath . node . type ) {
@@ -58,7 +48,7 @@ function amendPropTypes(documentation, path) {
58
48
if ( type ) {
59
49
propDescriptor . type = type ;
60
50
propDescriptor . required =
61
- type . name !== 'custom' && isRequired ( valuePath ) ;
51
+ type . name !== 'custom' && isRequiredPropType ( valuePath ) ;
62
52
}
63
53
break ;
64
54
case types . SpreadProperty . name :
0 commit comments