Files
feishin/src/renderer/utils/search-songs.ts
T
2025-10-26 11:51:55 -07:00

21 lines
543 B
TypeScript

import Fuse from 'fuse.js';
import { Song } from '/@/shared/types/domain-types';
export const searchSongs = (songs: Song[], searchTerm: string) => {
const fuse = new Fuse(songs, {
fieldNormWeight: 1,
ignoreLocation: true,
keys: [
'name',
'album',
{
getFn: (song) => song.artists.map((artist) => artist.name),
name: 'artist',
},
],
threshold: 0,
});
return fuse.search(searchTerm).map((item) => item.item);
};