resolve method
- PrefKey key
Resolves one preference by walking the source stack (highest first).
Implementation
Future<ResolvedPreference> resolve(PrefKey key) async {
final remote = _readRemote(key);
if (_readForcedSet().contains(key.name)) {
return ResolvedPreference(
key: key,
value: remote ?? key.defaultValue as Object,
source: .forced,
);
}
final override = await _store.read(key);
if (override != null) {
return ResolvedPreference(key: key, value: override, source: .override);
}
if (remote != null) {
return ResolvedPreference(key: key, value: remote, source: .remote);
}
return ResolvedPreference(
key: key,
value: key.defaultValue as Object,
source: .local,
);
}