import { renderToStaticMarkup } from 'react-dom/server'; import { ReactElement } from 'react'; import _ from 'lodash'; export const hentKontakt = (kontakter: any = [], aktortype: any) => kontakter.find((kontakt) => kontakt.aktortype === aktortype); function fjernUsynligeTegn(str: string): string { return str.replace(/[\u200B-\u200D\uFEFF]/g, ''); } export function erUlikeObjekter(objekt1: any, objekt2?: any): boolean { return !_.isEqual(objekt1, objekt2); } export function erLikeReactElementer( element1: ReactElement, element2?: ReactElement ): boolean { return ( !!element2 && fjernUsynligeTegn(renderToStaticMarkup(element1)).localeCompare( fjernUsynligeTegn(renderToStaticMarkup(element2)), undefined, { sensitivity: 'base' } ) === 0 ); } export function erUlikeStrings(str1: string, str2?: string): boolean { if (!str2) return true; return ( fjernUsynligeTegn(str1).localeCompare( fjernUsynligeTegn(str2), undefined, { sensitivity: 'base' } ) !== 0 ); } export function finnesElementIListe(element: any, liste?: any[]): boolean { if (!liste) return false; return _.some(liste, (e) => _.isEqual(element, e)); }