UNPKG

@replyke/core

Version:

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

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