From 06f045e90bb57c36738e58ee6830e2a2391bc6a3 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 16 Sep 2023 18:28:16 +0200 Subject: Migrate CLI to python --- src/view/client/lib/search.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/view/client/lib/search.ts (limited to 'src/view/client/lib/search.ts') diff --git a/src/view/client/lib/search.ts b/src/view/client/lib/search.ts new file mode 100644 index 0000000..026cb94 --- /dev/null +++ b/src/view/client/lib/search.ts @@ -0,0 +1,17 @@ +export function match(search: string, ...targets: Array): boolean { + const formattedTargets = targets + .filter(t => t !== undefined) + .map(format) + + return search.split(/\s+/).every(subSearch => + formattedTargets.some(target => target.includes(format(subSearch))) + ) +} + +export function format(str: string): string { + return unaccent(str.toLowerCase()) +} + +function unaccent(str: string): string { + return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "") +} -- cgit v1.2.3