-
Notifications
You must be signed in to change notification settings - Fork 4
/
filter_balances.ts
30 lines (24 loc) 路 1.18 KB
/
filter_balances.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
export type HitBTCBalanceItem = {
currency: string;
available: string;
}
export type BinanceBalanceItem = {
asset: string;
free: string;
}
export type KrakenBalanceItems = { [asset: string]: string }
export type StandardBalanceItem = {
asset: string;
balance: string;
}
export const filterBinanceBalances = (balancesArr: BinanceBalanceItem[], outputFilterFn = ({ balance }: StandardBalanceItem): boolean => Number(balance) > 0): StandardBalanceItem[] => balancesArr
.map(({ asset, free: balance}) => ({ asset, balance}))
.filter(outputFilterFn)
export const filterHitBTCBalances = (balancesArr: HitBTCBalanceItem[], outputFilterFn = ({ balance }: StandardBalanceItem): boolean => Number(balance) > 0): StandardBalanceItem[] => balancesArr
.map(({ currency: asset, available: balance}) => ({ asset, balance}))
.filter(outputFilterFn)
export const filterKrakenBalances = (krakenBalancesObj: KrakenBalanceItems, outputFilterFn = ({ balance }: StandardBalanceItem): boolean => Number(balance) > 0): StandardBalanceItem[] => Object.keys(krakenBalancesObj)
.map(asset => ({
asset,
balance: krakenBalancesObj[asset]
})).filter(outputFilterFn)