monocart-coverage-reports 2.5.8 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,118 +1,118 @@
1
-
2
- const sortRanges = (ranges) => {
3
- ranges.sort((a, b) => {
4
- if (a.start === b.start) {
5
- return a.end - b.end;
6
- }
7
- return a.start - b.start;
8
- });
9
- };
10
-
11
- const filterRanges = (ranges) => {
12
- // remove start = end
13
- return ranges.filter((range) => range.start < range.end);
14
- };
15
-
16
- // apply directly to css ranges
17
- const dedupeFlatRanges = (ranges) => {
18
-
19
- ranges = filterRanges(ranges);
20
-
21
- if (ranges.length < 2) {
22
- return ranges;
23
- }
24
-
25
- sortRanges(ranges);
26
-
27
- ranges.reduce((prevRange, range) => {
28
-
29
- // same start
30
- if (range.start === prevRange.start) {
31
- range.dedupe = true;
32
- // equal prev
33
- if (range.end === prevRange.end) {
34
- return prevRange;
35
- }
36
- // great than the prev end, update the end
37
- prevRange.end = range.end;
38
- return prevRange;
39
- }
40
-
41
- // already in the range
42
- if (range.end <= prevRange.end) {
43
- range.dedupe = true;
44
- return prevRange;
45
- }
46
-
47
- // collected, update the end
48
- if (range.start <= prevRange.end) {
49
- range.dedupe = true;
50
- prevRange.end = range.end;
51
- return prevRange;
52
- }
53
-
54
- return range;
55
- });
56
-
57
- ranges = ranges.filter((it) => !it.dedupe);
58
-
59
- return ranges;
60
- };
61
-
62
- const mergeRangesWith = (ranges, comparer, handler) => {
63
-
64
- // ranges format
65
- // { start: 0, end: 6, ... }
66
-
67
- ranges = filterRanges(ranges);
68
-
69
- if (ranges.length < 2) {
70
- return ranges;
71
- }
72
-
73
- sortRanges(ranges);
74
-
75
- let hasDedupe = false;
76
-
77
- // merge count for same range
78
- ranges.reduce((lastRange, range) => {
79
- if (comparer(lastRange, range)) {
80
- range.dedupe = true;
81
-
82
- handler(lastRange, range);
83
-
84
- hasDedupe = true;
85
-
86
- return lastRange;
87
- }
88
- return range;
89
- });
90
-
91
- if (hasDedupe) {
92
- // console.log(ranges);
93
- ranges = ranges.filter((it) => !it.dedupe);
94
- }
95
-
96
- // console.log('ranges length after', ranges.length);
97
-
98
- return ranges;
99
- };
100
-
101
- // apply to js count ranges
102
- const dedupeCountRanges = (ranges) => {
103
- const comparer = (lastRange, range) => {
104
- return lastRange.start === range.start && lastRange.end === range.end;
105
- };
106
- const handler = (lastRange, range) => {
107
- lastRange.count += range.count;
108
- };
109
- return mergeRangesWith(ranges, comparer, handler);
110
- };
111
-
112
-
113
- module.exports = {
114
- sortRanges,
115
- dedupeFlatRanges,
116
- mergeRangesWith,
117
- dedupeCountRanges
118
- };
1
+
2
+ const sortRanges = (ranges) => {
3
+ ranges.sort((a, b) => {
4
+ if (a.start === b.start) {
5
+ return a.end - b.end;
6
+ }
7
+ return a.start - b.start;
8
+ });
9
+ };
10
+
11
+ const filterRanges = (ranges) => {
12
+ // remove start = end
13
+ return ranges.filter((range) => range.start < range.end);
14
+ };
15
+
16
+ // apply directly to css ranges
17
+ const dedupeFlatRanges = (ranges) => {
18
+
19
+ ranges = filterRanges(ranges);
20
+
21
+ if (ranges.length < 2) {
22
+ return ranges;
23
+ }
24
+
25
+ sortRanges(ranges);
26
+
27
+ ranges.reduce((prevRange, range) => {
28
+
29
+ // same start
30
+ if (range.start === prevRange.start) {
31
+ range.dedupe = true;
32
+ // equal prev
33
+ if (range.end === prevRange.end) {
34
+ return prevRange;
35
+ }
36
+ // great than the prev end, update the end
37
+ prevRange.end = range.end;
38
+ return prevRange;
39
+ }
40
+
41
+ // already in the range
42
+ if (range.end <= prevRange.end) {
43
+ range.dedupe = true;
44
+ return prevRange;
45
+ }
46
+
47
+ // collected, update the end
48
+ if (range.start <= prevRange.end) {
49
+ range.dedupe = true;
50
+ prevRange.end = range.end;
51
+ return prevRange;
52
+ }
53
+
54
+ return range;
55
+ });
56
+
57
+ ranges = ranges.filter((it) => !it.dedupe);
58
+
59
+ return ranges;
60
+ };
61
+
62
+ const mergeRangesWith = (ranges, comparer, handler) => {
63
+
64
+ // ranges format
65
+ // { start: 0, end: 6, ... }
66
+
67
+ ranges = filterRanges(ranges);
68
+
69
+ if (ranges.length < 2) {
70
+ return ranges;
71
+ }
72
+
73
+ sortRanges(ranges);
74
+
75
+ let hasDedupe = false;
76
+
77
+ // merge count for same range
78
+ ranges.reduce((lastRange, range) => {
79
+ if (comparer(lastRange, range)) {
80
+ range.dedupe = true;
81
+
82
+ handler(lastRange, range);
83
+
84
+ hasDedupe = true;
85
+
86
+ return lastRange;
87
+ }
88
+ return range;
89
+ });
90
+
91
+ if (hasDedupe) {
92
+ // console.log(ranges);
93
+ ranges = ranges.filter((it) => !it.dedupe);
94
+ }
95
+
96
+ // console.log('ranges length after', ranges.length);
97
+
98
+ return ranges;
99
+ };
100
+
101
+ // apply to js count ranges
102
+ const dedupeCountRanges = (ranges) => {
103
+ const comparer = (lastRange, range) => {
104
+ return lastRange.start === range.start && lastRange.end === range.end;
105
+ };
106
+ const handler = (lastRange, range) => {
107
+ lastRange.count += range.count;
108
+ };
109
+ return mergeRangesWith(ranges, comparer, handler);
110
+ };
111
+
112
+
113
+ module.exports = {
114
+ sortRanges,
115
+ dedupeFlatRanges,
116
+ mergeRangesWith,
117
+ dedupeCountRanges
118
+ };
@@ -1,62 +1,62 @@
1
- const http = require('http');
2
- const https = require('https');
3
-
4
- // minimal http request for get sourcemap json
5
- const request = (options) => {
6
-
7
- const url = `${options.url}`;
8
- // console.log('request', url);
9
-
10
- return new Promise((resolve) => {
11
-
12
- const HTTP = url.startsWith('https') ? https : http;
13
-
14
- HTTP.get(url, (res) => {
15
- const { statusCode } = res;
16
-
17
- // Any 2xx status code signals a successful response but here we're only checking for 200.
18
- if (statusCode !== 200) {
19
- // Consume response data to free up memory
20
- res.resume();
21
- const resErr = new Error(`Request Failed. Status Code: ${statusCode}`);
22
- resolve([resErr, null]);
23
- return;
24
- }
25
-
26
- res.setEncoding('utf8');
27
-
28
- let rawData = '';
29
- res.on('data', (chunk) => {
30
- rawData += chunk;
31
- });
32
-
33
- res.on('end', () => {
34
-
35
- let dataErr;
36
- let data = rawData;
37
-
38
- // parse json
39
- const contentType = res.headers['content-type'];
40
- if ((/^application\/json/).test(contentType)) {
41
- try {
42
- data = JSON.parse(rawData);
43
- } catch (e) {
44
- dataErr = e;
45
- }
46
- }
47
-
48
- res.data = data;
49
- resolve([dataErr, res]);
50
-
51
- });
52
-
53
- }).on('error', (httpErr) => {
54
-
55
- resolve([httpErr, null]);
56
-
57
- });
58
-
59
- });
60
- };
61
-
62
- module.exports = request;
1
+ const http = require('http');
2
+ const https = require('https');
3
+
4
+ // minimal http request for get sourcemap json
5
+ const request = (options) => {
6
+
7
+ const url = `${options.url}`;
8
+ // console.log('request', url);
9
+
10
+ return new Promise((resolve) => {
11
+
12
+ const HTTP = url.startsWith('https') ? https : http;
13
+
14
+ HTTP.get(url, (res) => {
15
+ const { statusCode } = res;
16
+
17
+ // Any 2xx status code signals a successful response but here we're only checking for 200.
18
+ if (statusCode !== 200) {
19
+ // Consume response data to free up memory
20
+ res.resume();
21
+ const resErr = new Error(`Request Failed. Status Code: ${statusCode}`);
22
+ resolve([resErr, null]);
23
+ return;
24
+ }
25
+
26
+ res.setEncoding('utf8');
27
+
28
+ let rawData = '';
29
+ res.on('data', (chunk) => {
30
+ rawData += chunk;
31
+ });
32
+
33
+ res.on('end', () => {
34
+
35
+ let dataErr;
36
+ let data = rawData;
37
+
38
+ // parse json
39
+ const contentType = res.headers['content-type'];
40
+ if ((/^application\/json/).test(contentType)) {
41
+ try {
42
+ data = JSON.parse(rawData);
43
+ } catch (e) {
44
+ dataErr = e;
45
+ }
46
+ }
47
+
48
+ res.data = data;
49
+ resolve([dataErr, res]);
50
+
51
+ });
52
+
53
+ }).on('error', (httpErr) => {
54
+
55
+ resolve([httpErr, null]);
56
+
57
+ });
58
+
59
+ });
60
+ };
61
+
62
+ module.exports = request;