run method

ToolVersions run()

Implementation

ToolVersions run() {
  final toolVersionsFile = File('.tool-versions');
  if (!toolVersionsFile.existsSync()) {
    throw ToolVersionsNotFoundException();
  }

  final toolVersionsString = toolVersionsFile.readAsStringSync().trim();
  final toolVersionsList = toolVersionsString.split('\n');
  if (toolVersionsList.isEmpty) {
    throw ToolVersionsParseException();
  }

  final toolVersions = toolVersionsList.map((e) => e.trim().split(' ')).map(
    (e) {
      if (e.length != 2) {
        throw ToolVersionsParseException();
      }

      final [tool, version] = e;
      return ToolVersion(tool: tool, version: version);
    },
  ).toList();

  return ToolVersions(toolVersions: toolVersions);
}