-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpers.js
40 lines (33 loc) · 1.03 KB
/
helpers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* @Author: Alfred Yang
* @Github: https://github.com/cat-walk
* @Date: 2019-08-12 17:42:17
* @LastEditors: Alfred Yang
* @LastEditTime: 2019-08-17 20:18:21
* @Description: file content
*/
const getTimeFromPerformanceMetrics = (metrics, name) => metrics.metrics.find(x => x.name === name).value * 1000;
const extractDataFromPerformanceTiming = (timing, ...dataNames) => {
const { navigationStart } = timing;
const extractedData = {};
dataNames.forEach(name => {
extractedData[name] = timing[name] - navigationStart;
});
return extractedData;
};
const extractDataFromPerformanceMetrics = (metrics, ...dataNames) => {
const navigationStart = getTimeFromPerformanceMetrics(
metrics,
'NavigationStart'
);
const extractedData = {};
dataNames.forEach(name => {
extractedData[name] = getTimeFromPerformanceMetrics(metrics, name) - navigationStart;
});
return extractedData;
};
module.exports = {
extractDataFromPerformanceMetrics,
extractDataFromPerformanceTiming,
getTimeFromPerformanceMetrics
};