UNPKG

@replyke/core

Version:

Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.

30 lines 1.06 kB
import { handleError } from "../utils/handleError"; import { isDevelopment } from "../utils/env"; // Error handling middleware for Redux actions export const errorMiddleware = (store) => (next) => (action) => { try { return next(action); } catch (error) { handleError(error, `Redux action failed: ${action.type}`); throw error; } }; // Selective logger middleware for development - only logs important actions export const loggerMiddleware = (store) => (next) => (action) => { const result = next(action); // Only log failed API calls and errors in development if (isDevelopment() && action.type.includes('/rejected')) { console.group(`❌ Redux Action Failed: ${action.type}`); console.log('Error:', action.payload); console.log('Action:', action); console.groupEnd(); } return result; }; // Combine all custom middleware export const customMiddleware = [ errorMiddleware, ...(isDevelopment() ? [loggerMiddleware] : []) ]; //# sourceMappingURL=middleware.js.map