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 CHANGED
@@ -14,5 +14,9 @@ module.exports = {
14
14
  sourceType: 'module',
15
15
  },
16
16
 
17
- extends: ['standard']
17
+ extends: ['standard'],
18
+
19
+ rules: {
20
+ 'camelcase': 'off'
21
+ }
18
22
  };
package/.tool-versions ADDED
@@ -0,0 +1,2 @@
1
+ nodejs 22.17.1
2
+
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
 
@@ -1,8 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1742571471694" clover="3.2.0">
3
- <project timestamp="1742571471694" name="All files">
4
- <metrics statements="33" coveredstatements="23" conditionals="17" coveredconditionals="8" methods="5" coveredmethods="4" elements="55" coveredelements="35" complexity="0" loc="33" ncloc="33" packages="1" files="3" classes="3">
5
- <file name="index.js" path="/Users/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/index.js">
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/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/pixelUrl.js">
19
- <metrics statements="9" coveredstatements="9" conditionals="8" coveredconditionals="8" methods="1" coveredmethods="1"/>
20
- <line num="4" count="5" type="stmt"/>
21
- <line num="7" count="5" type="stmt"/>
22
- <line num="14" count="5" type="cond" truecount="2" falsecount="0"/>
23
- <line num="15" count="1" type="stmt"/>
24
- <line num="17" count="5" type="cond" truecount="2" falsecount="0"/>
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="5" type="cond" truecount="2" falsecount="0"/>
26
+ <line num="20" count="8" type="cond" truecount="2" falsecount="0"/>
27
27
  <line num="21" count="1" type="stmt"/>
28
- <line num="24" count="5" type="stmt"/>
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/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/requestParameters.js">
31
- <metrics statements="14" coveredstatements="14" conditionals="1" coveredconditionals="0" methods="3" coveredmethods="3"/>
32
- <line num="2" count="36" type="stmt"/>
33
- <line num="4" count="36" type="stmt"/>
34
- <line num="5" count="36" type="stmt"/>
35
- <line num="7" count="36" type="stmt"/>
36
- <line num="10" count="36" type="stmt"/>
37
- <line num="14" count="9" type="stmt"/>
38
- <line num="15" count="9" type="stmt"/>
39
- <line num="16" count="9" type="stmt"/>
40
- <line num="17" count="9" type="stmt"/>
41
- <line num="18" count="9" type="stmt"/>
42
- <line num="19" count="9" type="stmt"/>
43
- <line num="20" count="9" type="stmt"/>
44
- <line num="21" count="9" type="stmt"/>
45
- <line num="23" count="9" type="stmt"/>
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/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/index.js": {"path":"/Users/marc-penche-factorial/Documents/GitHub/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/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/pixelUrl.js": {"path":"/Users/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/pixelUrl.js","statementMap":{"0":{"start":{"line":4,"column":62},"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":24,"column":2},"end":{"line":24,"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":25,"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}},"s":{"0":5,"1":5,"2":5,"3":1,"4":5,"5":1,"6":5,"7":1,"8":5},"f":{"0":5},"b":{"0":[5,4],"1":[1,4],"2":[1,4],"3":[1,4]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"431f708a3117c179b747c0079aa9031af787f4e2"}
3
- ,"/Users/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/requestParameters.js": {"path":"/Users/marc-penche-factorial/Documents/GitHub/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":23,"column":2},"end":{"line":30,"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":31,"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":36,"1":36,"2":36,"3":36,"4":36,"5":9,"6":9,"7":9,"8":9,"9":9,"10":9,"11":9,"12":9,"13":9},"f":{"0":36,"1":36,"2":9},"b":{"0":[0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e870f71eba13519a427b56e88ff2c9247c1863ab"}
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 Fri Mar 21 2025 16:37:51 GMT+0100 (Central European Standard Time)
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 Fri Mar 21 2025 16:37:51 GMT+0100 (Central European Standard Time)
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</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
52
67
  <span class="cline-any cline-neutral">&nbsp;</span>
53
68
  <span class="cline-any cline-neutral">&nbsp;</span>
54
- <span class="cline-any cline-yes">5x</span>
69
+ <span class="cline-any cline-yes">8x</span>
55
70
  <span class="cline-any cline-neutral">&nbsp;</span>
56
71
  <span class="cline-any cline-neutral">&nbsp;</span>
57
- <span class="cline-any cline-yes">5x</span>
72
+ <span class="cline-any cline-yes">8x</span>
58
73
  <span class="cline-any cline-neutral">&nbsp;</span>
59
74
  <span class="cline-any cline-neutral">&nbsp;</span>
60
75
  <span class="cline-any cline-neutral">&nbsp;</span>
61
76
  <span class="cline-any cline-neutral">&nbsp;</span>
62
77
  <span class="cline-any cline-neutral">&nbsp;</span>
63
78
  <span class="cline-any cline-neutral">&nbsp;</span>
64
- <span class="cline-any cline-yes">5x</span>
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">&nbsp;</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">&nbsp;</span>
67
- <span class="cline-any cline-yes">5x</span>
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">&nbsp;</span>
70
- <span class="cline-any cline-yes">5x</span>
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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</span>
73
103
  <span class="cline-any cline-neutral">&nbsp;</span>
74
- <span class="cline-any cline-yes">5x</span>
104
+ <span class="cline-any cline-yes">8x</span>
75
105
  <span class="cline-any cline-neutral">&nbsp;</span>
76
106
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import requestParameters from './requestParameters'
77
107
  &nbsp;
78
108
  export default document =&gt; {
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 =&gt; {
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
  &nbsp;
99
144
  return `/internal/pixel?${attributes.join('&amp;')}`
100
145
  }
@@ -104,7 +149,7 @@ export default document =&gt; {
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 Fri Mar 21 2025 16:37:51 GMT+0100 (Central European Standard Time)
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</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
58
- <span class="cline-any cline-yes">36x</span>
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">&nbsp;</span>
68
+ <span class="cline-any cline-yes">117x</span>
59
69
  <span class="cline-any cline-neutral">&nbsp;</span>
60
- <span class="cline-any cline-yes">36x</span>
61
- <span class="cline-any cline-yes">36x</span>
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">&nbsp;</span>
63
- <span class="cline-any cline-yes">36x</span>
73
+ <span class="cline-any cline-yes">234x</span>
64
74
  <span class="cline-any cline-neutral">&nbsp;</span>
65
75
  <span class="cline-any cline-neutral">&nbsp;</span>
66
- <span class="cline-any cline-yes">36x</span>
76
+ <span class="cline-any cline-yes">117x</span>
77
+ <span class="cline-any cline-neutral">&nbsp;</span>
78
+ <span class="cline-any cline-neutral">&nbsp;</span>
79
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
94
+ <span class="cline-any cline-yes">13x</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
67
96
  <span class="cline-any cline-neutral">&nbsp;</span>
68
97
  <span class="cline-any cline-neutral">&nbsp;</span>
69
98
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
79
- <span class="cline-any cline-yes">9x</span>
80
100
  <span class="cline-any cline-neutral">&nbsp;</span>
81
101
  <span class="cline-any cline-neutral">&nbsp;</span>
82
102
  <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
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
  &nbsp;</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 Fri Mar 21 2025 16:37:51 GMT+0100 (Central European Standard Time)
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>
@@ -1,5 +1,5 @@
1
1
  TN:
2
- SF:/Users/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/index.js
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/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/pixelUrl.js
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:5,(anonymous_0)
36
- DA:4,5
37
- DA:7,5
38
- DA:14,5
39
- DA:15,1
40
- DA:17,5
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,5
42
+ DA:20,8
43
43
  DA:21,1
44
- DA:24,5
45
- LF:9
46
- LH:9
47
- BRDA:8,0,0,5
48
- BRDA:8,0,1,4
49
- BRDA:14,1,0,1
50
- BRDA:14,1,1,4
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,4
62
+ BRDA:17,2,1,7
53
63
  BRDA:20,3,0,1
54
- BRDA:20,3,1,4
55
- BRF:8
56
- BRH:8
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/marc-penche-factorial/Documents/GitHub/factorial-pixel/src/requestParameters.js
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:36,findPropertyInParams
66
- FNDA:36,(anonymous_1)
67
- FNDA:9,requestParameters
68
- DA:2,36
69
- DA:4,36
70
- DA:5,36
71
- DA:7,36
72
- DA:10,36
73
- DA:14,9
74
- DA:15,9
75
- DA:16,9
76
- DA:17,9
77
- DA:18,9
78
- DA:19,9
79
- DA:20,9
80
- DA:21,9
81
- DA:23,9
82
- LF:14
83
- LH:14
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,6 +1,6 @@
1
1
  {
2
2
  "name": "factorial-pixel",
3
- "version": "0.7.9",
3
+ "version": "0.8.0",
4
4
  "description": "Factorial marketing pixel",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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