import ErrorException from "../exceptions/ErrorException.js"; import WaitingChangeException from "../exceptions/WaitingChangeException.js"; import WarningException from "../exceptions/WarningException.js"; /** * `ErrorTracking`: Handler para processar exceptions lançadas. */ export class ErrorTracking { /** * * Inicializa o Rollbar, utilizado para rastreio de erros e análise de logs. * */ public static init(){ const rollbar = (window as any).Rollbar; if(rollbar){ rollbar.configure({ checkIgnore: function(isUncaught:boolean, args:Array, _payload:any) { return args[1] ? ErrorTracking.isInternalException(args[1]) : false; } }); } } /** * * Retorna se o erro é uma exceção interna na aplicação. * @param error - Erro que será identificado como exceção interna ou não. * @returns - Verdadeiro caso seja uma exceção interna. * */ private static isInternalException(error:any):boolean{ return (error instanceof ErrorException || error instanceof WaitingChangeException || error instanceof WarningException); } }