import 'package:json_annotation/json_annotation.dart'; import 'package:revanced_manager/utils/string.dart'; part 'patch.g.dart'; @JsonSerializable() class Patch { Patch({ required this.name, required this.description, required this.version, required this.excluded, required this.dependencies, required this.compatiblePackages, }); factory Patch.fromJson(Map json) => _$PatchFromJson(json); final String name; final String description; final String version; final bool excluded; final List dependencies; final List compatiblePackages; Map toJson() => _$PatchToJson(this); String getSimpleName() { return name .replaceAll('-', ' ') .split('-') .join(' ') .toTitleCase() .replaceFirst('Microg', 'MicroG'); } } @JsonSerializable() class Package { Package({ required this.name, required this.versions, }); factory Package.fromJson(Map json) => _$PackageFromJson(json); final String name; final List versions; Map toJson() => _$PackageToJson(this); }