import 'package:json_annotation/json_annotation.dart'; part 'extension.g.dart'; @JsonSerializable(explicitToJson: true) class Extension { String identity; String name; String author; String title; String description; String icon; String version; String homepage; Repository? repository; List? settings; bool disabled; bool devMode; String devPath; Extension({ required this.identity, required this.name, required this.author, required this.title, required this.description, required this.icon, required this.version, required this.homepage, required this.repository, required this.disabled, required this.devMode, required this.devPath, }); factory Extension.fromJson(Map json) => _$ExtensionFromJson(json); Map toJson() => _$ExtensionToJson(this); } @JsonSerializable() class Repository { String url; String directory; Repository({required this.url, required this.directory}); factory Repository.fromJson(Map json) => _$RepositoryFromJson(json); Map toJson() => _$RepositoryToJson(this); } @JsonSerializable() class Setting { String name; String title; String description; bool required; SettingType type; Object? value; List