$logContext */ public static function isStale(?CarbonInterface $observedAt, ?CarbonInterface $currentObservedAt, string $context, array $logContext): bool { if ($observedAt === null || $currentObservedAt === null || ! $observedAt->lt($currentObservedAt)) { return false; } Log::debug("Dropping stale flux {$context} update.", [ ...$logContext, 'observed_at' => $observedAt->toIso8601String(), 'current_status_observed_at' => $currentObservedAt->toIso8601String(), ]); return true; } /** * Map a raw status string onto the given status enum. Unknown values are * never written to the database: they fall back to the enum's Unknown case * and are logged. Returns null only when no raw value is supplied. * * @param class-string $enumClass */ public static function normalize(?string $raw, string $enumClass): ?string { if ($raw === null || $raw === '') { return null; } $status = $enumClass::tryFrom(strtolower($raw)); if ($status === null) { Log::warning('Received unknown flux resource status; falling back to unknown.', [ 'raw_status' => $raw, 'status_enum' => $enumClass, ]); return $enumClass::Unknown->value; } return $status->value; } }