thirdPartyRender = $thirdPartyRender; $this->thirdPartyRepository = $thirdPartyRepository; } public function getLabelMulti(string $key, array $values, string $header): callable { return function ($value) use ($header) { if ('_header' === $value) { return $header; } if (null === $value) { return ''; } $decoded = json_decode($value); if (0 === count($decoded)) { return ''; } return implode( '|', array_map( function (int $tpId) { $tp = $this->thirdPartyRepository->find($tpId); if (null === $tp) { return ''; } return $this->thirdPartyRender->renderString($tp, []); }, array_unique( array_filter($decoded, static fn (?int $id) => null !== $id), SORT_NUMERIC ) ) ); }; } }