UNPKG

1.9 kBJavaScriptView Raw
1/*
2 Copyright 2012-2015, Yahoo Inc.
3 Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
4 */
5'use strict';
6
7/**
8 * istanbul-lib-coverage exports an API that allows you to create and manipulate
9 * file coverage, coverage maps (a set of file coverage objects) and summary
10 * coverage objects. File coverage for the same file can be merged as can
11 * entire coverage maps.
12 *
13 * @module Exports
14 */
15const { FileCoverage } = require('./lib/file-coverage');
16const { CoverageMap } = require('./lib/coverage-map');
17const { CoverageSummary } = require('./lib/coverage-summary');
18
19module.exports = {
20 /**
21 * creates a coverage summary object
22 * @param {Object} obj an argument with the same semantics
23 * as the one passed to the `CoverageSummary` constructor
24 * @returns {CoverageSummary}
25 */
26 createCoverageSummary(obj) {
27 if (obj && obj instanceof CoverageSummary) {
28 return obj;
29 }
30 return new CoverageSummary(obj);
31 },
32 /**
33 * creates a CoverageMap object
34 * @param {Object} obj optional - an argument with the same semantics
35 * as the one passed to the CoverageMap constructor.
36 * @returns {CoverageMap}
37 */
38 createCoverageMap(obj) {
39 if (obj && obj instanceof CoverageMap) {
40 return obj;
41 }
42 return new CoverageMap(obj);
43 },
44 /**
45 * creates a FileCoverage object
46 * @param {Object} obj optional - an argument with the same semantics
47 * as the one passed to the FileCoverage constructor.
48 * @returns {FileCoverage}
49 */
50 createFileCoverage(obj) {
51 if (obj && obj instanceof FileCoverage) {
52 return obj;
53 }
54 return new FileCoverage(obj);
55 }
56};
57
58/** classes exported for reuse */
59module.exports.classes = {
60 /**
61 * the file coverage constructor
62 */
63 FileCoverage
64};