INNER CODE UNIT · TypeScript
normalizeSearchText
bryllim/workout-guide · packages/workout-guide/src/index.ts:24
export function normalizeSearchText(value: string) {
return value
.toLowerCase()
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.replace(/&/g, ' and ')
.replace(/[^a-z0-9]+/g, ' ')
.trim()
.replace(/\s+/g, ' ');
}
export function getExercise(idOrSlug: string) {
return exercisesById.get(idOrSlug) ?? exercisesBySlug.get(idOrSlug) ?? null;
}
function matchesFilter(value: string, filter?: string | readonly string[]) {
if (filter === undefined) return true;
const values = Array.isArray(filter) ? filter : [filter];