create static method

Future<PersistentStringSet> create(
  1. String key, {
  2. Set<String>? seedIfEmpty,
})
override

Create or load a persistent set of strings at key. If the key does not exist and seedIfEmpty is provided, it will be used to initialize the set and persist it immediately.

Implementation

static Future<PersistentStringSet> create(
  String key, {
  Set<String>? seedIfEmpty,
}) async {
  final prefs = await SharedPreferences.getInstance();
  final list = prefs.getStringList(key);
  final mem = (list != null) ? list.toSet() : <String>{};
  final set = PersistentStringSet._(key, mem, prefs);
  if (mem.isEmpty && seedIfEmpty != null) {
    await set.addAll(seedIfEmpty);
  }
  return set;
}