get method

  1. @override
Future<NativePackage?> get(
  1. String name
)
override

Implementation

@override
Future<NativePackage?> get(String name) async {
  final shell = Shell();
  final result = await shell.run('apt-cache show "$name"');
  if (result.first.exitCode != 0) {
    return null;
  }

  String? version;
  String? description;
  String? arch;

  for (final line in result.first.stdout.toString().split('\n')) {
    if (line.startsWith('Version: ')) {
      version = line.substring('Version: '.length);
    } else if (line.startsWith('Description: ')) {
      description = line.substring('Description: '.length);
    } else if (line.startsWith('Architecture: ')) {
      arch = line.substring('Architecture: '.length);
    }
  }
  return NativePackage(name: name, version: version, description: description, arch: arch);
}