import { beforeDataReport } from '../common'
import {
  MitoVue,
  SDK_VERSION,
  SDK_NAME,
  init,
  log,
  errorBoundaryReport,
  beforeAppAjaxSend,
  beforePushBreadcrumb,
  manualInit,
  includeHttpUrlTraceIdRegExp,
  maxBreadcrumbs,
  enableTraceId
} from './base'

manualInit(({ customTag, apikey, debug }) => {
  init({
    maxBreadcrumbs,
    apikey,
    enableTraceId,
    includeHttpUrlTraceIdRegExp,
    debug,
    dsn: 'https://trycatch-end.qa.91jkys.com/errors/upload',
    silentConsole: true,
    // silentUnhandledrejection: true,
    // silentDom: true,
    // silentError: true,
    // silentFetch: true,
    // silentHashchange: true,
    // silentHistory: true,
    // silentVue: true,
    // silentXhr: true,
    beforePushBreadcrumb(breadcrumb, cruBreadcrumbData) {
      return beforePushBreadcrumb(breadcrumb, cruBreadcrumbData)
    },
    beforeDataReport(data) {
      return beforeDataReport(data, customTag)
    },
    beforeAppAjaxSend({ method, url }, config) {
      return beforeAppAjaxSend({ method, url }, config)
    }
  })
}, true)

export default { MitoVue, SDK_VERSION, SDK_NAME, log, errorBoundaryReport }
