UNPKG

anonymous-student

Version:

Anonymous student is used to retrieve and save information from our website users.

58 lines (48 loc) 1.26 kB
import config from '../config/dev'; export function CatchReportAsyncException( target: object, propertyName: string, propertyDescriptor: PropertyDescriptor, ): PropertyDescriptor { const originalMethod = propertyDescriptor.value; propertyDescriptor.value = async function(...args: any[]): Promise<any> { try { // @ts-ignore return await originalMethod.apply(this, args); } catch (error) { if (rollbar) { rollbar.error(error, args); } throw error; } }; return propertyDescriptor; } export function CatchReportException( target: object, propertyName: string, propertyDescriptor: PropertyDescriptor, ): PropertyDescriptor { const originalMethod = propertyDescriptor.value; propertyDescriptor.value = function(...args: any[]): any { try { // @ts-ignore return originalMethod.apply(this, args); } catch (error) { if (rollbar) { rollbar.error(error, args); } throw error; } }; return propertyDescriptor; } const rollbarConfig = { accessToken: '6c4041c05630454d89eef023ecc5e834', captureUncaught: false, captureUnhandledRejections: false, payload: { environment: config.environment } }; const rollbar: any = (global && global['rollbar']) ? new global['rollbar'](rollbarConfig) : null;