Remove derive memos (#1538)

* Remove derive memos

* Remove outer memo

* Over-eager replace
This commit is contained in:
Jaco Greeff
2019-11-03 11:38:36 +01:00
committed by GitHub
parent 0e037de1b1
commit 506b042f8c
44 changed files with 273 additions and 305 deletions
@@ -12,7 +12,7 @@ import { Option } from '@polkadot/types';
import { isNull } from '@polkadot/util';
import { ReferendumInfoExtended } from '../type';
import { drr, memo } from '../util';
import { drr } from '../util';
export function constructInfo (index: BN | number, optionInfo?: Option<ReferendumInfo>): Option<ReferendumInfoExtended> {
const info = optionInfo
@@ -27,8 +27,8 @@ export function constructInfo (index: BN | number, optionInfo?: Option<Referendu
);
}
export const referendumInfo = memo((api: ApiInterfaceRx): (index: BN | number) => Observable<Option<ReferendumInfoExtended>> => {
return memo((index: BN | number): Observable<Option<ReferendumInfoExtended>> => {
export function referendumInfo (api: ApiInterfaceRx): (index: BN | number) => Observable<Option<ReferendumInfoExtended>> {
return (index: BN | number): Observable<Option<ReferendumInfoExtended>> => {
return (api.query.democracy.referendumInfoOf<Option<ReferendumInfo>>(index))
.pipe(
map((optionInfo): Option<ReferendumInfoExtended> =>
@@ -36,5 +36,5 @@ export const referendumInfo = memo((api: ApiInterfaceRx): (index: BN | number) =
),
drr()
);
});
}, true);
};
}
@@ -11,11 +11,11 @@ import { ApiInterfaceRx } from '@polkadot/api/types';
import { Option, Vec } from '@polkadot/types';
import { ReferendumInfoExtended } from '../type';
import { drr, memo } from '../util';
import { drr } from '../util';
import { constructInfo } from './referendumInfo';
export const referendumInfos = memo((api: ApiInterfaceRx): (ids?: (BN | number)[]) => Observable<Option<ReferendumInfoExtended>[]> => {
return memo((ids: (BN | number)[] = []): Observable<Option<ReferendumInfoExtended>[]> => {
export function referendumInfos (api: ApiInterfaceRx): (ids?: (BN | number)[]) => Observable<Option<ReferendumInfoExtended>[]> {
return (ids: (BN | number)[] = []): Observable<Option<ReferendumInfoExtended>[]> => {
return (
!ids || !ids.length
? of([] as Option<ReferendumInfo>[])
@@ -28,5 +28,5 @@ export const referendumInfos = memo((api: ApiInterfaceRx): (ids?: (BN | number)[
),
drr()
);
});
}, true);
};
}
@@ -11,16 +11,16 @@ import { ApiInterfaceRx } from '@polkadot/api/types';
import { Vec, createType } from '@polkadot/types';
import { DerivedBalances, DerivedReferendumVote } from '../types';
import { drr, memo } from '../util';
import { drr } from '../util';
import { votes } from './votes';
import { votingBalances } from '../balances/votingBalances';
export const referendumVotesFor = memo((api: ApiInterfaceRx): (referendumId: BN | number) => Observable<DerivedReferendumVote[]> => {
export function referendumVotesFor (api: ApiInterfaceRx): (referendumId: BN | number) => Observable<DerivedReferendumVote[]> {
const votesCall = votes(api);
const votingBalancesCall = votingBalances(api);
return memo((referendumId: BN | number): Observable<DerivedReferendumVote[]> =>
(api.query.democracy.votersFor<Vec<AccountId>>(referendumId)).pipe(
return (referendumId: BN | number): Observable<DerivedReferendumVote[]> =>
api.query.democracy.votersFor<Vec<AccountId>>(referendumId).pipe(
switchMap((votersFor): Observable<[Vec<AccountId>, Vote[], DerivedBalances[]]> =>
combineLatest([
of(votersFor),
@@ -36,6 +36,5 @@ export const referendumVotesFor = memo((api: ApiInterfaceRx): (referendumId: BN
} as unknown as DerivedReferendumVote))
),
drr()
)
);
}, true);
);
}
@@ -11,17 +11,17 @@ import { ApiInterfaceRx } from '@polkadot/api/types';
import { Option } from '@polkadot/types';
import { ReferendumInfoExtended } from '../type';
import { drr, memo } from '../util';
import { drr } from '../util';
import { referendumInfos } from './referendumInfos';
export const referendums = memo((api: ApiInterfaceRx): () => Observable<Option<ReferendumInfoExtended>[]> => {
export function referendums (api: ApiInterfaceRx): () => Observable<Option<ReferendumInfoExtended>[]> {
const referendumInfosCall = referendumInfos(api);
return memo((): Observable<Option<ReferendumInfoExtended>[]> =>
(api.queryMulti([
return (): Observable<Option<ReferendumInfoExtended>[]> =>
api.queryMulti<[ReferendumIndex, ReferendumIndex]>([
api.query.democracy.nextTally,
api.query.democracy.referendumCount
]) as Observable<[ReferendumIndex?, ReferendumIndex?]>).pipe(
]).pipe(
switchMap(([nextTally, referendumCount]): Observable<Option<ReferendumInfoExtended>[]> =>
referendumCount && nextTally && referendumCount.gt(nextTally) && referendumCount.gtn(0)
? referendumInfosCall(
@@ -32,6 +32,5 @@ export const referendums = memo((api: ApiInterfaceRx): () => Observable<Option<R
: of([])
),
drr()
)
);
}, true);
);
}
+5 -5
View File
@@ -9,10 +9,10 @@ import { Observable, of } from 'rxjs';
import { ApiInterfaceRx } from '@polkadot/api/types';
import { Vec } from '@polkadot/types';
import { drr, memo } from '../util';
import { drr } from '../util';
export const votes = memo((api: ApiInterfaceRx): (referendumId: BN, accountIds?: AccountId[]) => Observable<Vote[]> => {
return memo((referendumId: BN, accountIds: AccountId[] = []): Observable<Vote[]> => {
export function votes (api: ApiInterfaceRx): (referendumId: BN, accountIds?: AccountId[]) => Observable<Vote[]> {
return (referendumId: BN, accountIds: AccountId[] = []): Observable<Vote[]> => {
return ((
!accountIds || !accountIds.length
? of([])
@@ -22,5 +22,5 @@ export const votes = memo((api: ApiInterfaceRx): (referendumId: BN, accountIds?:
)
)
) as Observable<Vec<Vote>>).pipe(drr());
});
}, true);
};
}