import{N as g,i as b}from"./chunk-Q232IBQN.js";import{c as h,j as m,p as o,q as u,sa as v,xa as c}from"./chunk-O7RN3KYY.js";import{a as d}from"./chunk-ZE2KCNEA.js";d();var S=(()=>{class n{constructor(){this.snackbarService=c(g),this.router=c(b)}errorHandler(e,r={matchFields:!1}){return t=>{let a=!1,s,i=e[t.status];if(typeof i=="string"||typeof i=="function")s=this.handleResult(i),a=!0;else if(i!==void 0){let k=t.error?.errors||[];for(let l of k){let f=r.matchFields?l.field:l.code;f in i&&(s=this.handleResult(i[f],l),a=!0)}}return a||("default"in e?s=this.handleResult(e.default):this.snackbarService.genericError()),s!==void 0?o(s):"returnValue"in r?r.returnValue instanceof h?r.returnValue:o(r.returnValue):u(t)}}errorHandlerGenericValidation(e={}){return r=>{if(r.status!==400)this.snackbarService.genericError();else{let t=r?.error?.errors||[];if(t.length)for(let a of t)this.snackbarService.error(a.message);else this.snackbarService.genericError()}return"returnValue"in e?o(e.returnValue):u(r)}}navigateToNotFound(e){let r="/404";e&&(e.url.startsWith("/admin")?r=`/admin${r}`:e.url.startsWith("/external")?r=`/external${r}`:e.url.startsWith("/public")&&(r=`/public${r}`)),this.router.navigate([r],{skipLocationChange:!0})}notFoundHandler(e){return this.errorHandler({404:()=>this.navigateToNotFound(e)},{returnValue:m})}handleResult(e,r){if(typeof e=="string")this.snackbarService.error(e);else return e(r)}static{this.\u0275fac=function(r){return new(r||n)}}static{this.\u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();export{S as a};