import type { Action, Dispatch } from '../store-types'; import type { DimensionMarshal } from '../dimension-marshal/dimension-marshal-types'; export default (marshal: DimensionMarshal) => () => (next: Dispatch) => (action: Action): any => { // Not stopping a collection on a 'DROP' as we want a collection to continue if ( // drag is finished action.type === 'DROP_COMPLETE' || action.type === 'FLUSH' || // no longer accepting changes once the drop has started action.type === 'DROP_ANIMATE' ) { marshal.stopPublishing(); } next(action); };