import 'dart:io'; import 'package:package_info_plus/package_info_plus.dart'; class Config { String _userAgent; String? _version; Map? json; Config({required String userAgent, this.json}) : _userAgent = userAgent { PackageInfo.fromPlatform().then((value) => _version = value.version); } factory Config.fromJson(Map json) { return Config( userAgent: json["user_agent"] ?? "hu.filc.naplo/\$0/\$1/\$2", json: json, ); } String get userAgent => _userAgent.replaceAll("\$0", _version ?? "0").replaceAll("\$1", platform).replaceAll("\$2", "0"); static String get platform { if (Platform.isAndroid) { return "Android"; } else if (Platform.isIOS) { return "iOS"; } else if (Platform.isLinux) { return "Linux"; } else if (Platform.isWindows) { return "Windows"; } else if (Platform.isMacOS) { return "MacOS"; } else { return "Unknown"; } } @override String toString() => json.toString(); }