public A read(IPrefValueBackend backend, string key, A defaultVal) { var serialized = backend.getString(key, DEFAULT_VALUE); if (string.IsNullOrEmpty(serialized)) return deserializationFailed(key, defaultVal, serialized); if (serialized == DEFAULT_VALUE) return defaultVal; var serializedWithoutDiscriminator = serialized.Substring(1); var opt = deserialize(serializedWithoutDiscriminator); return opt.isSome ? opt.get : deserializationFailed(key, defaultVal, serialized); }
public DateTime GetDate(string key, DateTime defaultVal) { return(deserializeDate(backend.getString(key, serializeDate(defaultVal)))); }
public PrefVal <string> str(string key, string defaultVal, bool saveOnEveryWrite = true) => new PrefValImpl <string>( key, () => backend.getString(key, defaultVal), value => backend.setString(key, value), backend, saveOnEveryWrite );
public string read(IPrefValueBackend backend, string key, string defaultVal) => backend.getString(key, defaultVal);
public A read(IPrefValueBackend backend, string key, A defaultVal) { var str = backend.getString(key, CUSTOM_V1_DEFAULT); return str == CUSTOM_V1_DEFAULT ? defaultVal : comap(str); }
public DateTime read(IPrefValueBackend backend, string key, DateTime defaultVal) => deserializeDate(backend.getString(key, serializeDate(defaultVal)));