11import {
2+ BrowseFacet ,
23 Collection ,
34 ConstructorClientOptions ,
45 Facet ,
@@ -31,7 +32,7 @@ export interface IBrowseParameters {
3132 hiddenFacets ?: string [ ] ;
3233 variationsMap ?: VariationsMap ;
3334 qsParam ?: Record < string , any > ;
34- filterMatchTypes ?: Record < string , 'all' | 'any' | 'none' >
35+ filterMatchTypes ?: Record < string , 'all' | 'any' | 'none' > ;
3536}
3637
3738declare class Browse {
@@ -77,40 +78,52 @@ declare class Browse {
7778/** *********
7879 * Browse results returned from server
7980 ********** */
80- export interface BrowseResponse < ResponseType > extends Record < string , any > {
81- request ?: Partial < BrowseRequestType > ;
82- response ?: Partial < ResponseType > ;
83- result_id ?: string ;
81+ export interface BrowseResponse < ResponseType , OmittedRequestFields extends keyof BrowseRequestType >
82+ extends Record < string , any > {
83+
84+ request : Omit < BrowseRequestType , OmittedRequestFields > ;
85+ response : ResponseType ;
86+ result_id : string ;
8487 ad_based ?: boolean ;
8588}
8689
8790export type GetBrowseResultsResponse =
88- BrowseResponse < GetBrowseResultsResponseData > ;
91+ BrowseResponse < GetBrowseResultsResponseData , 'facet_name' > ;
8992export type GetBrowseResultsForItemIdsResponse =
90- BrowseResponse < GetBrowseResultsResponseData > ;
93+ BrowseResponse < GetBrowseResultsResponseData , 'facet_name' > ;
9194export type GetBrowseGroupsResponse = BrowseResponse <
9295 Pick <
9396 GetBrowseResultsResponseData ,
9497 'result_sources' | 'groups' | 'refined_content'
95- >
98+ > ,
99+ 'browse_filter_name' | 'browse_filter_value' | 'searchandized_items' | 'facet_name'
96100> ;
97101export type GetBrowseFacetsResponse = BrowseResponse <
98- Pick < GetBrowseResultsResponseData , 'facets' | 'total_num_results' >
102+ GetBrowseFacetsResultsResponseData ,
103+ 'browse_filter_name' | 'browse_filter_value' | 'searchandized_items' | 'facet_name'
99104> ;
100105export type GetBrowseFacetOptionsResponse = BrowseResponse <
101- Pick < GetBrowseResultsResponseData , 'facets' >
106+ Pick < GetBrowseResultsResponseData , 'facets' | 'total_num_results' > ,
107+ 'browse_filter_name' | 'browse_filter_value' | 'searchandized_items'
102108> ;
103109
104110export interface GetBrowseResultsResponseData extends Record < string , any > {
105- result_sources : Partial < ResultSources > ;
106- facets : Partial < Facet > [ ] ;
107- groups : Partial < Group > [ ] ;
108- results : Partial < BrowseResultData > [ ] ;
109- sort_options : Partial < SortOption > [ ] ;
111+ result_sources : ResultSources ;
112+ facets : Facet [ ] ;
113+ groups : Group [ ] ;
114+ results : BrowseResultData [ ] ;
115+ sort_options : SortOption [ ] ;
110116 refined_content : Record < string , any > [ ] ;
111117 total_num_results : number ;
112- features : Partial < Feature > [ ] ;
113- collection : Partial < Collection > ;
118+ features : Feature [ ] ;
119+ collection ?: Partial < Collection > ;
120+ related_searches : Record < string , any > [ ] ;
121+ related_browse_pages : Record < string , any > [ ] ;
122+ }
123+
124+ export interface GetBrowseFacetsResultsResponseData extends Record < string , any > {
125+ facets : BrowseFacet [ ] ;
126+ total_num_results : number ;
114127}
115128
116129export interface BrowseResultData extends Record < string , any > {
@@ -122,23 +135,24 @@ export interface BrowseResultData extends Record<string, any> {
122135 value : string ;
123136 is_slotted : false ;
124137 labels : Record < string , any > ;
125- variations : Record < string , any > [ ] ;
126- variations_map : Record < string , any > | Record < string , any > [ ] ;
138+ variations ? : Record < string , any > [ ] ;
139+ variations_map ? : Record < string , any > | Record < string , any > [ ] ;
127140}
128141
129142export interface BrowseRequestType extends Record < string , any > {
130143 browse_filter_name : string ;
131144 browse_filter_value : string ;
132- filter_match_types : Record < string , any > ;
133- filters : Record < string , any > ;
134- fmt_options : Record < string , any > ;
145+ filter_match_types ?: Record < string , any > ;
146+ filters ?: Record < string , any > ;
147+ fmt_options : FmtOptions ;
148+ facet_name : string ;
135149 num_results_per_page : number ;
136150 page : number ;
137151 section : string ;
138152 sort_by : string ;
139153 sort_order : string ;
140154 term : string ;
141- query : string ;
155+ query ? : string ;
142156 features : Partial < RequestFeature > ;
143157 feature_variants : Partial < RequestFeatureVariant > ;
144158 searchandized_items : Record < string , any > ;
0 commit comments