Simplify Singleton usage by leveraging Go 1.18's generics

This commit is contained in:
Deluan
2022-07-27 12:15:05 -04:00
parent a2d9aaeff8
commit d613b19306
6 changed files with 45 additions and 38 deletions
+1 -2
View File
@@ -45,7 +45,7 @@ type playTracker struct {
}
func GetPlayTracker(ds model.DataStore, broker events.Broker) PlayTracker {
instance := singleton.Get(playTracker{}, func() interface{} {
return singleton.GetInstance(func() *playTracker {
m := ttlcache.NewCache()
m.SkipTTLExtensionOnHit(true)
_ = m.SetTTL(nowPlayingExpire)
@@ -60,7 +60,6 @@ func GetPlayTracker(ds model.DataStore, broker events.Broker) PlayTracker {
}
return p
})
return instance.(*playTracker)
}
func (p *playTracker) NowPlaying(ctx context.Context, playerId string, playerName string, trackId string) error {