| /* |
| Copyright 2012-2015, Yahoo Inc. |
| Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. |
| */ |
| 'use strict'; |
| |
| /** |
| * istanbul-lib-coverage exports an API that allows you to create and manipulate |
| * file coverage, coverage maps (a set of file coverage objects) and summary |
| * coverage objects. File coverage for the same file can be merged as can |
| * entire coverage maps. |
| * |
| * @module Exports |
| */ |
| const CoverageSummary = require('./lib/file').CoverageSummary; |
| const FileCoverage = require('./lib/file').FileCoverage; |
| const CoverageMap = require('./lib/coverage-map').CoverageMap; |
| |
| module.exports = { |
| /** |
| * creates a coverage summary object |
| * @param {Object} obj an argument with the same semantics |
| * as the one passed to the `CoverageSummary` constructor |
| * @returns {CoverageSummary} |
| */ |
| createCoverageSummary(obj) { |
| if (obj && obj instanceof CoverageSummary) { |
| return obj; |
| } |
| return new CoverageSummary(obj); |
| }, |
| /** |
| * creates a CoverageMap object |
| * @param {Object} obj optional - an argument with the same semantics |
| * as the one passed to the CoverageMap constructor. |
| * @returns {CoverageMap} |
| */ |
| createCoverageMap(obj) { |
| if (obj && obj instanceof CoverageMap) { |
| return obj; |
| } |
| return new CoverageMap(obj); |
| }, |
| /** |
| * creates a FileCoverage object |
| * @param {Object} obj optional - an argument with the same semantics |
| * as the one passed to the FileCoverage constructor. |
| * @returns {FileCoverage} |
| */ |
| createFileCoverage(obj) { |
| if (obj && obj instanceof FileCoverage) { |
| return obj; |
| } |
| return new FileCoverage(obj); |
| } |
| }; |
| |
| /** classes exported for reuse */ |
| module.exports.classes = { |
| /** |
| * the file coverage constructor |
| */ |
| FileCoverage |
| }; |