import { germanArticle } from "../interfaces/iLandingpageWordingVariant"; export const invisibleCharacter = "\u200B"; export const isNullOrWhiteSpace = (str?: string) => str === null || str === invisibleCharacter || str?.toString().match(/^ *$/) !== null; export const getVariableNameAsStringFunc = (varObj: object) => Object.keys(varObj)[0]; export function mergeClassNames(...classes: string[]) { return classes.filter(Boolean).join(" "); } export function firstLetterToUpper(word: string) { if (!word) return word; return word[0].toUpperCase() + word.substring(1).toLowerCase(); } export function getIndefiniteArticles( article: germanArticle, firstLetterUpper: boolean = false ) { const map = { der: "ein", die: "eine", das: "ein", }; const indefiniteArticle = map[article]; return firstLetterUpper ? firstLetterToUpper(indefiniteArticle) : indefiniteArticle; } export function getPronoun( article: germanArticle, firstLetterUpper: boolean = false ) { const map = { der: "unser", die: "unsere", das: "unser", }; const indefiniteArticle = map[article]; return firstLetterUpper ? firstLetterToUpper(indefiniteArticle) : indefiniteArticle; } export function getDativeArticle( article: germanArticle, firstLetterUpper: boolean = false ) { const map = { der: "dem", die: "der", das: "des", }; const indefiniteArticle = map[article]; return firstLetterUpper ? firstLetterToUpper(indefiniteArticle) : indefiniteArticle; } export function getCheckedClassName( checked: boolean, baseClassName: string, selectedClassName: string, defaultClassName: string ) { if (checked) { return mergeClassNames(baseClassName, selectedClassName); } else { return mergeClassNames(baseClassName, defaultClassName); } } export function removeLeadingAndTrailingSlashes( str: string | undefined | null ): string { if (typeof str !== "string") { return ""; } return str.replace(/^\/+|\/+$/g, ""); }