import get from 'lodash/get' import { Relation } from 'models' import { FluidType } from '../enum/fluid.enum' import { KonnectorUpdate } from '../enum/konnectorUpdate.enum' export function getFluidType(type: string) { switch (type.toUpperCase()) { case 'ELECTRICITY': return FluidType.ELECTRICITY case 'WATER': return FluidType.WATER case 'GAS': return FluidType.GAS default: return FluidType.ELECTRICITY } } export function getKonnectorUpdateError(type: string) { switch (type.toUpperCase()) { case 'USER_ACTION_NEEDED.OAUTH_OUTDATED': return KonnectorUpdate.ERROR_UPDATE_OAUTH default: return KonnectorUpdate.ERROR_UPDATE } } export function formatNumberValues( value: number | null, fluidStyle?: string, toBeCompared = false ) { if (value || value === 0) { const localeValue = value.toLocaleString('fr-FR', { minimumFractionDigits: 2, maximumFractionDigits: 2, }) const noSpaceValue = parseInt(localeValue.replace(/\s/g, '')) if (toBeCompared) return noSpaceValue if (fluidStyle && noSpaceValue >= 1000) { const convertedValue = (noSpaceValue / 1000).toFixed(2).replace('.', ',') return convertedValue } else return localeValue } else { return '--,--' } } /** * Get one relation in doc * * @param {object} doc - DocumentEntity * @param {string} relName - Name of the relation */ export function getRelationship<D>(doc: D, relName: string): Relation { return get(doc, `relationships.${relName}.data`, []) } //TODO Improve this function, pathName as argument (ecogeesture/season/boss) ? export const importIconbyId = async (id: string) => { // Les svg doivent ĂȘtre au format id.svg let importedSeasonIcon try { importedSeasonIcon = await import( /* webpackMode: "eager" */ `assets/icons/visu/boss/${id}.svg` ) } catch (e) {} if (importedSeasonIcon) { return importedSeasonIcon.default } }