import { shouldFetchTransactions, shouldGetReceiveAddress, } from 'selectors/wallet' import { shouldFetchFeaturedContent, shouldFetchDownloadedContent, shouldFetchPublishedContent, shouldFetchCurrentUriFileInfo, shouldFetchCurrentUriCostInfo, } from 'selectors/content' import { doFetchTransactions, doGetNewAddress, } from 'actions/wallet' import { doFetchFeaturedContent, doFetchDownloadedContent, doFetchPublishedContent, doFetchCurrentUriFileInfo, doFetchCurrentUriCostInfo, } from 'actions/content' const triggers = [] triggers.push({ selector: shouldFetchTransactions, action: doFetchTransactions, }) triggers.push({ selector: shouldGetReceiveAddress, action: doGetNewAddress }) triggers.push({ selector: shouldFetchFeaturedContent, action: doFetchFeaturedContent, }) triggers.push({ selector: shouldFetchDownloadedContent, action: doFetchDownloadedContent, }) triggers.push({ selector: shouldFetchPublishedContent, action: doFetchPublishedContent, }) triggers.push({ selector: shouldFetchCurrentUriFileInfo, action: doFetchCurrentUriFileInfo, }) triggers.push({ selector: shouldFetchCurrentUriCostInfo, action: doFetchCurrentUriCostInfo, }) const runTriggers = function() { triggers.forEach(function(trigger) { const state = app.store.getState(); const should = trigger.selector(state) if (trigger.selector(state)) app.store.dispatch(trigger.action()) }); } module.exports = { triggers: triggers, runTriggers: runTriggers }