urlpurify 1.6.1 → 2.1.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.
Files changed (77) hide show
  1. package/README.md +27 -8
  2. package/dist/clean.mjs +7 -17
  3. package/dist/defaults.d.mts +9 -3
  4. package/dist/defaults.mjs +38 -17
  5. package/dist/index.d.mts +8 -4
  6. package/dist/index.mjs +8 -4
  7. package/dist/node_modules/trousse/dist/urls.mjs +33 -4
  8. package/dist/tracking/affiliate.d.mts +4 -0
  9. package/dist/tracking/affiliate.mjs +18 -0
  10. package/dist/tracking/campaign.d.mts +4 -0
  11. package/dist/tracking/campaign.mjs +77 -0
  12. package/dist/tracking/clickAttribution.d.mts +4 -0
  13. package/dist/tracking/clickAttribution.mjs +53 -0
  14. package/dist/tracking/housekeeping.d.mts +4 -0
  15. package/dist/tracking/housekeeping.mjs +30 -0
  16. package/dist/tracking/visitorId.d.mts +4 -0
  17. package/dist/tracking/visitorId.mjs +40 -0
  18. package/dist/unwraps/aceml.mjs +2 -4
  19. package/dist/unwraps/adjust.mjs +5 -5
  20. package/dist/unwraps/amazonSes.mjs +3 -5
  21. package/dist/unwraps/anchor.mjs +2 -3
  22. package/dist/unwraps/apptrkr.mjs +3 -3
  23. package/dist/unwraps/archiveToday.mjs +2 -2
  24. package/dist/unwraps/augure.mjs +2 -7
  25. package/dist/unwraps/bing.mjs +2 -2
  26. package/dist/unwraps/bingAds.mjs +5 -7
  27. package/dist/unwraps/bitrix.mjs +3 -2
  28. package/dist/unwraps/ciscoSecureWeb.mjs +4 -7
  29. package/dist/unwraps/cjNetwork.mjs +2 -8
  30. package/dist/unwraps/cse360.mjs +4 -7
  31. package/dist/unwraps/datalifeEngine.mjs +2 -2
  32. package/dist/unwraps/deployer.mjs +2 -2
  33. package/dist/unwraps/digikala.mjs +2 -2
  34. package/dist/unwraps/disqus.mjs +4 -1
  35. package/dist/unwraps/easyMarketing.mjs +2 -2
  36. package/dist/unwraps/facebook.mjs +5 -7
  37. package/dist/unwraps/feedStatistics.mjs +2 -2
  38. package/dist/unwraps/firebaseDynamicLinks.mjs +1 -1
  39. package/dist/unwraps/firstory.mjs +2 -4
  40. package/dist/unwraps/gfnLinkProxy.mjs +2 -2
  41. package/dist/unwraps/godcaster.mjs +3 -3
  42. package/dist/unwraps/govdelivery.d.mts +4 -0
  43. package/dist/unwraps/govdelivery.mjs +12 -0
  44. package/dist/unwraps/impact.mjs +3 -3
  45. package/dist/unwraps/indexHu.mjs +3 -3
  46. package/dist/unwraps/invisionNoExternalLinks.mjs +3 -3
  47. package/dist/unwraps/linksynergy.mjs +3 -3
  48. package/dist/unwraps/logicboard.mjs +3 -3
  49. package/dist/unwraps/mailinblack.mjs +2 -2
  50. package/dist/unwraps/mandrill.mjs +2 -2
  51. package/dist/unwraps/mimecast.mjs +1 -4
  52. package/dist/unwraps/mohtwize.mjs +2 -6
  53. package/dist/unwraps/mozillaOutgoing.mjs +2 -2
  54. package/dist/unwraps/newswire.mjs +2 -2
  55. package/dist/unwraps/postAffiliatePro.mjs +3 -3
  56. package/dist/unwraps/postmark.mjs +2 -2
  57. package/dist/unwraps/prezly.mjs +2 -7
  58. package/dist/unwraps/proofpointV1.mjs +6 -15
  59. package/dist/unwraps/proofpointV2.mjs +12 -2
  60. package/dist/unwraps/qualityClick.mjs +3 -3
  61. package/dist/unwraps/researchgate.mjs +3 -5
  62. package/dist/unwraps/reviveAdserver.mjs +3 -5
  63. package/dist/unwraps/serendipity.mjs +2 -2
  64. package/dist/unwraps/streak.mjs +3 -5
  65. package/dist/unwraps/surly.mjs +2 -8
  66. package/dist/unwraps/webArchive.mjs +2 -2
  67. package/dist/unwraps/xengentr.mjs +2 -2
  68. package/dist/unwraps/yahooJapanAmpViewer.mjs +2 -7
  69. package/dist/unwraps/yahooSearch.mjs +3 -2
  70. package/dist/unwraps/yandexMail.mjs +2 -2
  71. package/dist/unwraps/yourMembership.mjs +3 -3
  72. package/dist/utils.mjs +17 -14
  73. package/package.json +2 -2
  74. package/dist/tracking/literals.d.mts +0 -3
  75. package/dist/tracking/literals.mjs +0 -184
  76. package/dist/tracking/patterns.d.mts +0 -3
  77. package/dist/tracking/patterns.mjs +0 -19
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Unwrap redirect, affiliate, and tracking wrapper URLs and strip tracking parameters. Turn noisy links into clean, direct URLs.
8
8
 
9
- Links from feeds, emails and social platforms rarely point straight at their destination. They pass through search redirects, link shims, email gateways and affiliate networks, and pick up tracking parameters on the way, the link decoration that follows a reader from site to site. urlpurify unwraps 380+ known wrappers and strips 170+ known tracking parameters plus families like `utm_*`. It has no dependencies and runs in any modern JavaScript runtime, browsers included.
9
+ Links from feeds, emails and social platforms rarely point straight at their destination. They pass through search redirects, link shims, email gateways and affiliate networks, and pick up tracking parameters on the way, the link decoration that follows a reader from site to site. urlpurify unwraps 380+ known wrappers and strips 100+ known tracking parameters plus vendor families. Campaign tags like `utm_*` and affiliate ids stay by default: they serve the site, not a tracker. It has no dependencies and runs in any modern JavaScript runtime, browsers included.
10
10
 
11
11
  ## Installation
12
12
 
@@ -19,7 +19,7 @@ npm install urlpurify
19
19
  ```typescript
20
20
  import { cleanUrl } from 'urlpurify'
21
21
 
22
- const url = 'https://www.google.com/url?q=https%3A%2F%2Fexample.com%2Fpost%3Futm_source%3Dnewsletter'
22
+ const url = 'https://www.google.com/url?q=https%3A%2F%2Fexample.com%2Fpost%3Ffbclid%3Dabc'
23
23
 
24
24
  cleanUrl(url) // => 'https://example.com/post'
25
25
  ```
@@ -76,11 +76,29 @@ const unwrapExample = createParamExtractor({
76
76
  cleanUrl(url, { unwrappers: [...defaultUnwrappers, unwrapExample] })
77
77
  ```
78
78
 
79
- A value still encoded after one decode, starting with `http%3A` or `https%3A`, is decoded once more. For any other shape, write a plain `UrlUnwrapper`: a function that takes a `URL` and returns the target or `undefined`.
79
+ A value still encoded after one decode, starting with `http%3A` or `https%3A`, is decoded once more. A malformed escape, or one in a legacy charset such as `%E9` for é in Latin-1, stays as written. For any other shape, write a plain `UrlUnwrapper`: a function that takes a `URL` and returns the target or `undefined`.
80
80
 
81
81
  ### Tracking parameters
82
82
 
83
- `defaultTrackingParams` holds literal names plus regexes for vendor families like `utm_*`. The two halves are also exported as `trackingParamsLiterals` and `trackingParamsPatterns`.
83
+ Tracking parameters are grouped like the unwrappers, by what stripping them takes away from someone:
84
+
85
+ | Category | Export | Stripping removes | Default |
86
+ | --- | --- | --- | :---: |
87
+ | Click attribution | `clickAttributionParams` | Ad, search and platform click ids | ☑️ |
88
+ | Visitor ids | `visitorIdParams` | Ids of one visitor, session, browser or email recipient | ☑️ |
89
+ | Housekeeping | `housekeepingParams` | Nothing: cache busters, previews and redirect leftovers | ☑️ |
90
+ | Campaign tags | `campaignParams` | The site's own traffic stats, from tags like `utm_*` | |
91
+ | Affiliate ids | `affiliateParams` | The publisher's commission | |
92
+
93
+ `defaultTrackingParams` combines the first three. A campaign tag carries the same value for every reader, so it tells the site where a visit came from and nothing about who made it. To strip more, spread them next to the defaults:
94
+
95
+ ```typescript
96
+ import { campaignParams, defaultTrackingParams, stripTrackingParams } from 'urlpurify'
97
+
98
+ stripTrackingParams(url, [...defaultTrackingParams, ...campaignParams])
99
+ ```
100
+
101
+ `trackingParamsLiterals` and `trackingParamsPatterns` hold every known parameter, opt-in categories included, split into names and regexes.
84
102
 
85
103
  ## Unwrappers
86
104
 
@@ -89,17 +107,18 @@ There are more than 380 unwrappers, each in its own file in [src/unwraps](src/un
89
107
  | Category | Export | Unwrapping removes | Default |
90
108
  | --- | --- | --- | :---: |
91
109
  | Search clicks | `searchClickUnwrappers` | The search engine's or aggregator's click logging | ☑️ |
92
- | Link shims | `linkShimUnwrappers` | Nothing, or a platform's click count or a site click counter | ☑️ |
93
- | Press releases | `pressReleaseUnwrappers` | The wire's click stats | ☑️ |
110
+ | Link shims | `linkShimUnwrappers` | Nothing, or a platform's click count | ☑️ |
111
+ | Press releases | `pressReleaseUnwrappers` | The issuer's click stats from the wire | |
94
112
  | Sign-in shims | `signInShimUnwrappers` | Nothing, but the shim's page needs a sign-in | |
95
113
  | Security gateways | `securityGatewayUnwrappers` | The gateway's click-time check of the target | |
96
114
  | Email tracking | `emailTrackingUnwrappers` | The sender's click stats | |
97
115
  | Affiliate links | `affiliateUnwrappers` | The publisher's commission | |
98
116
  | Advertising | `advertisingUnwrappers` | Ad click and app install attribution | |
99
- | Download measurement | `downloadMeasurementUnwrappers` | A podcast measurement prefix's download counts, or a site's download or click counts | |
117
+ | Click counters | `clickCounterUnwrappers` | A site's or feed's count of which links get clicked | |
118
+ | Download measurement | `downloadMeasurementUnwrappers` | A podcast measurement prefix's download counts, or a site's download counts | |
100
119
  | Archives and proxies | `archiveProxyUnwrappers` | The archived or translated copy: you get the live page | |
101
120
 
102
- `defaultUnwrappers` combines the first three. The rest cost somebody something or change the page: an affiliate link may pay for a small blog, and an archive link points at a copy on purpose. To turn more on, spread them next to the defaults:
121
+ `defaultUnwrappers` combines the first two. The rest cost somebody something or change the page: a feed click counter tells a blog which posts get read, an affiliate link may pay for a small blog, and an archive link points at a copy on purpose. To turn more on, spread them next to the defaults:
103
122
 
104
123
  ```typescript
105
124
  import { affiliateUnwrappers, cleanUrl, defaultUnwrappers } from 'urlpurify'
package/dist/clean.mjs CHANGED
@@ -1,7 +1,6 @@
1
1
  import { fixMalformedProtocol, isHttpUrl, isIpAddress, normalizeUrl, parseUrl, stripWww } from "./node_modules/trousse/dist/urls.mjs";
2
2
  import { defaultTrackingParams, defaultUnwrappers } from "./defaults.mjs";
3
3
  //#region src/clean.ts
4
- const replacementCharacter = "�";
5
4
  const refDelimitersRegex = /[\s/?#\\:@]/;
6
5
  const signatureParams = [
7
6
  "sig",
@@ -62,13 +61,16 @@ const cleanTarget = (target) => {
62
61
  return repaired;
63
62
  };
64
63
  const protocolRelativeRegex = /^\/\/[^/]/;
64
+ const bareHostRegex = /^[\p{L}\p{N}-]+(?:\.[\p{L}\p{N}-]+)+(?:[/?#:]|$)/u;
65
65
  const addMissingScheme = (target) => {
66
- if (!target || !protocolRelativeRegex.test(target)) return target;
67
- return `https:${target}`;
66
+ if (!target) return;
67
+ if (protocolRelativeRegex.test(target)) return `https:${target}`;
68
+ if (bareHostRegex.test(target)) return `https://${target}`;
69
+ return target;
68
70
  };
69
71
  const applyUnwrappers = (url, unwrappers) => {
70
72
  for (const unwrap of unwrappers) {
71
- const raw = addMissingScheme(unwrap(url));
73
+ const raw = addMissingScheme(unwrap(url)?.trim());
72
74
  if (!raw || !isHttpUrl(raw)) continue;
73
75
  const target = cleanTarget(raw);
74
76
  if (target) return target;
@@ -81,7 +83,7 @@ const unwrapUrl = (url, unwrappers = defaultUnwrappers) => {
81
83
  const parsed = parseUrl(url);
82
84
  if (!parsed) return;
83
85
  const target = applyUnwrappers(parsed, unwrappers);
84
- if (!target || target.includes(replacementCharacter)) return;
86
+ if (!target) return;
85
87
  return parseUrl(target)?.href;
86
88
  };
87
89
  const stripTrackingParams = (url, trackingParams = defaultTrackingParams) => {
@@ -96,25 +98,13 @@ const cleanUrl = (url, options) => {
96
98
  const maxUnwrapDepth = options?.maxUnwrapDepth ?? 6;
97
99
  const parsed = parseUrl(url);
98
100
  if (!parsed) return url;
99
- let currentUrl = url;
100
101
  let currentParsed = parsed;
101
- let intactUrl = url;
102
- let intactParsed = parsed;
103
102
  for (let depth = 0; depth < maxUnwrapDepth; depth += 1) {
104
103
  const target = applyUnwrappers(currentParsed, unwrappers);
105
104
  if (!target) break;
106
105
  const targetParsed = parseUrl(target);
107
106
  if (!targetParsed) break;
108
- currentUrl = target;
109
107
  currentParsed = targetParsed;
110
- if (!target.includes(replacementCharacter)) {
111
- intactUrl = target;
112
- intactParsed = targetParsed;
113
- }
114
- }
115
- if (currentUrl.includes(replacementCharacter)) {
116
- currentUrl = intactUrl;
117
- currentParsed = intactParsed;
118
108
  }
119
109
  deleteTrackingParams(currentParsed, trackingParams);
120
110
  return currentParsed.href;
@@ -1,8 +1,13 @@
1
1
  import { TrackingParam, UrlUnwrapper } from "./types.mjs";
2
- import { trackingParamsLiterals } from "./tracking/literals.mjs";
3
- import { trackingParamsPatterns } from "./tracking/patterns.mjs";
2
+ import { affiliateParams } from "./tracking/affiliate.mjs";
3
+ import { campaignParams } from "./tracking/campaign.mjs";
4
+ import { clickAttributionParams } from "./tracking/clickAttribution.mjs";
5
+ import { housekeepingParams } from "./tracking/housekeeping.mjs";
6
+ import { visitorIdParams } from "./tracking/visitorId.mjs";
4
7
  //#region src/defaults.d.ts
5
8
  export declare const defaultTrackingParams: Array<TrackingParam>;
9
+ export declare const trackingParamsLiterals: Array<string>;
10
+ export declare const trackingParamsPatterns: Array<RegExp>;
6
11
  export declare const searchClickUnwrappers: Array<UrlUnwrapper>;
7
12
  export declare const linkShimUnwrappers: Array<UrlUnwrapper>;
8
13
  export declare const pressReleaseUnwrappers: Array<UrlUnwrapper>;
@@ -11,8 +16,9 @@ export declare const securityGatewayUnwrappers: Array<UrlUnwrapper>;
11
16
  export declare const emailTrackingUnwrappers: Array<UrlUnwrapper>;
12
17
  export declare const affiliateUnwrappers: Array<UrlUnwrapper>;
13
18
  export declare const advertisingUnwrappers: Array<UrlUnwrapper>;
19
+ export declare const clickCounterUnwrappers: Array<UrlUnwrapper>;
14
20
  export declare const downloadMeasurementUnwrappers: Array<UrlUnwrapper>;
15
21
  export declare const archiveProxyUnwrappers: Array<UrlUnwrapper>;
16
22
  export declare const defaultUnwrappers: Array<UrlUnwrapper>;
17
23
  //#endregion
18
- export { trackingParamsLiterals, trackingParamsPatterns };
24
+ export { affiliateParams, campaignParams, clickAttributionParams, housekeepingParams, visitorIdParams };
package/dist/defaults.mjs CHANGED
@@ -1,5 +1,8 @@
1
- import { trackingParamsLiterals } from "./tracking/literals.mjs";
2
- import { trackingParamsPatterns } from "./tracking/patterns.mjs";
1
+ import { affiliateParams } from "./tracking/affiliate.mjs";
2
+ import { campaignParams } from "./tracking/campaign.mjs";
3
+ import { clickAttributionParams } from "./tracking/clickAttribution.mjs";
4
+ import { housekeepingParams } from "./tracking/housekeeping.mjs";
5
+ import { visitorIdParams } from "./tracking/visitorId.mjs";
3
6
  import { unwrap2performant } from "./unwraps/2performant.mjs";
4
7
  import { unwrap4pda } from "./unwraps/4pda.mjs";
5
8
  import { unwrap12ft } from "./unwraps/12ft.mjs";
@@ -148,6 +151,7 @@ import { unwrapGoogleNewsModern } from "./unwraps/googleNewsModern.mjs";
148
151
  import { unwrapGoogleScholar } from "./unwraps/googleScholar.mjs";
149
152
  import { unwrapGoogleTranslate } from "./unwraps/googleTranslate.mjs";
150
153
  import { unwrapGoogleWebLight } from "./unwraps/googleWebLight.mjs";
154
+ import { unwrapGovdelivery } from "./unwraps/govdelivery.mjs";
151
155
  import { unwrapGroupMail } from "./unwraps/groupMail.mjs";
152
156
  import { unwrapGroupon } from "./unwraps/groupon.mjs";
153
157
  import { unwrapGumball } from "./unwraps/gumball.mjs";
@@ -382,7 +386,25 @@ import { unwrapZhihu } from "./unwraps/zhihu.mjs";
382
386
  import { unwrapZix } from "./unwraps/zix.mjs";
383
387
  import { unwrapZscalerIsolation } from "./unwraps/zscalerIsolation.mjs";
384
388
  //#region src/defaults.ts
385
- const defaultTrackingParams = [...trackingParamsLiterals, ...trackingParamsPatterns];
389
+ const defaultTrackingParams = [
390
+ ...clickAttributionParams,
391
+ ...visitorIdParams,
392
+ ...housekeepingParams
393
+ ];
394
+ const knownTrackingParams = [
395
+ ...defaultTrackingParams,
396
+ ...campaignParams,
397
+ ...affiliateParams
398
+ ];
399
+ const trackingParamsLiterals = [];
400
+ const trackingParamsPatterns = [];
401
+ for (const param of knownTrackingParams) {
402
+ if (typeof param === "string") {
403
+ trackingParamsLiterals.push(param);
404
+ continue;
405
+ }
406
+ trackingParamsPatterns.push(param);
407
+ }
386
408
  const searchClickUnwrappers = [
387
409
  unwrapAllblog,
388
410
  unwrapAsk,
@@ -408,14 +430,12 @@ const linkShimUnwrappers = [
408
430
  unwrapArxiv,
409
431
  unwrapBabyblog,
410
432
  unwrapBale,
411
- unwrapBitrix,
412
433
  unwrapBlueskyRedirect,
413
434
  unwrapBridgyFed,
414
435
  unwrapBytedance,
415
436
  unwrapCalendly,
416
437
  unwrapCanva,
417
438
  unwrapCsdn,
418
- unwrapDasBlog,
419
439
  unwrapDatalifeEngine,
420
440
  unwrapDerefMail,
421
441
  unwrapDeviantartOutgoing,
@@ -426,10 +446,7 @@ const linkShimUnwrappers = [
426
446
  unwrapEmbedly,
427
447
  unwrapEvernote,
428
448
  unwrapFacebookShim,
429
- unwrapFeedblitz,
430
449
  unwrapFeedsportal,
431
- unwrapFeedStatistics,
432
- unwrapFinalsite,
433
450
  unwrapFtc,
434
451
  unwrapGfnLinkProxy,
435
452
  unwrapGitee,
@@ -439,7 +456,6 @@ const linkShimUnwrappers = [
439
456
  unwrapHearthis,
440
457
  unwrapHorde,
441
458
  unwrapHrefLi,
442
- unwrapIndexHu,
443
459
  unwrapInstagramShim,
444
460
  unwrapInvisionNoExternalLinks,
445
461
  unwrapIrs,
@@ -469,7 +485,6 @@ const linkShimUnwrappers = [
469
485
  unwrapResearchgate,
470
486
  unwrapSapHelp,
471
487
  unwrapSegmentfault,
472
- unwrapSerendipity,
473
488
  unwrapSkyrock,
474
489
  unwrapSlack,
475
490
  unwrapSoundcloud,
@@ -478,7 +493,6 @@ const linkShimUnwrappers = [
478
493
  unwrapStorify,
479
494
  unwrapStumbleupon,
480
495
  unwrapTeacup,
481
- unwrapTheRegister,
482
496
  unwrapThreadsShim,
483
497
  unwrapTiktok,
484
498
  unwrapTumblr,
@@ -555,6 +569,7 @@ const emailTrackingUnwrappers = [
555
569
  unwrapElasticEmail,
556
570
  unwrapFanbridge,
557
571
  unwrapGlueUp,
572
+ unwrapGovdelivery,
558
573
  unwrapGroupMail,
559
574
  unwrapHellohq,
560
575
  unwrapHubspotSidekick,
@@ -710,6 +725,16 @@ const advertisingUnwrappers = [
710
725
  unwrapSmartAdserver,
711
726
  unwrapTriplelift
712
727
  ];
728
+ const clickCounterUnwrappers = [
729
+ unwrapBitrix,
730
+ unwrapDasBlog,
731
+ unwrapFeedblitz,
732
+ unwrapFeedStatistics,
733
+ unwrapFinalsite,
734
+ unwrapIndexHu,
735
+ unwrapSerendipity,
736
+ unwrapTheRegister
737
+ ];
713
738
  const downloadMeasurementUnwrappers = [
714
739
  unwrapAcast,
715
740
  unwrapAnchor,
@@ -784,10 +809,6 @@ const archiveProxyUnwrappers = [
784
809
  unwrapYandexTranslate,
785
810
  unwrapYandexTurbo
786
811
  ];
787
- const defaultUnwrappers = [
788
- ...searchClickUnwrappers,
789
- ...linkShimUnwrappers,
790
- ...pressReleaseUnwrappers
791
- ];
812
+ const defaultUnwrappers = [...searchClickUnwrappers, ...linkShimUnwrappers];
792
813
  //#endregion
793
- export { advertisingUnwrappers, affiliateUnwrappers, archiveProxyUnwrappers, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, trackingParamsLiterals, trackingParamsPatterns };
814
+ export { advertisingUnwrappers, affiliateParams, affiliateUnwrappers, archiveProxyUnwrappers, campaignParams, clickAttributionParams, clickCounterUnwrappers, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, housekeepingParams, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, trackingParamsLiterals, trackingParamsPatterns, visitorIdParams };
package/dist/index.d.mts CHANGED
@@ -1,8 +1,11 @@
1
1
  import { CleanUrlOptions, TrackingParam, UrlUnwrapper } from "./types.mjs";
2
2
  import { cleanUrl, stripTrackingParams, unwrapUrl } from "./clean.mjs";
3
- import { trackingParamsLiterals } from "./tracking/literals.mjs";
4
- import { trackingParamsPatterns } from "./tracking/patterns.mjs";
5
- import { advertisingUnwrappers, affiliateUnwrappers, archiveProxyUnwrappers, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers } from "./defaults.mjs";
3
+ import { affiliateParams } from "./tracking/affiliate.mjs";
4
+ import { campaignParams } from "./tracking/campaign.mjs";
5
+ import { clickAttributionParams } from "./tracking/clickAttribution.mjs";
6
+ import { housekeepingParams } from "./tracking/housekeeping.mjs";
7
+ import { visitorIdParams } from "./tracking/visitorId.mjs";
8
+ import { advertisingUnwrappers, affiliateUnwrappers, archiveProxyUnwrappers, clickCounterUnwrappers, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, trackingParamsLiterals, trackingParamsPatterns } from "./defaults.mjs";
6
9
  import { unwrap2performant } from "./unwraps/2performant.mjs";
7
10
  import { unwrap4pda } from "./unwraps/4pda.mjs";
8
11
  import { unwrap12ft } from "./unwraps/12ft.mjs";
@@ -151,6 +154,7 @@ import { unwrapGoogleNewsModern } from "./unwraps/googleNewsModern.mjs";
151
154
  import { unwrapGoogleScholar } from "./unwraps/googleScholar.mjs";
152
155
  import { unwrapGoogleTranslate } from "./unwraps/googleTranslate.mjs";
153
156
  import { unwrapGoogleWebLight } from "./unwraps/googleWebLight.mjs";
157
+ import { unwrapGovdelivery } from "./unwraps/govdelivery.mjs";
154
158
  import { unwrapGroupMail } from "./unwraps/groupMail.mjs";
155
159
  import { unwrapGroupon } from "./unwraps/groupon.mjs";
156
160
  import { unwrapGumball } from "./unwraps/gumball.mjs";
@@ -385,4 +389,4 @@ import { unwrapZhihu } from "./unwraps/zhihu.mjs";
385
389
  import { unwrapZix } from "./unwraps/zix.mjs";
386
390
  import { unwrapZscalerIsolation } from "./unwraps/zscalerIsolation.mjs";
387
391
  import { ParamExtractorConfig, createParamExtractor } from "./utils.mjs";
388
- export { type CleanUrlOptions, type ParamExtractorConfig, type TrackingParam, type UrlUnwrapper, advertisingUnwrappers, affiliateUnwrappers, archiveProxyUnwrappers, cleanUrl, createParamExtractor, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrap12ft, unwrap2performant, unwrap4pda, unwrapA8Net, unwrapAboutCom, unwrapAcast, unwrapAccesstrade, unwrapAceml, unwrapAdcell, unwrapAdfly, unwrapAdjust, unwrapAdmitad, unwrapAdrecord, unwrapAdtraction, unwrapAffilae, unwrapAffiliateFuture, unwrapAffiliatesOne, unwrapAliexpress, unwrapAliyun, unwrapAllblog, unwrapAmazonAffiliate, unwrapAmazonSes, unwrapAmpCache, unwrapAnchor, unwrapAnonymTo, unwrapAnonymouse, unwrapAppsflyerOnelink, unwrapApptrkr, unwrapArchiveToday, unwrapArquivo, unwrapArttrack, unwrapArxiv, unwrapAsk, unwrapAugure, unwrapAusha, unwrapAvantlink, unwrapAwesound, unwrapAwin, unwrapAxigen, unwrapBabyblog, unwrapBacLacWebArchive, unwrapBale, unwrapBananatag, unwrapBarracudaLinkProtect, unwrapBig5Gate, unwrapBing, unwrapBingAds, unwrapBitrix, unwrapBitrixBanner, unwrapBizrate, unwrapBlubrry, unwrapBlueskyRedirect, unwrapBolPartner, unwrapBridgyFed, unwrapBusinessWire, unwrapButton, unwrapBuyAt, unwrapBuybox, unwrapBuzzstream, unwrapBytedance, unwrapCake, unwrapCalendly, unwrapCanva, unwrapCastPlus, unwrapCcbill, unwrapChartable, unwrapCheckPointHarmony, unwrapChitika, unwrapCiscoSecureWeb, unwrapCjNetwork, unwrapClaritas, unwrapCleverbridge, unwrapClevercomm, unwrapCloudhq, unwrapCloze, unwrapCohst, unwrapCommissionFactory, unwrapCommunicationads, unwrapConstantContact, unwrapContactMonkey, unwrapConvertiser, unwrapCsdn, unwrapCse360, unwrapCuelinks, unwrapDasBlog, unwrapDatalifeEngine, unwrapDeployer, unwrapDerefMail, unwrapDeviantartOutgoing, unwrapDigidip, unwrapDigikala, unwrapDirectMail, unwrapDisqus, unwrapDmmAffiliate, unwrapDognet, unwrapDouban, unwrapDropbox, unwrapDstats, unwrapDuckduckgo, unwrapDuckduckgoAds, unwrapDuomai, unwrapDyn, unwrapDzen, unwrapEClick, unwrapEasyMarketing, unwrapEbayRover, unwrapEbuzzing, unwrapEdgepilot, unwrapEffiliation, unwrapEhub, unwrapElasticEmail, unwrapEmbedly, unwrapEpn, unwrapEsva, unwrapEulerian, unwrapEvernote, unwrapExciteTranslate, unwrapExpediaAffiliate, unwrapFacebookShim, unwrapFanbridge, unwrapFederatedMedia, unwrapFeedStatistics, unwrapFeedblitz, unwrapFeedsportal, unwrapFinalsite, unwrapFirebaseDynamicLinks, unwrapFireeye, unwrapFirstory, unwrapFiveByFive, unwrapFiverr, unwrapFlexoffers, unwrapFlipboard, unwrapFortimail, unwrapFtc, unwrapGateSc, unwrapGeoriot, unwrapGfnLinkProxy, unwrapGitee, unwrapGlueUp, unwrapGodcaster, unwrapGoogle, unwrapGoogleAds, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapGoogleWebLight, unwrapGroupMail, unwrapGroupon, unwrapGumball, unwrapGurunavi, unwrapHackerone, unwrapHashnode, unwrapHasoffers, unwrapHearthis, unwrapHellohq, unwrapHirkereso, unwrapHorde, unwrapHornetsecurity, unwrapHrefLi, unwrapHubspotSidekick, unwrapIcptrack, unwrapIgafnl, unwrapImpact, unwrapIndexHu, unwrapInfospace, unwrapInsiderAffiliate, unwrapInstagramShim, unwrapIntranetQuorum, unwrapInvisionNoExternalLinks, unwrapInvolveAsia, unwrapIrs, unwrapJianshuGo, unwrapJive, unwrapJuejin, unwrapJustwatch, unwrapKlook, unwrapLazada, unwrapLd246, unwrapLetscast, unwrapLeverAnalytics, unwrapLinkA, unwrapLinkconnector, unwrapLinkedin, unwrapLinksynergy, unwrapLinktrust, unwrapLinkwise, unwrapLivejournal, unwrapLnkam, unwrapLocWebArchive, unwrapLocaweb, unwrapLogicboard, unwrapMagellan, unwrapMagnetmail, unwrapMail2easy, unwrapMailRu, unwrapMailRuLink, unwrapMailchimp, unwrapMailinblack, unwrapMailpanion, unwrapMailpgn, unwrapMailstat, unwrapMailtrack, unwrapMandrill, unwrapMarketwire, unwrapMcas, unwrapMedium, unwrapMegalodon, unwrapMimecast, unwrapMinistryCloud, unwrapMintDownloads, unwrapMintFeeder, unwrapMohtwize, unwrapMoshimo, unwrapMozillaOutgoing, unwrapMyNewsletterBuilder, unwrapNarrativ, unwrapNatlibNz, unwrapNaverOutgoing, unwrapNcls, unwrapNdlWarp, unwrapNetaffiliation, unwrapNetcentrum, unwrapNewswire, unwrapNicoMs, unwrapNimble, unwrapNlaWebarchive, unwrapNodeseek, unwrapOkRu, unwrapOp3, unwrapOrkut, unwrapOsnova, unwrapOutlookSafelinks, unwrapOutlookWebAccess, unwrapPagefreezer, unwrapPartnerAds, unwrapPbs, unwrapPhilpapers, unwrapPinterest, unwrapPipedrive, unwrapPocket, unwrapPodcorn, unwrapPodder, unwrapPodkite, unwrapPodroll, unwrapPodscribe, unwrapPodsights, unwrapPodtrac, unwrapPodup, unwrapPostAffiliatePro, unwrapPostmark, unwrapPrNewswire, unwrapPrezly, unwrapPriceGrabber, unwrapPromoJukebox, unwrapProofpointIsolation, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPrweb, unwrapQualityClick, unwrapRakutenAffiliate, unwrapRamblerMail, unwrapRecruitics, unwrapRedditOut, unwrapRediffmail, unwrapRedirectingat, unwrapResearchgate, unwrapReverbnation, unwrapReviveAdserver, unwrapSalesdoubler, unwrapSalesflare, unwrapSalesforceiq, unwrapSaleshandy, unwrapSalsa, unwrapSapHelp, unwrapSbsAd, unwrapSegmentfault, unwrapSerendipity, unwrapShareasale, unwrapShareit, unwrapSkimlinks, unwrapSkyrock, unwrapSlack, unwrapSlickdeals, unwrapSmartAdserver, unwrapSmartredirect, unwrapSmry, unwrapSophos, unwrapSoundOn, unwrapSoundcloud, unwrapSoundstack, unwrapSquarespaceEmail, unwrapSspai, unwrapStay22, unwrapSteamLinkfilter, unwrapStorify, unwrapStreak, unwrapStreamsend, unwrapStumbleupon, unwrapSubscribeRu, unwrapSubstack, unwrapSurly, unwrapSurugaya, unwrapSwap, unwrapSymantecClicktime, unwrapSymplicity, unwrapTargetCircle, unwrapTeacup, unwrapTelegramIv, unwrapTheRegister, unwrapThreadsShim, unwrapTiktok, unwrapTitanhqLinklock, unwrapTopsec, unwrapToucharcade, unwrapTracdelight, unwrapTradedoubler, unwrapTradetracker, unwrapTravelpayouts, unwrapTrendMicro, unwrapTriplelift, unwrapTrustwaveScanmail, unwrapTrxHub, unwrapTumblr, unwrapTwitterRedirect, unwrapTwoCheckout, unwrapUinterbox, unwrapUkWebArchive, unwrapUkgwa, unwrapUnescoWebArchive, unwrapUnhcrWebArchive, unwrapUnisender, unwrapUpAudio, unwrapUrl, unwrapVadeSecure, unwrapValuePress, unwrapValuecommerce, unwrapVanilla, unwrapVbulletin, unwrapVefsafn, unwrapVgWort, unwrapViglink, unwrapVirgool, unwrapVisibli, unwrapVkAway, unwrapVocus, unwrapVoxnest, unwrapVpixl, unwrapVuture, unwrapWebArchive, unwrapWebcitation, unwrapWebgains, unwrapWebharvest, unwrapWikiwix, unwrapWikizero, unwrapWordpressEmail, unwrapWordpressGo2, unwrapWorldNomads, unwrapWpPoczta, unwrapXengentr, unwrapXiaoyuzhou, unwrapXimalaya, unwrapYahooJapan, unwrapYahooJapanAmpViewer, unwrapYahooSearch, unwrapYamm, unwrapYandexMail, unwrapYandexTranslate, unwrapYandexTurbo, unwrapYelp, unwrapYesware, unwrapYouTube, unwrapYourMembership, unwrapZanox, unwrapZayads, unwrapZemanta, unwrapZencastr, unwrapZhihu, unwrapZix, unwrapZscalerIsolation };
392
+ export { type CleanUrlOptions, type ParamExtractorConfig, type TrackingParam, type UrlUnwrapper, advertisingUnwrappers, affiliateParams, affiliateUnwrappers, archiveProxyUnwrappers, campaignParams, cleanUrl, clickAttributionParams, clickCounterUnwrappers, createParamExtractor, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, housekeepingParams, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrap12ft, unwrap2performant, unwrap4pda, unwrapA8Net, unwrapAboutCom, unwrapAcast, unwrapAccesstrade, unwrapAceml, unwrapAdcell, unwrapAdfly, unwrapAdjust, unwrapAdmitad, unwrapAdrecord, unwrapAdtraction, unwrapAffilae, unwrapAffiliateFuture, unwrapAffiliatesOne, unwrapAliexpress, unwrapAliyun, unwrapAllblog, unwrapAmazonAffiliate, unwrapAmazonSes, unwrapAmpCache, unwrapAnchor, unwrapAnonymTo, unwrapAnonymouse, unwrapAppsflyerOnelink, unwrapApptrkr, unwrapArchiveToday, unwrapArquivo, unwrapArttrack, unwrapArxiv, unwrapAsk, unwrapAugure, unwrapAusha, unwrapAvantlink, unwrapAwesound, unwrapAwin, unwrapAxigen, unwrapBabyblog, unwrapBacLacWebArchive, unwrapBale, unwrapBananatag, unwrapBarracudaLinkProtect, unwrapBig5Gate, unwrapBing, unwrapBingAds, unwrapBitrix, unwrapBitrixBanner, unwrapBizrate, unwrapBlubrry, unwrapBlueskyRedirect, unwrapBolPartner, unwrapBridgyFed, unwrapBusinessWire, unwrapButton, unwrapBuyAt, unwrapBuybox, unwrapBuzzstream, unwrapBytedance, unwrapCake, unwrapCalendly, unwrapCanva, unwrapCastPlus, unwrapCcbill, unwrapChartable, unwrapCheckPointHarmony, unwrapChitika, unwrapCiscoSecureWeb, unwrapCjNetwork, unwrapClaritas, unwrapCleverbridge, unwrapClevercomm, unwrapCloudhq, unwrapCloze, unwrapCohst, unwrapCommissionFactory, unwrapCommunicationads, unwrapConstantContact, unwrapContactMonkey, unwrapConvertiser, unwrapCsdn, unwrapCse360, unwrapCuelinks, unwrapDasBlog, unwrapDatalifeEngine, unwrapDeployer, unwrapDerefMail, unwrapDeviantartOutgoing, unwrapDigidip, unwrapDigikala, unwrapDirectMail, unwrapDisqus, unwrapDmmAffiliate, unwrapDognet, unwrapDouban, unwrapDropbox, unwrapDstats, unwrapDuckduckgo, unwrapDuckduckgoAds, unwrapDuomai, unwrapDyn, unwrapDzen, unwrapEClick, unwrapEasyMarketing, unwrapEbayRover, unwrapEbuzzing, unwrapEdgepilot, unwrapEffiliation, unwrapEhub, unwrapElasticEmail, unwrapEmbedly, unwrapEpn, unwrapEsva, unwrapEulerian, unwrapEvernote, unwrapExciteTranslate, unwrapExpediaAffiliate, unwrapFacebookShim, unwrapFanbridge, unwrapFederatedMedia, unwrapFeedStatistics, unwrapFeedblitz, unwrapFeedsportal, unwrapFinalsite, unwrapFirebaseDynamicLinks, unwrapFireeye, unwrapFirstory, unwrapFiveByFive, unwrapFiverr, unwrapFlexoffers, unwrapFlipboard, unwrapFortimail, unwrapFtc, unwrapGateSc, unwrapGeoriot, unwrapGfnLinkProxy, unwrapGitee, unwrapGlueUp, unwrapGodcaster, unwrapGoogle, unwrapGoogleAds, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapGoogleWebLight, unwrapGovdelivery, unwrapGroupMail, unwrapGroupon, unwrapGumball, unwrapGurunavi, unwrapHackerone, unwrapHashnode, unwrapHasoffers, unwrapHearthis, unwrapHellohq, unwrapHirkereso, unwrapHorde, unwrapHornetsecurity, unwrapHrefLi, unwrapHubspotSidekick, unwrapIcptrack, unwrapIgafnl, unwrapImpact, unwrapIndexHu, unwrapInfospace, unwrapInsiderAffiliate, unwrapInstagramShim, unwrapIntranetQuorum, unwrapInvisionNoExternalLinks, unwrapInvolveAsia, unwrapIrs, unwrapJianshuGo, unwrapJive, unwrapJuejin, unwrapJustwatch, unwrapKlook, unwrapLazada, unwrapLd246, unwrapLetscast, unwrapLeverAnalytics, unwrapLinkA, unwrapLinkconnector, unwrapLinkedin, unwrapLinksynergy, unwrapLinktrust, unwrapLinkwise, unwrapLivejournal, unwrapLnkam, unwrapLocWebArchive, unwrapLocaweb, unwrapLogicboard, unwrapMagellan, unwrapMagnetmail, unwrapMail2easy, unwrapMailRu, unwrapMailRuLink, unwrapMailchimp, unwrapMailinblack, unwrapMailpanion, unwrapMailpgn, unwrapMailstat, unwrapMailtrack, unwrapMandrill, unwrapMarketwire, unwrapMcas, unwrapMedium, unwrapMegalodon, unwrapMimecast, unwrapMinistryCloud, unwrapMintDownloads, unwrapMintFeeder, unwrapMohtwize, unwrapMoshimo, unwrapMozillaOutgoing, unwrapMyNewsletterBuilder, unwrapNarrativ, unwrapNatlibNz, unwrapNaverOutgoing, unwrapNcls, unwrapNdlWarp, unwrapNetaffiliation, unwrapNetcentrum, unwrapNewswire, unwrapNicoMs, unwrapNimble, unwrapNlaWebarchive, unwrapNodeseek, unwrapOkRu, unwrapOp3, unwrapOrkut, unwrapOsnova, unwrapOutlookSafelinks, unwrapOutlookWebAccess, unwrapPagefreezer, unwrapPartnerAds, unwrapPbs, unwrapPhilpapers, unwrapPinterest, unwrapPipedrive, unwrapPocket, unwrapPodcorn, unwrapPodder, unwrapPodkite, unwrapPodroll, unwrapPodscribe, unwrapPodsights, unwrapPodtrac, unwrapPodup, unwrapPostAffiliatePro, unwrapPostmark, unwrapPrNewswire, unwrapPrezly, unwrapPriceGrabber, unwrapPromoJukebox, unwrapProofpointIsolation, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPrweb, unwrapQualityClick, unwrapRakutenAffiliate, unwrapRamblerMail, unwrapRecruitics, unwrapRedditOut, unwrapRediffmail, unwrapRedirectingat, unwrapResearchgate, unwrapReverbnation, unwrapReviveAdserver, unwrapSalesdoubler, unwrapSalesflare, unwrapSalesforceiq, unwrapSaleshandy, unwrapSalsa, unwrapSapHelp, unwrapSbsAd, unwrapSegmentfault, unwrapSerendipity, unwrapShareasale, unwrapShareit, unwrapSkimlinks, unwrapSkyrock, unwrapSlack, unwrapSlickdeals, unwrapSmartAdserver, unwrapSmartredirect, unwrapSmry, unwrapSophos, unwrapSoundOn, unwrapSoundcloud, unwrapSoundstack, unwrapSquarespaceEmail, unwrapSspai, unwrapStay22, unwrapSteamLinkfilter, unwrapStorify, unwrapStreak, unwrapStreamsend, unwrapStumbleupon, unwrapSubscribeRu, unwrapSubstack, unwrapSurly, unwrapSurugaya, unwrapSwap, unwrapSymantecClicktime, unwrapSymplicity, unwrapTargetCircle, unwrapTeacup, unwrapTelegramIv, unwrapTheRegister, unwrapThreadsShim, unwrapTiktok, unwrapTitanhqLinklock, unwrapTopsec, unwrapToucharcade, unwrapTracdelight, unwrapTradedoubler, unwrapTradetracker, unwrapTravelpayouts, unwrapTrendMicro, unwrapTriplelift, unwrapTrustwaveScanmail, unwrapTrxHub, unwrapTumblr, unwrapTwitterRedirect, unwrapTwoCheckout, unwrapUinterbox, unwrapUkWebArchive, unwrapUkgwa, unwrapUnescoWebArchive, unwrapUnhcrWebArchive, unwrapUnisender, unwrapUpAudio, unwrapUrl, unwrapVadeSecure, unwrapValuePress, unwrapValuecommerce, unwrapVanilla, unwrapVbulletin, unwrapVefsafn, unwrapVgWort, unwrapViglink, unwrapVirgool, unwrapVisibli, unwrapVkAway, unwrapVocus, unwrapVoxnest, unwrapVpixl, unwrapVuture, unwrapWebArchive, unwrapWebcitation, unwrapWebgains, unwrapWebharvest, unwrapWikiwix, unwrapWikizero, unwrapWordpressEmail, unwrapWordpressGo2, unwrapWorldNomads, unwrapWpPoczta, unwrapXengentr, unwrapXiaoyuzhou, unwrapXimalaya, unwrapYahooJapan, unwrapYahooJapanAmpViewer, unwrapYahooSearch, unwrapYamm, unwrapYandexMail, unwrapYandexTranslate, unwrapYandexTurbo, unwrapYelp, unwrapYesware, unwrapYouTube, unwrapYourMembership, unwrapZanox, unwrapZayads, unwrapZemanta, unwrapZencastr, unwrapZhihu, unwrapZix, unwrapZscalerIsolation, visitorIdParams };
package/dist/index.mjs CHANGED
@@ -1,5 +1,8 @@
1
- import { trackingParamsLiterals } from "./tracking/literals.mjs";
2
- import { trackingParamsPatterns } from "./tracking/patterns.mjs";
1
+ import { affiliateParams } from "./tracking/affiliate.mjs";
2
+ import { campaignParams } from "./tracking/campaign.mjs";
3
+ import { clickAttributionParams } from "./tracking/clickAttribution.mjs";
4
+ import { housekeepingParams } from "./tracking/housekeeping.mjs";
5
+ import { visitorIdParams } from "./tracking/visitorId.mjs";
3
6
  import { createParamExtractor } from "./utils.mjs";
4
7
  import { unwrap2performant } from "./unwraps/2performant.mjs";
5
8
  import { unwrap4pda } from "./unwraps/4pda.mjs";
@@ -149,6 +152,7 @@ import { unwrapGoogleNewsModern } from "./unwraps/googleNewsModern.mjs";
149
152
  import { unwrapGoogleScholar } from "./unwraps/googleScholar.mjs";
150
153
  import { unwrapGoogleTranslate } from "./unwraps/googleTranslate.mjs";
151
154
  import { unwrapGoogleWebLight } from "./unwraps/googleWebLight.mjs";
155
+ import { unwrapGovdelivery } from "./unwraps/govdelivery.mjs";
152
156
  import { unwrapGroupMail } from "./unwraps/groupMail.mjs";
153
157
  import { unwrapGroupon } from "./unwraps/groupon.mjs";
154
158
  import { unwrapGumball } from "./unwraps/gumball.mjs";
@@ -382,6 +386,6 @@ import { unwrapZencastr } from "./unwraps/zencastr.mjs";
382
386
  import { unwrapZhihu } from "./unwraps/zhihu.mjs";
383
387
  import { unwrapZix } from "./unwraps/zix.mjs";
384
388
  import { unwrapZscalerIsolation } from "./unwraps/zscalerIsolation.mjs";
385
- import { advertisingUnwrappers, affiliateUnwrappers, archiveProxyUnwrappers, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers } from "./defaults.mjs";
389
+ import { advertisingUnwrappers, affiliateUnwrappers, archiveProxyUnwrappers, clickCounterUnwrappers, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, trackingParamsLiterals, trackingParamsPatterns } from "./defaults.mjs";
386
390
  import { cleanUrl, stripTrackingParams, unwrapUrl } from "./clean.mjs";
387
- export { advertisingUnwrappers, affiliateUnwrappers, archiveProxyUnwrappers, cleanUrl, createParamExtractor, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrap12ft, unwrap2performant, unwrap4pda, unwrapA8Net, unwrapAboutCom, unwrapAcast, unwrapAccesstrade, unwrapAceml, unwrapAdcell, unwrapAdfly, unwrapAdjust, unwrapAdmitad, unwrapAdrecord, unwrapAdtraction, unwrapAffilae, unwrapAffiliateFuture, unwrapAffiliatesOne, unwrapAliexpress, unwrapAliyun, unwrapAllblog, unwrapAmazonAffiliate, unwrapAmazonSes, unwrapAmpCache, unwrapAnchor, unwrapAnonymTo, unwrapAnonymouse, unwrapAppsflyerOnelink, unwrapApptrkr, unwrapArchiveToday, unwrapArquivo, unwrapArttrack, unwrapArxiv, unwrapAsk, unwrapAugure, unwrapAusha, unwrapAvantlink, unwrapAwesound, unwrapAwin, unwrapAxigen, unwrapBabyblog, unwrapBacLacWebArchive, unwrapBale, unwrapBananatag, unwrapBarracudaLinkProtect, unwrapBig5Gate, unwrapBing, unwrapBingAds, unwrapBitrix, unwrapBitrixBanner, unwrapBizrate, unwrapBlubrry, unwrapBlueskyRedirect, unwrapBolPartner, unwrapBridgyFed, unwrapBusinessWire, unwrapButton, unwrapBuyAt, unwrapBuybox, unwrapBuzzstream, unwrapBytedance, unwrapCake, unwrapCalendly, unwrapCanva, unwrapCastPlus, unwrapCcbill, unwrapChartable, unwrapCheckPointHarmony, unwrapChitika, unwrapCiscoSecureWeb, unwrapCjNetwork, unwrapClaritas, unwrapCleverbridge, unwrapClevercomm, unwrapCloudhq, unwrapCloze, unwrapCohst, unwrapCommissionFactory, unwrapCommunicationads, unwrapConstantContact, unwrapContactMonkey, unwrapConvertiser, unwrapCsdn, unwrapCse360, unwrapCuelinks, unwrapDasBlog, unwrapDatalifeEngine, unwrapDeployer, unwrapDerefMail, unwrapDeviantartOutgoing, unwrapDigidip, unwrapDigikala, unwrapDirectMail, unwrapDisqus, unwrapDmmAffiliate, unwrapDognet, unwrapDouban, unwrapDropbox, unwrapDstats, unwrapDuckduckgo, unwrapDuckduckgoAds, unwrapDuomai, unwrapDyn, unwrapDzen, unwrapEClick, unwrapEasyMarketing, unwrapEbayRover, unwrapEbuzzing, unwrapEdgepilot, unwrapEffiliation, unwrapEhub, unwrapElasticEmail, unwrapEmbedly, unwrapEpn, unwrapEsva, unwrapEulerian, unwrapEvernote, unwrapExciteTranslate, unwrapExpediaAffiliate, unwrapFacebookShim, unwrapFanbridge, unwrapFederatedMedia, unwrapFeedStatistics, unwrapFeedblitz, unwrapFeedsportal, unwrapFinalsite, unwrapFirebaseDynamicLinks, unwrapFireeye, unwrapFirstory, unwrapFiveByFive, unwrapFiverr, unwrapFlexoffers, unwrapFlipboard, unwrapFortimail, unwrapFtc, unwrapGateSc, unwrapGeoriot, unwrapGfnLinkProxy, unwrapGitee, unwrapGlueUp, unwrapGodcaster, unwrapGoogle, unwrapGoogleAds, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapGoogleWebLight, unwrapGroupMail, unwrapGroupon, unwrapGumball, unwrapGurunavi, unwrapHackerone, unwrapHashnode, unwrapHasoffers, unwrapHearthis, unwrapHellohq, unwrapHirkereso, unwrapHorde, unwrapHornetsecurity, unwrapHrefLi, unwrapHubspotSidekick, unwrapIcptrack, unwrapIgafnl, unwrapImpact, unwrapIndexHu, unwrapInfospace, unwrapInsiderAffiliate, unwrapInstagramShim, unwrapIntranetQuorum, unwrapInvisionNoExternalLinks, unwrapInvolveAsia, unwrapIrs, unwrapJianshuGo, unwrapJive, unwrapJuejin, unwrapJustwatch, unwrapKlook, unwrapLazada, unwrapLd246, unwrapLetscast, unwrapLeverAnalytics, unwrapLinkA, unwrapLinkconnector, unwrapLinkedin, unwrapLinksynergy, unwrapLinktrust, unwrapLinkwise, unwrapLivejournal, unwrapLnkam, unwrapLocWebArchive, unwrapLocaweb, unwrapLogicboard, unwrapMagellan, unwrapMagnetmail, unwrapMail2easy, unwrapMailRu, unwrapMailRuLink, unwrapMailchimp, unwrapMailinblack, unwrapMailpanion, unwrapMailpgn, unwrapMailstat, unwrapMailtrack, unwrapMandrill, unwrapMarketwire, unwrapMcas, unwrapMedium, unwrapMegalodon, unwrapMimecast, unwrapMinistryCloud, unwrapMintDownloads, unwrapMintFeeder, unwrapMohtwize, unwrapMoshimo, unwrapMozillaOutgoing, unwrapMyNewsletterBuilder, unwrapNarrativ, unwrapNatlibNz, unwrapNaverOutgoing, unwrapNcls, unwrapNdlWarp, unwrapNetaffiliation, unwrapNetcentrum, unwrapNewswire, unwrapNicoMs, unwrapNimble, unwrapNlaWebarchive, unwrapNodeseek, unwrapOkRu, unwrapOp3, unwrapOrkut, unwrapOsnova, unwrapOutlookSafelinks, unwrapOutlookWebAccess, unwrapPagefreezer, unwrapPartnerAds, unwrapPbs, unwrapPhilpapers, unwrapPinterest, unwrapPipedrive, unwrapPocket, unwrapPodcorn, unwrapPodder, unwrapPodkite, unwrapPodroll, unwrapPodscribe, unwrapPodsights, unwrapPodtrac, unwrapPodup, unwrapPostAffiliatePro, unwrapPostmark, unwrapPrNewswire, unwrapPrezly, unwrapPriceGrabber, unwrapPromoJukebox, unwrapProofpointIsolation, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPrweb, unwrapQualityClick, unwrapRakutenAffiliate, unwrapRamblerMail, unwrapRecruitics, unwrapRedditOut, unwrapRediffmail, unwrapRedirectingat, unwrapResearchgate, unwrapReverbnation, unwrapReviveAdserver, unwrapSalesdoubler, unwrapSalesflare, unwrapSalesforceiq, unwrapSaleshandy, unwrapSalsa, unwrapSapHelp, unwrapSbsAd, unwrapSegmentfault, unwrapSerendipity, unwrapShareasale, unwrapShareit, unwrapSkimlinks, unwrapSkyrock, unwrapSlack, unwrapSlickdeals, unwrapSmartAdserver, unwrapSmartredirect, unwrapSmry, unwrapSophos, unwrapSoundOn, unwrapSoundcloud, unwrapSoundstack, unwrapSquarespaceEmail, unwrapSspai, unwrapStay22, unwrapSteamLinkfilter, unwrapStorify, unwrapStreak, unwrapStreamsend, unwrapStumbleupon, unwrapSubscribeRu, unwrapSubstack, unwrapSurly, unwrapSurugaya, unwrapSwap, unwrapSymantecClicktime, unwrapSymplicity, unwrapTargetCircle, unwrapTeacup, unwrapTelegramIv, unwrapTheRegister, unwrapThreadsShim, unwrapTiktok, unwrapTitanhqLinklock, unwrapTopsec, unwrapToucharcade, unwrapTracdelight, unwrapTradedoubler, unwrapTradetracker, unwrapTravelpayouts, unwrapTrendMicro, unwrapTriplelift, unwrapTrustwaveScanmail, unwrapTrxHub, unwrapTumblr, unwrapTwitterRedirect, unwrapTwoCheckout, unwrapUinterbox, unwrapUkWebArchive, unwrapUkgwa, unwrapUnescoWebArchive, unwrapUnhcrWebArchive, unwrapUnisender, unwrapUpAudio, unwrapUrl, unwrapVadeSecure, unwrapValuePress, unwrapValuecommerce, unwrapVanilla, unwrapVbulletin, unwrapVefsafn, unwrapVgWort, unwrapViglink, unwrapVirgool, unwrapVisibli, unwrapVkAway, unwrapVocus, unwrapVoxnest, unwrapVpixl, unwrapVuture, unwrapWebArchive, unwrapWebcitation, unwrapWebgains, unwrapWebharvest, unwrapWikiwix, unwrapWikizero, unwrapWordpressEmail, unwrapWordpressGo2, unwrapWorldNomads, unwrapWpPoczta, unwrapXengentr, unwrapXiaoyuzhou, unwrapXimalaya, unwrapYahooJapan, unwrapYahooJapanAmpViewer, unwrapYahooSearch, unwrapYamm, unwrapYandexMail, unwrapYandexTranslate, unwrapYandexTurbo, unwrapYelp, unwrapYesware, unwrapYouTube, unwrapYourMembership, unwrapZanox, unwrapZayads, unwrapZemanta, unwrapZencastr, unwrapZhihu, unwrapZix, unwrapZscalerIsolation };
391
+ export { advertisingUnwrappers, affiliateParams, affiliateUnwrappers, archiveProxyUnwrappers, campaignParams, cleanUrl, clickAttributionParams, clickCounterUnwrappers, createParamExtractor, defaultTrackingParams, defaultUnwrappers, downloadMeasurementUnwrappers, emailTrackingUnwrappers, housekeepingParams, linkShimUnwrappers, pressReleaseUnwrappers, searchClickUnwrappers, securityGatewayUnwrappers, signInShimUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrap12ft, unwrap2performant, unwrap4pda, unwrapA8Net, unwrapAboutCom, unwrapAcast, unwrapAccesstrade, unwrapAceml, unwrapAdcell, unwrapAdfly, unwrapAdjust, unwrapAdmitad, unwrapAdrecord, unwrapAdtraction, unwrapAffilae, unwrapAffiliateFuture, unwrapAffiliatesOne, unwrapAliexpress, unwrapAliyun, unwrapAllblog, unwrapAmazonAffiliate, unwrapAmazonSes, unwrapAmpCache, unwrapAnchor, unwrapAnonymTo, unwrapAnonymouse, unwrapAppsflyerOnelink, unwrapApptrkr, unwrapArchiveToday, unwrapArquivo, unwrapArttrack, unwrapArxiv, unwrapAsk, unwrapAugure, unwrapAusha, unwrapAvantlink, unwrapAwesound, unwrapAwin, unwrapAxigen, unwrapBabyblog, unwrapBacLacWebArchive, unwrapBale, unwrapBananatag, unwrapBarracudaLinkProtect, unwrapBig5Gate, unwrapBing, unwrapBingAds, unwrapBitrix, unwrapBitrixBanner, unwrapBizrate, unwrapBlubrry, unwrapBlueskyRedirect, unwrapBolPartner, unwrapBridgyFed, unwrapBusinessWire, unwrapButton, unwrapBuyAt, unwrapBuybox, unwrapBuzzstream, unwrapBytedance, unwrapCake, unwrapCalendly, unwrapCanva, unwrapCastPlus, unwrapCcbill, unwrapChartable, unwrapCheckPointHarmony, unwrapChitika, unwrapCiscoSecureWeb, unwrapCjNetwork, unwrapClaritas, unwrapCleverbridge, unwrapClevercomm, unwrapCloudhq, unwrapCloze, unwrapCohst, unwrapCommissionFactory, unwrapCommunicationads, unwrapConstantContact, unwrapContactMonkey, unwrapConvertiser, unwrapCsdn, unwrapCse360, unwrapCuelinks, unwrapDasBlog, unwrapDatalifeEngine, unwrapDeployer, unwrapDerefMail, unwrapDeviantartOutgoing, unwrapDigidip, unwrapDigikala, unwrapDirectMail, unwrapDisqus, unwrapDmmAffiliate, unwrapDognet, unwrapDouban, unwrapDropbox, unwrapDstats, unwrapDuckduckgo, unwrapDuckduckgoAds, unwrapDuomai, unwrapDyn, unwrapDzen, unwrapEClick, unwrapEasyMarketing, unwrapEbayRover, unwrapEbuzzing, unwrapEdgepilot, unwrapEffiliation, unwrapEhub, unwrapElasticEmail, unwrapEmbedly, unwrapEpn, unwrapEsva, unwrapEulerian, unwrapEvernote, unwrapExciteTranslate, unwrapExpediaAffiliate, unwrapFacebookShim, unwrapFanbridge, unwrapFederatedMedia, unwrapFeedStatistics, unwrapFeedblitz, unwrapFeedsportal, unwrapFinalsite, unwrapFirebaseDynamicLinks, unwrapFireeye, unwrapFirstory, unwrapFiveByFive, unwrapFiverr, unwrapFlexoffers, unwrapFlipboard, unwrapFortimail, unwrapFtc, unwrapGateSc, unwrapGeoriot, unwrapGfnLinkProxy, unwrapGitee, unwrapGlueUp, unwrapGodcaster, unwrapGoogle, unwrapGoogleAds, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapGoogleWebLight, unwrapGovdelivery, unwrapGroupMail, unwrapGroupon, unwrapGumball, unwrapGurunavi, unwrapHackerone, unwrapHashnode, unwrapHasoffers, unwrapHearthis, unwrapHellohq, unwrapHirkereso, unwrapHorde, unwrapHornetsecurity, unwrapHrefLi, unwrapHubspotSidekick, unwrapIcptrack, unwrapIgafnl, unwrapImpact, unwrapIndexHu, unwrapInfospace, unwrapInsiderAffiliate, unwrapInstagramShim, unwrapIntranetQuorum, unwrapInvisionNoExternalLinks, unwrapInvolveAsia, unwrapIrs, unwrapJianshuGo, unwrapJive, unwrapJuejin, unwrapJustwatch, unwrapKlook, unwrapLazada, unwrapLd246, unwrapLetscast, unwrapLeverAnalytics, unwrapLinkA, unwrapLinkconnector, unwrapLinkedin, unwrapLinksynergy, unwrapLinktrust, unwrapLinkwise, unwrapLivejournal, unwrapLnkam, unwrapLocWebArchive, unwrapLocaweb, unwrapLogicboard, unwrapMagellan, unwrapMagnetmail, unwrapMail2easy, unwrapMailRu, unwrapMailRuLink, unwrapMailchimp, unwrapMailinblack, unwrapMailpanion, unwrapMailpgn, unwrapMailstat, unwrapMailtrack, unwrapMandrill, unwrapMarketwire, unwrapMcas, unwrapMedium, unwrapMegalodon, unwrapMimecast, unwrapMinistryCloud, unwrapMintDownloads, unwrapMintFeeder, unwrapMohtwize, unwrapMoshimo, unwrapMozillaOutgoing, unwrapMyNewsletterBuilder, unwrapNarrativ, unwrapNatlibNz, unwrapNaverOutgoing, unwrapNcls, unwrapNdlWarp, unwrapNetaffiliation, unwrapNetcentrum, unwrapNewswire, unwrapNicoMs, unwrapNimble, unwrapNlaWebarchive, unwrapNodeseek, unwrapOkRu, unwrapOp3, unwrapOrkut, unwrapOsnova, unwrapOutlookSafelinks, unwrapOutlookWebAccess, unwrapPagefreezer, unwrapPartnerAds, unwrapPbs, unwrapPhilpapers, unwrapPinterest, unwrapPipedrive, unwrapPocket, unwrapPodcorn, unwrapPodder, unwrapPodkite, unwrapPodroll, unwrapPodscribe, unwrapPodsights, unwrapPodtrac, unwrapPodup, unwrapPostAffiliatePro, unwrapPostmark, unwrapPrNewswire, unwrapPrezly, unwrapPriceGrabber, unwrapPromoJukebox, unwrapProofpointIsolation, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPrweb, unwrapQualityClick, unwrapRakutenAffiliate, unwrapRamblerMail, unwrapRecruitics, unwrapRedditOut, unwrapRediffmail, unwrapRedirectingat, unwrapResearchgate, unwrapReverbnation, unwrapReviveAdserver, unwrapSalesdoubler, unwrapSalesflare, unwrapSalesforceiq, unwrapSaleshandy, unwrapSalsa, unwrapSapHelp, unwrapSbsAd, unwrapSegmentfault, unwrapSerendipity, unwrapShareasale, unwrapShareit, unwrapSkimlinks, unwrapSkyrock, unwrapSlack, unwrapSlickdeals, unwrapSmartAdserver, unwrapSmartredirect, unwrapSmry, unwrapSophos, unwrapSoundOn, unwrapSoundcloud, unwrapSoundstack, unwrapSquarespaceEmail, unwrapSspai, unwrapStay22, unwrapSteamLinkfilter, unwrapStorify, unwrapStreak, unwrapStreamsend, unwrapStumbleupon, unwrapSubscribeRu, unwrapSubstack, unwrapSurly, unwrapSurugaya, unwrapSwap, unwrapSymantecClicktime, unwrapSymplicity, unwrapTargetCircle, unwrapTeacup, unwrapTelegramIv, unwrapTheRegister, unwrapThreadsShim, unwrapTiktok, unwrapTitanhqLinklock, unwrapTopsec, unwrapToucharcade, unwrapTracdelight, unwrapTradedoubler, unwrapTradetracker, unwrapTravelpayouts, unwrapTrendMicro, unwrapTriplelift, unwrapTrustwaveScanmail, unwrapTrxHub, unwrapTumblr, unwrapTwitterRedirect, unwrapTwoCheckout, unwrapUinterbox, unwrapUkWebArchive, unwrapUkgwa, unwrapUnescoWebArchive, unwrapUnhcrWebArchive, unwrapUnisender, unwrapUpAudio, unwrapUrl, unwrapVadeSecure, unwrapValuePress, unwrapValuecommerce, unwrapVanilla, unwrapVbulletin, unwrapVefsafn, unwrapVgWort, unwrapViglink, unwrapVirgool, unwrapVisibli, unwrapVkAway, unwrapVocus, unwrapVoxnest, unwrapVpixl, unwrapVuture, unwrapWebArchive, unwrapWebcitation, unwrapWebgains, unwrapWebharvest, unwrapWikiwix, unwrapWikizero, unwrapWordpressEmail, unwrapWordpressGo2, unwrapWorldNomads, unwrapWpPoczta, unwrapXengentr, unwrapXiaoyuzhou, unwrapXimalaya, unwrapYahooJapan, unwrapYahooJapanAmpViewer, unwrapYahooSearch, unwrapYamm, unwrapYandexMail, unwrapYandexTranslate, unwrapYandexTurbo, unwrapYelp, unwrapYesware, unwrapYouTube, unwrapYourMembership, unwrapZanox, unwrapZayads, unwrapZemanta, unwrapZencastr, unwrapZhihu, unwrapZix, unwrapZscalerIsolation, visitorIdParams };
@@ -38,11 +38,36 @@ const isHttpUrl = (url) => {
38
38
  const isHostOrSubdomainOf = (url, domains) => {
39
39
  return isHostOf(url, domains) || isSubdomainOf(url, domains);
40
40
  };
41
- const decodeSegment = (segment) => {
42
- if (segment === void 0) return;
41
+ const escapeRunRegex = /(?:%[0-9A-Fa-f]{2})+/g;
42
+ const getSequenceLength = (byte) => {
43
+ if (byte < 128) return 1;
44
+ if (byte >= 194 && byte < 224) return 2;
45
+ if (byte >= 224 && byte < 240) return 3;
46
+ if (byte >= 240 && byte < 245) return 4;
47
+ return 0;
48
+ };
49
+ const decodeEscapeRun = (run) => {
43
50
  try {
44
- return decodeURIComponent(segment);
51
+ return decodeURIComponent(run);
45
52
  } catch {}
53
+ const count = run.length / 3;
54
+ let decoded = "";
55
+ let index = 0;
56
+ while (index < count) {
57
+ const start = index * 3;
58
+ const length = getSequenceLength(Number.parseInt(run.slice(start + 1, start + 3), 16));
59
+ if (length && index + length <= count) try {
60
+ decoded += decodeURIComponent(run.slice(start, start + length * 3));
61
+ index += length;
62
+ continue;
63
+ } catch {}
64
+ decoded += run.slice(start, start + 3);
65
+ index += 1;
66
+ }
67
+ return decoded;
68
+ };
69
+ const decodePercent = (value) => {
70
+ return value.replace(escapeRunRegex, decodeEscapeRun);
46
71
  };
47
72
  const strippedParamsCache = /* @__PURE__ */ new WeakMap();
48
73
  const getStrippedParamsSet = (params) => {
@@ -102,6 +127,10 @@ const fixMalformedScheme = (url) => {
102
127
  }
103
128
  return url;
104
129
  };
130
+ const segmentEdgeSpace = "(?:\\s|%(?:09|0A|0D|20))";
131
+ const valueEdgeSpace = "(?:\\s|\\+|%(?:09|0A|0D|20))";
132
+ new RegExp(`^${segmentEdgeSpace}+|(?<!${segmentEdgeSpace})${segmentEdgeSpace}+$`, "gi");
133
+ new RegExp(`^${valueEdgeSpace}+|(?<!${valueEdgeSpace})${valueEdgeSpace}+$`, "gi");
105
134
  const addMissingScheme = (url, scheme = "https") => {
106
135
  if (url.startsWith("[")) return parseUrl(`${scheme}://${url}`) ? `${scheme}://${url}` : url;
107
136
  const colonIndex = url.indexOf(":");
@@ -203,4 +232,4 @@ const fixMalformedProtocol = fixMalformedScheme;
203
232
  /** @deprecated Use `addMissingScheme` instead. */
204
233
  const addMissingProtocol = addMissingScheme;
205
234
  //#endregion
206
- export { addMissingProtocol, addMissingScheme, decodeSegment, fixMalformedProtocol, fixMalformedScheme, isHostOf, isHostOrSubdomainOf, isHttpUrl, isIpAddress, isSubdomainOf, normalizeUrl, parseUrl, stripWww };
235
+ export { addMissingProtocol, addMissingScheme, decodePercent, fixMalformedProtocol, fixMalformedScheme, isHostOf, isHostOrSubdomainOf, isHttpUrl, isIpAddress, isSubdomainOf, normalizeUrl, parseUrl, stripWww };
@@ -0,0 +1,4 @@
1
+ import { TrackingParam } from "../types.mjs";
2
+ //#region src/tracking/affiliate.d.ts
3
+ export declare const affiliateParams: Array<TrackingParam>;
4
+ //#endregion
@@ -0,0 +1,18 @@
1
+ //#region src/tracking/affiliate.ts
2
+ const affiliateParams = [
3
+ "awinaffid",
4
+ "awinmid",
5
+ "clickref",
6
+ "afftrack",
7
+ "sscid",
8
+ "awc",
9
+ "cjevent",
10
+ "cjdata",
11
+ "irclickid",
12
+ "irgwc",
13
+ "ir_adid",
14
+ "ir_campaignid",
15
+ "ir_partnerid"
16
+ ];
17
+ //#endregion
18
+ export { affiliateParams };
@@ -0,0 +1,4 @@
1
+ import { TrackingParam } from "../types.mjs";
2
+ //#region src/tracking/campaign.d.ts
3
+ export declare const campaignParams: Array<TrackingParam>;
4
+ //#endregion
@@ -0,0 +1,77 @@
1
+ //#region src/tracking/campaign.ts
2
+ const campaignParams = [
3
+ "utm_source",
4
+ "utm_medium",
5
+ "utm_campaign",
6
+ "utm_term",
7
+ "utm_content",
8
+ "utm_reader",
9
+ "utm_name",
10
+ "utm_viz_id",
11
+ "mc_cid",
12
+ "mtm_campaign",
13
+ "mtm_cid",
14
+ "mtm_content",
15
+ "mtm_group",
16
+ "mtm_keyword",
17
+ "mtm_medium",
18
+ "mtm_placement",
19
+ "mtm_source",
20
+ "pk_campaign",
21
+ "pk_cid",
22
+ "pk_content",
23
+ "pk_keyword",
24
+ "pk_medium",
25
+ "pk_source",
26
+ "ncid",
27
+ "sr_share",
28
+ "cmpid",
29
+ "sc_cid",
30
+ "s_cid",
31
+ "wt_mc",
32
+ "wt_zmc",
33
+ "_openstat",
34
+ "itm_source",
35
+ "itm_medium",
36
+ "itm_campaign",
37
+ "itm_content",
38
+ "itm_channel",
39
+ "itm_audience",
40
+ "int_source",
41
+ "int_medium",
42
+ "int_campaign",
43
+ "int_content",
44
+ "int_placement",
45
+ "int_campaign_type",
46
+ "int_keycode",
47
+ "g2i_source",
48
+ "g2i_medium",
49
+ "g2i_campaign",
50
+ "g2i_or_o",
51
+ "g2i_or_p",
52
+ "at_campaign",
53
+ "at_custom1",
54
+ "at_custom2",
55
+ "at_custom3",
56
+ "at_custom4",
57
+ "at_medium",
58
+ "campaign_id",
59
+ "hmb_campaign",
60
+ "hmb_medium",
61
+ "hmb_source",
62
+ "referer",
63
+ "referrer",
64
+ "xtor",
65
+ /^utm_[a-z0-9_-]+$/,
66
+ /^stm_[a-z0-9_-]+$/,
67
+ /^mtm_[a-z0-9_]+$/,
68
+ /^pk_[a-z0-9_]+$/,
69
+ /^piwik_[a-z0-9_]+$/,
70
+ /^itm_[a-z0-9_]+$/,
71
+ /^int_[a-z0-9_]+$/,
72
+ /^at_[a-z0-9_]+$/,
73
+ /^g2i_[a-z0-9_]+$/,
74
+ /^cm_mmca?\d*$/
75
+ ];
76
+ //#endregion
77
+ export { campaignParams };
@@ -0,0 +1,4 @@
1
+ import { TrackingParam } from "../types.mjs";
2
+ //#region src/tracking/clickAttribution.d.ts
3
+ export declare const clickAttributionParams: Array<TrackingParam>;
4
+ //#endregion
@@ -0,0 +1,53 @@
1
+ //#region src/tracking/clickAttribution.ts
2
+ const clickAttributionParams = [
3
+ "gclid",
4
+ "dclid",
5
+ "gbraid",
6
+ "wbraid",
7
+ "gclsrc",
8
+ "gad_source",
9
+ "gad_campaignid",
10
+ "srsltid",
11
+ "fbclid",
12
+ "fb_action_types",
13
+ "fb_source",
14
+ "fb_ref",
15
+ "msclkid",
16
+ "twclid",
17
+ "__twitter_impression",
18
+ "ttclid",
19
+ "hsa_acc",
20
+ "hsa_ad",
21
+ "hsa_cam",
22
+ "hsa_grp",
23
+ "hsa_kw",
24
+ "hsa_mt",
25
+ "hsa_net",
26
+ "hsa_src",
27
+ "hsa_tgt",
28
+ "hsa_ver",
29
+ "s_kwcid",
30
+ "ef_id",
31
+ "cx_click",
32
+ "cx_recsOrder",
33
+ "cx_recsWidget",
34
+ "obOrigUrl",
35
+ "dicbo",
36
+ "yclid",
37
+ "ysclid",
38
+ "action_object_map",
39
+ "action_ref_map",
40
+ "action_type_map",
41
+ "algo_expid",
42
+ "algo_pvid",
43
+ "click_sum",
44
+ "fref",
45
+ "gs_l",
46
+ "rb_clickid",
47
+ "spm",
48
+ "trk",
49
+ "wickedid",
50
+ /^hsa_[a-z0-9_]+$/
51
+ ];
52
+ //#endregion
53
+ export { clickAttributionParams };
@@ -0,0 +1,4 @@
1
+ import { TrackingParam } from "../types.mjs";
2
+ //#region src/tracking/housekeeping.d.ts
3
+ export declare const housekeepingParams: Array<TrackingParam>;
4
+ //#endregion