checkForUpdateSync method

UpdateCheckResult checkForUpdateSync({
  1. required Map<String, dynamic> pubDevResponse,
})

Synchronous version of checkForUpdate for unit testing version comparison logic directly from a JSON map.

Not intended for production use — only for tests.

Implementation

UpdateCheckResult checkForUpdateSync({
  required Map<String, dynamic> pubDevResponse,
}) {
  final latest = _extractLatestVersion(pubDevResponse);
  if (latest == null) {
    return UpdateCheckResult(
      currentVersion: currentVersion,
      updateAvailable: false,
      message: 'Could not parse latest version.',
    );
  }
  return UpdateCheckResult(
    currentVersion: currentVersion,
    latestVersion: latest,
    updateAvailable: _isNewer(currentVersion, latest),
    message: _isNewer(currentVersion, latest)
        ? 'Update available: $currentVersion → $latest'
        : 'Already on the latest version.',
  );
}