UNPKG

@yext/search-core

Version:

Typescript Networking Library for the Yext Search API

30 lines (25 loc) 931 B
import { NumberRangeValue } from '../../models/searchservice/common/NumberRangeValue'; import { DisplayableFacet, DisplayableFacetOption } from '../../models/searchservice/response/DisplayableFacet'; import { createFieldValueFilter } from '../core/createFieldValueFilter'; export function createFacets(facets: any): DisplayableFacet[] { if (!facets) { return []; } return facets.map((facet: any) => ({ fieldId: facet.fieldId, displayName: facet.displayName, options: createFacetOptions(facet.options) })); } function createFacetOptions(options: any[]): DisplayableFacetOption[] { return options.map((option: any) => { const filter = createFieldValueFilter(option); return { displayName: option.displayName, count: option.count, selected: option.selected, matcher: filter.matcher, value: filter.value as string | number | boolean | NumberRangeValue }; }); }