/* 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"; /** * A middleware that logs all actions coming through the system * to the console. */ function log() { return next => action => { try { // Only print the action type, rather than printing the whole object console.log("[DISPATCH] action type:", action.type); /* * USE WITH CAUTION!! This will output everything from an action object, * and these can be quite large. Printing out large objects will slow * down tests and cause test failures * * console.log("[DISPATCH]", JSON.stringify(action, null, 2)); */ } catch (e) { // this occurs if JSON.stringify throws. console.warn(e); console.log("[DISPATCH]", action); } next(action); }; } exports.log = log;