import type { ILocalizedText } from './localized-text'; import PowerduckState from '../app/powerduck-state'; import { Language } from './enums/language'; import { isNullOrEmpty } from './utils/is-null-or-empty'; export default class LocalizedValueHelper { static getValue(value: ILocalizedText, lang?: Language | string): string { if (value == null) { return null as any; } if (lang == null) { lang = PowerduckState.getCurrentLanguage(); } const inLang = value[lang]; if (inLang != null) { return inLang; } if (lang == Language.cs) { const fbLang = value[Language.sk]; if (fbLang != null) { return fbLang; } } if (lang == Language.sk) { const fbLang = value[Language.cs]; if (fbLang != null) { return fbLang; } } const enVal = value[Language.en]; if (enVal != null) { return enVal; } for (const propKey in value) { const val = value[propKey]; if (val?.length > 0) { return val; } } return null as any; } static validateLocalizedValue(locValArr: ILocalizedText): boolean { if (isNullOrEmpty(LocalizedValueHelper.getValue(locValArr))) { return false; } return true; } }