"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.componentesAlerta = void 0; const dist_1 = require("~comuns/dist"); const dist_2 = require("~estaticos/dist"); const react_1 = __importDefault(require("react")); const autoClose = 5000; const componentesAlerta = ({ mui_material: { Avatar, Typography }, react_toastify: { ToastContainer, Slide, toast }, }) => { const AlertaContainer = () => (react_1.default.createElement(ToastContainer, { position: "bottom-left", autoClose: autoClose, hideProgressBar: false, newestOnTop: false, closeOnClick: true, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true, theme: "light", transition: Slide })); const aguarde = () => toast.loading(() => react_1.default.createElement(Typography, { sx: { marginLeft: 4 } }, "\"Aguarde...\""), { icon: () => (react_1.default.createElement(Avatar, { src: (0, dist_2.estaticos)("link-servidor").imagens["quero-quero.gif"], alt: "Carregando..." })), }); const exibir = (res, id) => { console.table(res); if (!id) return res.eCerto ? toast.success(String(res.valor), {}) : toast.error(res.mensagem, {}); else { res.eCerto ? toast.update(id, { render: String(res.valor), type: "success", icon: null, isLoading: false, autoClose, hideProgressBar: false, }) : toast.update(id, { render: res.mensagem, type: "error", icon: null, isLoading: false, autoClose, hideProgressBar: false, }); return id; } }; class ClasseAlerta { id; aguarde() { this.id = aguarde(); return this; } exibir(res) { this.id = exibir(res, this.id); return this; } /** * * @param p função que será executada * @param transformar converte o valor de retorno da função em um tipoResposta para exibição * @returns */ async promisse(p, transformar) { this.aguarde(); const res = await p(); transformar ? this.exibir(transformar(res)) : this.fechar(); return res; } fechar() { toast.dismiss(this.id); } erro(mensagem) { this.exibir(dist_1.respostaComuns.erro(mensagem)); return this; } erroCatch(erro) { const erroResposta = dist_1.respostaComuns.erro(erro.response?.data?.mensagem ? erro.response?.data?.mensagem : erro.message ? erro.message : erro.response?.data ? erro.response?.data : erro); this.exibir(erroResposta); return this; } sucesso(mensagem) { this.exibir(dist_1.respostaComuns.valor(mensagem)); return this; } } const Alerta = () => new ClasseAlerta(); return { Alerta, AlertaContainer }; }; exports.componentesAlerta = componentesAlerta; //# sourceMappingURL=index.js.map