JSFiddle - React, Tailwind, and code Playground
by Aakash Khapare M
TypeScript
const filterBasedOnName = (search: string) => (dns: DnsType) => dns.name.toLowerCase().includes(search);
const filterBasedOnDescription = (search: string) => (dns: DnsType) => dns.description ? .toLowerCase().includes(search);
const noFilter = (_search: string) => () => false;
map(([DNSTypes, [value, category]]: [DnsType[], string[]]) => {
if (isEmpty(value) || isEmpty(category)) {
return DNSTypes;
}
const val = value.toLowerCase();
const filterFn =
category === ENTERPRISE_DNS_SEARCH_PROPERTIES.name ?
filterBasedOnName :
category === ENTERPRISE_DNS_SEARCH_PROPERTIES.description ?
filterBasedOnDescription :
noFilter;
return DNSTypes.filter(filterFn(val));
})