Home > @vsf-enterprise/bigcommerce-theme > UseCategoryInterface > buildSearchCategories

# UseCategoryInterface.buildSearchCategories() method

Builds the list of search categories.

Signature:

buildSearchCategories(products: Product[]): SearchCategory[];

# Parameters

Parameter Type Description
products Product[]

Returns:

SearchCategory[]

# Example

Building search categories in search handler.

import { defineComponent } from '@nuxtjs/composition-api';
import { useCategory, useProduct } from '~/composables';
import { useCategoryTreeStore } from '~/stores';

export default defineComponent({
  setup() {
    const { search } = useProduct();
    const { buildSearchCategories } = useCategory();

    const handleSearch = debounce(async (paramValue) => {
      if (!paramValue.target) {
        term.value = paramValue;
      } else {
        term.value = paramValue.target.value;
      }

      const products = await search({
        'keyword:like:': term.value.trim(),
        include: 'options,variants'
      });

      const categories = buildSearchCategories(products.data);

      result.value = { products: products.data, categories };
    }, 1000);

    return { handleSearch };
  }
});