File tree 2 files changed +23
-2
lines changed
2 files changed +23
-2
lines changed Original file line number Diff line number Diff line change 53
53
return title === 'return' || title === 'returns' ;
54
54
}
55
55
56
+ function isYieldsTitle ( title ) {
57
+ return title === 'yield' || title === 'yields' ;
58
+ }
59
+
56
60
function isProperty ( title ) {
57
61
return title === 'property' || title === 'prop' ;
58
62
}
75
79
}
76
80
77
81
function isTypeParameterRequired ( title ) {
78
- return isParamTitle ( title ) || isReturnTitle ( title ) ||
82
+ return isParamTitle ( title ) || isReturnTitle ( title ) || isYieldsTitle ( title ) ||
79
83
title === 'define' || title === 'enum' ||
80
84
title === 'implements' || title === 'this' ||
81
85
title === 'type' || title === 'typedef' || isProperty ( title ) ;
450
454
try {
451
455
this . _tag . type = parseType ( this . _title , this . _last , this . _options . range ) ;
452
456
if ( ! this . _tag . type ) {
453
- if ( ! isParamTitle ( this . _title ) && ! isReturnTitle ( this . _title ) ) {
457
+ if ( ! isParamTitle ( this . _title ) && ! isReturnTitle ( this . _title ) && ! isYieldsTitle ( this . _title ) ) {
454
458
if ( ! this . addError ( 'Missing or invalid tag type' ) ) {
455
459
return false ;
456
460
}
Original file line number Diff line number Diff line change @@ -1383,6 +1383,23 @@ describe('parse', function () {
1383
1383
e1 . fields . should . containEql ( { type : 'FieldType' , key : 'error' ,
1384
1384
value : { type : 'NameExpression' , name : 'Error' } } ) ;
1385
1385
} ) ;
1386
+
1387
+ it ( 'yields' , function ( ) {
1388
+ var res = doctrine . parse (
1389
+ [
1390
+ "/**" ,
1391
+ " * @yields {String} userName" ,
1392
+ "*/"
1393
+ ] . join ( '\n' ) , { unwrap : true } ) ;
1394
+ res . tags . should . have . length ( 1 ) ;
1395
+ res . tags [ 0 ] . should . have . property ( 'title' , 'yields' ) ;
1396
+ res . tags [ 0 ] . should . have . property ( 'description' , 'userName' ) ;
1397
+ res . tags [ 0 ] . should . have . property ( 'type' ) ;
1398
+ res . tags [ 0 ] . type . should . eql ( {
1399
+ type : 'NameExpression' ,
1400
+ name : 'String'
1401
+ } ) ;
1402
+ } ) ;
1386
1403
} ) ;
1387
1404
1388
1405
describe ( 'parseType' , function ( ) {
You can’t perform that action at this time.
0 commit comments