in packages/search-ui-engines-connector/src/handlers/search/Configuration.ts [53:99]
export function buildBaseFilters(baseFilters: Filter[]): BaseFilters {
const filters = (baseFilters || []).reduce((acc, filter) => {
const boolType = {
all: "filter",
any: "should",
none: "must_not"
}[filter.type];
return [
...acc,
{
bool: {
[boolType]: filter.values.map((value: FilterValue) => {
if (isRangeFilter(value)) {
return {
range: {
[filter.field]: {
...("from" in value
? {
from: isValidDateString(value.from)
? value.from
: Number(value.from)
}
: {}),
...("to" in value
? {
to: isValidDateString(value.to)
? value.to
: Number(value.to)
}
: {})
}
}
};
}
return {
term: {
[filter.field]: value
}
};
})
}
}
];
}, []);
return filters;
}