@@ -52,24 +52,24 @@ function returnTypeTransition<T extends ReturnType>(returnType: T): ReturnTypeTr
5252 return returnTypeMap [ returnType ]
5353}
5454
55- type QuickFunc < T extends ReturnType > = < N extends fontoxpath . Node > ( expression : string , node ?: Node ) => fontoxpath . IReturnTypes < N > [ ReturnTypeTransition < T > ]
55+ export type SelectorReturn < N extends fontoxpath . Node , T extends ReturnType > = fontoxpath . IReturnTypes < N > [ ReturnTypeTransition < T > ]
5656
5757export interface XPathSelector {
58- < N extends fontoxpath . Node , T extends ReturnType > ( options : Options < T > ) : fontoxpath . IReturnTypes < N > [ ReturnTypeTransition < T > ]
59- selectString : QuickFunc < 'string' >
60- selectStrings : QuickFunc < 'strings' >
61- selectNumber : QuickFunc < 'number' >
62- selectNumbers : QuickFunc < 'numbers' >
63- selectBoolean : QuickFunc < 'boolean' >
64- selectNodes : QuickFunc < 'nodes' >
65- selectFirstNode : QuickFunc < 'first-node' >
66- selectMap : QuickFunc < 'map' >
67- selectArray : QuickFunc < 'array' >
68- selectAllResults : QuickFunc < 'all-results' >
58+ < N extends fontoxpath . Node , T extends ReturnType > ( options : Options < T > ) : SelectorReturn < N , T >
59+ selectString : ( expression : string , node ?: Node ) => SelectorReturn < fontoxpath . Node , 'string' >
60+ selectStrings : ( expression : string , node ?: Node ) => SelectorReturn < fontoxpath . Node , 'strings' >
61+ selectNumber : ( expression : string , node ?: Node ) => SelectorReturn < fontoxpath . Node , 'number' >
62+ selectNumbers : ( expression : string , node ?: Node ) => SelectorReturn < fontoxpath . Node , 'numbers' >
63+ selectBoolean : ( expression : string , node ?: Node ) => SelectorReturn < fontoxpath . Node , 'boolean' >
64+ selectNodes : < N extends fontoxpath . Node > ( expression : string , node ?: Node ) => SelectorReturn < N , 'nodes' >
65+ selectFirstNode : < N extends fontoxpath . Node > ( expression : string , node ?: Node ) => SelectorReturn < N , 'first-node' >
66+ selectMap : ( expression : string , node ?: Node ) => SelectorReturn < fontoxpath . Node , 'map' >
67+ selectArray : ( expression : string , node ?: Node ) => SelectorReturn < fontoxpath . Node , 'array' >
68+ selectAllResults : < N extends fontoxpath . Node > ( expression : string , node ?: Node ) => SelectorReturn < N , 'all-results' >
6969}
7070
7171function createXPathSelector ( ) : XPathSelector {
72- function xpathSelector < N extends fontoxpath . Node , T extends ReturnType > ( options : Options < T > ) {
72+ function xpathSelector < N extends fontoxpath . Node , T extends ReturnType > ( options : Options < T > ) : SelectorReturn < N , T > {
7373 return fontoxpath . evaluateXPath < N , ReturnTypeTransition < T > > (
7474 options . expression ,
7575 options . node || document ,
0 commit comments