UNPKG

flow-coverage-report

Version:

Generate an HTML report of the flow coverage data

95 lines (82 loc) 3.62 kB
'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var LinkToSourceFileReport = function LinkToSourceFileReport(props) { var filename = props.targetFilename; var href = "sourcefiles/".concat(filename, ".html"); return /*#__PURE__*/_react["default"].createElement("a", { href: href }, filename); }; var FlowCoverageFileTableRow = function FlowCoverageFileTableRow(props) { /* eslint-disable camelcase */ var filename = props.filename, annotation = props.annotation, covered_count = props.covered_count, uncovered_count = props.uncovered_count, percent = props.percent, isError = props.isError, isFlow = props.isFlow, disableLink = props.disableLink, threshold = props.threshold; var aboveThreshold = percent >= threshold; var className = !isError && isFlow && aboveThreshold ? 'positive' : 'negative'; var errorPopup; if (isError) { className = 'error'; var errorType; var errorContent; if (props.flowCoverageError) { errorType = 'flow coverage'; errorContent = /*#__PURE__*/_react["default"].createElement("pre", null, props.flowCoverageError); } if (props.flowCoverageParsingError) { errorType = 'JSON Parsing'; errorContent = /*#__PURE__*/_react["default"].createElement("pre", null, props.flowCoverageParsingError); } if (props.flowCoverageException) { errorType = 'Flow command unexpected error'; errorContent = /*#__PURE__*/_react["default"].createElement("pre", null, props.flowCoverageException); } if (props.flowCoverageStderr) { errorType = 'Flow command stderr'; errorContent = /*#__PURE__*/_react["default"].createElement("pre", null, props.flowCoverageStderr); } errorPopup = /*#__PURE__*/_react["default"].createElement("div", { className: "ui popup" }, /*#__PURE__*/_react["default"].createElement("div", { className: "header" }, "Flow Error: ", errorType), /*#__PURE__*/_react["default"].createElement("div", null, errorContent)); } return /*#__PURE__*/_react["default"].createElement("tr", { key: filename, className: className }, /*#__PURE__*/_react["default"].createElement("td", { key: "filename", className: disableLink ? '' : 'selectable' }, disableLink ? filename : /*#__PURE__*/_react["default"].createElement(LinkToSourceFileReport, { targetFilename: filename })), /*#__PURE__*/_react["default"].createElement("td", { key: "annotation" }, " @", annotation, " "), /*#__PURE__*/_react["default"].createElement("td", { key: "percent", className: isError ? 'error' : '' }, isError ? /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement("i", { className: "attention icon", "data-position": "bottom right" }), "Error", errorPopup) : /*#__PURE__*/_react["default"].createElement("span", null, percent, " %")), /*#__PURE__*/_react["default"].createElement("td", { key: "total" }, " ", covered_count + uncovered_count, " "), /*#__PURE__*/_react["default"].createElement("td", { key: "covered" }, " ", covered_count, " "), /*#__PURE__*/_react["default"].createElement("td", { key: "uncovered" }, " ", uncovered_count, " ")); /* eslint-enable camelcase */ }; var _default = FlowCoverageFileTableRow; exports["default"] = _default; //# sourceMappingURL=coverage-file-table-row.js.map