version 1.0.0
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import Foundation
|
||||
import VelodyDomain
|
||||
|
||||
public protocol LocalLibraryStore: Sendable {
|
||||
func loadTracks() async -> [LibraryTrack]
|
||||
func replaceTracks(_ tracks: [LibraryTrack]) async
|
||||
}
|
||||
|
||||
public actor InMemoryLocalLibraryStore: LocalLibraryStore {
|
||||
private var tracks: [LibraryTrack]
|
||||
|
||||
public init(tracks: [LibraryTrack] = []) {
|
||||
self.tracks = tracks
|
||||
}
|
||||
|
||||
public func loadTracks() async -> [LibraryTrack] {
|
||||
tracks
|
||||
}
|
||||
|
||||
public func replaceTracks(_ tracks: [LibraryTrack]) async {
|
||||
self.tracks = tracks
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user