Skip to content

Commit 21f2a8a

Browse files
committed
fix(legacy-storage): always return what requested
1 parent 374f24f commit 21f2a8a

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

packages/async-storage/android/src/main/kotlin/org/asyncstorage/legacy_storage/LegacyStorageSupplier.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,16 @@ class StorageSupplier internal constructor(db: StorageDb) : AsyncStorageAccess {
158158

159159
private val access = db.storage()
160160

161-
override suspend fun getValues(keys: List<String>) = access.getValues(keys)
161+
override suspend fun getValues(keys: List<String>): List<Entry> {
162+
val values = access.getValues(keys)
163+
return keys.fold(values) { values, current ->
164+
if (values.find { it.key == current } != null) {
165+
values
166+
} else {
167+
values + Entry(current, null)
168+
}
169+
}
170+
}
162171

163172
override suspend fun setValues(entries: List<Entry>) = access.setValues(entries)
164173

0 commit comments

Comments
 (0)