예제 #1
0
파일: PrefValRW.cs 프로젝트: Marwan0/tlplib
      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);
      }
예제 #2
0
 public DateTime GetDate(string key, DateTime defaultVal)
 {
     return(deserializeDate(backend.getString(key, serializeDate(defaultVal))));
 }
예제 #3
0
 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
     );
예제 #4
0
파일: PrefValRW.cs 프로젝트: Marwan0/tlplib
 public string read(IPrefValueBackend backend, string key, string defaultVal) => 
   backend.getString(key, defaultVal);
예제 #5
0
파일: PrefValRW.cs 프로젝트: Marwan0/tlplib
 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);
 }
예제 #6
0
파일: PrefValRW.cs 프로젝트: Marwan0/tlplib
 public DateTime read(IPrefValueBackend backend, string key, DateTime defaultVal) =>
   deserializeDate(backend.getString(key, serializeDate(defaultVal)));