17 lines
1.1 KiB
TypeScript
17 lines
1.1 KiB
TypeScript
export type FishVisualFamily = "pike" | "salmonid" | "cyprinid" | "perch" | "catfish" | "eel" | "flatfish" | "marine" | "generic";
|
|
|
|
const FAMILY_TERMS: Array<[FishVisualFamily, RegExp]> = [
|
|
["pike", /щук|судак|pike|pickerel|zander|hecht/i],
|
|
["salmonid", /форел|лосос|сёмг|голец|таймен|хариус|trout|salmon|char|grayling|forelle|lachs|saibling/i],
|
|
["cyprinid", /карп|карась|лещ|плотв|линь|язь|жерех|голав|усач|амур|толстолоб|carp|bream|roach|tench|barbel|karpfen|brasse/i],
|
|
["perch", /окун|ёрш|perch|ruff|barsch/i],
|
|
["catfish", /сом|catfish|wels/i],
|
|
["eel", /угор|миног|eel|lamprey|aal/i],
|
|
["flatfish", /камбал|палтус|скат|flounder|halibut|ray|rochen/i],
|
|
["marine", /сельд|треск|скумбр|тунец|акул|сардин|herring|cod|mackerel|tuna|shark|hering|kabeljau/i],
|
|
];
|
|
|
|
export function fishVisualFamily(name: string): FishVisualFamily {
|
|
return FAMILY_TERMS.find(([, pattern]) => pattern.test(name))?.[0] ?? "generic";
|
|
}
|