@@ -29,22 +29,22 @@ extension PropertyListDecoder: RedisCacheDecoder { public typealias Input = Data
29
29
30
30
extension Application . Caches {
31
31
/// A cache configured for the default Redis ID and the default coders.
32
- public var redis : Cache {
32
+ public var redis : any Cache {
33
33
self . redis ( . default)
34
34
}
35
35
36
36
/// A cache configured for a given Redis ID and the default coders.
37
- public func redis( _ id: RedisID , jsonEncoder: JSONEncoder = JSONEncoder ( ) , jsonDecoder: JSONDecoder = JSONDecoder ( ) ) -> Cache {
37
+ public func redis( _ id: RedisID , jsonEncoder: JSONEncoder = JSONEncoder ( ) , jsonDecoder: JSONDecoder = JSONDecoder ( ) ) -> any Cache {
38
38
self . redis ( id, encoder: jsonEncoder, decoder: jsonDecoder)
39
39
}
40
40
41
41
/// A cache configured for a given Redis ID and using the provided encoder and decoder.
42
- public func redis< E: RedisCacheEncoder , D: RedisCacheDecoder > ( _ id: RedisID = . default, encoder: E , decoder: D ) -> Cache {
42
+ public func redis< E: RedisCacheEncoder , D: RedisCacheDecoder > ( _ id: RedisID = . default, encoder: E , decoder: D ) -> any Cache {
43
43
RedisCache ( encoder: FakeSendable ( value: encoder) , decoder: FakeSendable ( value: decoder) , client: self . application. redis ( id) )
44
44
}
45
45
46
46
/// A cache configured for a given Redis ID and using the provided encoder and decoder wrapped as FakeSendable.
47
- func redis( _ id: RedisID = . default, encoder: FakeSendable < some RedisCacheEncoder > , decoder: FakeSendable < some RedisCacheDecoder > ) -> Cache {
47
+ func redis( _ id: RedisID = . default, encoder: FakeSendable < some RedisCacheEncoder > , decoder: FakeSendable < some RedisCacheDecoder > ) -> any Cache {
48
48
RedisCache ( encoder: encoder, decoder: decoder, client: self . application. redis ( id) )
49
49
}
50
50
}
@@ -79,7 +79,7 @@ struct FakeSendable<T>: @unchecked Sendable { let value: T }
79
79
private struct RedisCache < CacheEncoder: RedisCacheEncoder , CacheDecoder: RedisCacheDecoder > : Cache , Sendable {
80
80
let encoder : FakeSendable < CacheEncoder >
81
81
let decoder : FakeSendable < CacheDecoder >
82
- let client : RedisClient
82
+ let client : any RedisClient
83
83
84
84
func get< T: Decodable > ( _ key: String , as type: T . Type ) -> EventLoopFuture < T ? > {
85
85
self . client. get ( RedisKey ( key) , as: CacheDecoder . Input. self) . optionalFlatMapThrowing { try self . decoder. value. decode ( T . self, from: $0) }
0 commit comments