// @flow import { createSelector } from 'reselect'; const selectState = (state: { blocked: BlocklistState }) => state.blocked || {}; export const selectBlockedChannels = createSelector(selectState, (state: BlocklistState) => { return state.blockedChannels.filter(e => typeof e === 'string'); }); export const selectBlockedChannelsCount = createSelector(selectBlockedChannels, (state: Array) => state.length); export const selectBlockedChannelsObj = createSelector(selectState, (state: BlocklistState) => { return state.blockedChannels.reduce((acc: any, val: any) => { const outpoint = `${val.txid}:${String(val.nout)}`; return { ...acc, [outpoint]: 1, }; }, {}); }); export const selectChannelIsBlocked = (uri: string) => createSelector(selectBlockedChannels, (state: Array) => { return state.includes(uri); });