~cytrogen/masto-fe

ref: 7cfcd23dadc97a0ef287a2a542e3eb21c88eb70f masto-fe/app/javascript/mastodon/store/middlewares/errors.ts -rw-r--r-- 701 bytes
7cfcd23d — Cytrogen Convert 17 SCSS files to CSS custom properties (Phase 3-4) a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import  { type AnyAction, type Middleware } from "redux";

import  { type RootState } from "..";
import { showAlertForError } from "../../actions/alerts";

const defaultFailSuffix = "FAIL";

export const errorsMiddleware: Middleware<unknown, RootState> =
  ({ dispatch }) =>
    (next) =>
      (action: AnyAction & { skipAlert?: boolean, skipNotFound?: boolean }) => {
        if (action.type && !action.skipAlert) {
          const isFail = new RegExp(`${defaultFailSuffix}$`, "g");

          if (typeof action.type === "string" && action.type.match(isFail)) {
            dispatch(showAlertForError(action.error, action.skipNotFound));
          }
        }

        return next(action);
      };