*/ public function aggregate(): array { $contributions = []; /** @var ProviderInterface $provider */ foreach ($this->providers as $provider) { if (!$provider->isConfigured()) { continue; } try { foreach ($provider->fetch() as $date => $count) { $contributions[$date] = ($contributions[$date] ?? 0) + $count; } } catch (\Throwable $e) { $this->logger->warning(sprintf('%s fetch failed: %s', $provider::class, $e->getMessage()), ['exception' => $e]); } } return $contributions; } }