| /* | |
| 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 | |
| }; |