UNPKG

@replyke/core

Version:

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

35 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.customMiddleware = exports.loggerMiddleware = exports.errorMiddleware = void 0; const handleError_1 = require("../utils/handleError"); const env_1 = require("../utils/env"); // Error handling middleware for Redux actions const errorMiddleware = (store) => (next) => (action) => { try { return next(action); } catch (error) { (0, handleError_1.handleError)(error, `Redux action failed: ${action.type}`); throw error; } }; exports.errorMiddleware = errorMiddleware; // Selective logger middleware for development - only logs important actions const loggerMiddleware = (store) => (next) => (action) => { const result = next(action); // Only log failed API calls and errors in development if ((0, env_1.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; }; exports.loggerMiddleware = loggerMiddleware; // Combine all custom middleware exports.customMiddleware = [ exports.errorMiddleware, ...((0, env_1.isDevelopment)() ? [exports.loggerMiddleware] : []) ]; //# sourceMappingURL=middleware.js.map