import {createAction,createPromiseAction} from 'redux-helper'; export const addProduct = createAction<{name:string}> ('ADD_PRODUCT'); export const removeProduct = createAction('REMOVE_PRODUCT'); export const addListItem = createAction('ADD_LISTITEM'); export const removeListItem = createAction('REMOVE_LISTITEM'); export const toggleListItem = createAction('TOGGLE_LISTITEM'); export const dismissError = createAction('DISMISS_ERROR'); export const showError = createAction('SHOW_ERROR'); export const addAsyncProduct = createPromiseAction('ADD_ASYNC_PRODUCT', loadAsyncProd, (res) => addProduct({name:res}) ) function loadAsyncProd (arg:string) { return new Promise ((resolve,reject) =>{ setTimeout(function() { resolve(arg); }, 100); }); }