Untitled

 avatar
unknown
plain_text
10 days ago
748 B
3
Indexable
import ScId from '@/onCommerce/sc-common/ScId';
import ScBackend from '@/onCommerce/sc-common/ScBackend';
import ProductSearchResult from '@/onCommerce/sc-components/ProductSearchBar/models/ProductSearchResult';

const searchProducts = (
  scId: ScId,
  searchString: string
): Promise<ProductSearchResult> => {
  return ScBackend.read(`productSearchBar/searchProducts`, scId, {
    searchString: searchString.trim(),
  });
};

/**
 * Hook to asynchronously search for products.
 */
export default function useSearchProductsAsync(
  scId: ScId
): (searchString: string) => Promise<ProductSearchResult> {
  return (searchString: string) =>
    searchProducts(scId, searchString).catch(_ => ({
      results: [],
      moreResults: false,
    }));
}
Editor is loading...
Leave a Comment