This repository was archived by the owner on Feb 23, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +14
-11
lines changed
Expand file tree Collapse file tree 4 files changed +14
-11
lines changed Original file line number Diff line number Diff line change @@ -49,10 +49,10 @@ export interface useCollectionOptions {
4949 isEditor ?: boolean ;
5050}
5151
52- export const useCollection = (
52+ export const useCollection = < T > (
5353 options : useCollectionOptions
5454) : {
55- results : unknown ;
55+ results : T [ ] ;
5656 isLoading : boolean ;
5757} => {
5858 const {
@@ -68,7 +68,7 @@ export const useCollection = (
6868 'the resource properties.'
6969 ) ;
7070 }
71- const currentResults = useRef < { results : unknown ; isLoading : boolean } > ( {
71+ const currentResults = useRef < { results : T [ ] ; isLoading : boolean } > ( {
7272 results : [ ] ,
7373 isLoading : true ,
7474 } ) ;
@@ -102,7 +102,7 @@ export const useCollection = (
102102 }
103103
104104 return {
105- results : store . getCollection < T > ( ...args ) ,
105+ results : store . getCollection < T [ ] > ( ...args ) ,
106106 isLoading : ! store . hasFinishedResolution (
107107 'getCollection' ,
108108 args
Original file line number Diff line number Diff line change @@ -35,16 +35,17 @@ export const useStoreProducts = (
3535 namespace : '/wc/store/v1' ,
3636 resourceName : 'products' ,
3737 } ;
38- const { results : products , isLoading : productsLoading } = useCollection ( {
39- ...collectionOptions ,
40- query,
41- } ) ;
38+ const { results : products , isLoading : productsLoading } =
39+ useCollection < ProductResponseItem > ( {
40+ ...collectionOptions ,
41+ query,
42+ } ) ;
4243 const { value : totalProducts } = useCollectionHeader ( 'x-wp-total' , {
4344 ...collectionOptions ,
4445 query,
4546 } ) ;
4647 return {
47- products : products as ProductResponseItem [ ] , // TODO: Remove this once getCollection selector and resolver is converted to TS.
48+ products,
4849 totalProducts : parseInt ( totalProducts as string , 10 ) ,
4950 productsLoading,
5051 } ;
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import { __ } from '@wordpress/i18n';
1111import { getSettingWithCoercion } from '@woocommerce/settings' ;
1212import {
1313 AttributeObject ,
14+ AttributeTerm ,
1415 isAttributeQueryCollection ,
1516 isAttributeTermCollection ,
1617 isBoolean ,
@@ -47,7 +48,7 @@ const ActiveAttributeFilters = ( {
4748 displayStyle,
4849 isLoadingCallback,
4950} : ActiveAttributeFiltersProps ) => {
50- const { results, isLoading } = useCollection ( {
51+ const { results, isLoading } = useCollection < AttributeTerm > ( {
5152 namespace : '/wc/store/v1' ,
5253 resourceName : 'products/attributes/terms' ,
5354 resourceValues : [ attributeObject . id ] ,
Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ import { getSettingWithCoercion } from '@woocommerce/settings';
1919import { getQueryArgs , removeQueryArgs } from '@wordpress/url' ;
2020import {
2121 AttributeQuery ,
22+ AttributeTerm ,
2223 isAttributeQueryCollection ,
2324 isBoolean ,
2425 isString ,
@@ -124,7 +125,7 @@ const AttributeFilterBlock = ( {
124125 useQueryStateByKey ( 'attributes' , [ ] ) ;
125126
126127 const { results : attributeTerms , isLoading : attributeTermsLoading } =
127- useCollection ( {
128+ useCollection < AttributeTerm > ( {
128129 namespace : '/wc/store/v1' ,
129130 resourceName : 'products/attributes/terms' ,
130131 resourceValues : [ attributeObject ?. id || 0 ] ,
You can’t perform that action at this time.
0 commit comments