posthog-js 1.87.2 → 1.87.3

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 (85) hide show
  1. package/dist/array.full.js +1 -1
  2. package/dist/array.full.js.map +1 -1
  3. package/dist/array.js +1 -1
  4. package/dist/array.js.map +1 -1
  5. package/dist/es.js +1 -1
  6. package/dist/es.js.map +1 -1
  7. package/dist/exception-autocapture.js +1 -1
  8. package/dist/exception-autocapture.js.map +1 -1
  9. package/dist/module.js +1 -1
  10. package/dist/module.js.map +1 -1
  11. package/dist/recorder-v2.js +2 -2
  12. package/dist/recorder-v2.js.map +1 -1
  13. package/dist/recorder.js +1 -1
  14. package/dist/recorder.js.map +1 -1
  15. package/dist/surveys.js +1 -1
  16. package/dist/surveys.js.map +1 -1
  17. package/lib/package.json +1 -1
  18. package/lib/src/autocapture-utils.js +2 -1
  19. package/lib/src/autocapture-utils.js.map +1 -1
  20. package/lib/src/autocapture.js +2 -1
  21. package/lib/src/autocapture.js.map +1 -1
  22. package/lib/src/decide.js +2 -1
  23. package/lib/src/decide.js.map +1 -1
  24. package/lib/src/extensions/exception-autocapture/error-conversion.js +1 -1
  25. package/lib/src/extensions/exception-autocapture/error-conversion.js.map +1 -1
  26. package/lib/src/extensions/exception-autocapture/index.js +2 -1
  27. package/lib/src/extensions/exception-autocapture/index.js.map +1 -1
  28. package/lib/src/extensions/exception-autocapture/stack-trace.js +1 -1
  29. package/lib/src/extensions/exception-autocapture/stack-trace.js.map +1 -1
  30. package/lib/src/extensions/exception-autocapture/type-checking.js +1 -1
  31. package/lib/src/extensions/exception-autocapture/type-checking.js.map +1 -1
  32. package/lib/src/extensions/replay/sessionrecording-utils.js +1 -1
  33. package/lib/src/extensions/replay/sessionrecording-utils.js.map +1 -1
  34. package/lib/src/extensions/replay/sessionrecording.js +2 -1
  35. package/lib/src/extensions/replay/sessionrecording.js.map +1 -1
  36. package/lib/src/extensions/replay/web-performance.js +3 -1
  37. package/lib/src/extensions/replay/web-performance.js.map +1 -1
  38. package/lib/src/extensions/surveys.js +1 -1
  39. package/lib/src/extensions/surveys.js.map +1 -1
  40. package/lib/src/extensions/toolbar.js +2 -1
  41. package/lib/src/extensions/toolbar.js.map +1 -1
  42. package/lib/src/gdpr-utils.js +2 -1
  43. package/lib/src/gdpr-utils.js.map +1 -1
  44. package/lib/src/loader-exception-autocapture.js +1 -1
  45. package/lib/src/loader-exception-autocapture.js.map +1 -1
  46. package/lib/src/loader-recorder-v2.js +1 -1
  47. package/lib/src/loader-recorder-v2.js.map +1 -1
  48. package/lib/src/loader-recorder.js +1 -1
  49. package/lib/src/loader-recorder.js.map +1 -1
  50. package/lib/src/loader-surveys.js +1 -1
  51. package/lib/src/loader-surveys.js.map +1 -1
  52. package/lib/src/posthog-core.js +7 -4
  53. package/lib/src/posthog-core.js.map +1 -1
  54. package/lib/src/posthog-featureflags.js +3 -2
  55. package/lib/src/posthog-featureflags.js.map +1 -1
  56. package/lib/src/posthog-persistence.js +3 -1
  57. package/lib/src/posthog-persistence.js.map +1 -1
  58. package/lib/src/posthog-surveys.js +1 -1
  59. package/lib/src/posthog-surveys.js.map +1 -1
  60. package/lib/src/request-queue.js +2 -1
  61. package/lib/src/request-queue.js.map +1 -1
  62. package/lib/src/retry-queue.js +2 -1
  63. package/lib/src/retry-queue.js.map +1 -1
  64. package/lib/src/send-request.js +9 -5
  65. package/lib/src/send-request.js.map +1 -1
  66. package/lib/src/sessionid.js +2 -1
  67. package/lib/src/sessionid.js.map +1 -1
  68. package/lib/src/storage.js +2 -1
  69. package/lib/src/storage.js.map +1 -1
  70. package/lib/src/utils/event-utils.d.ts +29 -0
  71. package/lib/src/utils/event-utils.js +297 -0
  72. package/lib/src/utils/event-utils.js.map +1 -0
  73. package/lib/src/{utils.d.ts → utils/index.d.ts} +5 -45
  74. package/lib/src/{utils.js → utils/index.js} +8 -402
  75. package/lib/src/utils/index.js.map +1 -0
  76. package/lib/src/utils/request-utils.d.ts +5 -0
  77. package/lib/src/utils/request-utils.js +58 -0
  78. package/lib/src/utils/request-utils.js.map +1 -0
  79. package/lib/src/utils/type-utils.d.ts +12 -0
  80. package/lib/src/utils/type-utils.js +64 -0
  81. package/lib/src/utils/type-utils.js.map +1 -0
  82. package/lib/src/uuidv7.js +2 -1
  83. package/lib/src/uuidv7.js.map +1 -1
  84. package/package.json +1 -1
  85. package/lib/src/utils.js.map +0 -1
@@ -23,23 +23,20 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
23
23
  }
24
24
  return to.concat(ar || Array.prototype.slice.call(from));
25
25
  };
26
- import Config from './config';
26
+ import Config from '../config';
27
+ import { _isArray, _isDate, _isFunction, _isNull, _isObject, _isString, _isUndefined, hasOwnProperty, } from './type-utils';
27
28
  /*
28
29
  * Saved references to long variable names, so that closure compiler can
29
30
  * minimize file size.
30
31
  */
31
- var ArrayProto = Array.prototype;
32
- var ObjProto = Object.prototype;
33
- var toString = ObjProto.toString;
34
- var hasOwnProperty = ObjProto.hasOwnProperty;
32
+ export var ArrayProto = Array.prototype;
33
+ export var nativeForEach = ArrayProto.forEach;
34
+ export var nativeIndexOf = ArrayProto.indexOf;
35
35
  var win = typeof window !== 'undefined' ? window : {};
36
36
  var navigator = win.navigator || { userAgent: '' };
37
37
  var document = win.document || {};
38
38
  var userAgent = navigator.userAgent;
39
- var localDomains = ['localhost', '127.0.0.1'];
40
- var nativeForEach = ArrayProto.forEach, nativeIndexOf = ArrayProto.indexOf,
41
- // eslint-disable-next-line posthog-js/no-direct-array-check
42
- nativeIsArray = Array.isArray, breaker = {};
39
+ var breaker = {};
43
40
  var LOGGER_PREFIX = '[PostHog.js]';
44
41
  export var logger = {
45
42
  _log: function (level) {
@@ -85,7 +82,7 @@ export var logger = {
85
82
  // eslint-disable-next-line no-console
86
83
  console.error.apply(console, __spreadArray([LOGGER_PREFIX], __read(args), false));
87
84
  },
88
- unintializedWarning: function (methodName) {
85
+ uninitializedWarning: function (methodName) {
89
86
  logger.error("You must initialize PostHog before calling ".concat(methodName));
90
87
  },
91
88
  };
@@ -149,22 +146,6 @@ export var _extend = function (obj) {
149
146
  });
150
147
  return obj;
151
148
  };
152
- export var _isArray = nativeIsArray ||
153
- function (obj) {
154
- return toString.call(obj) === '[object Array]';
155
- };
156
- // from a comment on http://dbj.org/dbj/?p=286
157
- // fails on only one very rare and deliberate custom object:
158
- // let bomb = { toString : undefined, valueOf: function(o) { return "function BOMBA!"; }};
159
- export var _isFunction = function (f) {
160
- try {
161
- // eslint-disable-next-line posthog-js/no-direct-function-check
162
- return /^\s*\bfunction\b/.test(f);
163
- }
164
- catch (x) {
165
- return false;
166
- }
167
- };
168
149
  export var _include = function (obj, target) {
169
150
  var found = false;
170
151
  if (_isNull(obj)) {
@@ -197,45 +178,6 @@ export function _entries(obj) {
197
178
  }
198
179
  return resArray;
199
180
  }
200
- // Underscore Addons
201
- export var _isObject = function (x) {
202
- // eslint-disable-next-line posthog-js/no-direct-object-check
203
- return x === Object(x) && !_isArray(x);
204
- };
205
- export var _isEmptyObject = function (x) {
206
- if (_isObject(x)) {
207
- for (var key in x) {
208
- if (hasOwnProperty.call(x, key)) {
209
- return false;
210
- }
211
- }
212
- return true;
213
- }
214
- return false;
215
- };
216
- export var _isUndefined = function (x) {
217
- return x === void 0;
218
- };
219
- export var _isString = function (x) {
220
- // eslint-disable-next-line posthog-js/no-direct-string-check
221
- return toString.call(x) == '[object String]';
222
- };
223
- export var _isNull = function (x) {
224
- // eslint-disable-next-line posthog-js/no-direct-null-check
225
- return x === null;
226
- };
227
- export var _isDate = function (x) {
228
- // eslint-disable-next-line posthog-js/no-direct-date-check
229
- return toString.call(x) == '[object Date]';
230
- };
231
- export var _isNumber = function (x) {
232
- // eslint-disable-next-line posthog-js/no-direct-number-check
233
- return toString.call(x) == '[object Number]';
234
- };
235
- export var _isBoolean = function (x) {
236
- // eslint-disable-next-line posthog-js/no-direct-boolean-check
237
- return toString.call(x) === '[object Boolean]';
238
- };
239
181
  export var _isValidRegex = function (str) {
240
182
  try {
241
183
  new RegExp(str);
@@ -245,11 +187,6 @@ export var _isValidRegex = function (str) {
245
187
  }
246
188
  return true;
247
189
  };
248
- export var _isUrlMatchingRegex = function (url, pattern) {
249
- if (!_isValidRegex(pattern))
250
- return false;
251
- return new RegExp(pattern).test(url);
252
- };
253
190
  export var _encodeDates = function (obj) {
254
191
  _each(obj, function (v, k) {
255
192
  if (_isDate(v)) {
@@ -504,42 +441,6 @@ export var _isBlockedUA = function (ua, customBlockedUserAgents) {
504
441
  }
505
442
  });
506
443
  };
507
- export var _HTTPBuildQuery = function (formdata, arg_separator) {
508
- if (arg_separator === void 0) { arg_separator = '&'; }
509
- var use_val;
510
- var use_key;
511
- var tph_arr = [];
512
- _each(formdata, function (val, key) {
513
- use_val = encodeURIComponent(val.toString());
514
- use_key = encodeURIComponent(key);
515
- tph_arr[tph_arr.length] = use_key + '=' + use_val;
516
- });
517
- return tph_arr.join(arg_separator);
518
- };
519
- export var _getQueryParam = function (url, param) {
520
- // Expects a raw URL
521
- var cleanParam = param.replace(/[[]/, '\\[').replace(/[\]]/, '\\]');
522
- var regexS = '[\\?&]' + cleanParam + '=([^&#]*)';
523
- var regex = new RegExp(regexS);
524
- var results = regex.exec(url);
525
- if (_isNull(results) || (results && !_isString(results[1]) && results[1].length)) {
526
- return '';
527
- }
528
- else {
529
- var result = results[1];
530
- try {
531
- result = decodeURIComponent(result);
532
- }
533
- catch (err) {
534
- logger.error('Skipping decoding for malformed query param: ' + result);
535
- }
536
- return result.replace(/\+/g, ' ');
537
- }
538
- };
539
- export var _getHashParam = function (hash, param) {
540
- var matches = hash.match(new RegExp(param + '=([^&]*)'));
541
- return matches ? matches[1] : null;
542
- };
543
444
  export var _register_event = (function () {
544
445
  // written by Dean Edwards, 2005
545
446
  // with input from Tino Zijdel - crisp@xs4all.nl
@@ -609,9 +510,6 @@ export var _register_event = (function () {
609
510
  };
610
511
  return register_event;
611
512
  })();
612
- export var isLocalhost = function () {
613
- return localDomains.includes(location.hostname);
614
- };
615
513
  export function loadScript(scriptUrlToLoad, callback) {
616
514
  var addScript = function () {
617
515
  var _a;
@@ -636,298 +534,6 @@ export function loadScript(scriptUrlToLoad, callback) {
636
534
  document.addEventListener('DOMContentLoaded', addScript);
637
535
  }
638
536
  }
639
- export var _info = {
640
- campaignParams: function (customParams) {
641
- var campaign_keywords = [
642
- 'utm_source',
643
- 'utm_medium',
644
- 'utm_campaign',
645
- 'utm_content',
646
- 'utm_term',
647
- 'gclid',
648
- 'fbclid',
649
- 'msclkid',
650
- ].concat(customParams || []);
651
- var params = {};
652
- _each(campaign_keywords, function (kwkey) {
653
- var kw = _getQueryParam(document.URL, kwkey);
654
- if (kw.length) {
655
- params[kwkey] = kw;
656
- }
657
- });
658
- return params;
659
- },
660
- searchEngine: function () {
661
- var referrer = document.referrer;
662
- if (!referrer) {
663
- return null;
664
- }
665
- else if (referrer.search('https?://(.*)google.([^/?]*)') === 0) {
666
- return 'google';
667
- }
668
- else if (referrer.search('https?://(.*)bing.com') === 0) {
669
- return 'bing';
670
- }
671
- else if (referrer.search('https?://(.*)yahoo.com') === 0) {
672
- return 'yahoo';
673
- }
674
- else if (referrer.search('https?://(.*)duckduckgo.com') === 0) {
675
- return 'duckduckgo';
676
- }
677
- else {
678
- return null;
679
- }
680
- },
681
- searchInfo: function () {
682
- var search = _info.searchEngine(), param = search != 'yahoo' ? 'q' : 'p', ret = {};
683
- if (!_isNull(search)) {
684
- ret['$search_engine'] = search;
685
- var keyword = _getQueryParam(document.referrer, param);
686
- if (keyword.length) {
687
- ret['ph_keyword'] = keyword;
688
- }
689
- }
690
- return ret;
691
- },
692
- /**
693
- * This function detects which browser is running this script.
694
- * The order of the checks are important since many user agents
695
- * include key words used in later checks.
696
- */
697
- browser: function (user_agent, vendor, opera) {
698
- vendor = vendor || ''; // vendor is undefined for at least IE9
699
- if (opera || _includes(user_agent, ' OPR/')) {
700
- if (_includes(user_agent, 'Mini')) {
701
- return 'Opera Mini';
702
- }
703
- return 'Opera';
704
- }
705
- else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {
706
- return 'BlackBerry';
707
- }
708
- else if (_includes(user_agent, 'IEMobile') || _includes(user_agent, 'WPDesktop')) {
709
- return 'Internet Explorer Mobile';
710
- }
711
- else if (_includes(user_agent, 'SamsungBrowser/')) {
712
- // https://developer.samsung.com/internet/user-agent-string-format
713
- return 'Samsung Internet';
714
- }
715
- else if (_includes(user_agent, 'Edge') || _includes(user_agent, 'Edg/')) {
716
- return 'Microsoft Edge';
717
- }
718
- else if (_includes(user_agent, 'FBIOS')) {
719
- return 'Facebook Mobile';
720
- }
721
- else if (_includes(user_agent, 'Chrome')) {
722
- return 'Chrome';
723
- }
724
- else if (_includes(user_agent, 'CriOS')) {
725
- return 'Chrome iOS';
726
- }
727
- else if (_includes(user_agent, 'UCWEB') || _includes(user_agent, 'UCBrowser')) {
728
- return 'UC Browser';
729
- }
730
- else if (_includes(user_agent, 'FxiOS')) {
731
- return 'Firefox iOS';
732
- }
733
- else if (_includes(vendor, 'Apple')) {
734
- if (_includes(user_agent, 'Mobile')) {
735
- return 'Mobile Safari';
736
- }
737
- return 'Safari';
738
- }
739
- else if (_includes(user_agent, 'Android')) {
740
- return 'Android Mobile';
741
- }
742
- else if (_includes(user_agent, 'Konqueror')) {
743
- return 'Konqueror';
744
- }
745
- else if (_includes(user_agent, 'Firefox')) {
746
- return 'Firefox';
747
- }
748
- else if (_includes(user_agent, 'MSIE') || _includes(user_agent, 'Trident/')) {
749
- return 'Internet Explorer';
750
- }
751
- else if (_includes(user_agent, 'Gecko')) {
752
- return 'Mozilla';
753
- }
754
- else {
755
- return '';
756
- }
757
- },
758
- /**
759
- * This function detects which browser version is running this script,
760
- * parsing major and minor version (e.g., 42.1). User agent strings from:
761
- * http://www.useragentstring.com/pages/useragentstring.php
762
- */
763
- browserVersion: function (userAgent, vendor, opera) {
764
- var browser = _info.browser(userAgent, vendor, opera);
765
- var versionRegexs = {
766
- 'Internet Explorer Mobile': /rv:(\d+(\.\d+)?)/,
767
- 'Microsoft Edge': /Edge?\/(\d+(\.\d+)?)/,
768
- Chrome: /Chrome\/(\d+(\.\d+)?)/,
769
- 'Chrome iOS': /CriOS\/(\d+(\.\d+)?)/,
770
- 'UC Browser': /(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,
771
- Safari: /Version\/(\d+(\.\d+)?)/,
772
- 'Mobile Safari': /Version\/(\d+(\.\d+)?)/,
773
- Opera: /(Opera|OPR)\/(\d+(\.\d+)?)/,
774
- Firefox: /Firefox\/(\d+(\.\d+)?)/,
775
- 'Firefox iOS': /FxiOS\/(\d+(\.\d+)?)/,
776
- Konqueror: /Konqueror:(\d+(\.\d+)?)/,
777
- BlackBerry: /BlackBerry (\d+(\.\d+)?)/,
778
- 'Android Mobile': /android\s(\d+(\.\d+)?)/,
779
- 'Samsung Internet': /SamsungBrowser\/(\d+(\.\d+)?)/,
780
- 'Internet Explorer': /(rv:|MSIE )(\d+(\.\d+)?)/,
781
- Mozilla: /rv:(\d+(\.\d+)?)/,
782
- };
783
- var regex = versionRegexs[browser];
784
- if (_isUndefined(regex)) {
785
- return null;
786
- }
787
- var matches = userAgent.match(regex);
788
- if (!matches) {
789
- return null;
790
- }
791
- return parseFloat(matches[matches.length - 2]);
792
- },
793
- browserLanguage: function () {
794
- return (navigator.language || // Any modern browser
795
- navigator.userLanguage // IE11
796
- );
797
- },
798
- os: function (user_agent) {
799
- if (/Windows/i.test(user_agent)) {
800
- if (/Phone/.test(user_agent) || /WPDesktop/.test(user_agent)) {
801
- return { os_name: 'Windows Phone', os_version: '' };
802
- }
803
- var match = /Windows NT ([0-9.]+)/i.exec(user_agent);
804
- if (match && match[1]) {
805
- var version = match[1];
806
- return { os_name: 'Windows', os_version: version };
807
- }
808
- return { os_name: 'Windows', os_version: '' };
809
- }
810
- else if (/(iPhone|iPad|iPod)/.test(user_agent)) {
811
- var match = /OS (\d+)_(\d+)_?(\d+)?/i.exec(user_agent);
812
- if (match && match[1]) {
813
- var versionParts = [match[1], match[2], match[3] || '0'];
814
- return { os_name: 'iOS', os_version: versionParts.join('.') };
815
- }
816
- return { os_name: 'iOS', os_version: '' };
817
- }
818
- else if (/Android/.test(user_agent)) {
819
- var match = /Android (\d+)\.(\d+)\.?(\d+)?/i.exec(user_agent);
820
- if (match && match[1]) {
821
- var versionParts = [match[1], match[2], match[3] || '0'];
822
- return { os_name: 'Android', os_version: versionParts.join('.') };
823
- }
824
- return { os_name: 'Android', os_version: '' };
825
- }
826
- else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {
827
- return { os_name: 'BlackBerry', os_version: '' };
828
- }
829
- else if (/Mac/i.test(user_agent)) {
830
- var match = /Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i.exec(user_agent);
831
- if (match && match[1]) {
832
- var versionParts = [match[1], match[2], match[3] || '0'];
833
- return { os_name: 'Mac OS X', os_version: versionParts.join('.') };
834
- }
835
- return { os_name: 'Mac OS X', os_version: '' };
836
- }
837
- else if (/Linux/.test(user_agent)) {
838
- return { os_name: 'Linux', os_version: '' };
839
- }
840
- else if (/CrOS/.test(user_agent)) {
841
- return { os_name: 'Chrome OS', os_version: '' };
842
- }
843
- else {
844
- return { os_name: '', os_version: '' };
845
- }
846
- },
847
- device: function (user_agent) {
848
- if (/Windows Phone/i.test(user_agent) || /WPDesktop/.test(user_agent)) {
849
- return 'Windows Phone';
850
- }
851
- else if (/iPad/.test(user_agent)) {
852
- return 'iPad';
853
- }
854
- else if (/iPod/.test(user_agent)) {
855
- return 'iPod Touch';
856
- }
857
- else if (/iPhone/.test(user_agent)) {
858
- return 'iPhone';
859
- }
860
- else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {
861
- return 'BlackBerry';
862
- }
863
- else if (/Android/.test(user_agent) && !/Mobile/.test(user_agent)) {
864
- return 'Android Tablet';
865
- }
866
- else if (/Android/.test(user_agent)) {
867
- return 'Android';
868
- }
869
- else {
870
- return '';
871
- }
872
- },
873
- deviceType: function (user_agent) {
874
- var device = this.device(user_agent);
875
- if (device === 'iPad' || device === 'Android Tablet') {
876
- return 'Tablet';
877
- }
878
- else if (device) {
879
- return 'Mobile';
880
- }
881
- else {
882
- return 'Desktop';
883
- }
884
- },
885
- referrer: function () {
886
- return document.referrer || '$direct';
887
- },
888
- referringDomain: function () {
889
- if (!document.referrer) {
890
- return '$direct';
891
- }
892
- var parser = document.createElement('a'); // Unfortunately we cannot use new URL due to IE11
893
- parser.href = document.referrer;
894
- return parser.host;
895
- },
896
- properties: function () {
897
- var _a = _info.os(userAgent), os_name = _a.os_name, os_version = _a.os_version;
898
- return _extend(_strip_empty_properties({
899
- $os: os_name,
900
- $os_version: os_version,
901
- $browser: _info.browser(userAgent, navigator.vendor, win.opera),
902
- $device: _info.device(userAgent),
903
- $device_type: _info.deviceType(userAgent),
904
- }), {
905
- $current_url: win === null || win === void 0 ? void 0 : win.location.href,
906
- $host: win === null || win === void 0 ? void 0 : win.location.host,
907
- $pathname: win === null || win === void 0 ? void 0 : win.location.pathname,
908
- $browser_version: _info.browserVersion(userAgent, navigator.vendor, win.opera),
909
- $browser_language: _info.browserLanguage(),
910
- $screen_height: win === null || win === void 0 ? void 0 : win.screen.height,
911
- $screen_width: win === null || win === void 0 ? void 0 : win.screen.width,
912
- $viewport_height: win === null || win === void 0 ? void 0 : win.innerHeight,
913
- $viewport_width: win === null || win === void 0 ? void 0 : win.innerWidth,
914
- $lib: 'web',
915
- $lib_version: Config.LIB_VERSION,
916
- $insert_id: Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10),
917
- $time: _timestamp() / 1000, // epoch time in seconds
918
- });
919
- },
920
- people_properties: function () {
921
- var _a = _info.os(userAgent), os_name = _a.os_name, os_version = _a.os_version;
922
- return _extend(_strip_empty_properties({
923
- $os: os_name,
924
- $os_version: os_version,
925
- $browser: _info.browser(userAgent, navigator.vendor, win.opera),
926
- }), {
927
- $browser_version: _info.browserVersion(userAgent, navigator.vendor, win.opera),
928
- });
929
- },
930
- };
931
537
  export function isCrossDomainCookie(documentLocation) {
932
538
  var hostname = documentLocation === null || documentLocation === void 0 ? void 0 : documentLocation.hostname;
933
539
  if (!_isString(hostname)) {
@@ -939,4 +545,4 @@ export function isCrossDomainCookie(documentLocation) {
939
545
  return hostname.split('.').slice(-2).join('.') !== 'herokuapp.com';
940
546
  }
941
547
  export { win as window, userAgent, document };
942
- //# sourceMappingURL=utils.js.map
548
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Config from '../config'\nimport { Breaker, EventHandler, Properties } from '../types'\nimport {\n _isArray,\n _isDate,\n _isFunction,\n _isNull,\n _isObject,\n _isString,\n _isUndefined,\n hasOwnProperty,\n} from './type-utils'\n\n/*\n * Saved references to long variable names, so that closure compiler can\n * minimize file size.\n */\nexport const ArrayProto = Array.prototype\nexport const nativeForEach = ArrayProto.forEach\nexport const nativeIndexOf = ArrayProto.indexOf\nconst win: Window & typeof globalThis = typeof window !== 'undefined' ? window : ({} as typeof window)\nconst navigator = win.navigator || { userAgent: '' }\nconst document = win.document || {}\nconst userAgent = navigator.userAgent\nconst breaker: Breaker = {}\n\nconst LOGGER_PREFIX = '[PostHog.js]'\n\nexport const logger = {\n _log: (level: 'log' | 'warn' | 'error', ...args: any[]) => {\n if ((Config.DEBUG || (window as any).POSTHOG_DEBUG) && !_isUndefined(window.console) && window.console) {\n const consoleLog =\n '__rrweb_original__' in window.console[level]\n ? (window.console[level] as any)['__rrweb_original__']\n : window.console[level]\n\n // eslint-disable-next-line no-console\n consoleLog(LOGGER_PREFIX, ...args)\n }\n },\n\n info: (...args: any[]) => {\n logger._log('log', ...args)\n },\n\n warn: (...args: any[]) => {\n logger._log('warn', ...args)\n },\n\n error: (...args: any[]) => {\n logger._log('error', ...args)\n },\n\n critical: (...args: any[]) => {\n // Critical errors are always logged to the console\n // eslint-disable-next-line no-console\n console.error(LOGGER_PREFIX, ...args)\n },\n\n uninitializedWarning: (methodName: string) => {\n logger.error(`You must initialize PostHog before calling ${methodName}`)\n },\n}\n\n// UNDERSCORE\n// Embed part of the Underscore Library\nexport const _trim = function (str: string): string {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n}\n\nexport const _bind_instance_methods = function (obj: Record<string, any>): void {\n for (const func in obj) {\n if (_isFunction(obj[func])) {\n obj[func] = obj[func].bind(obj)\n }\n }\n}\n\nexport function _eachArray<E = any>(\n obj: E[] | null | undefined,\n iterator: (value: E, key: number) => void | Breaker,\n thisArg?: any\n): void {\n if (_isArray(obj)) {\n if (nativeForEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, thisArg)\n } else if ('length' in obj && obj.length === +obj.length) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (i in obj && iterator.call(thisArg, obj[i], i) === breaker) {\n return\n }\n }\n }\n }\n}\n\n/**\n * @param {*=} obj\n * @param {function(...*)=} iterator\n * @param {Object=} thisArg\n */\nexport function _each(obj: any, iterator: (value: any, key: any) => void | Breaker, thisArg?: any): void {\n if (_isNull(obj) || _isUndefined(obj)) {\n return\n }\n if (_isArray(obj)) {\n return _eachArray(obj, iterator, thisArg)\n }\n for (const key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n if (iterator.call(thisArg, obj[key], key) === breaker) {\n return\n }\n }\n }\n}\n\nexport const _extend = function (obj: Record<string, any>, ...args: Record<string, any>[]): Record<string, any> {\n _eachArray(args, function (source) {\n for (const prop in source) {\n if (source[prop] !== void 0) {\n obj[prop] = source[prop]\n }\n }\n })\n return obj\n}\n\nexport const _include = function (\n obj: null | string | Array<any> | Record<string, any>,\n target: any\n): boolean | Breaker {\n let found = false\n if (_isNull(obj)) {\n return found\n }\n if (nativeIndexOf && obj.indexOf === nativeIndexOf) {\n return obj.indexOf(target) != -1\n }\n _each(obj, function (value) {\n if (found || (found = value === target)) {\n return breaker\n }\n return\n })\n return found\n}\n\nexport function _includes<T = any>(str: T[] | string, needle: T): boolean {\n return (str as any).indexOf(needle) !== -1\n}\n\n/**\n * Object.entries() polyfill\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\n */\nexport function _entries<T = any>(obj: Record<string, T>): [string, T][] {\n const ownProps = Object.keys(obj)\n let i = ownProps.length\n const resArray = new Array(i) // preallocate the Array\n\n while (i--) {\n resArray[i] = [ownProps[i], obj[ownProps[i]]]\n }\n return resArray\n}\n\nexport const _isValidRegex = function (str: string): boolean {\n try {\n new RegExp(str)\n } catch (error) {\n return false\n }\n return true\n}\n\nexport const _encodeDates = function (obj: Properties): Properties {\n _each(obj, function (v, k) {\n if (_isDate(v)) {\n obj[k] = _formatDate(v)\n } else if (_isObject(v)) {\n obj[k] = _encodeDates(v) // recurse\n }\n })\n return obj\n}\n\nexport const _timestamp = function (): number {\n Date.now =\n Date.now ||\n function () {\n return +new Date()\n }\n return Date.now()\n}\n\nexport const _formatDate = function (d: Date): string {\n // YYYY-MM-DDTHH:MM:SS in UTC\n function pad(n: number) {\n return n < 10 ? '0' + n : n\n }\n return (\n d.getUTCFullYear() +\n '-' +\n pad(d.getUTCMonth() + 1) +\n '-' +\n pad(d.getUTCDate()) +\n 'T' +\n pad(d.getUTCHours()) +\n ':' +\n pad(d.getUTCMinutes()) +\n ':' +\n pad(d.getUTCSeconds())\n )\n}\n\nexport const _try = function <T>(fn: () => T): T | undefined {\n try {\n return fn()\n } catch (e) {\n return undefined\n }\n}\n\nexport const _safewrap = function <F extends (...args: any[]) => any = (...args: any[]) => any>(f: F): F {\n return function (...args) {\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return f.apply(this, args)\n } catch (e) {\n logger.critical('Implementation error. Please turn on debug and contact support@posthog.com.')\n logger.critical(e)\n }\n } as F\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const _safewrap_class = function (klass: Function, functions: string[]): void {\n for (let i = 0; i < functions.length; i++) {\n klass.prototype[functions[i]] = _safewrap(klass.prototype[functions[i]])\n }\n}\n\nexport const _safewrap_instance_methods = function (obj: Record<string, any>): void {\n for (const func in obj) {\n if (_isFunction(obj[func])) {\n obj[func] = _safewrap(obj[func])\n }\n }\n}\n\nexport const _strip_empty_properties = function (p: Properties): Properties {\n const ret: Properties = {}\n _each(p, function (v, k) {\n if (_isString(v) && v.length > 0) {\n ret[k] = v\n }\n })\n return ret\n}\n\n/**\n * Deep copies an object.\n * It handles cycles by replacing all references to them with `undefined`\n * Also supports customizing native values\n *\n * @param value\n * @param customizer\n * @returns {{}|undefined|*}\n */\nfunction deepCircularCopy<T extends Record<string, any> = Record<string, any>>(\n value: T,\n customizer?: <K extends keyof T = keyof T>(value: T[K], key?: K) => T[K]\n): T | undefined {\n const COPY_IN_PROGRESS_SET = new Set()\n\n function internalDeepCircularCopy(value: T, key?: string): T | undefined {\n if (value !== Object(value)) return customizer ? customizer(value as any, key) : value // primitive value\n\n if (COPY_IN_PROGRESS_SET.has(value)) return undefined\n COPY_IN_PROGRESS_SET.add(value)\n let result: T\n\n if (_isArray(value)) {\n result = [] as any as T\n _eachArray(value, (it) => {\n result.push(internalDeepCircularCopy(it))\n })\n } else {\n result = {} as T\n _each(value, (val, key) => {\n if (!COPY_IN_PROGRESS_SET.has(val)) {\n ;(result as any)[key] = internalDeepCircularCopy(val, key)\n }\n })\n }\n return result\n }\n return internalDeepCircularCopy(value)\n}\n\nconst LONG_STRINGS_ALLOW_LIST = ['$performance_raw']\n\nexport function _copyAndTruncateStrings<T extends Record<string, any> = Record<string, any>>(\n object: T,\n maxStringLength: number | null\n): T {\n return deepCircularCopy(object, (value: any, key) => {\n if (key && LONG_STRINGS_ALLOW_LIST.indexOf(key as string) > -1) {\n return value\n }\n if (_isString(value) && !_isNull(maxStringLength)) {\n return (value as string).slice(0, maxStringLength)\n }\n return value\n }) as T\n}\n\nexport function _base64Encode(data: null): null\nexport function _base64Encode(data: undefined): undefined\nexport function _base64Encode(data: string): string\nexport function _base64Encode(data: string | null | undefined): string | null | undefined {\n const b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n let o1,\n o2,\n o3,\n h1,\n h2,\n h3,\n h4,\n bits,\n i = 0,\n ac = 0,\n enc = ''\n const tmp_arr: string[] = []\n\n if (!data) {\n return data\n }\n\n data = _utf8Encode(data)\n\n do {\n // pack three octets into four hexets\n o1 = data.charCodeAt(i++)\n o2 = data.charCodeAt(i++)\n o3 = data.charCodeAt(i++)\n\n bits = (o1 << 16) | (o2 << 8) | o3\n\n h1 = (bits >> 18) & 0x3f\n h2 = (bits >> 12) & 0x3f\n h3 = (bits >> 6) & 0x3f\n h4 = bits & 0x3f\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4)\n } while (i < data.length)\n\n enc = tmp_arr.join('')\n\n switch (data.length % 3) {\n case 1:\n enc = enc.slice(0, -2) + '=='\n break\n case 2:\n enc = enc.slice(0, -1) + '='\n break\n }\n\n return enc\n}\n\nexport const _utf8Encode = function (string: string): string {\n string = (string + '').replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n')\n\n let utftext = '',\n start,\n end\n let stringl = 0,\n n\n\n start = end = 0\n stringl = string.length\n\n for (n = 0; n < stringl; n++) {\n const c1 = string.charCodeAt(n)\n let enc = null\n\n if (c1 < 128) {\n end++\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode((c1 >> 6) | 192, (c1 & 63) | 128)\n } else {\n enc = String.fromCharCode((c1 >> 12) | 224, ((c1 >> 6) & 63) | 128, (c1 & 63) | 128)\n }\n if (!_isNull(enc)) {\n if (end > start) {\n utftext += string.substring(start, end)\n }\n utftext += enc\n start = end = n + 1\n }\n }\n\n if (end > start) {\n utftext += string.substring(start, string.length)\n }\n\n return utftext\n}\n\nexport const DEFAULT_BLOCKED_UA_STRS = [\n 'ahrefsbot',\n 'applebot',\n 'baiduspider',\n 'bingbot',\n 'bingpreview',\n 'bot.htm',\n 'bot.php',\n 'crawler',\n 'duckduckbot',\n 'facebookexternal',\n 'facebookcatalog',\n 'gptbot',\n 'hubspot',\n 'linkedinbot',\n 'mj12bot',\n 'petalbot',\n 'pinterest',\n 'prerender',\n 'rogerbot',\n 'screaming frog',\n 'semrushbot',\n 'sitebulb',\n 'twitterbot',\n 'yahoo! slurp',\n 'yandexbot',\n\n // a whole bunch of goog-specific crawlers\n // https://developers.google.com/search/docs/advanced/crawling/overview-google-crawlers\n 'adsbot-google',\n 'apis-google',\n 'duplexweb-google',\n 'feedfetcher-google',\n 'google favicon',\n 'google web preview',\n 'google-read-aloud',\n 'googlebot',\n 'googleweblight',\n 'mediapartners-google',\n 'storebot-google',\n]\n\n// _.isBlockedUA()\n// This is to block various web spiders from executing our JS and\n// sending false capturing data\nexport const _isBlockedUA = function (ua: string, customBlockedUserAgents: string[]): boolean {\n if (!ua) {\n return false\n }\n const uaLower = ua.toLowerCase()\n return DEFAULT_BLOCKED_UA_STRS.concat(customBlockedUserAgents || []).some((blockedUA) => {\n const blockedUaLower = blockedUA.toLowerCase()\n if (uaLower.includes) {\n return uaLower.includes(blockedUaLower)\n } else {\n // IE 11 :/\n return uaLower.indexOf(blockedUaLower) !== -1\n }\n })\n}\n\nexport const _register_event = (function () {\n // written by Dean Edwards, 2005\n // with input from Tino Zijdel - crisp@xs4all.nl\n // with input from Carl Sverre - mail@carlsverre.com\n // with input from PostHog\n // http://dean.edwards.name/weblog/2005/10/add-event/\n // https://gist.github.com/1930440\n\n /**\n * @param {Object} element\n * @param {string} type\n * @param {function(...*)} handler\n * @param {boolean=} oldSchool\n * @param {boolean=} useCapture\n */\n const register_event = function (\n element: Element | Window | Document | Node,\n type: string,\n handler: EventHandler,\n oldSchool?: boolean,\n useCapture?: boolean\n ) {\n if (!element) {\n logger.error('No valid element provided to register_event')\n return\n }\n\n if (element.addEventListener && !oldSchool) {\n element.addEventListener(type, handler, !!useCapture)\n } else {\n const ontype = 'on' + type\n const old_handler = (element as any)[ontype] // can be undefined\n ;(element as any)[ontype] = makeHandler(element, handler, old_handler)\n }\n }\n\n function makeHandler(\n element: Element | Window | Document | Node,\n new_handler: EventHandler,\n old_handlers: EventHandler\n ) {\n return function (event: Event): boolean | void {\n event = event || fixEvent(window.event)\n\n // this basically happens in firefox whenever another script\n // overwrites the onload callback and doesn't pass the event\n // object to previously defined callbacks. All the browsers\n // that don't define window.event implement addEventListener\n // so the dom_loaded handler will still be fired as usual.\n if (!event) {\n return undefined\n }\n\n let ret = true\n let old_result: any\n\n if (_isFunction(old_handlers)) {\n old_result = old_handlers(event)\n }\n const new_result = new_handler.call(element, event)\n\n if (false === old_result || false === new_result) {\n ret = false\n }\n\n return ret\n }\n }\n\n function fixEvent(event: Event | undefined): Event | undefined {\n if (event) {\n event.preventDefault = fixEvent.preventDefault\n event.stopPropagation = fixEvent.stopPropagation\n }\n return event\n }\n fixEvent.preventDefault = function () {\n ;(this as any as Event).returnValue = false\n }\n fixEvent.stopPropagation = function () {\n ;(this as any as Event).cancelBubble = true\n }\n\n return register_event\n})()\n\nexport function loadScript(scriptUrlToLoad: string, callback: (error?: string | Event, event?: Event) => void): void {\n const addScript = () => {\n const scriptTag = document.createElement('script')\n scriptTag.type = 'text/javascript'\n scriptTag.src = scriptUrlToLoad\n scriptTag.onload = (event) => callback(undefined, event)\n scriptTag.onerror = (error) => callback(error)\n\n const scripts = document.querySelectorAll('body > script')\n if (scripts.length > 0) {\n scripts[0].parentNode?.insertBefore(scriptTag, scripts[0])\n } else {\n // In exceptional situations this call might load before the DOM is fully ready.\n document.body.appendChild(scriptTag)\n }\n }\n\n if (document.body) {\n addScript()\n } else {\n document.addEventListener('DOMContentLoaded', addScript)\n }\n}\n\nexport function isCrossDomainCookie(documentLocation: Location | undefined) {\n const hostname = documentLocation?.hostname\n\n if (!_isString(hostname)) {\n return false\n }\n // split and slice isn't a great way to match arbitrary domains,\n // but it's good enough for ensuring we only match herokuapp.com when it is the TLD\n // for the hostname\n return hostname.split('.').slice(-2).join('.') !== 'herokuapp.com'\n}\n\nexport { win as window, userAgent, document }\n"]}
@@ -0,0 +1,5 @@
1
+ export declare const _isUrlMatchingRegex: (url: string, pattern: string) => boolean;
2
+ export declare const _HTTPBuildQuery: (formdata: Record<string, any>, arg_separator?: string) => string;
3
+ export declare const _getQueryParam: (url: string, param: string) => string;
4
+ export declare const _getHashParam: (hash: string, param: string) => string | null;
5
+ export declare const isLocalhost: () => boolean;
@@ -0,0 +1,58 @@
1
+ import { _each, _isValidRegex, logger } from './';
2
+ import { _isArray, _isUndefined } from './type-utils';
3
+ var localDomains = ['localhost', '127.0.0.1'];
4
+ export var _isUrlMatchingRegex = function (url, pattern) {
5
+ if (!_isValidRegex(pattern))
6
+ return false;
7
+ return new RegExp(pattern).test(url);
8
+ };
9
+ export var _HTTPBuildQuery = function (formdata, arg_separator) {
10
+ if (arg_separator === void 0) { arg_separator = '&'; }
11
+ var use_val;
12
+ var use_key;
13
+ var tph_arr = [];
14
+ _each(formdata, function (val, key) {
15
+ // the key might be literally the string undefined for e.g. if {undefined: 'something'}
16
+ if (_isUndefined(val) || _isUndefined(key) || key === 'undefined') {
17
+ return;
18
+ }
19
+ use_val = encodeURIComponent(val.toString());
20
+ use_key = encodeURIComponent(key);
21
+ tph_arr[tph_arr.length] = use_key + '=' + use_val;
22
+ });
23
+ return tph_arr.join(arg_separator);
24
+ };
25
+ export var _getQueryParam = function (url, param) {
26
+ var withoutHash = url.split('#')[0] || '';
27
+ var queryParams = withoutHash.split('?')[1] || '';
28
+ var queryParts = queryParams.split('&');
29
+ var keyValuePair;
30
+ for (var i = 0; i < queryParts.length; i++) {
31
+ var parts = queryParts[i].split('=');
32
+ if (parts[0] === param) {
33
+ keyValuePair = parts;
34
+ break;
35
+ }
36
+ }
37
+ if (!_isArray(keyValuePair) || keyValuePair.length < 2) {
38
+ return '';
39
+ }
40
+ else {
41
+ var result = keyValuePair[1];
42
+ try {
43
+ result = decodeURIComponent(result);
44
+ }
45
+ catch (err) {
46
+ logger.error('Skipping decoding for malformed query param: ' + result);
47
+ }
48
+ return result.replace(/\+/g, ' ');
49
+ }
50
+ };
51
+ export var _getHashParam = function (hash, param) {
52
+ var matches = hash.match(new RegExp(param + '=([^&]*)'));
53
+ return matches ? matches[1] : null;
54
+ };
55
+ export var isLocalhost = function () {
56
+ return localDomains.includes(location.hostname);
57
+ };
58
+ //# sourceMappingURL=request-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-utils.js","sourceRoot":"","sources":["../../../src/utils/request-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { _each, _isValidRegex, logger } from './'\n\nimport { _isArray, _isUndefined } from './type-utils'\n\nconst localDomains = ['localhost', '127.0.0.1']\n\nexport const _isUrlMatchingRegex = function (url: string, pattern: string): boolean {\n if (!_isValidRegex(pattern)) return false\n return new RegExp(pattern).test(url)\n}\n\nexport const _HTTPBuildQuery = function (formdata: Record<string, any>, arg_separator = '&'): string {\n let use_val: string\n let use_key: string\n const tph_arr: string[] = []\n\n _each(formdata, function (val, key) {\n // the key might be literally the string undefined for e.g. if {undefined: 'something'}\n if (_isUndefined(val) || _isUndefined(key) || key === 'undefined') {\n return\n }\n\n use_val = encodeURIComponent(val.toString())\n use_key = encodeURIComponent(key)\n tph_arr[tph_arr.length] = use_key + '=' + use_val\n })\n\n return tph_arr.join(arg_separator)\n}\n\nexport const _getQueryParam = function (url: string, param: string): string {\n const withoutHash: string = url.split('#')[0] || ''\n const queryParams: string = withoutHash.split('?')[1] || ''\n\n const queryParts = queryParams.split('&')\n let keyValuePair\n\n for (let i = 0; i < queryParts.length; i++) {\n const parts = queryParts[i].split('=')\n if (parts[0] === param) {\n keyValuePair = parts\n break\n }\n }\n\n if (!_isArray(keyValuePair) || keyValuePair.length < 2) {\n return ''\n } else {\n let result = keyValuePair[1]\n try {\n result = decodeURIComponent(result)\n } catch (err) {\n logger.error('Skipping decoding for malformed query param: ' + result)\n }\n return result.replace(/\\+/g, ' ')\n }\n}\n\nexport const _getHashParam = function (hash: string, param: string): string | null {\n const matches = hash.match(new RegExp(param + '=([^&]*)'))\n return matches ? matches[1] : null\n}\n\nexport const isLocalhost = (): boolean => {\n return localDomains.includes(location.hostname)\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export declare const hasOwnProperty: (v: PropertyKey) => boolean;
2
+ export declare const _isArray: (arg: any) => arg is any[];
3
+ export declare const _isUint8Array: (x: unknown) => x is Uint8Array;
4
+ export declare const _isFunction: (f: any) => f is (...args: any[]) => any;
5
+ export declare const _isObject: (x: unknown) => x is Record<string, any>;
6
+ export declare const _isEmptyObject: (x: unknown) => x is Record<string, any>;
7
+ export declare const _isUndefined: (x: unknown) => x is undefined;
8
+ export declare const _isString: (x: unknown) => x is string;
9
+ export declare const _isNull: (x: unknown) => x is null;
10
+ export declare const _isDate: (x: unknown) => x is Date;
11
+ export declare const _isNumber: (x: unknown) => x is number;
12
+ export declare const _isBoolean: (x: unknown) => x is boolean;