diff method

Compare remote settings against local overrides.

Implementation

List<RemoteVsLocal> diff() {
  final allKeys = <String>{..._remote.keys, ..._overrides.keys};
  return allKeys.map((key) {
    final remote = _remote[key];
    final local = _overrides[key];
    return RemoteVsLocal(
      key: key,
      remoteValue: remote?.value,
      localValue: local,
      isOverridden: local != null && remote != null,
      isRemoteOnly: remote != null && local == null,
      isLocalOnly: remote == null && local != null,
    );
  }).toList()..sort((a, b) => a.key.compareTo(b.key));
}