Settings.fromFile constructor

Settings.fromFile([
  1. String path = 'excel2l10n.yaml'
])

Implementation

factory Settings.fromFile([String path = 'excel2l10n.yaml']) {
  final file = File(path);
  if (!file.existsSync()) {
    throw SettingsFileNotFoundError(path);
  }

  final content = file.readAsStringSync();
  if (content.trim().isEmpty) {
    throw SettingsFileEmptyError(path);
  }

  final yaml = loadYaml(content);
  if (yaml is! YamlMap) {
    throw const SettingsFormatError('配置文件根节点必须是一个 Map');
  }

  return Settings._(yaml);
}