wagtail/client/src/utils/performance.js

34 lines
769 B
JavaScript
Raw Normal View History

/* eslint-disable import/no-mutable-exports */
let perfMiddleware;
if (process.env.NODE_ENV !== 'production') {
/**
* Performance middleware for use with a Redux store.
* Will log the time taken by every action across all
* of the reducers of the store.
*/
perfMiddleware = () => {
/* eslint-disable no-console */
// `next` is a function that takes an 'action' and sends it through to the 'reducers'.
const middleware = (next) => (action) => {
let result;
if (!!console.time) {
console.time(action.type);
result = next(action);
console.timeEnd(action.type);
} else {
result = next(action);
}
return result;
};
return middleware;
};
}
export {
perfMiddleware,
};