const play = audio => { if (!audio.paused) { audio.pause(); audio.fastSeek(0); } audio.play(); }; export default function soundsMiddleware() { const soundCache = { boop: new Audio(['/sounds/boop.mp3']) }; return ({ dispatch }) => next => (action) => { if (action.meta && action.meta.sound && soundCache[action.meta.sound]) { play(soundCache[action.meta.sound]); } return next(action); }; };