| /* |
| 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 |
| */ |
| var CoverageSummary = require('./lib/file').CoverageSummary, |
| FileCoverage = require('./lib/file').FileCoverage, |
| 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: function(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: function(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: function(obj) { |
| if (obj && obj instanceof FileCoverage) { |
| return obj; |
| } |
| return new FileCoverage(obj); |
| } |
| }; |
| |
| /** classes exported for reuse */ |
| module.exports.classes = { |
| /** |
| * the file coverage constructor |
| */ |
| FileCoverage: FileCoverage |
| }; |