eduardomoroni/trading-card-manager

View on GitHub
packages/frontend/src/data/bugsnag/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
import bugsnag from '@bugsnag/expo';
import { BUGSNAG_API_KEY } from 'react-native-dotenv';
import * as BugsnagCore from '@bugsnag/expo/dist/types/bugsnag-core';
import { ErrorReporterParams } from '../../domain/ErrorReporter';

export class BugSnag implements ErrorReporterParams<BugsnagCore.Client> {
  ErrorBoundary: React.ReactType;
  Client: BugsnagCore.Client;

  constructor(Client: BugsnagCore.Client, ErrorBoundary: React.ReactType) {
    this.ErrorBoundary = ErrorBoundary;
    this.Client = Client;
  }
}

export function initBugSnag(): BugSnag {
  const bugSnagClient = bugsnag(BUGSNAG_API_KEY);
  const errorBoundary = bugSnagClient.getPlugin('react');

  return new BugSnag(bugSnagClient, errorBoundary);
}