import 'package:hetu_script/hetu_script.dart'; import 'package:hetu_script/values.dart'; import 'package:spotube/models/metadata/metadata.dart'; class MetadataPluginTrackEndpoint { final Hetu hetu; MetadataPluginTrackEndpoint(this.hetu); HTInstance get hetuMetadataTrack => (hetu.fetch("metadataPlugin") as HTInstance).memberGet("track") as HTInstance; Future getTrack(String id) async { final raw = await hetuMetadataTrack.invoke("getTrack", positionalArgs: [id]) as Map; return SpotubeFullTrackObject.fromJson( raw.cast(), ); } Future save(List ids) async { await hetuMetadataTrack.invoke("save", positionalArgs: [ids]); } Future unsave(List ids) async { await hetuMetadataTrack.invoke("unsave", positionalArgs: [ids]); } }