urlpurify 2.2.1 → 2.3.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 (370) hide show
  1. package/README.md +96 -45
  2. package/dist/clean.d.mts +1 -0
  3. package/dist/clean.mjs +56 -19
  4. package/dist/defaults.d.mts +7 -1
  5. package/dist/defaults.mjs +160 -3
  6. package/dist/index.d.mts +79 -4
  7. package/dist/index.mjs +79 -4
  8. package/dist/node_modules/entities/dist/decode-codepoint.mjs +2 -2
  9. package/dist/node_modules/entities/dist/decode.mjs +262 -247
  10. package/dist/node_modules/entities/dist/generated/decode-data-html.mjs +8 -4
  11. package/dist/node_modules/entities/dist/internal/decode-data-format.mjs +116 -0
  12. package/dist/node_modules/trousse/dist/is.mjs +7 -1
  13. package/dist/node_modules/trousse/dist/locales.mjs +21 -0
  14. package/dist/node_modules/trousse/dist/matching.mjs +22 -20
  15. package/dist/node_modules/trousse/dist/urls.mjs +186 -53
  16. package/dist/pathTarget.mjs +2 -2
  17. package/dist/tracking/clickAttribution.mjs +26 -1
  18. package/dist/tracking/housekeeping.mjs +13 -1
  19. package/dist/tracking/session.d.mts +2 -0
  20. package/dist/tracking/session.mjs +12 -0
  21. package/dist/types.d.mts +7 -1
  22. package/dist/unwraps/a8Net.mjs +1 -1
  23. package/dist/unwraps/acast.mjs +1 -1
  24. package/dist/unwraps/accesstrade.mjs +1 -1
  25. package/dist/unwraps/aceml.mjs +2 -2
  26. package/dist/unwraps/adcell.mjs +1 -1
  27. package/dist/unwraps/addThis.d.mts +2 -0
  28. package/dist/unwraps/addThis.mjs +17 -0
  29. package/dist/unwraps/addToAny.d.mts +2 -0
  30. package/dist/unwraps/addToAny.mjs +21 -0
  31. package/dist/unwraps/addToAnySubscribe.d.mts +2 -0
  32. package/dist/unwraps/addToAnySubscribe.mjs +8 -0
  33. package/dist/unwraps/addToMyYahoo.d.mts +2 -0
  34. package/dist/unwraps/addToMyYahoo.mjs +29 -0
  35. package/dist/unwraps/adfly.mjs +1 -1
  36. package/dist/unwraps/admitad.mjs +1 -1
  37. package/dist/unwraps/affilae.mjs +2 -1
  38. package/dist/unwraps/affiliatesOne.mjs +1 -1
  39. package/dist/unwraps/allblog.mjs +1 -1
  40. package/dist/unwraps/amazonAffiliate.mjs +5 -4
  41. package/dist/unwraps/amazonSes.mjs +2 -2
  42. package/dist/unwraps/ampCache.mjs +4 -3
  43. package/dist/unwraps/ampCacheImage.mjs +1 -1
  44. package/dist/unwraps/anchor.mjs +1 -1
  45. package/dist/unwraps/anonymouse.mjs +1 -1
  46. package/dist/unwraps/antennaPod.d.mts +2 -0
  47. package/dist/unwraps/antennaPod.mjs +15 -0
  48. package/dist/unwraps/anytimePlayer.d.mts +2 -0
  49. package/dist/unwraps/anytimePlayer.mjs +17 -0
  50. package/dist/unwraps/apptrkr.mjs +2 -1
  51. package/dist/unwraps/archiveToday.mjs +2 -2
  52. package/dist/unwraps/arquivo.mjs +1 -1
  53. package/dist/unwraps/arttrack.mjs +1 -1
  54. package/dist/unwraps/augure.mjs +3 -3
  55. package/dist/unwraps/awesound.mjs +1 -1
  56. package/dist/unwraps/axigen.mjs +2 -1
  57. package/dist/unwraps/bacLacWebArchive.mjs +1 -1
  58. package/dist/unwraps/bananatag.mjs +1 -1
  59. package/dist/unwraps/big5Gate.mjs +1 -1
  60. package/dist/unwraps/bing.mjs +7 -7
  61. package/dist/unwraps/bingAds.mjs +4 -4
  62. package/dist/unwraps/bitrix.mjs +2 -1
  63. package/dist/unwraps/bitrixBanner.mjs +2 -1
  64. package/dist/unwraps/blinkList.d.mts +2 -0
  65. package/dist/unwraps/blinkList.mjs +8 -0
  66. package/dist/unwraps/bloggerBlogThis.d.mts +2 -0
  67. package/dist/unwraps/bloggerBlogThis.mjs +16 -0
  68. package/dist/unwraps/bloggerImageProxy.mjs +2 -1
  69. package/dist/unwraps/bloglines.d.mts +2 -0
  70. package/dist/unwraps/bloglines.mjs +21 -0
  71. package/dist/unwraps/bridgyFed.mjs +1 -1
  72. package/dist/unwraps/buffer.d.mts +2 -0
  73. package/dist/unwraps/buffer.mjs +23 -0
  74. package/dist/unwraps/buybox.mjs +1 -1
  75. package/dist/unwraps/buzzstream.mjs +1 -1
  76. package/dist/unwraps/checkPointHarmony.mjs +2 -2
  77. package/dist/unwraps/cjNetwork.mjs +3 -3
  78. package/dist/unwraps/claritas.mjs +2 -2
  79. package/dist/unwraps/cleverbridge.mjs +1 -1
  80. package/dist/unwraps/cloudhq.mjs +1 -1
  81. package/dist/unwraps/cloze.mjs +1 -1
  82. package/dist/unwraps/cohst.mjs +1 -1
  83. package/dist/unwraps/contactMonkey.mjs +3 -2
  84. package/dist/unwraps/convertiser.mjs +1 -1
  85. package/dist/unwraps/cse360.mjs +1 -1
  86. package/dist/unwraps/dasBlog.mjs +1 -1
  87. package/dist/unwraps/datalifeEngine.mjs +5 -4
  88. package/dist/unwraps/delicious.d.mts +2 -0
  89. package/dist/unwraps/delicious.mjs +15 -0
  90. package/dist/unwraps/deployer.mjs +2 -2
  91. package/dist/unwraps/derefMail.mjs +4 -3
  92. package/dist/unwraps/deviantartOutgoing.mjs +1 -1
  93. package/dist/unwraps/diasporaShare.d.mts +2 -0
  94. package/dist/unwraps/diasporaShare.mjs +16 -0
  95. package/dist/unwraps/diggSubmit.d.mts +2 -0
  96. package/dist/unwraps/diggSubmit.mjs +11 -0
  97. package/dist/unwraps/digikala.mjs +3 -3
  98. package/dist/unwraps/diigoPost.d.mts +2 -0
  99. package/dist/unwraps/diigoPost.mjs +12 -0
  100. package/dist/unwraps/disqus.mjs +2 -1
  101. package/dist/unwraps/dstats.mjs +2 -2
  102. package/dist/unwraps/eClick.mjs +1 -1
  103. package/dist/unwraps/easyMarketing.mjs +3 -3
  104. package/dist/unwraps/ebayRover.mjs +1 -1
  105. package/dist/unwraps/ebuzzing.mjs +1 -1
  106. package/dist/unwraps/edgepilot.mjs +1 -1
  107. package/dist/unwraps/effiliation.mjs +1 -1
  108. package/dist/unwraps/elasticEmail.mjs +2 -1
  109. package/dist/unwraps/epn.mjs +1 -1
  110. package/dist/unwraps/eulerian.mjs +1 -1
  111. package/dist/unwraps/evernoteClip.d.mts +2 -0
  112. package/dist/unwraps/evernoteClip.mjs +8 -0
  113. package/dist/unwraps/exciteTranslate.mjs +1 -1
  114. package/dist/unwraps/facebook.mjs +1 -1
  115. package/dist/unwraps/facebookShare.d.mts +2 -0
  116. package/dist/unwraps/facebookShare.mjs +25 -0
  117. package/dist/unwraps/feed2js.d.mts +2 -0
  118. package/dist/unwraps/feed2js.mjs +16 -0
  119. package/dist/unwraps/feedStatistics.mjs +2 -2
  120. package/dist/unwraps/feedValidator.d.mts +2 -0
  121. package/dist/unwraps/feedValidator.mjs +12 -0
  122. package/dist/unwraps/feedblitz.mjs +1 -1
  123. package/dist/unwraps/feedland.d.mts +2 -0
  124. package/dist/unwraps/feedland.mjs +12 -0
  125. package/dist/unwraps/feedly.d.mts +2 -0
  126. package/dist/unwraps/feedly.mjs +28 -0
  127. package/dist/unwraps/feedsportal.mjs +1 -1
  128. package/dist/unwraps/firebaseDynamicLinks.mjs +1 -1
  129. package/dist/unwraps/firstory.mjs +3 -3
  130. package/dist/unwraps/fiveByFive.mjs +2 -2
  131. package/dist/unwraps/flattrSubmit.d.mts +2 -0
  132. package/dist/unwraps/flattrSubmit.mjs +8 -0
  133. package/dist/unwraps/flipboardShare.d.mts +2 -0
  134. package/dist/unwraps/flipboardShare.mjs +15 -0
  135. package/dist/unwraps/fortimail.mjs +2 -1
  136. package/dist/unwraps/friendFeed.d.mts +2 -0
  137. package/dist/unwraps/friendFeed.mjs +18 -0
  138. package/dist/unwraps/gabCompose.d.mts +2 -0
  139. package/dist/unwraps/gabCompose.mjs +8 -0
  140. package/dist/unwraps/genericCarrier.d.mts +2 -0
  141. package/dist/unwraps/genericCarrier.mjs +31 -0
  142. package/dist/unwraps/gfnLinkProxy.mjs +3 -3
  143. package/dist/unwraps/godcaster.mjs +2 -2
  144. package/dist/unwraps/googleAmpViewer.mjs +2 -2
  145. package/dist/unwraps/googleBookmarks.d.mts +2 -0
  146. package/dist/unwraps/googleBookmarks.mjs +8 -0
  147. package/dist/unwraps/googleBuzz.d.mts +2 -0
  148. package/dist/unwraps/googleBuzz.mjs +8 -0
  149. package/dist/unwraps/googleNewsModern.mjs +2 -3
  150. package/dist/unwraps/googlePlusShare.d.mts +2 -0
  151. package/dist/unwraps/googlePlusShare.mjs +11 -0
  152. package/dist/unwraps/googlePodcasts.d.mts +2 -0
  153. package/dist/unwraps/googlePodcasts.mjs +27 -0
  154. package/dist/unwraps/googleReader.d.mts +2 -0
  155. package/dist/unwraps/googleReader.mjs +20 -0
  156. package/dist/unwraps/googleTranslate.mjs +5 -5
  157. package/dist/unwraps/govdelivery.mjs +3 -2
  158. package/dist/unwraps/hackerNewsSubmit.d.mts +2 -0
  159. package/dist/unwraps/hackerNewsSubmit.mjs +8 -0
  160. package/dist/unwraps/hasoffers.mjs +2 -1
  161. package/dist/unwraps/hatenaBookmark.d.mts +2 -0
  162. package/dist/unwraps/hatenaBookmark.mjs +22 -0
  163. package/dist/unwraps/hirkereso.mjs +1 -1
  164. package/dist/unwraps/horde.mjs +1 -1
  165. package/dist/unwraps/hubspotSidekick.mjs +1 -1
  166. package/dist/unwraps/impact.mjs +2 -2
  167. package/dist/unwraps/indexHu.mjs +2 -1
  168. package/dist/unwraps/inoreader.d.mts +2 -0
  169. package/dist/unwraps/inoreader.mjs +22 -0
  170. package/dist/unwraps/instapaperSave.d.mts +2 -0
  171. package/dist/unwraps/instapaperSave.mjs +11 -0
  172. package/dist/unwraps/invisionNoExternalLinks.mjs +1 -1
  173. package/dist/unwraps/involveAsia.mjs +1 -1
  174. package/dist/unwraps/jive.mjs +2 -1
  175. package/dist/unwraps/klook.mjs +2 -1
  176. package/dist/unwraps/lazada.mjs +1 -1
  177. package/dist/unwraps/letscast.mjs +1 -1
  178. package/dist/unwraps/lineShare.d.mts +2 -0
  179. package/dist/unwraps/lineShare.mjs +25 -0
  180. package/dist/unwraps/linkA.mjs +1 -1
  181. package/dist/unwraps/linkedin.mjs +1 -1
  182. package/dist/unwraps/linkedinShare.d.mts +2 -0
  183. package/dist/unwraps/linkedinShare.mjs +15 -0
  184. package/dist/unwraps/linksynergy.mjs +2 -2
  185. package/dist/unwraps/linktrust.mjs +3 -3
  186. package/dist/unwraps/linkwise.mjs +1 -1
  187. package/dist/unwraps/livedoorReader.d.mts +2 -0
  188. package/dist/unwraps/livedoorReader.mjs +12 -0
  189. package/dist/unwraps/locWebArchive.mjs +1 -1
  190. package/dist/unwraps/locaweb.mjs +2 -1
  191. package/dist/unwraps/logicboard.mjs +1 -1
  192. package/dist/unwraps/magellan.mjs +1 -1
  193. package/dist/unwraps/mail2easy.mjs +1 -1
  194. package/dist/unwraps/mailchimp.mjs +1 -1
  195. package/dist/unwraps/mailinblack.mjs +6 -4
  196. package/dist/unwraps/mailstat.mjs +1 -1
  197. package/dist/unwraps/mailtrack.mjs +1 -1
  198. package/dist/unwraps/mandrill.mjs +3 -3
  199. package/dist/unwraps/medium.mjs +5 -5
  200. package/dist/unwraps/meneameSubmit.d.mts +2 -0
  201. package/dist/unwraps/meneameSubmit.mjs +11 -0
  202. package/dist/unwraps/meweShare.d.mts +2 -0
  203. package/dist/unwraps/meweShare.mjs +8 -0
  204. package/dist/unwraps/mimecast.mjs +1 -1
  205. package/dist/unwraps/ministryCloud.mjs +1 -1
  206. package/dist/unwraps/mintDownloads.mjs +1 -1
  207. package/dist/unwraps/mintFeeder.mjs +2 -1
  208. package/dist/unwraps/mohtwize.mjs +6 -4
  209. package/dist/unwraps/morss.d.mts +2 -0
  210. package/dist/unwraps/morss.mjs +13 -0
  211. package/dist/unwraps/mozillaOutgoing.mjs +3 -3
  212. package/dist/unwraps/myAolFeeds.d.mts +2 -0
  213. package/dist/unwraps/myAolFeeds.mjs +8 -0
  214. package/dist/unwraps/narrativ.mjs +1 -1
  215. package/dist/unwraps/natlibNz.mjs +1 -1
  216. package/dist/unwraps/ncls.mjs +2 -1
  217. package/dist/unwraps/ndlWarp.mjs +2 -2
  218. package/dist/unwraps/netaffiliation.mjs +1 -1
  219. package/dist/unwraps/netvibes.d.mts +2 -0
  220. package/dist/unwraps/netvibes.mjs +7 -0
  221. package/dist/unwraps/newsGator.d.mts +2 -0
  222. package/dist/unwraps/newsGator.mjs +17 -0
  223. package/dist/unwraps/newswire.mjs +3 -3
  224. package/dist/unwraps/nicoMs.mjs +1 -1
  225. package/dist/unwraps/nimble.mjs +1 -1
  226. package/dist/unwraps/nlaWebarchive.mjs +3 -3
  227. package/dist/unwraps/okShare.d.mts +2 -0
  228. package/dist/unwraps/okShare.mjs +23 -0
  229. package/dist/unwraps/op3.mjs +1 -1
  230. package/dist/unwraps/outlookSafelinks.mjs +1 -1
  231. package/dist/unwraps/pageflakes.d.mts +2 -0
  232. package/dist/unwraps/pageflakes.mjs +8 -0
  233. package/dist/unwraps/pagefreezer.mjs +2 -2
  234. package/dist/unwraps/partnerAds.mjs +2 -2
  235. package/dist/unwraps/pbs.mjs +1 -1
  236. package/dist/unwraps/pinterestPin.d.mts +2 -0
  237. package/dist/unwraps/pinterestPin.mjs +85 -0
  238. package/dist/unwraps/pipedrive.mjs +1 -1
  239. package/dist/unwraps/playerFm.d.mts +2 -0
  240. package/dist/unwraps/playerFm.mjs +16 -0
  241. package/dist/unwraps/pocketSave.d.mts +2 -0
  242. package/dist/unwraps/pocketSave.mjs +15 -0
  243. package/dist/unwraps/podcastAddict.d.mts +2 -0
  244. package/dist/unwraps/podcastAddict.mjs +14 -0
  245. package/dist/unwraps/podcastReady.d.mts +2 -0
  246. package/dist/unwraps/podcastReady.mjs +8 -0
  247. package/dist/unwraps/podcorn.mjs +1 -1
  248. package/dist/unwraps/podkite.mjs +1 -1
  249. package/dist/unwraps/podscribe.mjs +1 -1
  250. package/dist/unwraps/podsights.mjs +1 -1
  251. package/dist/unwraps/podup.mjs +2 -3
  252. package/dist/unwraps/postAffiliatePro.mjs +1 -1
  253. package/dist/unwraps/postmark.mjs +1 -1
  254. package/dist/unwraps/prNewswire.mjs +2 -2
  255. package/dist/unwraps/prezly.mjs +1 -1
  256. package/dist/unwraps/proofpointV3.mjs +3 -3
  257. package/dist/unwraps/prweb.mjs +2 -2
  258. package/dist/unwraps/prxPlayer.d.mts +2 -0
  259. package/dist/unwraps/prxPlayer.mjs +16 -0
  260. package/dist/unwraps/qqMailReader.d.mts +2 -0
  261. package/dist/unwraps/qqMailReader.mjs +8 -0
  262. package/dist/unwraps/qualityClick.mjs +2 -1
  263. package/dist/unwraps/qzoneShare.d.mts +2 -0
  264. package/dist/unwraps/qzoneShare.mjs +8 -0
  265. package/dist/unwraps/rakutenAffiliate.mjs +3 -3
  266. package/dist/unwraps/redditOut.mjs +1 -1
  267. package/dist/unwraps/redditSubmit.d.mts +2 -0
  268. package/dist/unwraps/redditSubmit.mjs +19 -0
  269. package/dist/unwraps/researchgate.mjs +1 -1
  270. package/dist/unwraps/reviveAdserver.mjs +2 -2
  271. package/dist/unwraps/rssBoardValidator.d.mts +2 -0
  272. package/dist/unwraps/rssBoardValidator.mjs +8 -0
  273. package/dist/unwraps/salesdoubler.mjs +1 -1
  274. package/dist/unwraps/saleshandy.mjs +1 -1
  275. package/dist/unwraps/segmentfault.mjs +2 -2
  276. package/dist/unwraps/serendipity.mjs +3 -3
  277. package/dist/unwraps/shareaholic.d.mts +2 -0
  278. package/dist/unwraps/shareaholic.mjs +12 -0
  279. package/dist/unwraps/slashdotBookmark.d.mts +2 -0
  280. package/dist/unwraps/slashdotBookmark.mjs +11 -0
  281. package/dist/unwraps/smartredirect.mjs +1 -1
  282. package/dist/unwraps/sophos.mjs +2 -2
  283. package/dist/unwraps/soundOn.mjs +1 -1
  284. package/dist/unwraps/stay22.mjs +1 -1
  285. package/dist/unwraps/streamsend.mjs +1 -1
  286. package/dist/unwraps/stumbleuponSubmit.d.mts +2 -0
  287. package/dist/unwraps/stumbleuponSubmit.mjs +14 -0
  288. package/dist/unwraps/subscribeByEmail.d.mts +2 -0
  289. package/dist/unwraps/subscribeByEmail.mjs +10 -0
  290. package/dist/unwraps/subscribeOnAndroid.d.mts +2 -0
  291. package/dist/unwraps/subscribeOnAndroid.mjs +10 -0
  292. package/dist/unwraps/subscribeRu.mjs +1 -1
  293. package/dist/unwraps/substack.mjs +2 -3
  294. package/dist/unwraps/surly.mjs +1 -1
  295. package/dist/unwraps/swap.mjs +1 -1
  296. package/dist/unwraps/symantecClicktime.mjs +1 -1
  297. package/dist/unwraps/symplicity.mjs +1 -1
  298. package/dist/unwraps/teacup.mjs +1 -1
  299. package/dist/unwraps/technoratiFaves.d.mts +2 -0
  300. package/dist/unwraps/technoratiFaves.mjs +10 -0
  301. package/dist/unwraps/telegramShare.d.mts +2 -0
  302. package/dist/unwraps/telegramShare.mjs +18 -0
  303. package/dist/unwraps/theRegister.mjs +1 -1
  304. package/dist/unwraps/threadsIntent.d.mts +2 -0
  305. package/dist/unwraps/threadsIntent.mjs +16 -0
  306. package/dist/unwraps/toucharcade.mjs +1 -1
  307. package/dist/unwraps/tracdelight.mjs +1 -1
  308. package/dist/unwraps/trxHub.mjs +1 -1
  309. package/dist/unwraps/tumblrShare.d.mts +2 -0
  310. package/dist/unwraps/tumblrShare.mjs +13 -0
  311. package/dist/unwraps/twitterIntent.d.mts +2 -0
  312. package/dist/unwraps/twitterIntent.mjs +17 -0
  313. package/dist/unwraps/twoCheckout.mjs +2 -1
  314. package/dist/unwraps/ukWebArchive.mjs +1 -1
  315. package/dist/unwraps/ukgwa.mjs +1 -1
  316. package/dist/unwraps/unescoWebArchive.mjs +1 -1
  317. package/dist/unwraps/unisender.mjs +3 -3
  318. package/dist/unwraps/upAudio.mjs +1 -1
  319. package/dist/unwraps/vadeSecure.mjs +1 -1
  320. package/dist/unwraps/valuePress.mjs +2 -2
  321. package/dist/unwraps/vanilla.mjs +1 -1
  322. package/dist/unwraps/vbulletin.mjs +1 -1
  323. package/dist/unwraps/vefsafn.mjs +2 -2
  324. package/dist/unwraps/vgWort.mjs +1 -1
  325. package/dist/unwraps/vkShare.d.mts +2 -0
  326. package/dist/unwraps/vkShare.mjs +16 -0
  327. package/dist/unwraps/vocus.mjs +1 -1
  328. package/dist/unwraps/voxnest.mjs +1 -1
  329. package/dist/unwraps/w3cFeedValidator.d.mts +2 -0
  330. package/dist/unwraps/w3cFeedValidator.mjs +8 -0
  331. package/dist/unwraps/webArchive.mjs +5 -5
  332. package/dist/unwraps/webcitation.mjs +1 -1
  333. package/dist/unwraps/webharvest.mjs +1 -1
  334. package/dist/unwraps/weiboShare.d.mts +2 -0
  335. package/dist/unwraps/weiboShare.mjs +8 -0
  336. package/dist/unwraps/weserv.mjs +2 -2
  337. package/dist/unwraps/wikizero.mjs +2 -2
  338. package/dist/unwraps/windowsLive.d.mts +2 -0
  339. package/dist/unwraps/windowsLive.mjs +13 -0
  340. package/dist/unwraps/windowsLiveFavorites.d.mts +2 -0
  341. package/dist/unwraps/windowsLiveFavorites.mjs +8 -0
  342. package/dist/unwraps/wpPoczta.mjs +2 -2
  343. package/dist/unwraps/wykop.d.mts +2 -0
  344. package/dist/unwraps/wykop.mjs +11 -0
  345. package/dist/unwraps/xengentr.mjs +4 -3
  346. package/dist/unwraps/xianguo.d.mts +2 -0
  347. package/dist/unwraps/xianguo.mjs +8 -0
  348. package/dist/unwraps/xiaoyuzhou.mjs +1 -1
  349. package/dist/unwraps/ximalaya.mjs +3 -3
  350. package/dist/unwraps/xingShare.d.mts +2 -0
  351. package/dist/unwraps/xingShare.mjs +16 -0
  352. package/dist/unwraps/yahooBookmarks.d.mts +2 -0
  353. package/dist/unwraps/yahooBookmarks.mjs +38 -0
  354. package/dist/unwraps/yahooJapan.mjs +2 -3
  355. package/dist/unwraps/yahooJapanAmpViewer.mjs +2 -2
  356. package/dist/unwraps/yahooMailImage.mjs +2 -1
  357. package/dist/unwraps/yahooSearch.mjs +2 -2
  358. package/dist/unwraps/yamm.mjs +2 -1
  359. package/dist/unwraps/yandexMail.mjs +4 -3
  360. package/dist/unwraps/yandexTranslate.mjs +1 -1
  361. package/dist/unwraps/yandexTurbo.mjs +4 -4
  362. package/dist/unwraps/yesware.mjs +2 -2
  363. package/dist/unwraps/yourMembership.mjs +2 -1
  364. package/dist/unwraps/zencastr.mjs +1 -1
  365. package/dist/unwraps/zix.mjs +1 -1
  366. package/dist/unwraps/zscalerIsolation.mjs +1 -1
  367. package/dist/utils.mjs +9 -42
  368. package/package.json +4 -4
  369. package/dist/node_modules/entities/dist/internal/bin-trie-flags.mjs +0 -50
  370. package/dist/node_modules/entities/dist/internal/decode-shared.mjs +0 -143
package/README.md CHANGED
@@ -6,15 +6,25 @@
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 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.
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 400+ 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
- ## Installation
11
+ [Quick start](#quick-start)
12
+   ·  
13
+ [Unwrappers](#unwrappers)
14
+   ·  
15
+ [Tracking parameters](#tracking-parameters)
16
+   ·  
17
+ [API](#api)
18
+
19
+ ---
20
+
21
+ ## Quick start
12
22
 
13
23
  ```bash
14
24
  npm install urlpurify
15
25
  ```
16
26
 
17
- ## Quick start
27
+ Then:
18
28
 
19
29
  ```typescript
20
30
  import { cleanUrl } from 'urlpurify'
@@ -24,6 +34,55 @@ const url = 'https://www.google.com/url?q=https%3A%2F%2Fexample.com%2Fpost%3Ffbc
24
34
  cleanUrl(url) // => 'https://example.com/post'
25
35
  ```
26
36
 
37
+ ## Unwrappers
38
+
39
+ There are more than 400 unwrappers, each in its own file in [src/unwraps](src/unwraps), with a comment naming the service and the URL shape it handles. Each is exported on its own and belongs to one category. The categories split by what unwrapping takes away from someone, which is what decides whether you want it:
40
+
41
+ | Category | Export | Unwrapping removes | Default |
42
+ | --- | --- | --- | :---: |
43
+ | Search clicks | `searchClickUnwrappers` | The search engine's or aggregator's click logging | ☑️ |
44
+ | Link shims | `linkShimUnwrappers` | Nothing, or a platform's click count | ☑️ |
45
+ | Press releases | `pressReleaseUnwrappers` | The issuer's click stats from the wire | |
46
+ | Sign-in shims | `signInShimUnwrappers` | Nothing, but the shim's page needs a sign-in | |
47
+ | Security gateways | `securityGatewayUnwrappers` | The gateway's click-time check of the target | |
48
+ | Email tracking | `emailTrackingUnwrappers` | The sender's click stats | |
49
+ | Affiliate links | `affiliateUnwrappers` | The publisher's commission | |
50
+ | Advertising | `advertisingUnwrappers` | Ad click and app install attribution | |
51
+ | Click counters | `clickCounterUnwrappers` | A site's or feed's count of which links get clicked | |
52
+ | Download measurement | `downloadMeasurementUnwrappers` | A podcast measurement prefix's download counts, or a site's download counts | |
53
+ | Archives and proxies | `archiveProxyUnwrappers` | The archived or translated copy: you get the live page | |
54
+ | Image proxies | `imageProxyUnwrappers` | The resized or optimized copy: you get the original image | |
55
+ | Embed proxies | `embedProxyUnwrappers` | The site's frame around another provider's embed: you get the provider's page | |
56
+ | Share intents | `shareIntentUnwrappers` | The share or bookmark form: you get the page being shared | |
57
+ | Subscribe intents | `subscribeIntentUnwrappers` | The reader's or app's subscribe page, or a player carrying a feed: you get the feed | |
58
+ | Feed tools | `feedToolUnwrappers` | The validator's or proxy's view: you get the feed it was given | |
59
+ | Generic carriers | `genericCarrierUnwrappers` | The page of any site carrying a url in a `url`, `feedurl`, `moduleurl`, `feed.url`, `.url`, `link`, `redirect`, `to`, `go`, `goto` or `out` param, whether it redirects there or takes the url as an argument | |
60
+
61
+ `defaultUnwrappers` combines the first two. Most of the others 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.
62
+
63
+ The intent categories, `shareIntentUnwrappers`, `subscribeIntentUnwrappers` and `feedToolUnwrappers`, hold links that never redirect to what they carry, so unwrapping one changes what a reader would open. They suit a caller collecting feeds or shared pages, not one cleaning links for a reader.
64
+
65
+ `genericCarrierUnwrappers` reads those params on any host, so it also unwraps a feed generator or a feed that takes a url argument, such as `example.com/rss.php?url=<page>`. Exempt those links before calling it. Spread it last: the first unwrapper that matches wins, and a service's own unwrapper reads its real carrier better.
66
+
67
+ To turn more on, see [Choosing unwrappers](#choosing-unwrappers).
68
+
69
+ ## Tracking parameters
70
+
71
+ Tracking parameters are grouped like the unwrappers, by what stripping them takes away from someone:
72
+
73
+ | Category | Export | Stripping removes | Default |
74
+ | --- | --- | --- | :---: |
75
+ | Click attribution | `clickAttributionParams` | Ad, search and platform click ids | ☑️ |
76
+ | Visitor ids | `visitorIdParams` | Ids of one visitor, session, browser or email recipient | ☑️ |
77
+ | Session ids | `sessionParams` | A server session id, which never changes what the page shows | ☑️ |
78
+ | Housekeeping | `housekeepingParams` | Nothing: cache busters, previews, redirect leftovers and a `ref` naming the URL's own host | ☑️ |
79
+ | Campaign tags | `campaignParams` | The site's own traffic stats, from tags like `utm_*` | |
80
+ | Affiliate ids | `affiliateParams` | The publisher's commission | |
81
+
82
+ `defaultTrackingParams` combines the first four. 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.
83
+
84
+ To strip more, see [Choosing tracking parameters](#choosing-tracking-parameters).
85
+
27
86
  ## API
28
87
 
29
88
  ### `cleanUrl(url, options?)`
@@ -36,8 +95,16 @@ import { cleanUrl, defaultTrackingParams, defaultUnwrappers, unwrapWebArchive }
36
95
  cleanUrl(url, {
37
96
  // First match wins per pass.
38
97
  unwrappers: [...defaultUnwrappers, unwrapWebArchive],
39
- // Names, or regexes tested on the lowercased name.
40
- trackingParams: [...defaultTrackingParams, 'newsletter_id', /^cmp_[a-z0-9_]+$/],
98
+ // Names, regexes tested on the lowercased name, or entries.
99
+ trackingParams: [
100
+ ...defaultTrackingParams,
101
+ 'newsletter_id',
102
+ /^cmp_[a-z0-9_]+$/,
103
+ // Only with a value of 32 hex digits.
104
+ { name: 'token', value: /^[0-9a-f]{32}$/ },
105
+ // Only on these hosts, and `/^/` matches every name.
106
+ { name: /^/, hosts: ['share.example.com', 'go.example.com'] },
107
+ ],
41
108
  // The default.
42
109
  maxUnwrapDepth: 12,
43
110
  })
@@ -51,14 +118,26 @@ Runs one pass of the unwrappers and returns the first target, or `undefined`.
51
118
 
52
119
  ### `stripTrackingParams(url, trackingParams?)`
53
120
 
54
- Removes tracking parameters and returns the serialized URL. Both this and `cleanUrl` apply three rules on top of the list:
121
+ Removes tracking parameters and returns the serialized URL. Both this and `cleanUrl` apply two rules on top of the list:
55
122
 
56
- - `ref` is dropped when it names the URL's own host, as in Ghost's `?ref=example.com`, and kept otherwise.
57
123
  - A query with a signature (`sig`, `signature`, `X-Amz-Signature` or `X-Goog-Signature`) stays whole, since dropping anything breaks the signature.
58
124
  - `ts` stays on Alibaba DirectMail click URLs, which fail without it.
59
125
 
126
+ A literal name the list holds is also dropped as a path parameter, as in `/page;jsessionid=<id>`. An entry's `value` is a regex or a function `(value, host) => boolean` tested on the decoded value, and its `hosts` are exact hostnames or a regex, matched without `www.`.
127
+
60
128
  A tracking list is compiled on first use and cached per array. To change it, pass a new array.
61
129
 
130
+ ### `isTrackingParam(name, value, hostname, trackingParams?)`
131
+
132
+ Answers whether one query pair is tracking, for a caller filtering pairs itself. The list defaults to `defaultTrackingParams`. It sees one query pair and never the path, so the two rules above don't apply and a `;name=value` path param needs `cleanUrl` or `stripTrackingParams`.
133
+
134
+ ```typescript
135
+ import { isTrackingParam, knownTrackingParams } from 'urlpurify'
136
+
137
+ isTrackingParam('sid', '46551', 'example.com') // false
138
+ isTrackingParam('utm_source', 'feed', url.hostname, knownTrackingParams) // true
139
+ ```
140
+
62
141
  ### `createParamExtractor(config)`
63
142
 
64
143
  Builds an unwrapper for a target that sits in a query parameter:
@@ -78,52 +157,24 @@ cleanUrl(url, { unwrappers: [...defaultUnwrappers, unwrapExample] })
78
157
 
79
158
  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
159
 
81
- ### Tracking parameters
160
+ ### Choosing unwrappers
82
161
 
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:
162
+ Spread the categories you want next to the defaults:
94
163
 
95
164
  ```typescript
96
- import { campaignParams, defaultTrackingParams, stripTrackingParams } from 'urlpurify'
165
+ import { affiliateUnwrappers, cleanUrl, defaultUnwrappers } from 'urlpurify'
97
166
 
98
- stripTrackingParams(url, [...defaultTrackingParams, ...campaignParams])
167
+ cleanUrl(url, { unwrappers: [...defaultUnwrappers, ...affiliateUnwrappers] })
99
168
  ```
100
169
 
101
- `trackingParamsLiterals` and `trackingParamsPatterns` hold every known parameter, opt-in categories included, split into names and regexes.
102
-
103
- ## Unwrappers
170
+ ### Choosing tracking parameters
104
171
 
105
- There are more than 380 unwrappers, each in its own file in [src/unwraps](src/unwraps), with a comment naming the service and the URL shape it handles. Each is exported on its own and belongs to one category. The categories split by what unwrapping takes away from someone, which is what decides whether you want it:
106
-
107
- | Category | Export | Unwrapping removes | Default |
108
- | --- | --- | --- | :---: |
109
- | Search clicks | `searchClickUnwrappers` | The search engine's or aggregator's click logging | ☑️ |
110
- | Link shims | `linkShimUnwrappers` | Nothing, or a platform's click count | ☑️ |
111
- | Press releases | `pressReleaseUnwrappers` | The issuer's click stats from the wire | |
112
- | Sign-in shims | `signInShimUnwrappers` | Nothing, but the shim's page needs a sign-in | |
113
- | Security gateways | `securityGatewayUnwrappers` | The gateway's click-time check of the target | |
114
- | Email tracking | `emailTrackingUnwrappers` | The sender's click stats | |
115
- | Affiliate links | `affiliateUnwrappers` | The publisher's commission | |
116
- | Advertising | `advertisingUnwrappers` | Ad click and app install attribution | |
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 | |
119
- | Archives and proxies | `archiveProxyUnwrappers` | The archived or translated copy: you get the live page | |
120
- | Image proxies | `imageProxyUnwrappers` | The resized or optimized copy: you get the original image | |
121
- | Embed proxies | `embedProxyUnwrappers` | The site's frame around another provider's embed: you get the provider's page | |
122
-
123
- `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:
172
+ Spread the categories you want next to the defaults:
124
173
 
125
174
  ```typescript
126
- import { affiliateUnwrappers, cleanUrl, defaultUnwrappers } from 'urlpurify'
175
+ import { campaignParams, defaultTrackingParams, stripTrackingParams } from 'urlpurify'
127
176
 
128
- cleanUrl(url, { unwrappers: [...defaultUnwrappers, ...affiliateUnwrappers] })
177
+ stripTrackingParams(url, [...defaultTrackingParams, ...campaignParams])
129
178
  ```
179
+
180
+ `knownTrackingParams` holds every known parameter, opt-in categories included. `trackingParamsLiterals` and `trackingParamsPatterns` split its names and regexes, and leave out entries, whose name alone would strip `sid` or `ref` everywhere.
package/dist/clean.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { CleanUrlOptions, TrackingParam, UrlUnwrapper } from "./types.mjs";
2
2
  export declare const unwrapUrl: (url: string, unwrappers?: Array<UrlUnwrapper>) => string | undefined;
3
3
  export declare const stripTrackingParams: (url: string, trackingParams?: Array<TrackingParam>) => string;
4
+ export declare const isTrackingParam: (name: string, value: string | undefined, hostname: string, trackingParams?: Array<TrackingParam>) => boolean;
4
5
  export declare const cleanUrl: (url: string, options?: CleanUrlOptions) => string;
package/dist/clean.mjs CHANGED
@@ -1,49 +1,81 @@
1
1
  import { isAnyOf } from "./node_modules/trousse/dist/matching.mjs";
2
- import { fixMalformedScheme, isHostOf, isHttpUrl, isIpAddress, normalizeUrl, parseUrl, stripWww } from "./node_modules/trousse/dist/urls.mjs";
2
+ import { isHostOf, isHostname, isIpAddress, normalizeUrl, parseUrl, resolveUrl, stripWww } from "./node_modules/trousse/dist/urls.mjs";
3
+ import { isString } from "./node_modules/trousse/dist/is.mjs";
3
4
  import { defaultTrackingParams, defaultUnwrappers } from "./defaults.mjs";
4
5
  // src/clean.ts
5
- const refDelimitersRegex = /[\s/?#\\:@]/;
6
6
  const signatureParams = [
7
7
  "sig",
8
8
  "signature",
9
9
  "x-amz-signature",
10
10
  "x-goog-signature"
11
11
  ];
12
+ const pathParamRegex = /;([^;/=]+)=[^;/]*/g;
12
13
  const trackingMatcherCache = /* @__PURE__ */ new WeakMap();
13
14
  const getTrackingMatcher = (params) => {
14
15
  let cached = trackingMatcherCache.get(params);
15
16
  if (!cached) {
16
17
  const literals = /* @__PURE__ */ new Set();
17
18
  const patterns = [];
18
- for (const param of params) if (param instanceof RegExp) patterns.push(param);
19
- else literals.add(param.toLowerCase());
19
+ const entries = [];
20
+ for (const param of params) {
21
+ if (isString(param)) {
22
+ literals.add(param.toLowerCase());
23
+ continue;
24
+ }
25
+ if (param instanceof RegExp) {
26
+ patterns.push(param);
27
+ continue;
28
+ }
29
+ entries.push(param);
30
+ }
20
31
  cached = {
21
32
  literals,
22
- patterns
33
+ patterns,
34
+ entries
23
35
  };
24
36
  trackingMatcherCache.set(params, cached);
25
37
  }
26
38
  return cached;
27
39
  };
40
+ const matchesPattern = (text, pattern) => {
41
+ return text.search(pattern) !== -1;
42
+ };
43
+ const matchesEntry = (entry, name, value, host) => {
44
+ if (!(isString(entry.name) ? entry.name.toLowerCase() === name : matchesPattern(name, entry.name))) return false;
45
+ if (entry.hosts instanceof RegExp && !matchesPattern(host, entry.hosts)) return false;
46
+ if (Array.isArray(entry.hosts) && !entry.hosts.includes(host)) return false;
47
+ if (entry.value instanceof RegExp) return matchesPattern(value, entry.value);
48
+ if (entry.value) return entry.value(value, host);
49
+ return true;
50
+ };
51
+ const isTrackedPair = (matcher, name, value, host) => {
52
+ if (matcher.literals.has(name)) return true;
53
+ if (matcher.patterns.some((pattern) => matchesPattern(name, pattern))) return true;
54
+ return matcher.entries.some((entry) => matchesEntry(entry, name, value, host));
55
+ };
56
+ const deletePathParams = (url, matcher) => {
57
+ const pathname = url.pathname.replace(pathParamRegex, (param, name) => {
58
+ if (matcher.literals.has(name.toLowerCase())) return "";
59
+ return param;
60
+ });
61
+ if (pathname !== url.pathname) url.pathname = pathname;
62
+ };
28
63
  const deleteTrackingParams = (url, trackingParams) => {
29
- if (!url.search) return;
30
64
  const pairs = url.search.slice(1).split("&");
31
65
  const entries = pairs.map((pair) => new URLSearchParams(pair).entries().next().value);
32
66
  for (const entry of entries) if (entry && isAnyOf(entry[0], signatureParams)) return;
33
67
  const matcher = getTrackingMatcher(trackingParams);
68
+ deletePathParams(url, matcher);
69
+ if (!url.search) return;
34
70
  const host = stripWww(url.hostname);
35
- const keepsTs = isHostOf(url, "dm-cn.aliyuncs.com") && url.pathname === "/trace/v1/report";
71
+ const keepsTs = isHostOf(url, "dm-cn.aliyuncs.com") && isAnyOf(url.pathname, "/trace/v1/report");
36
72
  const keptPairs = pairs.filter((_pair, index) => {
37
73
  const entry = entries[index];
38
74
  if (!entry) return true;
39
75
  const [key, value] = entry;
40
76
  const name = key.toLowerCase();
41
77
  if (keepsTs && name === "ts") return true;
42
- if (matcher.literals.has(name) || matcher.patterns.some((pattern) => name.search(pattern) !== -1)) return false;
43
- if (name !== "ref" || refDelimitersRegex.test(value)) return true;
44
- const refUrl = parseUrl(`http://${value}`);
45
- if (!refUrl) return true;
46
- return stripWww(refUrl.hostname) !== host;
78
+ return !isTrackedPair(matcher, name, value, host);
47
79
  });
48
80
  if (keptPairs.length === pairs.length) return;
49
81
  url.search = keptPairs.join("&");
@@ -53,10 +85,13 @@ const dottedHostRegex = /[^.]\.[^.]/;
53
85
  const fileExtensionHostRegex = /\.(?:asp|aspx|cgi|htm|html|jsp|jspa|php)$/;
54
86
  const cleanTarget = (target) => {
55
87
  if (!target) return;
56
- const repaired = fixMalformedScheme(target.trim());
57
- if (controlCharactersRegex.test(repaired)) return;
88
+ const trimmed = target.trim();
89
+ if (controlCharactersRegex.test(trimmed)) return;
90
+ const repaired = resolveUrl(trimmed);
91
+ if (!repaired) return;
58
92
  const hostname = parseUrl(repaired)?.hostname ?? "";
59
93
  if (!dottedHostRegex.test(hostname) && !isIpAddress(hostname)) return;
94
+ if (!isHostname(hostname)) return;
60
95
  if (fileExtensionHostRegex.test(hostname)) return;
61
96
  return repaired;
62
97
  };
@@ -70,10 +105,7 @@ const addMissingScheme = (target) => {
70
105
  };
71
106
  const applyUnwrappers = (url, unwrappers) => {
72
107
  for (const unwrap of unwrappers) {
73
- const unwrapped = addMissingScheme(unwrap(url)?.trim());
74
- const raw = unwrapped && !isHttpUrl(unwrapped) ? fixMalformedScheme(unwrapped) : unwrapped;
75
- if (!raw || !isHttpUrl(raw)) continue;
76
- const target = cleanTarget(raw);
108
+ const target = cleanTarget(addMissingScheme(unwrap(url)?.trim()));
77
109
  if (target) return target;
78
110
  }
79
111
  const collapsed = parseUrl(normalizeUrl(url.href, { collapseSlashes: true }));
@@ -93,6 +125,11 @@ const stripTrackingParams = (url, trackingParams = defaultTrackingParams) => {
93
125
  deleteTrackingParams(parsed, trackingParams);
94
126
  return parsed.href;
95
127
  };
128
+ const isTrackingParam = (name, value, hostname, trackingParams = defaultTrackingParams) => {
129
+ const matcher = getTrackingMatcher(trackingParams);
130
+ const host = stripWww(hostname.toLowerCase());
131
+ return isTrackedPair(matcher, name.toLowerCase(), value ?? "", host);
132
+ };
96
133
  const cleanUrl = (url, options) => {
97
134
  const unwrappers = options?.unwrappers ?? defaultUnwrappers;
98
135
  const trackingParams = options?.trackingParams ?? defaultTrackingParams;
@@ -110,4 +147,4 @@ const cleanUrl = (url, options) => {
110
147
  deleteTrackingParams(currentParsed, trackingParams);
111
148
  return currentParsed.href;
112
149
  };
113
- export { cleanUrl, stripTrackingParams, unwrapUrl };
150
+ export { cleanUrl, isTrackingParam, stripTrackingParams, unwrapUrl };
@@ -3,8 +3,10 @@ import { affiliateParams } from "./tracking/affiliate.mjs";
3
3
  import { campaignParams } from "./tracking/campaign.mjs";
4
4
  import { clickAttributionParams } from "./tracking/clickAttribution.mjs";
5
5
  import { housekeepingParams } from "./tracking/housekeeping.mjs";
6
+ import { sessionParams } from "./tracking/session.mjs";
6
7
  import { visitorIdParams } from "./tracking/visitorId.mjs";
7
8
  export declare const defaultTrackingParams: Array<TrackingParam>;
9
+ export declare const knownTrackingParams: Array<TrackingParam>;
8
10
  export declare const trackingParamsLiterals: Array<string>;
9
11
  export declare const trackingParamsPatterns: Array<RegExp>;
10
12
  export declare const searchClickUnwrappers: Array<UrlUnwrapper>;
@@ -20,5 +22,9 @@ export declare const downloadMeasurementUnwrappers: Array<UrlUnwrapper>;
20
22
  export declare const archiveProxyUnwrappers: Array<UrlUnwrapper>;
21
23
  export declare const imageProxyUnwrappers: Array<UrlUnwrapper>;
22
24
  export declare const embedProxyUnwrappers: Array<UrlUnwrapper>;
25
+ export declare const shareIntentUnwrappers: Array<UrlUnwrapper>;
26
+ export declare const subscribeIntentUnwrappers: Array<UrlUnwrapper>;
27
+ export declare const feedToolUnwrappers: Array<UrlUnwrapper>;
28
+ export declare const genericCarrierUnwrappers: Array<UrlUnwrapper>;
23
29
  export declare const defaultUnwrappers: Array<UrlUnwrapper>;
24
- export { affiliateParams, campaignParams, clickAttributionParams, housekeepingParams, visitorIdParams };
30
+ export { affiliateParams, campaignParams, clickAttributionParams, housekeepingParams, sessionParams, visitorIdParams };