GlobalState<T> constructor

GlobalState<T>(
  1. String key,
  2. T defaultValue, {
  3. Parser<T>? parser,
  4. Serializer<T>? serializer,
})

Implementation

factory GlobalState(String key, T defaultValue, {Parser<T>? parser, Serializer<T>? serializer}) {
  // 检查是否已经存在该 key 的实例
  if (_instances.containsKey(key)) {
    return _instances[key]! as GlobalState<T>;
  } else {
    // 创建新的实例并将其存储在映射中
    var localValue = StorageUtil.get<T>(key, parser: parser);
    if (localValue == null) {
      StorageUtil.save<T>(key, defaultValue, serializer: serializer);
    }
    final instance = GlobalState<T>._(key, serializer).._data = LiveData(localValue ?? defaultValue);
    _instances[key] = instance;
    return instance;
  }
}