@@ -657,7 +657,7 @@ function createQueryElement(query, parserState, name, generics, isInGenerics) {
657657 }
658658 const typeFilter = parserState . typeFilter ;
659659 parserState . typeFilter = null ;
660- if ( name === "!" ) {
660+ if ( name . trim ( ) === "!" ) {
661661 if ( typeFilter !== null && typeFilter !== "primitive" ) {
662662 throw [
663663 "Invalid search type: primitive never type " ,
@@ -1795,6 +1795,7 @@ class DocSearch {
17951795 // Total number of elements (includes generics).
17961796 totalElems : 0 ,
17971797 literalSearch : false ,
1798+ hasReturnArrow : false ,
17981799 error : null ,
17991800 correction : null ,
18001801 proposeCorrectionFrom : null ,
@@ -1823,6 +1824,7 @@ class DocSearch {
18231824 continue ;
18241825 } else if ( c === "-" || c === ">" ) {
18251826 if ( isReturnArrow ( parserState ) ) {
1827+ query . hasReturnArrow = true ;
18261828 break ;
18271829 }
18281830 throw [ "Unexpected " , c , " (did you mean " , "->" , "?)" ] ;
@@ -1889,9 +1891,7 @@ class DocSearch {
18891891 // Get returned elements.
18901892 getItemsBefore ( query , parserState , query . returned , "" ) ;
18911893 // Nothing can come afterward!
1892- if ( query . returned . length === 0 ) {
1893- throw [ "Expected at least one item after " , "->" ] ;
1894- }
1894+ query . hasReturnArrow = true ;
18951895 break ;
18961896 } else {
18971897 parserState . pos += 1 ;
@@ -3249,7 +3249,7 @@ class DocSearch {
32493249 this . buildFunctionTypeFingerprint ( elem , parsedQuery . typeFingerprint , fps ) ;
32503250 }
32513251
3252- if ( parsedQuery . foundElems === 1 && parsedQuery . returned . length === 0 ) {
3252+ if ( parsedQuery . foundElems === 1 && ! parsedQuery . hasReturnArrow ) {
32533253 if ( parsedQuery . elems . length === 1 ) {
32543254 const elem = parsedQuery . elems [ 0 ] ;
32553255 const length = this . searchIndex . length ;
0 commit comments