factorial-pixel 0.7.9 → 0.8.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.
- package/.eslintrc.js +5 -1
- package/.tool-versions +2 -0
- package/CHANGELOG.md +4 -0
- package/__tests__/pixelUrl.spec.js +32 -0
- package/__tests__/requestParameters.spec.js +17 -0
- package/build/app.js +32 -2
- package/coverage/clover.xml +44 -29
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/index.js.html +1 -1
- package/coverage/lcov-report/pixelUrl.js.html +54 -9
- package/coverage/lcov-report/requestParameters.js.html +47 -17
- package/coverage/lcov.info +65 -40
- package/package.json +1 -1
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
package/.eslintrc.js
CHANGED
package/.tool-versions
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## `0.8.0`
|
|
4
|
+
|
|
5
|
+
Adds support for UTM parameters (utm_source, utm_medium, utm_campaign, utm_content, utm_term). UTM parameters are automatically extracted from the URL and sent to the pixel endpoint with proper URL encoding to handle special characters.
|
|
6
|
+
|
|
3
7
|
## `0.7.8`
|
|
4
8
|
|
|
5
9
|
Adds tracking for FBCLID
|
|
@@ -65,4 +65,36 @@ describe('pixelUrl', () => {
|
|
|
65
65
|
)
|
|
66
66
|
})
|
|
67
67
|
})
|
|
68
|
+
|
|
69
|
+
describe('with UTM parameters', () => {
|
|
70
|
+
it('returns the data with all UTM params', () => {
|
|
71
|
+
html = "<!DOCTYPE html><html lang='en'></html>"
|
|
72
|
+
dom = new JSDOM(html, {
|
|
73
|
+
url: 'https://factorialhr.com/blog?utm_source=google&utm_medium=cpc&utm_campaign=Q1_Brand&utm_content=ad_1&utm_term=hr_software'
|
|
74
|
+
})
|
|
75
|
+
expect(pixelUrl(dom.window.document)).toEqual(
|
|
76
|
+
'/internal/pixel?mc=&referer=&language=en&landing_page=https://factorialhr.com/blog&utm_source=google&utm_medium=cpc&utm_campaign=Q1_Brand&utm_content=ad_1&utm_term=hr_software'
|
|
77
|
+
)
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
it('encodes UTM parameters with special characters', () => {
|
|
81
|
+
html = "<!DOCTYPE html><html lang='en'></html>"
|
|
82
|
+
dom = new JSDOM(html, {
|
|
83
|
+
url: 'https://factorialhr.com/blog?utm_source=google&utm_campaign=Q1%20Brand%20Campaign&utm_content=ad%20%231'
|
|
84
|
+
})
|
|
85
|
+
expect(pixelUrl(dom.window.document)).toEqual(
|
|
86
|
+
'/internal/pixel?mc=&referer=&language=en&landing_page=https://factorialhr.com/blog&utm_source=google&utm_campaign=Q1%2520Brand%2520Campaign&utm_content=ad%2520%25231'
|
|
87
|
+
)
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
it('combines UTMs with gclid', () => {
|
|
91
|
+
html = "<!DOCTYPE html><html lang='en'></html>"
|
|
92
|
+
dom = new JSDOM(html, {
|
|
93
|
+
url: 'https://factorialhr.com/blog?utm_source=google&utm_medium=cpc&utm_campaign=Q1&gclid=test_click_123'
|
|
94
|
+
})
|
|
95
|
+
expect(pixelUrl(dom.window.document)).toEqual(
|
|
96
|
+
'/internal/pixel?mc=&referer=&language=en&landing_page=https://factorialhr.com/blog&gclid=test_click_123&utm_source=google&utm_medium=cpc&utm_campaign=Q1'
|
|
97
|
+
)
|
|
98
|
+
})
|
|
99
|
+
})
|
|
68
100
|
})
|
|
@@ -22,6 +22,11 @@ const domWithFbclid = new JSDOM(html, {
|
|
|
22
22
|
referrer: 'https://google.com?query=cómo hacer nóminas'
|
|
23
23
|
})
|
|
24
24
|
|
|
25
|
+
const domWithUtms = new JSDOM(html, {
|
|
26
|
+
url: 'https://factorialhr.com/team/césar?utm_source=google&utm_medium=cpc&utm_campaign=Q1_Brand&utm_content=ad_variant_1&utm_term=hr_software',
|
|
27
|
+
referrer: 'https://google.com?query=cómo hacer nóminas'
|
|
28
|
+
})
|
|
29
|
+
|
|
25
30
|
describe('requestParameters', () => {
|
|
26
31
|
it('returns the data', () => {
|
|
27
32
|
expect(requestParameters(dom.window.document)).toEqual({
|
|
@@ -53,4 +58,16 @@ describe('requestParameters', () => {
|
|
|
53
58
|
fbclid: '123'
|
|
54
59
|
})
|
|
55
60
|
})
|
|
61
|
+
|
|
62
|
+
it('returns the data with UTM parameters', () => {
|
|
63
|
+
expect(requestParameters(domWithUtms.window.document)).toEqual({
|
|
64
|
+
landingPage: 'https://factorialhr.com/team/c%25C3%25A9sar',
|
|
65
|
+
language: 'en',
|
|
66
|
+
utm_source: 'google',
|
|
67
|
+
utm_medium: 'cpc',
|
|
68
|
+
utm_campaign: 'Q1_Brand',
|
|
69
|
+
utm_content: 'ad_variant_1',
|
|
70
|
+
utm_term: 'hr_software'
|
|
71
|
+
})
|
|
72
|
+
})
|
|
56
73
|
})
|
package/build/app.js
CHANGED
|
@@ -121,7 +121,12 @@ exports.default = function (document) {
|
|
|
121
121
|
mc = _requestParameters.mc,
|
|
122
122
|
gclid = _requestParameters.gclid,
|
|
123
123
|
aclid = _requestParameters.aclid,
|
|
124
|
-
fbclid = _requestParameters.fbclid
|
|
124
|
+
fbclid = _requestParameters.fbclid,
|
|
125
|
+
utm_source = _requestParameters.utm_source,
|
|
126
|
+
utm_medium = _requestParameters.utm_medium,
|
|
127
|
+
utm_campaign = _requestParameters.utm_campaign,
|
|
128
|
+
utm_content = _requestParameters.utm_content,
|
|
129
|
+
utm_term = _requestParameters.utm_term;
|
|
125
130
|
|
|
126
131
|
var attributes = ['mc=' + (mc || ''), 'referer=' + encodeURI(document.referrer), 'language=' + language, 'landing_page=' + landingPage];
|
|
127
132
|
|
|
@@ -134,6 +139,21 @@ exports.default = function (document) {
|
|
|
134
139
|
if (fbclid) {
|
|
135
140
|
attributes.push('fbclid=' + fbclid);
|
|
136
141
|
}
|
|
142
|
+
if (utm_source) {
|
|
143
|
+
attributes.push('utm_source=' + encodeURIComponent(utm_source));
|
|
144
|
+
}
|
|
145
|
+
if (utm_medium) {
|
|
146
|
+
attributes.push('utm_medium=' + encodeURIComponent(utm_medium));
|
|
147
|
+
}
|
|
148
|
+
if (utm_campaign) {
|
|
149
|
+
attributes.push('utm_campaign=' + encodeURIComponent(utm_campaign));
|
|
150
|
+
}
|
|
151
|
+
if (utm_content) {
|
|
152
|
+
attributes.push('utm_content=' + encodeURIComponent(utm_content));
|
|
153
|
+
}
|
|
154
|
+
if (utm_term) {
|
|
155
|
+
attributes.push('utm_term=' + encodeURIComponent(utm_term));
|
|
156
|
+
}
|
|
137
157
|
|
|
138
158
|
return '/internal/pixel?' + attributes.join('&');
|
|
139
159
|
};
|
|
@@ -179,6 +199,11 @@ function requestParameters(document) {
|
|
|
179
199
|
var gclid = findPropertyInParams(search, 'gclid');
|
|
180
200
|
var aclid = findPropertyInParams(search, 'aclid');
|
|
181
201
|
var fbclid = findPropertyInParams(search, 'fbclid');
|
|
202
|
+
var utm_source = findPropertyInParams(search, 'utm_source');
|
|
203
|
+
var utm_medium = findPropertyInParams(search, 'utm_medium');
|
|
204
|
+
var utm_campaign = findPropertyInParams(search, 'utm_campaign');
|
|
205
|
+
var utm_content = findPropertyInParams(search, 'utm_content');
|
|
206
|
+
var utm_term = findPropertyInParams(search, 'utm_term');
|
|
182
207
|
|
|
183
208
|
return {
|
|
184
209
|
language: locale,
|
|
@@ -186,7 +211,12 @@ function requestParameters(document) {
|
|
|
186
211
|
mc: mc,
|
|
187
212
|
gclid: gclid,
|
|
188
213
|
aclid: aclid,
|
|
189
|
-
fbclid: fbclid
|
|
214
|
+
fbclid: fbclid,
|
|
215
|
+
utm_source: utm_source,
|
|
216
|
+
utm_medium: utm_medium,
|
|
217
|
+
utm_campaign: utm_campaign,
|
|
218
|
+
utm_content: utm_content,
|
|
219
|
+
utm_term: utm_term
|
|
190
220
|
};
|
|
191
221
|
}
|
|
192
222
|
|
package/coverage/clover.xml
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
4
|
-
<metrics statements="
|
|
5
|
-
<file name="index.js" path="/Users/
|
|
2
|
+
<coverage generated="1767626490511" clover="3.2.0">
|
|
3
|
+
<project timestamp="1767626490511" name="All files">
|
|
4
|
+
<metrics statements="48" coveredstatements="38" conditionals="27" coveredconditionals="18" methods="5" coveredmethods="4" elements="80" coveredelements="60" complexity="0" loc="48" ncloc="48" packages="1" files="3" classes="3">
|
|
5
|
+
<file name="index.js" path="/Users/joan.silio/code/factorial-pixel/src/index.js">
|
|
6
6
|
<metrics statements="10" coveredstatements="0" conditionals="8" coveredconditionals="0" methods="1" coveredmethods="0"/>
|
|
7
7
|
<line num="1" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
8
8
|
<line num="9" count="0" type="stmt"/>
|
|
@@ -15,34 +15,49 @@
|
|
|
15
15
|
<line num="17" count="0" type="stmt"/>
|
|
16
16
|
<line num="18" count="0" type="stmt"/>
|
|
17
17
|
</file>
|
|
18
|
-
<file name="pixelUrl.js" path="/Users/
|
|
19
|
-
<metrics statements="
|
|
20
|
-
<line num="4" count="
|
|
21
|
-
<line num="7" count="
|
|
22
|
-
<line num="14" count="
|
|
23
|
-
<line num="15" count="
|
|
24
|
-
<line num="17" count="
|
|
18
|
+
<file name="pixelUrl.js" path="/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js">
|
|
19
|
+
<metrics statements="19" coveredstatements="19" conditionals="18" coveredconditionals="18" methods="1" coveredmethods="1"/>
|
|
20
|
+
<line num="4" count="8" type="stmt"/>
|
|
21
|
+
<line num="7" count="8" type="stmt"/>
|
|
22
|
+
<line num="14" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
23
|
+
<line num="15" count="2" type="stmt"/>
|
|
24
|
+
<line num="17" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
25
25
|
<line num="18" count="1" type="stmt"/>
|
|
26
|
-
<line num="20" count="
|
|
26
|
+
<line num="20" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
27
27
|
<line num="21" count="1" type="stmt"/>
|
|
28
|
-
<line num="
|
|
28
|
+
<line num="23" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
29
|
+
<line num="24" count="3" type="stmt"/>
|
|
30
|
+
<line num="26" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
31
|
+
<line num="27" count="2" type="stmt"/>
|
|
32
|
+
<line num="29" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
33
|
+
<line num="30" count="3" type="stmt"/>
|
|
34
|
+
<line num="32" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
35
|
+
<line num="33" count="2" type="stmt"/>
|
|
36
|
+
<line num="35" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
37
|
+
<line num="36" count="1" type="stmt"/>
|
|
38
|
+
<line num="39" count="8" type="stmt"/>
|
|
29
39
|
</file>
|
|
30
|
-
<file name="requestParameters.js" path="/Users/
|
|
31
|
-
<metrics statements="
|
|
32
|
-
<line num="2" count="
|
|
33
|
-
<line num="4" count="
|
|
34
|
-
<line num="5" count="
|
|
35
|
-
<line num="7" count="
|
|
36
|
-
<line num="10" count="
|
|
37
|
-
<line num="14" count="
|
|
38
|
-
<line num="15" count="
|
|
39
|
-
<line num="16" count="
|
|
40
|
-
<line num="17" count="
|
|
41
|
-
<line num="18" count="
|
|
42
|
-
<line num="19" count="
|
|
43
|
-
<line num="20" count="
|
|
44
|
-
<line num="21" count="
|
|
45
|
-
<line num="
|
|
40
|
+
<file name="requestParameters.js" path="/Users/joan.silio/code/factorial-pixel/src/requestParameters.js">
|
|
41
|
+
<metrics statements="19" coveredstatements="19" conditionals="1" coveredconditionals="0" methods="3" coveredmethods="3"/>
|
|
42
|
+
<line num="2" count="117" type="stmt"/>
|
|
43
|
+
<line num="4" count="117" type="stmt"/>
|
|
44
|
+
<line num="5" count="234" type="stmt"/>
|
|
45
|
+
<line num="7" count="234" type="stmt"/>
|
|
46
|
+
<line num="10" count="117" type="stmt"/>
|
|
47
|
+
<line num="14" count="13" type="stmt"/>
|
|
48
|
+
<line num="15" count="13" type="stmt"/>
|
|
49
|
+
<line num="16" count="13" type="stmt"/>
|
|
50
|
+
<line num="17" count="13" type="stmt"/>
|
|
51
|
+
<line num="18" count="13" type="stmt"/>
|
|
52
|
+
<line num="19" count="13" type="stmt"/>
|
|
53
|
+
<line num="20" count="13" type="stmt"/>
|
|
54
|
+
<line num="21" count="13" type="stmt"/>
|
|
55
|
+
<line num="22" count="13" type="stmt"/>
|
|
56
|
+
<line num="23" count="13" type="stmt"/>
|
|
57
|
+
<line num="24" count="13" type="stmt"/>
|
|
58
|
+
<line num="25" count="13" type="stmt"/>
|
|
59
|
+
<line num="26" count="13" type="stmt"/>
|
|
60
|
+
<line num="28" count="13" type="stmt"/>
|
|
46
61
|
</file>
|
|
47
62
|
</metrics>
|
|
48
63
|
</project>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{"/Users/
|
|
2
|
-
,"/Users/
|
|
3
|
-
,"/Users/
|
|
1
|
+
{"/Users/joan.silio/code/factorial-pixel/src/index.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/index.js","statementMap":{"0":{"start":{"line":1,"column":29},"end":{"line":1,"column":50}},"1":{"start":{"line":1,"column":68},"end":{"line":1,"column":101}},"2":{"start":{"line":1,"column":140},"end":{"line":1,"column":194}},"3":{"start":{"line":9,"column":13},"end":{"line":9,"column":55}},"4":{"start":{"line":10,"column":19},"end":{"line":10,"column":69}},"5":{"start":{"line":11,"column":13},"end":{"line":11,"column":58}},"6":{"start":{"line":13,"column":10},"end":{"line":13,"column":39}},"7":{"start":{"line":14,"column":0},"end":{"line":14,"column":58}},"8":{"start":{"line":15,"column":0},"end":{"line":15,"column":14}},"9":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"10":{"start":{"line":17,"column":0},"end":{"line":17,"column":28}},"11":{"start":{"line":18,"column":0},"end":{"line":18,"column":31}}},"fnMap":{"0":{"name":"_interopRequireDefault","decl":{"start":{"line":1,"column":111},"end":{"line":1,"column":133}},"loc":{"start":{"line":1,"column":139},"end":{"line":1,"column":195}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":147},"end":{"line":1,"column":193}},"type":"cond-expr","locations":[{"start":{"line":1,"column":171},"end":{"line":1,"column":174}},{"start":{"line":1,"column":177},"end":{"line":1,"column":193}}],"line":1},"1":{"loc":{"start":{"line":1,"column":147},"end":{"line":1,"column":168}},"type":"binary-expr","locations":[{"start":{"line":1,"column":147},"end":{"line":1,"column":150}},{"start":{"line":1,"column":154},"end":{"line":1,"column":168}}],"line":1},"2":{"loc":{"start":{"line":10,"column":19},"end":{"line":10,"column":69}},"type":"cond-expr","locations":[{"start":{"line":10,"column":28},"end":{"line":10,"column":62}},{"start":{"line":10,"column":65},"end":{"line":10,"column":69}}],"line":10},"3":{"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":58}},"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":25}},{"start":{"line":11,"column":29},"end":{"line":11,"column":58}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}}
|
|
2
|
+
,"/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js","statementMap":{"0":{"start":{"line":4,"column":123},"end":{"line":6,"column":3}},"1":{"start":{"line":7,"column":21},"end":{"line":12,"column":3}},"2":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},"4":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":37}},"6":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"7":{"start":{"line":21,"column":4},"end":{"line":21,"column":39}},"8":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":67}},"10":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"11":{"start":{"line":27,"column":4},"end":{"line":27,"column":67}},"12":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"13":{"start":{"line":30,"column":4},"end":{"line":30,"column":71}},"14":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"15":{"start":{"line":33,"column":4},"end":{"line":33,"column":69}},"16":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"17":{"start":{"line":36,"column":4},"end":{"line":36,"column":63}},"18":{"start":{"line":39,"column":2},"end":{"line":39,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":15},"end":{"line":3,"column":16}},"loc":{"start":{"line":3,"column":27},"end":{"line":40,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":10},"end":{"line":8,"column":18}},"type":"binary-expr","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":12}},{"start":{"line":8,"column":16},"end":{"line":8,"column":18}}],"line":8},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}],"line":14},"2":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{"line":17,"column":2},"end":{"line":19,"column":3}}],"line":17},"3":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{"line":20,"column":2},"end":{"line":22,"column":3}}],"line":20},"4":{"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},{"start":{"line":23,"column":2},"end":{"line":25,"column":3}}],"line":23},"5":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{"line":26,"column":2},"end":{"line":28,"column":3}}],"line":26},"6":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{"line":29,"column":2},"end":{"line":31,"column":3}}],"line":29},"7":{"loc":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},{"start":{"line":32,"column":2},"end":{"line":34,"column":3}}],"line":32},"8":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{"line":35,"column":2},"end":{"line":37,"column":3}}],"line":35}},"s":{"0":8,"1":8,"2":8,"3":2,"4":8,"5":1,"6":8,"7":1,"8":8,"9":3,"10":8,"11":2,"12":8,"13":3,"14":8,"15":2,"16":8,"17":1,"18":8},"f":{"0":8},"b":{"0":[8,7],"1":[2,6],"2":[1,7],"3":[1,7],"4":[3,5],"5":[2,6],"6":[3,5],"7":[2,6],"8":[1,7]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8b1f35fcda7dff412f23052cc8e9f0e4159cae97"}
|
|
3
|
+
,"/Users/joan.silio/code/factorial-pixel/src/requestParameters.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/requestParameters.js","statementMap":{"0":{"start":{"line":2,"column":14},"end":{"line":2,"column":16}},"1":{"start":{"line":4,"column":2},"end":{"line":8,"column":4}},"2":{"start":{"line":5,"column":25},"end":{"line":5,"column":41}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":20}},"4":{"start":{"line":10,"column":2},"end":{"line":10,"column":22}},"5":{"start":{"line":14,"column":15},"end":{"line":14,"column":68}},"6":{"start":{"line":15,"column":17},"end":{"line":15,"column":54}},"7":{"start":{"line":16,"column":18},"end":{"line":16,"column":33}},"8":{"start":{"line":17,"column":17},"end":{"line":17,"column":66}},"9":{"start":{"line":18,"column":13},"end":{"line":18,"column":47}},"10":{"start":{"line":19,"column":16},"end":{"line":19,"column":53}},"11":{"start":{"line":20,"column":16},"end":{"line":20,"column":53}},"12":{"start":{"line":21,"column":17},"end":{"line":21,"column":55}},"13":{"start":{"line":22,"column":21},"end":{"line":22,"column":63}},"14":{"start":{"line":23,"column":21},"end":{"line":23,"column":63}},"15":{"start":{"line":24,"column":23},"end":{"line":24,"column":67}},"16":{"start":{"line":25,"column":22},"end":{"line":25,"column":65}},"17":{"start":{"line":26,"column":19},"end":{"line":26,"column":59}},"18":{"start":{"line":28,"column":2},"end":{"line":40,"column":3}}},"fnMap":{"0":{"name":"findPropertyInParams","decl":{"start":{"line":1,"column":9},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":54},"end":{"line":11,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":28},"end":{"line":4,"column":29}},"loc":{"start":{"line":4,"column":37},"end":{"line":8,"column":3}},"line":4},"2":{"name":"requestParameters","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":41}},"loc":{"start":{"line":13,"column":53},"end":{"line":41,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":42}},"type":"default-arg","locations":[{"start":{"line":1,"column":40},"end":{"line":1,"column":42}}],"line":1}},"s":{"0":117,"1":117,"2":234,"3":234,"4":117,"5":13,"6":13,"7":13,"8":13,"9":13,"10":13,"11":13,"12":13,"13":13,"14":13,"15":13,"16":13,"17":13,"18":13},"f":{"0":117,"1":234,"2":13},"b":{"0":[0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"ae9f81905e4c08f91ce00c88fc6767e97c17a53d"}
|
|
4
4
|
}
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
</div><!-- /wrapper -->
|
|
84
84
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
85
85
|
Code coverage
|
|
86
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
86
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
|
|
87
87
|
</div>
|
|
88
88
|
</div>
|
|
89
89
|
<script src="prettify.js"></script>
|
|
@@ -83,7 +83,7 @@ const img <span class="cstat-no" title="statement not covered" >= document.creat
|
|
|
83
83
|
</div><!-- /wrapper -->
|
|
84
84
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
85
85
|
Code coverage
|
|
86
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
86
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
|
|
87
87
|
</div>
|
|
88
88
|
</div>
|
|
89
89
|
<script src="prettify.js"></script>
|
|
@@ -48,35 +48,65 @@
|
|
|
48
48
|
23
|
|
49
49
|
24
|
|
50
50
|
25
|
|
51
|
-
26
|
|
51
|
+
26
|
|
52
|
+
27
|
|
53
|
+
28
|
|
54
|
+
29
|
|
55
|
+
30
|
|
56
|
+
31
|
|
57
|
+
32
|
|
58
|
+
33
|
|
59
|
+
34
|
|
60
|
+
35
|
|
61
|
+
36
|
|
62
|
+
37
|
|
63
|
+
38
|
|
64
|
+
39
|
|
65
|
+
40
|
|
66
|
+
41</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
52
67
|
<span class="cline-any cline-neutral"> </span>
|
|
53
68
|
<span class="cline-any cline-neutral"> </span>
|
|
54
|
-
<span class="cline-any cline-yes">
|
|
69
|
+
<span class="cline-any cline-yes">8x</span>
|
|
55
70
|
<span class="cline-any cline-neutral"> </span>
|
|
56
71
|
<span class="cline-any cline-neutral"> </span>
|
|
57
|
-
<span class="cline-any cline-yes">
|
|
72
|
+
<span class="cline-any cline-yes">8x</span>
|
|
58
73
|
<span class="cline-any cline-neutral"> </span>
|
|
59
74
|
<span class="cline-any cline-neutral"> </span>
|
|
60
75
|
<span class="cline-any cline-neutral"> </span>
|
|
61
76
|
<span class="cline-any cline-neutral"> </span>
|
|
62
77
|
<span class="cline-any cline-neutral"> </span>
|
|
63
78
|
<span class="cline-any cline-neutral"> </span>
|
|
64
|
-
<span class="cline-any cline-yes">
|
|
79
|
+
<span class="cline-any cline-yes">8x</span>
|
|
80
|
+
<span class="cline-any cline-yes">2x</span>
|
|
81
|
+
<span class="cline-any cline-neutral"> </span>
|
|
82
|
+
<span class="cline-any cline-yes">8x</span>
|
|
65
83
|
<span class="cline-any cline-yes">1x</span>
|
|
66
84
|
<span class="cline-any cline-neutral"> </span>
|
|
67
|
-
<span class="cline-any cline-yes">
|
|
85
|
+
<span class="cline-any cline-yes">8x</span>
|
|
68
86
|
<span class="cline-any cline-yes">1x</span>
|
|
69
87
|
<span class="cline-any cline-neutral"> </span>
|
|
70
|
-
<span class="cline-any cline-yes">
|
|
88
|
+
<span class="cline-any cline-yes">8x</span>
|
|
89
|
+
<span class="cline-any cline-yes">3x</span>
|
|
90
|
+
<span class="cline-any cline-neutral"> </span>
|
|
91
|
+
<span class="cline-any cline-yes">8x</span>
|
|
92
|
+
<span class="cline-any cline-yes">2x</span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-yes">8x</span>
|
|
95
|
+
<span class="cline-any cline-yes">3x</span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-yes">8x</span>
|
|
98
|
+
<span class="cline-any cline-yes">2x</span>
|
|
99
|
+
<span class="cline-any cline-neutral"> </span>
|
|
100
|
+
<span class="cline-any cline-yes">8x</span>
|
|
71
101
|
<span class="cline-any cline-yes">1x</span>
|
|
72
102
|
<span class="cline-any cline-neutral"> </span>
|
|
73
103
|
<span class="cline-any cline-neutral"> </span>
|
|
74
|
-
<span class="cline-any cline-yes">
|
|
104
|
+
<span class="cline-any cline-yes">8x</span>
|
|
75
105
|
<span class="cline-any cline-neutral"> </span>
|
|
76
106
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import requestParameters from './requestParameters'
|
|
77
107
|
|
|
78
108
|
export default document => {
|
|
79
|
-
const { language, landingPage, mc, gclid, aclid, fbclid } = requestParameters(
|
|
109
|
+
const { language, landingPage, mc, gclid, aclid, fbclid, utm_source, utm_medium, utm_campaign, utm_content, utm_term } = requestParameters(
|
|
80
110
|
document
|
|
81
111
|
)
|
|
82
112
|
const attributes = [
|
|
@@ -95,6 +125,21 @@ export default document => {
|
|
|
95
125
|
if (fbclid) {
|
|
96
126
|
attributes.push(`fbclid=${fbclid}`)
|
|
97
127
|
}
|
|
128
|
+
if (utm_source) {
|
|
129
|
+
attributes.push(`utm_source=${encodeURIComponent(utm_source)}`)
|
|
130
|
+
}
|
|
131
|
+
if (utm_medium) {
|
|
132
|
+
attributes.push(`utm_medium=${encodeURIComponent(utm_medium)}`)
|
|
133
|
+
}
|
|
134
|
+
if (utm_campaign) {
|
|
135
|
+
attributes.push(`utm_campaign=${encodeURIComponent(utm_campaign)}`)
|
|
136
|
+
}
|
|
137
|
+
if (utm_content) {
|
|
138
|
+
attributes.push(`utm_content=${encodeURIComponent(utm_content)}`)
|
|
139
|
+
}
|
|
140
|
+
if (utm_term) {
|
|
141
|
+
attributes.push(`utm_term=${encodeURIComponent(utm_term)}`)
|
|
142
|
+
}
|
|
98
143
|
|
|
99
144
|
return `/internal/pixel?${attributes.join('&')}`
|
|
100
145
|
}
|
|
@@ -104,7 +149,7 @@ export default document => {
|
|
|
104
149
|
</div><!-- /wrapper -->
|
|
105
150
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
106
151
|
Code coverage
|
|
107
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
152
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
|
|
108
153
|
</div>
|
|
109
154
|
</div>
|
|
110
155
|
<script src="prettify.js"></script>
|
|
@@ -54,29 +54,49 @@
|
|
|
54
54
|
29
|
|
55
55
|
30
|
|
56
56
|
31
|
|
57
|
-
32
|
|
58
|
-
|
|
57
|
+
32
|
|
58
|
+
33
|
|
59
|
+
34
|
|
60
|
+
35
|
|
61
|
+
36
|
|
62
|
+
37
|
|
63
|
+
38
|
|
64
|
+
39
|
|
65
|
+
40
|
|
66
|
+
41
|
|
67
|
+
42</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
68
|
+
<span class="cline-any cline-yes">117x</span>
|
|
59
69
|
<span class="cline-any cline-neutral"> </span>
|
|
60
|
-
<span class="cline-any cline-yes">
|
|
61
|
-
<span class="cline-any cline-yes">
|
|
70
|
+
<span class="cline-any cline-yes">117x</span>
|
|
71
|
+
<span class="cline-any cline-yes">234x</span>
|
|
62
72
|
<span class="cline-any cline-neutral"> </span>
|
|
63
|
-
<span class="cline-any cline-yes">
|
|
73
|
+
<span class="cline-any cline-yes">234x</span>
|
|
64
74
|
<span class="cline-any cline-neutral"> </span>
|
|
65
75
|
<span class="cline-any cline-neutral"> </span>
|
|
66
|
-
<span class="cline-any cline-yes">
|
|
76
|
+
<span class="cline-any cline-yes">117x</span>
|
|
77
|
+
<span class="cline-any cline-neutral"> </span>
|
|
78
|
+
<span class="cline-any cline-neutral"> </span>
|
|
79
|
+
<span class="cline-any cline-neutral"> </span>
|
|
80
|
+
<span class="cline-any cline-yes">13x</span>
|
|
81
|
+
<span class="cline-any cline-yes">13x</span>
|
|
82
|
+
<span class="cline-any cline-yes">13x</span>
|
|
83
|
+
<span class="cline-any cline-yes">13x</span>
|
|
84
|
+
<span class="cline-any cline-yes">13x</span>
|
|
85
|
+
<span class="cline-any cline-yes">13x</span>
|
|
86
|
+
<span class="cline-any cline-yes">13x</span>
|
|
87
|
+
<span class="cline-any cline-yes">13x</span>
|
|
88
|
+
<span class="cline-any cline-yes">13x</span>
|
|
89
|
+
<span class="cline-any cline-yes">13x</span>
|
|
90
|
+
<span class="cline-any cline-yes">13x</span>
|
|
91
|
+
<span class="cline-any cline-yes">13x</span>
|
|
92
|
+
<span class="cline-any cline-yes">13x</span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-yes">13x</span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
67
96
|
<span class="cline-any cline-neutral"> </span>
|
|
68
97
|
<span class="cline-any cline-neutral"> </span>
|
|
69
98
|
<span class="cline-any cline-neutral"> </span>
|
|
70
|
-
<span class="cline-any cline-yes">9x</span>
|
|
71
|
-
<span class="cline-any cline-yes">9x</span>
|
|
72
|
-
<span class="cline-any cline-yes">9x</span>
|
|
73
|
-
<span class="cline-any cline-yes">9x</span>
|
|
74
|
-
<span class="cline-any cline-yes">9x</span>
|
|
75
|
-
<span class="cline-any cline-yes">9x</span>
|
|
76
|
-
<span class="cline-any cline-yes">9x</span>
|
|
77
|
-
<span class="cline-any cline-yes">9x</span>
|
|
78
99
|
<span class="cline-any cline-neutral"> </span>
|
|
79
|
-
<span class="cline-any cline-yes">9x</span>
|
|
80
100
|
<span class="cline-any cline-neutral"> </span>
|
|
81
101
|
<span class="cline-any cline-neutral"> </span>
|
|
82
102
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -106,6 +126,11 @@ export default function requestParameters (document) {
|
|
|
106
126
|
const gclid = findPropertyInParams(search, 'gclid')
|
|
107
127
|
const aclid = findPropertyInParams(search, 'aclid')
|
|
108
128
|
const fbclid = findPropertyInParams(search, 'fbclid')
|
|
129
|
+
const utm_source = findPropertyInParams(search, 'utm_source')
|
|
130
|
+
const utm_medium = findPropertyInParams(search, 'utm_medium')
|
|
131
|
+
const utm_campaign = findPropertyInParams(search, 'utm_campaign')
|
|
132
|
+
const utm_content = findPropertyInParams(search, 'utm_content')
|
|
133
|
+
const utm_term = findPropertyInParams(search, 'utm_term')
|
|
109
134
|
|
|
110
135
|
return {
|
|
111
136
|
language: locale,
|
|
@@ -113,7 +138,12 @@ export default function requestParameters (document) {
|
|
|
113
138
|
mc,
|
|
114
139
|
gclid,
|
|
115
140
|
aclid,
|
|
116
|
-
fbclid
|
|
141
|
+
fbclid,
|
|
142
|
+
utm_source,
|
|
143
|
+
utm_medium,
|
|
144
|
+
utm_campaign,
|
|
145
|
+
utm_content,
|
|
146
|
+
utm_term
|
|
117
147
|
}
|
|
118
148
|
}
|
|
119
149
|
</pre></td></tr>
|
|
@@ -122,7 +152,7 @@ export default function requestParameters (document) {
|
|
|
122
152
|
</div><!-- /wrapper -->
|
|
123
153
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
124
154
|
Code coverage
|
|
125
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
155
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
|
|
126
156
|
</div>
|
|
127
157
|
</div>
|
|
128
158
|
<script src="prettify.js"></script>
|
package/coverage/lcov.info
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
TN:
|
|
2
|
-
SF:/Users/
|
|
2
|
+
SF:/Users/joan.silio/code/factorial-pixel/src/index.js
|
|
3
3
|
FN:1,_interopRequireDefault
|
|
4
4
|
FNF:1
|
|
5
5
|
FNH:0
|
|
@@ -28,59 +28,84 @@ BRF:8
|
|
|
28
28
|
BRH:0
|
|
29
29
|
end_of_record
|
|
30
30
|
TN:
|
|
31
|
-
SF:/Users/
|
|
31
|
+
SF:/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js
|
|
32
32
|
FN:3,(anonymous_0)
|
|
33
33
|
FNF:1
|
|
34
34
|
FNH:1
|
|
35
|
-
FNDA:
|
|
36
|
-
DA:4,
|
|
37
|
-
DA:7,
|
|
38
|
-
DA:14,
|
|
39
|
-
DA:15,
|
|
40
|
-
DA:17,
|
|
35
|
+
FNDA:8,(anonymous_0)
|
|
36
|
+
DA:4,8
|
|
37
|
+
DA:7,8
|
|
38
|
+
DA:14,8
|
|
39
|
+
DA:15,2
|
|
40
|
+
DA:17,8
|
|
41
41
|
DA:18,1
|
|
42
|
-
DA:20,
|
|
42
|
+
DA:20,8
|
|
43
43
|
DA:21,1
|
|
44
|
-
DA:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
DA:23,8
|
|
45
|
+
DA:24,3
|
|
46
|
+
DA:26,8
|
|
47
|
+
DA:27,2
|
|
48
|
+
DA:29,8
|
|
49
|
+
DA:30,3
|
|
50
|
+
DA:32,8
|
|
51
|
+
DA:33,2
|
|
52
|
+
DA:35,8
|
|
53
|
+
DA:36,1
|
|
54
|
+
DA:39,8
|
|
55
|
+
LF:19
|
|
56
|
+
LH:19
|
|
57
|
+
BRDA:8,0,0,8
|
|
58
|
+
BRDA:8,0,1,7
|
|
59
|
+
BRDA:14,1,0,2
|
|
60
|
+
BRDA:14,1,1,6
|
|
51
61
|
BRDA:17,2,0,1
|
|
52
|
-
BRDA:17,2,1,
|
|
62
|
+
BRDA:17,2,1,7
|
|
53
63
|
BRDA:20,3,0,1
|
|
54
|
-
BRDA:20,3,1,
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
BRDA:20,3,1,7
|
|
65
|
+
BRDA:23,4,0,3
|
|
66
|
+
BRDA:23,4,1,5
|
|
67
|
+
BRDA:26,5,0,2
|
|
68
|
+
BRDA:26,5,1,6
|
|
69
|
+
BRDA:29,6,0,3
|
|
70
|
+
BRDA:29,6,1,5
|
|
71
|
+
BRDA:32,7,0,2
|
|
72
|
+
BRDA:32,7,1,6
|
|
73
|
+
BRDA:35,8,0,1
|
|
74
|
+
BRDA:35,8,1,7
|
|
75
|
+
BRF:18
|
|
76
|
+
BRH:18
|
|
57
77
|
end_of_record
|
|
58
78
|
TN:
|
|
59
|
-
SF:/Users/
|
|
79
|
+
SF:/Users/joan.silio/code/factorial-pixel/src/requestParameters.js
|
|
60
80
|
FN:1,findPropertyInParams
|
|
61
81
|
FN:4,(anonymous_1)
|
|
62
82
|
FN:13,requestParameters
|
|
63
83
|
FNF:3
|
|
64
84
|
FNH:3
|
|
65
|
-
FNDA:
|
|
66
|
-
FNDA:
|
|
67
|
-
FNDA:
|
|
68
|
-
DA:2,
|
|
69
|
-
DA:4,
|
|
70
|
-
DA:5,
|
|
71
|
-
DA:7,
|
|
72
|
-
DA:10,
|
|
73
|
-
DA:14,
|
|
74
|
-
DA:15,
|
|
75
|
-
DA:16,
|
|
76
|
-
DA:17,
|
|
77
|
-
DA:18,
|
|
78
|
-
DA:19,
|
|
79
|
-
DA:20,
|
|
80
|
-
DA:21,
|
|
81
|
-
DA:
|
|
82
|
-
|
|
83
|
-
|
|
85
|
+
FNDA:117,findPropertyInParams
|
|
86
|
+
FNDA:234,(anonymous_1)
|
|
87
|
+
FNDA:13,requestParameters
|
|
88
|
+
DA:2,117
|
|
89
|
+
DA:4,117
|
|
90
|
+
DA:5,234
|
|
91
|
+
DA:7,234
|
|
92
|
+
DA:10,117
|
|
93
|
+
DA:14,13
|
|
94
|
+
DA:15,13
|
|
95
|
+
DA:16,13
|
|
96
|
+
DA:17,13
|
|
97
|
+
DA:18,13
|
|
98
|
+
DA:19,13
|
|
99
|
+
DA:20,13
|
|
100
|
+
DA:21,13
|
|
101
|
+
DA:22,13
|
|
102
|
+
DA:23,13
|
|
103
|
+
DA:24,13
|
|
104
|
+
DA:25,13
|
|
105
|
+
DA:26,13
|
|
106
|
+
DA:28,13
|
|
107
|
+
LF:19
|
|
108
|
+
LH:19
|
|
84
109
|
BRDA:1,0,0,0
|
|
85
110
|
BRF:1
|
|
86
111
|
BRH:0
|
package/package.json
CHANGED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
var jumpToCode = (function init() {
|
|
3
|
-
// Classes of code we would like to highlight in the file view
|
|
4
|
-
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
|
|
5
|
-
|
|
6
|
-
// Elements to highlight in the file listing view
|
|
7
|
-
var fileListingElements = ['td.pct.low'];
|
|
8
|
-
|
|
9
|
-
// We don't want to select elements that are direct descendants of another match
|
|
10
|
-
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
|
|
11
|
-
|
|
12
|
-
// Selecter that finds elements on the page to which we can jump
|
|
13
|
-
var selector =
|
|
14
|
-
fileListingElements.join(', ') +
|
|
15
|
-
', ' +
|
|
16
|
-
notSelector +
|
|
17
|
-
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
|
|
18
|
-
|
|
19
|
-
// The NodeList of matching elements
|
|
20
|
-
var missingCoverageElements = document.querySelectorAll(selector);
|
|
21
|
-
|
|
22
|
-
var currentIndex;
|
|
23
|
-
|
|
24
|
-
function toggleClass(index) {
|
|
25
|
-
missingCoverageElements
|
|
26
|
-
.item(currentIndex)
|
|
27
|
-
.classList.remove('highlighted');
|
|
28
|
-
missingCoverageElements.item(index).classList.add('highlighted');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function makeCurrent(index) {
|
|
32
|
-
toggleClass(index);
|
|
33
|
-
currentIndex = index;
|
|
34
|
-
missingCoverageElements.item(index).scrollIntoView({
|
|
35
|
-
behavior: 'smooth',
|
|
36
|
-
block: 'center',
|
|
37
|
-
inline: 'center'
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function goToPrevious() {
|
|
42
|
-
var nextIndex = 0;
|
|
43
|
-
if (typeof currentIndex !== 'number' || currentIndex === 0) {
|
|
44
|
-
nextIndex = missingCoverageElements.length - 1;
|
|
45
|
-
} else if (missingCoverageElements.length > 1) {
|
|
46
|
-
nextIndex = currentIndex - 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
makeCurrent(nextIndex);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function goToNext() {
|
|
53
|
-
var nextIndex = 0;
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
typeof currentIndex === 'number' &&
|
|
57
|
-
currentIndex < missingCoverageElements.length - 1
|
|
58
|
-
) {
|
|
59
|
-
nextIndex = currentIndex + 1;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
makeCurrent(nextIndex);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return function jump(event) {
|
|
66
|
-
if (
|
|
67
|
-
document.getElementById('fileSearch') === document.activeElement &&
|
|
68
|
-
document.activeElement != null
|
|
69
|
-
) {
|
|
70
|
-
// if we're currently focused on the search input, we don't want to navigate
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
switch (event.which) {
|
|
75
|
-
case 78: // n
|
|
76
|
-
case 74: // j
|
|
77
|
-
goToNext();
|
|
78
|
-
break;
|
|
79
|
-
case 66: // b
|
|
80
|
-
case 75: // k
|
|
81
|
-
case 80: // p
|
|
82
|
-
goToPrevious();
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
})();
|
|
87
|
-
window.addEventListener('keydown', jumpToCode);
|
|
Binary file
|