@@ -35,48 +35,63 @@ export default class MultiSearch {
3535 this . requestWithCache . clearCache ( ) ;
3636 }
3737
38- async perform < const T extends DocumentSchema [ ] = [ ] > (
39- searchRequests : MultiSearchRequestsWithUnionSchema < T [ number ] > ,
40- commonParams ?: MultiSearchUnionParameters < T [ number ] > ,
38+ async perform <
39+ const T extends DocumentSchema [ ] = [ ] ,
40+ const Infix extends string = string ,
41+ > (
42+ searchRequests : MultiSearchRequestsWithUnionSchema < T [ number ] , Infix > ,
43+ commonParams ?: MultiSearchUnionParameters < T [ number ] , Infix > ,
4144 options ?: { cacheSearchResultsForSeconds ?: number } ,
4245 ) : Promise < UnionSearchResponse < T [ number ] > > ;
4346
44- async perform < const T extends DocumentSchema [ ] = [ ] > (
45- searchRequests : MultiSearchRequestsWithoutUnionSchema < T [ number ] > ,
46- commonParams ?: MultiSearchResultsParameters < T > ,
47+ async perform <
48+ const T extends DocumentSchema [ ] = [ ] ,
49+ const Infix extends string = string ,
50+ > (
51+ searchRequests : MultiSearchRequestsWithoutUnionSchema < T [ number ] , Infix > ,
52+ commonParams ?: MultiSearchResultsParameters < T , Infix > ,
4753 options ?: { cacheSearchResultsForSeconds ?: number } ,
4854 ) : Promise < {
4955 results : { [ Index in keyof T ] : SearchResponse < T [ Index ] > } & {
5056 length : T [ "length" ] ;
5157 } ;
5258 } > ;
5359
54- async perform < const T extends DocumentSchema [ ] = [ ] > (
55- searchRequests : MultiSearchRequestsSchema < T [ number ] > ,
60+ async perform <
61+ const T extends DocumentSchema [ ] = [ ] ,
62+ const Infix extends string = string ,
63+ > (
64+ searchRequests : MultiSearchRequestsSchema < T [ number ] , Infix > ,
5665 commonParams ?:
57- | MultiSearchUnionParameters < T [ number ] >
58- | MultiSearchResultsParameters < T > ,
66+ | MultiSearchUnionParameters < T [ number ] , Infix >
67+ | MultiSearchResultsParameters < T , Infix > ,
5968 {
6069 cacheSearchResultsForSeconds = this . configuration
6170 . cacheSearchResultsForSeconds ,
6271 } : { cacheSearchResultsForSeconds ?: number } = { } ,
63- ) : Promise < MultiSearchResponse < T > > {
72+ ) : Promise < MultiSearchResponse < T , Infix > > {
6473 const params = commonParams ? { ...commonParams } : { } ;
6574
6675 if ( this . configuration . useServerSideSearchCache === true ) {
6776 params . use_cache = true ;
6877 }
6978
7079 const normalizedSearchRequests : Omit < typeof searchRequests , "searches" > & {
71- searches : ExtractBaseTypes < SearchParams < T [ number ] > > [ ] ;
80+ searches : ExtractBaseTypes < SearchParams < T [ number ] , Infix > > [ ] ;
7281 } = {
7382 union : searchRequests . union ,
74- searches : searchRequests . searches . map ( normalizeArrayableParams ) ,
83+ searches : searchRequests . searches . map (
84+ normalizeArrayableParams <
85+ T [ number ] ,
86+ SearchParams < T [ number ] , Infix > ,
87+ Infix
88+ > ,
89+ ) ,
7590 } ;
7691
7792 const { streamConfig, ...paramsWithoutStream } = params ;
7893 const normalizedQueryParams = normalizeArrayableParams (
79- paramsWithoutStream as SearchParams < T [ number ] > ,
94+ paramsWithoutStream as SearchParams < T [ number ] , Infix > ,
8095 ) ;
8196
8297 return this . requestWithCache . perform (
0 commit comments