resolve method

  1. @override
T resolve(
  1. T local,
  2. T remote
)
override

Implementation

@override
T resolve(T local, T remote) {
  // Assuming models have a timestamp field
  // This is a generic implementation - specific models should override
  if (local is Map && remote is Map) {
    final localTimestamp = local['timestamp'] ?? 0;
    final remoteTimestamp = remote['timestamp'] ?? 0;
    return localTimestamp >= remoteTimestamp ? local : remote;
  }

  // For objects with timestamp property
  try {
    final localTimestamp = (local as dynamic).timestamp ?? 0;
    final remoteTimestamp = (remote as dynamic).timestamp ?? 0;
    return localTimestamp >= remoteTimestamp ? local : remote;
  } catch (e) {
    // Fallback to client wins if timestamp comparison fails
    return local;
  }
}