aboutsummaryrefslogtreecommitdiff
path: root/src/formats.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/formats.ts')
-rw-r--r--src/formats.ts17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/formats.ts b/src/formats.ts
index b5a24bf..db9a188 100644
--- a/src/formats.ts
+++ b/src/formats.ts
@@ -1,5 +1,7 @@
interface Format {
- parse_coverage: (file: Document) => number;
+ // 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 {
@@ -12,12 +14,23 @@ interface FormatObj {
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 FormatsObj: FormatObj = {
formats: {
tarpaulin: {
parse_coverage: (file: Document) => {
+ //TODO parse coverage from file (example?)
return 0.0;
- }
+ },
+ match_color: default_color_matches,
},
},