getGlobalConfig method

GlobalConfig getGlobalConfig()

Implementation

GlobalConfig getGlobalConfig() {
  if (_cacheMtime > 0) {
    _cacheHits++;
    return globalConfig.value;
  }

  _cacheMisses++;
  try {
    int? mtimeMs;
    try {
      final stat = File(configFilePath).statSync();
      mtimeMs = stat.modified.millisecondsSinceEpoch;
    } catch (_) {}

    final config = _migrateConfigFields(_readConfigFromDisk());
    globalConfig.value = config;
    _cacheMtime = mtimeMs ?? DateTime.now().millisecondsSinceEpoch;
    _startFreshnessWatcher();
    return config;
  } catch (_) {
    return _migrateConfigFields(_readConfigFromDisk());
  }
}