{"version":3,"file":"attributeValueConcatenatorService-C39t5GLG.js","sources":["../../../../Coloplast.UI/src/shared/services/attributeValueConcatenatorService.js"],"sourcesContent":["export function formatValuesWithCondensedUnits(values, delimiter) {\r\n let unit = '';\r\n let testForUnitsRegex = /^\\d+([^\\d]+)\\s*$/i;\r\n let hasUnits = values.reduce((accumulator, current) => {\r\n let match = testForUnitsRegex.exec(current);\r\n let hasUnit = false;\r\n if (match) {\r\n if (unit === '') {\r\n unit = match[1];\r\n hasUnit = true;\r\n } \r\n else if (unit === match[1]) {\r\n hasUnit = true;\r\n }\r\n }\r\n return hasUnit && accumulator;\r\n }, true /* assume that we do have an array of numbers with units */)\r\n\r\n let newValues = [];\r\n let stripUnitsRegex = /^\\d+/;\r\n values.forEach(value => {\r\n if (hasUnits) {\r\n let match = stripUnitsRegex.exec(value);\r\n newValues.push(match[0]);\r\n }\r\n else {\r\n newValues.push(value);\r\n }\r\n });\r\n // make sure to reset the unit if hasUnits is false.\r\n if (!hasUnits) {\r\n unit = '';\r\n }\r\n else {\r\n newValues = newValues.sort((a, b) => {\r\n if (Number(a) < Number(b)) {\r\n return -1;\r\n }\r\n return 1;\r\n });\r\n }\r\n\r\n return newValues.join(delimiter) + unit;\r\n}"],"names":["formatValuesWithCondensedUnits","values","delimiter","unit","testForUnitsRegex","hasUnits","accumulator","current","match","hasUnit","newValues","stripUnitsRegex","value","a","b"],"mappings":"AAAO,SAASA,EAA+BC,EAAQC,EAAW,CAC9D,IAAIC,EAAO,GACPC,EAAoB,oBACpBC,EAAWJ,EAAO,OAAO,CAACK,EAAaC,IAAY,CACnD,IAAIC,EAAQJ,EAAkB,KAAKG,CAAO,EACtCE,EAAU,GACd,OAAID,IACIL,IAAS,IACTA,EAAOK,EAAM,CAAC,EACdC,EAAU,IAELN,IAASK,EAAM,CAAC,IACrBC,EAAU,KAGXA,GAAWH,CACrB,EAAE,EAAiE,EAEhEI,EAAY,CAAA,EACZC,EAAkB,OACtB,OAAAV,EAAO,QAAQW,GAAS,CACpB,GAAIP,EAAU,CACV,IAAIG,EAAQG,EAAgB,KAAKC,CAAK,EACtCF,EAAU,KAAKF,EAAM,CAAC,CAAC,CAC1B,MAEGE,EAAU,KAAKE,CAAK,CAEhC,CAAK,EAEIP,EAIDK,EAAYA,EAAU,KAAK,CAACG,EAAGC,IACvB,OAAOD,CAAC,EAAI,OAAOC,CAAC,EACb,GAEJ,CACV,EARDX,EAAO,GAWJO,EAAU,KAAKR,CAAS,EAAIC,CACvC"}