HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/math/ui/node_modules/karma-coverage/lib/report-creator.js
// Report Creator
// ==============
//
// Wrapper of Istanbul's report creator to allow registering
// custom reporters

// Dependencies
// ------------
var istanbulReports = require('istanbul-reports')

var customReporterMap = {}

function register (reporter) {
  var registeredType = reporter.TYPE
  if (!registeredType) {
    throw new Error('Registering a custom reporter requires a type!')
  }

  customReporterMap[registeredType] = reporter
  return registeredType
}

function create (type, opts) {
  var Reporter = customReporterMap[type]
  if (Reporter) {
    return new Reporter(opts)
  }

  // fallback to istanbul's report creator if reporter isn't found
  return istanbulReports.create(type, opts)
}

function reset () {
  customReporterMap = {}
}

module.exports = {
  create: create,
  register: register,
  reset: reset
}