UNPKG

flow-coverage-report

Version:

Generate an HTML report of the flow coverage data

98 lines (79 loc) 3.9 kB
'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _footer = _interopRequireDefault(require("./footer")); var _coverageSummaryTable = _interopRequireDefault(require("./coverage-summary-table")); var _coverageFileTableHead = _interopRequireDefault(require("./coverage-file-table-head")); var _coverageFileTableRow = _interopRequireDefault(require("./coverage-file-table-row")); var _coverageMeterBar = _interopRequireDefault(require("./coverage-meter-bar")); var HTMLReportBodySummary = function HTMLReportBodySummary(props) { var summary = props.coverageSummaryData; if (!summary) { throw new Error('Missing coverageSummaryData from props'); } var filenames = Object.keys(summary.files).sort(); var percent = summary.percent; var filesSummaryTableProps = { id: 'files', className: 'ui small celled table sortable' }; var filesSummaryTable = /*#__PURE__*/_react["default"].createElement("table", filesSummaryTableProps, /*#__PURE__*/_react["default"].createElement(_coverageFileTableHead["default"], null), /*#__PURE__*/_react["default"].createElement("tbody", null, filenames.map(function (filename) { var fileSummary = summary.files[filename]; var key = filename; var fileRowProps = { filename: filename, isError: fileSummary.isError, isFlow: fileSummary.isFlow, flowCoverageParsingError: fileSummary.flowCoverageParsingError, flowCoverageError: fileSummary.flowCoverageError, flowCoverageException: fileSummary.flowCoverageException, flowCoverageStderr: fileSummary.flowCoverageStderr, disableLink: false, threshold: summary.threshold, annotation: fileSummary.annotation, percent: fileSummary.percent, /* eslint-disable camelcase */ covered_count: fileSummary.expressions.covered_count, uncovered_count: fileSummary.expressions.uncovered_count /* eslint-enable camelcase */ }; return /*#__PURE__*/_react["default"].createElement(_coverageFileTableRow["default"], (0, _extends2["default"])({ key: key }, fileRowProps)); }))); var meterBar; if (props.htmlTemplateOptions && props.htmlTemplateOptions.showMeterBar) { meterBar = /*#__PURE__*/_react["default"].createElement(_coverageMeterBar["default"], { percent: percent, threshold: summary.threshold }); } return /*#__PURE__*/_react["default"].createElement("body", null, /*#__PURE__*/_react["default"].createElement("div", { className: "ui grid container" }, /*#__PURE__*/_react["default"].createElement("div", { className: "row" }, /*#__PURE__*/_react["default"].createElement("h2", null, "Flow Coverage Report")), /*#__PURE__*/_react["default"].createElement("div", { className: "row" }, /*#__PURE__*/_react["default"].createElement("h4", { className: "ui header" }, "Summary"), /*#__PURE__*/_react["default"].createElement(_coverageSummaryTable["default"], { assets: props.assets, coverageGeneratedAt: props.coverageGeneratedAt, htmlTemplateOptions: props.htmlTemplateOptions, coverageSummaryData: props.coverageSummaryData })), meterBar, /*#__PURE__*/_react["default"].createElement("div", { className: "row" }, /*#__PURE__*/_react["default"].createElement("h4", { className: "ui header" }, "Files"), filesSummaryTable), /*#__PURE__*/_react["default"].createElement("div", { className: "row centered" }, /*#__PURE__*/_react["default"].createElement(_footer["default"], props)))); }; var _default = HTMLReportBodySummary; exports["default"] = _default; //# sourceMappingURL=body-coverage-summary.js.map