UserDefaultsMoviesQueriesStorage
final class UserDefaultsMoviesQueriesStorage
extension UserDefaultsMoviesQueriesStorage: MoviesQueriesStorage
-
Declaration
Swift
private let maxStroageLimit: Int
-
Declaration
Swift
private let recentsMoviesQueriesKey: String
-
Declaration
Swift
private var userDefaults: UserDefaults
-
Declaration
Swift
private let backgroundQueue: DispatchQueueType
-
Declaration
Swift
init( maxStroageLimit: Int, userDefaults: UserDefaults, backgroundQueue: DispatchQueueType = DispatchQueue.global(qos: .userInitiated) )
-
Declaration
Swift
private func fetchMoviesQueries() -> [MovieQuery]
-
Declaration
Swift
private func persist(moviesQueries: [MovieQuery])
-
Declaration
Swift
func fetchRecentsQueries( maxCount: Int, completion: @escaping (Result<[MovieQuery], Error>) -> Void )
-
Declaration
Swift
func saveRecentQuery( query: MovieQuery, completion: @escaping (Result<MovieQuery, Error>) -> Void )
-
Declaration
Swift
private func cleanUpQueries( for query: MovieQuery, in queries: inout [MovieQuery] )
-
Declaration
Swift
private func removeDuplicates( for query: MovieQuery, in queries: inout [MovieQuery] )
-
Declaration
Swift
private func removeQueries( limit: Int, in queries: inout [MovieQuery] )