summaryrefslogtreecommitdiffstats
path: root/devtools/client/shared/redux/middleware/history.js
blob: dba88c0451dfd066595fa9bf8c4c0aa26c7da2a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";

const flags = require("devtools/shared/flags");

/**
 * A middleware that stores every action coming through the store in the passed
 * in logging object. Should only be used for tests, as it collects all
 * action information, which will cause memory bloat.
 */
exports.history = (log = []) => ({ dispatch, getState }) => {
  if (!flags.testing) {
    console.warn("Using history middleware stores all actions in state for " +
                 "testing and devtools is not currently running in test " +
                 "mode. Be sure this is intentional.");
  }
  return next => action => {
    log.push(action);
    next(action);
  };
};