Optional votingOf for democracy locks (#2626)

This commit is contained in:
Jaco Greeff
2020-09-19 08:46:35 +02:00
committed by GitHub
parent f799a63610
commit 375dadbe35
2 changed files with 11 additions and 8 deletions
+10 -8
View File
@@ -75,14 +75,16 @@ function directLocks (api: ApiInterfaceRx, { votes }: VotingDirect): Observable<
export function locks (instanceId: string, api: ApiInterfaceRx): (accountId: string | AccountId) => Observable<DeriveDemocracyLock[]> {
return memo(instanceId, (accountId: string | AccountId): Observable<DeriveDemocracyLock[]> =>
api.query.democracy.votingOf(accountId).pipe(
switchMap((voting): Observable<DeriveDemocracyLock[]> =>
voting.isDirect
? directLocks(api, voting.asDirect)
: voting.isDelegating
? delegateLocks(api, voting.asDelegating)
: of([])
api.query.democracy.votingOf
? api.query.democracy.votingOf(accountId).pipe(
switchMap((voting): Observable<DeriveDemocracyLock[]> =>
voting.isDirect
? directLocks(api, voting.asDirect)
: voting.isDelegating
? delegateLocks(api, voting.asDelegating)
: of([])
)
)
)
: of([])
);
}