@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
38 lines • 1.55 kB
JavaScript
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
import { handleError } from "../utils/handleError";
import { isDevelopment } from "../utils/env";
// Error handling middleware for Redux actions
export var errorMiddleware = function (store) { return function (next) { return function (action) {
try {
return next(action);
}
catch (error) {
handleError(error, "Redux action failed: ".concat(action.type));
throw error;
}
}; }; };
// Selective logger middleware for development - only logs important actions
export var loggerMiddleware = function (store) { return function (next) { return function (action) {
var result = next(action);
// Only log failed API calls and errors in development
if (isDevelopment() && action.type.includes('/rejected')) {
console.group("\u274C Redux Action Failed: ".concat(action.type));
console.log('Error:', action.payload);
console.log('Action:', action);
console.groupEnd();
}
return result;
}; }; };
// Combine all custom middleware
export var customMiddleware = __spreadArray([
errorMiddleware
], (isDevelopment() ? [loggerMiddleware] : []), true);
//# sourceMappingURL=middleware.js.map