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));

})