clearPrefExcept method

Future<void> clearPrefExcept({
  1. List<String>? keysToKeep,
})

Implementation

Future<void> clearPrefExcept({List<String>? keysToKeep}) async {
  SharedPreferences mStorage = await getStorage();
  Set<String>? allKeys = mStorage.getKeys();

  Set<String> keysToRemove = (keysToKeep?.isNotEmpty ?? false)
      ? allKeys.difference(keysToKeep!.toSet())
      : allKeys;

  for (final key in keysToRemove) {
    debugPrint('Removing key: $key');
    mStorage.remove(key);
  }
}