aboutsummaryrefslogtreecommitdiff
path: root/src/formats.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/formats.ts')
-rw-r--r--src/formats.ts66
1 files changed, 36 insertions, 30 deletions
diff --git a/src/formats.ts b/src/formats.ts
index db9a188..34f97df 100644
--- a/src/formats.ts
+++ b/src/formats.ts
@@ -1,46 +1,52 @@
interface Format {
- // returns the coverage value as %: Number(90.0), Number(100.0), Number(89.5)
- parse_coverage: (file: Document) => number,
- match_color: (coverage: number, stage_1: number, stage_2: number) => string,
+ // returns the coverage value as %: Number(90.0), Number(100.0), Number(89.5)
+ parse_coverage: (file: Document) => number;
+ match_color: (coverage: number, stage_1: number, stage_2: number) => string;
}
interface FormatList {
- [key: string]: Format
+ [key: string]: Format;
}
interface FormatObj {
- formats: FormatList,
- list_formats: () => string[],
- get_format: (format: string) => Format,
+ formats: FormatList;
+ list_formats: () => string[];
+ get_format: (format: string) => Format;
}
// color is a gradient from green (>=stage_1) -> yellow (stage_2) -> red. Stage values should come from metadata.
-const default_color_matches = (coverage: number, stage_1: number, stage_2: number) => {
- const gradient = coverage >= stage_1 ? 15 :
- (coverage >= stage_2 ?
- (Math.floor(coverage) - stage_2) * 16 + 15 :
- 240 + Math.floor(coverage / (stage_2 / 15)));
- return gradient.toString(16) + "0";
+const default_color_matches = (
+ coverage: number,
+ stage_1: number,
+ stage_2: number
+) => {
+ const gradient =
+ coverage >= stage_1
+ ? 15
+ : coverage >= stage_2
+ ? (Math.floor(coverage) - stage_2) * 16 + 15
+ : 240 + Math.floor(coverage / (stage_2 / 15));
+ return gradient.toString(16) + "0";
};
const FormatsObj: FormatObj = {
- formats: {
- tarpaulin: {
- parse_coverage: (file: Document) => {
- //TODO parse coverage from file (example?)
- return 0.0;
- },
- match_color: default_color_matches,
- },
- },
+ formats: {
+ tarpaulin: {
+ parse_coverage: (file: Document) => {
+ //TODO parse coverage from file (example?)
+ return 0.0;
+ },
+ match_color: default_color_matches
+ }
+ },
- list_formats: function () {
- return Object.keys(this.formats);
- },
+ list_formats: function() {
+ return Object.keys(this.formats);
+ },
- get_format: function (format: string) {
- return this.formats[format];
- }
-}
+ get_format: function(format: string) {
+ return this.formats[format];
+ }
+};
-export default FormatsObj; \ No newline at end of file
+export default FormatsObj;