use-search@0.1.0
2021-06-19
09:46:12 あいまい度を調節する
3文字までは完全一致で検索させる
09:43:07 部分一致検索できるようにした
dependencies
code:script.js
import {useMemo} from '../preact@10.5.13/hooks.js';
import {Asearch} from '../asearch@1.0.2/script.js';
export function useSearch({query, list, convert = text => text} = {}) {
return useMemo(() => {
if (!query|| query === '') return list;
// あいまい度を設定する
const ambig = Math.min(Math.floor(query.length / 4), 4);
const match = Asearch( ${query} );
// TODO: あいまい度順に並び替える
return list.filter(item => match(convert(item), ambig));
}