search.ts 285 B

12345678910111213
  1. import Fuse from "fuse.js";
  2. export const search = <T>(
  3. items: T[],
  4. searchTerm: string,
  5. options?: Fuse.IFuseOptions<T>
  6. ) => {
  7. if (!searchTerm) {
  8. return items;
  9. }
  10. const fuse = new Fuse<T>(items, options);
  11. return fuse.search(searchTerm).map((result) => result.item);
  12. };