@@ -657,7 +657,7 @@ function createQueryElement(query, parserState, name, generics, isInGenerics) {
657
657
}
658
658
const typeFilter = parserState . typeFilter ;
659
659
parserState . typeFilter = null ;
660
- if ( name === "!" ) {
660
+ if ( name . trim ( ) === "!" ) {
661
661
if ( typeFilter !== null && typeFilter !== "primitive" ) {
662
662
throw [
663
663
"Invalid search type: primitive never type " ,
@@ -1795,6 +1795,7 @@ class DocSearch {
1795
1795
// Total number of elements (includes generics).
1796
1796
totalElems : 0 ,
1797
1797
literalSearch : false ,
1798
+ hasReturnArrow : false ,
1798
1799
error : null ,
1799
1800
correction : null ,
1800
1801
proposeCorrectionFrom : null ,
@@ -1823,6 +1824,7 @@ class DocSearch {
1823
1824
continue ;
1824
1825
} else if ( c === "-" || c === ">" ) {
1825
1826
if ( isReturnArrow ( parserState ) ) {
1827
+ query . hasReturnArrow = true ;
1826
1828
break ;
1827
1829
}
1828
1830
throw [ "Unexpected " , c , " (did you mean " , "->" , "?)" ] ;
@@ -1889,9 +1891,7 @@ class DocSearch {
1889
1891
// Get returned elements.
1890
1892
getItemsBefore ( query , parserState , query . returned , "" ) ;
1891
1893
// Nothing can come afterward!
1892
- if ( query . returned . length === 0 ) {
1893
- throw [ "Expected at least one item after " , "->" ] ;
1894
- }
1894
+ query . hasReturnArrow = true ;
1895
1895
break ;
1896
1896
} else {
1897
1897
parserState . pos += 1 ;
@@ -3249,7 +3249,7 @@ class DocSearch {
3249
3249
this . buildFunctionTypeFingerprint ( elem , parsedQuery . typeFingerprint , fps ) ;
3250
3250
}
3251
3251
3252
- if ( parsedQuery . foundElems === 1 && parsedQuery . returned . length === 0 ) {
3252
+ if ( parsedQuery . foundElems === 1 && ! parsedQuery . hasReturnArrow ) {
3253
3253
if ( parsedQuery . elems . length === 1 ) {
3254
3254
const elem = parsedQuery . elems [ 0 ] ;
3255
3255
const length = this . searchIndex . length ;
0 commit comments