package it.vfsfitvnm.vimusic.savers import androidx.compose.runtime.saveable.Saver import androidx.compose.runtime.saveable.SaverScope import it.vfsfitvnm.youtubemusic.YouTube import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint object YouTubeWatchInfoSaver : Saver, List> { override fun SaverScope.save(value: YouTube.Info) = listOf( value.name, value.endpoint?.let { with(YouTubeWatchEndpointSaver) { save(it) } }, ) override fun restore(value: List) = YouTube.Info( name = value[0] as String?, endpoint = (value[1] as List?)?.let(YouTubeWatchEndpointSaver::restore) ) }