import { JSONPath as jsonpath } from "jsonpath-plus"; const translateLpaName = ({ name, locale, transLookup }) => { if (!name) return ""; if (locale !== "cy") return name; return ( jsonpath({ path: '$..[?(@ && @.value=="' + name + '")].value_cy', json: transLookup, eval: true })?.[0] || name ); }; export const getCaseLpaNames = ({ casesObj, detailsObj, locale, transLookup }) => { if (!casesObj) return []; const primaryLpaName = casesObj[ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" ] || ""; const translatedPrimaryLpaName = translateLpaName({ name: primaryLpaName, locale, transLookup }); const additionalLpaNames = (detailsObj.additionalLPAs || []).map((lpa) => translateLpaName({ name: lpa?.name || "", locale, transLookup }) ); return [ ...new Set( [translatedPrimaryLpaName, ...additionalLpaNames].filter(Boolean) ) ]; }; export const getCaseLpaDisplayValue = ({ casesObj, detailsObj, locale, transLookup }) => { return getCaseLpaNames({ casesObj, detailsObj, locale, transLookup }).join( ", " ); }; export const getCaseLpaDisplayLines = ({ casesObj, locale, detailsObj, transLookup }) => { return getCaseLpaNames({ casesObj, detailsObj, locale, transLookup }); };