refactor(search-bar): improved tool fuzzy search

This commit is contained in:
Corentin Thomasset 2022-12-16 18:10:50 +01:00
parent 8476cf319b
commit 1b5d4e72bd
No known key found for this signature in database
GPG key ID: DBD997E935996158
4 changed files with 39 additions and 16 deletions

View file

@ -0,0 +1,23 @@
import { get, type MaybeRef } from '@vueuse/core';
import Fuse from 'fuse.js';
import { computed } from 'vue';
export { useFuzzySearch };
function useFuzzySearch<Data>({
search,
data,
options = {},
}: {
search: MaybeRef<string>;
data: Data[];
options?: Fuse.IFuseOptions<Data>;
}) {
const fuse = new Fuse(data, options);
const searchResult = computed(() => {
return fuse.search(get(search)).map(({ item }) => item);
});
return { searchResult };
}