Commit 491d12e 1 parent 0715a5b commit 491d12e Copy full SHA for 491d12e
File tree 7 files changed +15
-0
lines changed
7 files changed +15
-0
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ " bentocache " : patch
3
+ ---
4
+
5
+ Handle deleteMany with empty keys list
Original file line number Diff line number Diff line change @@ -156,6 +156,7 @@ export class DatabaseDriver extends BaseDriver implements CacheDriver<true> {
156
156
* Delete multiple keys from the cache
157
157
*/
158
158
async deleteMany ( keys : string [ ] ) {
159
+ if ( keys . length === 0 ) return true
159
160
await this . #initialized
160
161
161
162
keys = keys . map ( ( key ) => this . getItemKey ( key ) )
Original file line number Diff line number Diff line change @@ -267,6 +267,7 @@ export class DynamoDbDriver extends BaseDriver implements CacheDriver {
267
267
* Delete multiple keys from the cache
268
268
*/
269
269
async deleteMany ( keys : string [ ] ) {
270
+ if ( keys . length === 0 ) return true
270
271
await Promise . all ( keys . map ( ( key ) => this . delete ( key ) ) )
271
272
return true
272
273
}
Original file line number Diff line number Diff line change @@ -225,6 +225,7 @@ export class FileDriver extends BaseDriver implements CacheDriver {
225
225
* Delete multiple keys from the cache
226
226
*/
227
227
async deleteMany ( keys : string [ ] ) {
228
+ if ( keys . length === 0 ) return true
228
229
await Promise . all ( keys . map ( ( key ) => this . delete ( key ) ) )
229
230
return true
230
231
}
Original file line number Diff line number Diff line change @@ -131,6 +131,7 @@ export class MemoryDriver extends BaseDriver implements L1CacheDriver {
131
131
* Delete multiple keys from the cache
132
132
*/
133
133
deleteMany ( keys : string [ ] ) {
134
+ if ( keys . length === 0 ) return true
134
135
for ( const key of keys ) this . delete ( key )
135
136
return true
136
137
}
Original file line number Diff line number Diff line change @@ -138,6 +138,7 @@ export class RedisDriver extends BaseDriver implements L2CacheDriver {
138
138
* Delete multiple keys from the cache
139
139
*/
140
140
async deleteMany ( keys : string [ ] ) {
141
+ if ( keys . length === 0 ) return true
141
142
await this . #connection. del ( keys . map ( ( key ) => this . getItemKey ( key ) ) )
142
143
return true
143
144
}
Original file line number Diff line number Diff line change @@ -103,6 +103,11 @@ export function registerCacheDriverTestSuite(options: {
103
103
assert . deepEqual ( await cache . get ( 'key2' ) , undefined )
104
104
} )
105
105
106
+ test ( 'deleteMany() return true when no keys are provided' , async ( { assert } ) => {
107
+ const result = await cache . deleteMany ( [ ] )
108
+ assert . isFalse ( result )
109
+ } )
110
+
106
111
test ( 'delete() returns true when key is removed' , async ( { assert } ) => {
107
112
await cache . set ( 'key1' , 'value1' )
108
113
const result = await cache . delete ( 'key1' )
You can’t perform that action at this time.
0 commit comments