@@ -17,6 +17,7 @@ import {
17
17
} from " ./common" ;
18
18
import {BenchmarkInfo } from " ../../../api" ;
19
19
import {importantCompileMetrics } from " ../metrics" ;
20
+ import {getBoolOrDefault } from " ../shared" ;
20
21
21
22
const props = defineProps <{
22
23
data: CompareResponse ;
@@ -28,45 +29,65 @@ function loadFilterFromUrl(
28
29
urlParams : Dict <string >,
29
30
defaultFilter : CompileBenchmarkFilter
30
31
): CompileBenchmarkFilter {
31
- function getBoolOrDefault(name : string , defaultValue : boolean ): boolean {
32
- if (urlParams .hasOwnProperty (name )) {
33
- return urlParams [name ] === " true" ;
34
- }
35
- return defaultValue ;
36
- }
37
-
38
32
return {
39
33
name: urlParams [" name" ] ?? defaultFilter .name ,
40
- nonRelevant: getBoolOrDefault (" nonRelevant" , defaultFilter .nonRelevant ),
41
- showRawData: getBoolOrDefault (" showRawData" , defaultFilter .showRawData ),
34
+ nonRelevant: getBoolOrDefault (
35
+ urlParams ,
36
+ " nonRelevant" ,
37
+ defaultFilter .nonRelevant
38
+ ),
39
+ showRawData: getBoolOrDefault (
40
+ urlParams ,
41
+ " showRawData" ,
42
+ defaultFilter .showRawData
43
+ ),
42
44
profile: {
43
- check: getBoolOrDefault (" check" , defaultFilter .profile .check ),
44
- debug: getBoolOrDefault (" debug" , defaultFilter .profile .debug ),
45
- opt: getBoolOrDefault (" opt" , defaultFilter .profile .opt ),
46
- doc: getBoolOrDefault (" doc" , defaultFilter .profile .doc ),
45
+ check: getBoolOrDefault (urlParams , " check" , defaultFilter .profile .check ),
46
+ debug: getBoolOrDefault (urlParams , " debug" , defaultFilter .profile .debug ),
47
+ opt: getBoolOrDefault (urlParams , " opt" , defaultFilter .profile .opt ),
48
+ doc: getBoolOrDefault (urlParams , " doc" , defaultFilter .profile .doc ),
47
49
},
48
50
scenario: {
49
- full: getBoolOrDefault (" full" , defaultFilter .scenario .full ),
50
- incrFull: getBoolOrDefault (" incrFull" , defaultFilter .scenario .incrFull ),
51
+ full: getBoolOrDefault (urlParams , " full" , defaultFilter .scenario .full ),
52
+ incrFull: getBoolOrDefault (
53
+ urlParams ,
54
+ " incrFull" ,
55
+ defaultFilter .scenario .incrFull
56
+ ),
51
57
incrUnchanged: getBoolOrDefault (
58
+ urlParams ,
52
59
" incrUnchanged" ,
53
60
defaultFilter .scenario .incrUnchanged
54
61
),
55
62
incrPatched: getBoolOrDefault (
63
+ urlParams ,
56
64
" incrPatched" ,
57
65
defaultFilter .scenario .incrPatched
58
66
),
59
67
},
60
68
category: {
61
- primary: getBoolOrDefault (" primary" , defaultFilter .category .primary ),
69
+ primary: getBoolOrDefault (
70
+ urlParams ,
71
+ " primary" ,
72
+ defaultFilter .category .primary
73
+ ),
62
74
secondary: getBoolOrDefault (
75
+ urlParams ,
63
76
" secondary" ,
64
77
defaultFilter .category .secondary
65
78
),
66
79
},
67
80
artifact: {
68
- binary: getBoolOrDefault (" binary" , defaultFilter .artifact .binary ),
69
- library: getBoolOrDefault (" library" , defaultFilter .artifact .library ),
81
+ binary: getBoolOrDefault (
82
+ urlParams ,
83
+ " binary" ,
84
+ defaultFilter .artifact .binary
85
+ ),
86
+ library: getBoolOrDefault (
87
+ urlParams ,
88
+ " library" ,
89
+ defaultFilter .artifact .library
90
+ ),
70
91
},
71
92
};
72
93
}
0 commit comments