mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 21:55:53 +00:00
Add missing query() to QueryableStorageEntry3
QueryableStorageEntry2 has always had a single-key-tuple query(k1, k2) alongside entries()/keys(), but QueryableStorageEntry3 only ever grew entries()/keys() - nothing in the codebase needed a direct 3-key point query until BridgeMultisigRuntimeApi's Assets.Approvals lookup. Added query(k1, k2, k3), mirroring QueryableStorageEntry2's implementation exactly.
This commit is contained in:
+13
@@ -12,6 +12,9 @@ typealias QueryableStorageBinder3<K1, K2, K3, V> = (dynamicInstance: Any, key1:
|
|||||||
|
|
||||||
interface QueryableStorageEntry3<I1, I2, I3, T : Any> {
|
interface QueryableStorageEntry3<I1, I2, I3, T : Any> {
|
||||||
|
|
||||||
|
context(StorageQueryContext)
|
||||||
|
suspend fun query(argument1: I1, argument2: I2, argument3: I3): T?
|
||||||
|
|
||||||
context(StorageQueryContext)
|
context(StorageQueryContext)
|
||||||
suspend fun entries(keys: List<Triple<I1, I2, I3>>): Map<Triple<I1, I2, I3>, T>
|
suspend fun entries(keys: List<Triple<I1, I2, I3>>): Map<Triple<I1, I2, I3>, T>
|
||||||
|
|
||||||
@@ -32,6 +35,16 @@ internal class RealQueryableStorageEntry3<I1, I2, I3, T : Any>(
|
|||||||
private val key3FromInternalConverter: QueryableStorageKeyFromInternalBinder<I3>? = null,
|
private val key3FromInternalConverter: QueryableStorageKeyFromInternalBinder<I3>? = null,
|
||||||
) : QueryableStorageEntry3<I1, I2, I3, T> {
|
) : QueryableStorageEntry3<I1, I2, I3, T> {
|
||||||
|
|
||||||
|
context(StorageQueryContext)
|
||||||
|
override suspend fun query(argument1: I1, argument2: I2, argument3: I3): T? {
|
||||||
|
return storageEntry.query(
|
||||||
|
convertKey1ToInternal(argument1),
|
||||||
|
convertKey2ToInternal(argument2),
|
||||||
|
convertKey3ToInternal(argument3),
|
||||||
|
binding = { decoded -> decoded?.let { binding(it, argument1, argument2, argument3) } }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
context(StorageQueryContext)
|
context(StorageQueryContext)
|
||||||
override suspend fun entries(keys: List<Triple<I1, I2, I3>>): Map<Triple<I1, I2, I3>, T> {
|
override suspend fun entries(keys: List<Triple<I1, I2, I3>>): Map<Triple<I1, I2, I3>, T> {
|
||||||
return storageEntry.entries(
|
return storageEntry.entries(
|
||||||
|
|||||||
Reference in New Issue
Block a user