posthog-js 1.87.3 → 1.87.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/array.full.js +1 -1
- package/dist/array.full.js.map +1 -1
- package/dist/array.js +1 -1
- package/dist/array.js.map +1 -1
- package/dist/es.js +1 -1
- package/dist/es.js.map +1 -1
- package/dist/exception-autocapture.js +1 -1
- package/dist/exception-autocapture.js.map +1 -1
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/src/autocapture-utils.js +2 -1
- package/lib/src/autocapture-utils.js.map +1 -1
- package/lib/src/autocapture.js +2 -1
- package/lib/src/autocapture.js.map +1 -1
- package/lib/src/decide.js +2 -1
- package/lib/src/decide.js.map +1 -1
- package/lib/src/extensions/exception-autocapture/index.js +2 -1
- package/lib/src/extensions/exception-autocapture/index.js.map +1 -1
- package/lib/src/extensions/replay/sessionrecording.js +2 -1
- package/lib/src/extensions/replay/sessionrecording.js.map +1 -1
- package/lib/src/extensions/replay/web-performance.js +1 -1
- package/lib/src/extensions/replay/web-performance.js.map +1 -1
- package/lib/src/extensions/segment-integration.d.ts +18 -0
- package/lib/src/extensions/segment-integration.js +1 -19
- package/lib/src/extensions/segment-integration.js.map +1 -1
- package/lib/src/extensions/toolbar.js +3 -1
- package/lib/src/extensions/toolbar.js.map +1 -1
- package/lib/src/gdpr-utils.js +3 -1
- package/lib/src/gdpr-utils.js.map +1 -1
- package/lib/src/page-view.js +1 -1
- package/lib/src/page-view.js.map +1 -1
- package/lib/src/posthog-core.js +4 -2
- package/lib/src/posthog-core.js.map +1 -1
- package/lib/src/posthog-featureflags.js +2 -1
- package/lib/src/posthog-featureflags.js.map +1 -1
- package/lib/src/posthog-persistence.js +2 -1
- package/lib/src/posthog-persistence.js.map +1 -1
- package/lib/src/rate-limiter.js +6 -2
- package/lib/src/rate-limiter.js.map +1 -1
- package/lib/src/retry-queue.js +1 -1
- package/lib/src/retry-queue.js.map +1 -1
- package/lib/src/send-request.js +2 -1
- package/lib/src/send-request.js.map +1 -1
- package/lib/src/sessionid.js +2 -1
- package/lib/src/sessionid.js.map +1 -1
- package/lib/src/storage.js +2 -1
- package/lib/src/storage.js.map +1 -1
- package/lib/src/utils/event-utils.js +2 -1
- package/lib/src/utils/event-utils.js.map +1 -1
- package/lib/src/utils/globals.d.ts +7 -0
- package/lib/src/utils/globals.js +12 -0
- package/lib/src/utils/globals.js.map +1 -0
- package/lib/src/utils/index.d.ts +0 -15
- package/lib/src/utils/index.js +2 -87
- package/lib/src/utils/index.js.map +1 -1
- package/lib/src/utils/logger.d.ts +8 -0
- package/lib/src/utils/logger.js +78 -0
- package/lib/src/utils/logger.js.map +1 -0
- package/lib/src/utils/request-utils.js +2 -1
- package/lib/src/utils/request-utils.js.map +1 -1
- package/lib/src/uuidv7.js +1 -1
- package/lib/src/uuidv7.js.map +1 -1
- package/package.json +1 -1
package/lib/src/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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","sourcesContent":["import { _extend, logger } from './utils'\nimport { PersistentStore, Properties } from './types'\nimport { DISTINCT_ID, SESSION_ID, SESSION_RECORDING_IS_SAMPLED } from './constants'\n\nimport { _isNull, _isUndefined } from './utils/type-utils'\n\nconst DOMAIN_MATCH_REGEX = /[a-z0-9][a-z0-9-]+\\.[a-z]{2,}$/i\n\n// Methods partially borrowed from quirksmode.org/js/cookies.html\nexport const cookieStore: PersistentStore = {\n is_supported: () => true,\n\n error: function (msg) {\n logger.error('cookieStore error: ' + msg)\n },\n\n get: function (name) {\n try {\n const nameEQ = name + '='\n const ca = document.cookie.split(';').filter((x) => x.length)\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i]\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length)\n }\n if (c.indexOf(nameEQ) === 0) {\n return decodeURIComponent(c.substring(nameEQ.length, c.length))\n }\n }\n } catch (err) {}\n return null\n },\n\n parse: function (name) {\n let cookie\n try {\n cookie = JSON.parse(cookieStore.get(name)) || {}\n } catch (err) {\n // noop\n }\n return cookie\n },\n\n set: function (name, value, days, cross_subdomain, is_secure) {\n try {\n let cdomain = '',\n expires = '',\n secure = ''\n\n if (cross_subdomain) {\n // NOTE: Could we use this for cross domain tracking?\n const matches = document.location.hostname.match(DOMAIN_MATCH_REGEX),\n domain = matches ? matches[0] : ''\n\n cdomain = domain ? '; domain=.' + domain : ''\n }\n\n if (days) {\n const date = new Date()\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000)\n expires = '; expires=' + date.toUTCString()\n }\n\n if (is_secure) {\n secure = '; secure'\n }\n\n const new_cookie_val =\n name +\n '=' +\n encodeURIComponent(JSON.stringify(value)) +\n expires +\n '; SameSite=Lax; path=/' +\n cdomain +\n secure\n document.cookie = new_cookie_val\n return new_cookie_val\n } catch (err) {\n return\n }\n },\n\n remove: function (name, cross_subdomain) {\n try {\n cookieStore.set(name, '', -1, cross_subdomain)\n } catch (err) {\n return\n }\n },\n}\n\nlet _localStorage_supported: boolean | null = null\n\nexport const localStore: PersistentStore = {\n is_supported: function () {\n if (!_isNull(_localStorage_supported)) {\n return _localStorage_supported\n }\n\n let supported = true\n if (!_isUndefined(window)) {\n try {\n const key = '__mplssupport__',\n val = 'xyz'\n localStore.set(key, val)\n if (localStore.get(key) !== '\"xyz\"') {\n supported = false\n }\n localStore.remove(key)\n } catch (err) {\n supported = false\n }\n } else {\n supported = false\n }\n if (!supported) {\n logger.error('localStorage unsupported; falling back to cookie store')\n }\n\n _localStorage_supported = supported\n return supported\n },\n\n error: function (msg) {\n logger.error('localStorage error: ' + msg)\n },\n\n get: function (name) {\n try {\n return window.localStorage.getItem(name)\n } catch (err) {\n localStore.error(err)\n }\n return null\n },\n\n parse: function (name) {\n try {\n return JSON.parse(localStore.get(name)) || {}\n } catch (err) {\n // noop\n }\n return null\n },\n\n set: function (name, value) {\n try {\n window.localStorage.setItem(name, JSON.stringify(value))\n } catch (err) {\n localStore.error(err)\n }\n },\n\n remove: function (name) {\n try {\n window.localStorage.removeItem(name)\n } catch (err) {\n localStore.error(err)\n }\n },\n}\n\n// Use localstorage for most data but still use cookie for COOKIE_PERSISTED_PROPERTIES\n// This solves issues with cookies having too much data in them causing headers too large\n// Also makes sure we don't have to send a ton of data to the server\nconst COOKIE_PERSISTED_PROPERTIES = [DISTINCT_ID, SESSION_ID, SESSION_RECORDING_IS_SAMPLED]\n\nexport const localPlusCookieStore: PersistentStore = {\n ...localStore,\n parse: function (name) {\n try {\n let extend: Properties = {}\n try {\n // See if there's a cookie stored with data.\n extend = cookieStore.parse(name) || {}\n } catch (err) {}\n const value = _extend(extend, JSON.parse(localStore.get(name) || '{}'))\n localStore.set(name, value)\n return value\n } catch (err) {\n // noop\n }\n return null\n },\n\n set: function (name, value, days, cross_subdomain, is_secure) {\n try {\n localStore.set(name, value)\n const cookiePersistedProperties: Record<string, any> = {}\n COOKIE_PERSISTED_PROPERTIES.forEach((key) => {\n if (value[key]) {\n cookiePersistedProperties[key] = value[key]\n }\n })\n\n if (Object.keys(cookiePersistedProperties).length) {\n cookieStore.set(name, cookiePersistedProperties, days, cross_subdomain, is_secure)\n }\n } catch (err) {\n localStore.error(err)\n }\n },\n\n remove: function (name, cross_subdomain) {\n try {\n window.localStorage.removeItem(name)\n cookieStore.remove(name, cross_subdomain)\n } catch (err) {\n localStore.error(err)\n }\n },\n}\n\nconst memoryStorage: Properties = {}\n\n// Storage that only lasts the length of the pageview if we don't want to use cookies\nexport const memoryStore: PersistentStore = {\n is_supported: function () {\n return true\n },\n\n error: function (msg) {\n logger.error('memoryStorage error: ' + msg)\n },\n\n get: function (name) {\n return memoryStorage[name] || null\n },\n\n parse: function (name) {\n return memoryStorage[name] || null\n },\n\n set: function (name, value) {\n memoryStorage[name] = value\n },\n\n remove: function (name) {\n delete memoryStorage[name]\n },\n}\n\nlet sessionStorageSupported: boolean | null = null\nexport const resetSessionStorageSupported = () => {\n sessionStorageSupported = null\n}\n// Storage that only lasts the length of a tab/window. Survives page refreshes\nexport const sessionStore: PersistentStore = {\n is_supported: function () {\n if (!_isNull(sessionStorageSupported)) {\n return sessionStorageSupported\n }\n sessionStorageSupported = true\n if (!_isUndefined(window)) {\n try {\n const key = '__support__',\n val = 'xyz'\n sessionStore.set(key, val)\n if (sessionStore.get(key) !== '\"xyz\"') {\n sessionStorageSupported = false\n }\n sessionStore.remove(key)\n } catch (err) {\n sessionStorageSupported = false\n }\n } else {\n sessionStorageSupported = false\n }\n return sessionStorageSupported\n },\n\n error: function (msg) {\n logger.error('sessionStorage error: ', msg)\n },\n\n get: function (name) {\n try {\n return window.sessionStorage.getItem(name)\n } catch (err) {\n sessionStore.error(err)\n }\n return null\n },\n\n parse: function (name) {\n try {\n return JSON.parse(sessionStore.get(name)) || null\n } catch (err) {\n // noop\n }\n return null\n },\n\n set: function (name, value) {\n try {\n window.sessionStorage.setItem(name, JSON.stringify(value))\n } catch (err) {\n sessionStore.error(err)\n }\n },\n\n remove: function (name) {\n try {\n window.sessionStorage.removeItem(name)\n } catch (err) {\n sessionStore.error(err)\n }\n },\n}\n"]}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAEnF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,IAAM,kBAAkB,GAAG,iCAAiC,CAAA;AAE5D,iEAAiE;AACjE,MAAM,CAAC,IAAM,WAAW,GAAoB;IACxC,YAAY,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;IAExB,KAAK,EAAE,UAAU,GAAG;QAChB,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED,GAAG,EAAE,UAAU,IAAI;QACf,IAAI;YACA,IAAM,MAAM,GAAG,IAAI,GAAG,GAAG,CAAA;YACzB,IAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAA;YAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;gBACb,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACvB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;iBAC/B;gBACD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACzB,OAAO,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;iBAClE;aACJ;SACJ;QAAC,OAAO,GAAG,EAAE,GAAE;QAChB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,EAAE,UAAU,IAAI;QACjB,IAAI,MAAM,CAAA;QACV,IAAI;YACA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;SACnD;QAAC,OAAO,GAAG,EAAE;YACV,OAAO;SACV;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,GAAG,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS;QACxD,IAAI;YACA,IAAI,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,CAAA;YAEf,IAAI,eAAe,EAAE;gBACjB,qDAAqD;gBACrD,IAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAChE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAEtC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;aAChD;YAED,IAAI,IAAI,EAAE;gBACN,IAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;gBACzD,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;aAC9C;YAED,IAAI,SAAS,EAAE;gBACX,MAAM,GAAG,UAAU,CAAA;aACtB;YAED,IAAM,cAAc,GAChB,IAAI;gBACJ,GAAG;gBACH,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;gBACP,wBAAwB;gBACxB,OAAO;gBACP,MAAM,CAAA;YACV,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAA;YAChC,OAAO,cAAc,CAAA;SACxB;QAAC,OAAO,GAAG,EAAE;YACV,OAAM;SACT;IACL,CAAC;IAED,MAAM,EAAE,UAAU,IAAI,EAAE,eAAe;QACnC,IAAI;YACA,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;SACjD;QAAC,OAAO,GAAG,EAAE;YACV,OAAM;SACT;IACL,CAAC;CACJ,CAAA;AAED,IAAI,uBAAuB,GAAmB,IAAI,CAAA;AAElD,MAAM,CAAC,IAAM,UAAU,GAAoB;IACvC,YAAY,EAAE;QACV,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE;YACnC,OAAO,uBAAuB,CAAA;SACjC;QAED,IAAI,SAAS,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI;gBACA,IAAM,GAAG,GAAG,iBAAiB,EACzB,GAAG,GAAG,KAAK,CAAA;gBACf,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBACxB,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE;oBACjC,SAAS,GAAG,KAAK,CAAA;iBACpB;gBACD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aACzB;YAAC,OAAO,GAAG,EAAE;gBACV,SAAS,GAAG,KAAK,CAAA;aACpB;SACJ;aAAM;YACH,SAAS,GAAG,KAAK,CAAA;SACpB;QACD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;SACzE;QAED,uBAAuB,GAAG,SAAS,CAAA;QACnC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,KAAK,EAAE,UAAU,GAAG;QAChB,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG,EAAE,UAAU,IAAI;QACf,IAAI;YACA,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC3C;QAAC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACxB;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,EAAE,UAAU,IAAI;QACjB,IAAI;YACA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;SAChD;QAAC,OAAO,GAAG,EAAE;YACV,OAAO;SACV;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,GAAG,EAAE,UAAU,IAAI,EAAE,KAAK;QACtB,IAAI;YACA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;SAC3D;QAAC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACxB;IACL,CAAC;IAED,MAAM,EAAE,UAAU,IAAI;QAClB,IAAI;YACA,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;SACvC;QAAC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACxB;IACL,CAAC;CACJ,CAAA;AAED,sFAAsF;AACtF,yFAAyF;AACzF,oEAAoE;AACpE,IAAM,2BAA2B,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,4BAA4B,CAAC,CAAA;AAE3F,MAAM,CAAC,IAAM,oBAAoB,yBAC1B,UAAU,KACb,KAAK,EAAE,UAAU,IAAI;QACjB,IAAI;YACA,IAAI,MAAM,GAAe,EAAE,CAAA;YAC3B,IAAI;gBACA,4CAA4C;gBAC5C,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;aACzC;YAAC,OAAO,GAAG,EAAE,GAAE;YAChB,IAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;YACvE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC3B,OAAO,KAAK,CAAA;SACf;QAAC,OAAO,GAAG,EAAE;YACV,OAAO;SACV;QACD,OAAO,IAAI,CAAA;IACf,CAAC,EAED,GAAG,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS;QACxD,IAAI;YACA,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC3B,IAAM,2BAAyB,GAAwB,EAAE,CAAA;YACzD,2BAA2B,CAAC,OAAO,CAAC,UAAC,GAAG;gBACpC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;oBACZ,2BAAyB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;iBAC9C;YACL,CAAC,CAAC,CAAA;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,2BAAyB,CAAC,CAAC,MAAM,EAAE;gBAC/C,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,2BAAyB,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;aACrF;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACxB;IACL,CAAC,EAED,MAAM,EAAE,UAAU,IAAI,EAAE,eAAe;QACnC,IAAI;YACA,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACpC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;SAC5C;QAAC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACxB;IACL,CAAC,GACJ,CAAA;AAED,IAAM,aAAa,GAAe,EAAE,CAAA;AAEpC,qFAAqF;AACrF,MAAM,CAAC,IAAM,WAAW,GAAoB;IACxC,YAAY,EAAE;QACV,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,EAAE,UAAU,GAAG;QAChB,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAA;IAC/C,CAAC;IAED,GAAG,EAAE,UAAU,IAAI;QACf,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;IACtC,CAAC;IAED,KAAK,EAAE,UAAU,IAAI;QACjB,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;IACtC,CAAC;IAED,GAAG,EAAE,UAAU,IAAI,EAAE,KAAK;QACtB,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC/B,CAAC;IAED,MAAM,EAAE,UAAU,IAAI;QAClB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAED,IAAI,uBAAuB,GAAmB,IAAI,CAAA;AAClD,MAAM,CAAC,IAAM,4BAA4B,GAAG;IACxC,uBAAuB,GAAG,IAAI,CAAA;AAClC,CAAC,CAAA;AACD,8EAA8E;AAC9E,MAAM,CAAC,IAAM,YAAY,GAAoB;IACzC,YAAY,EAAE;QACV,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE;YACnC,OAAO,uBAAuB,CAAA;SACjC;QACD,uBAAuB,GAAG,IAAI,CAAA;QAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI;gBACA,IAAM,GAAG,GAAG,aAAa,EACrB,GAAG,GAAG,KAAK,CAAA;gBACf,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAC1B,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE;oBACnC,uBAAuB,GAAG,KAAK,CAAA;iBAClC;gBACD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aAC3B;YAAC,OAAO,GAAG,EAAE;gBACV,uBAAuB,GAAG,KAAK,CAAA;aAClC;SACJ;aAAM;YACH,uBAAuB,GAAG,KAAK,CAAA;SAClC;QACD,OAAO,uBAAuB,CAAA;IAClC,CAAC;IAED,KAAK,EAAE,UAAU,GAAG;QAChB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;IAC/C,CAAC;IAED,GAAG,EAAE,UAAU,IAAI;QACf,IAAI;YACA,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7C;QAAC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SAC1B;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,EAAE,UAAU,IAAI;QACjB,IAAI;YACA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAA;SACpD;QAAC,OAAO,GAAG,EAAE;YACV,OAAO;SACV;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,GAAG,EAAE,UAAU,IAAI,EAAE,KAAK;QACtB,IAAI;YACA,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;SAC7D;QAAC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SAC1B;IACL,CAAC;IAED,MAAM,EAAE,UAAU,IAAI;QAClB,IAAI;YACA,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;SACzC;QAAC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SAC1B;IACL,CAAC;CACJ,CAAA","sourcesContent":["import { _extend } from './utils'\nimport { PersistentStore, Properties } from './types'\nimport { DISTINCT_ID, SESSION_ID, SESSION_RECORDING_IS_SAMPLED } from './constants'\n\nimport { _isNull, _isUndefined } from './utils/type-utils'\nimport { logger } from './utils/logger'\n\nconst DOMAIN_MATCH_REGEX = /[a-z0-9][a-z0-9-]+\\.[a-z]{2,}$/i\n\n// Methods partially borrowed from quirksmode.org/js/cookies.html\nexport const cookieStore: PersistentStore = {\n is_supported: () => true,\n\n error: function (msg) {\n logger.error('cookieStore error: ' + msg)\n },\n\n get: function (name) {\n try {\n const nameEQ = name + '='\n const ca = document.cookie.split(';').filter((x) => x.length)\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i]\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length)\n }\n if (c.indexOf(nameEQ) === 0) {\n return decodeURIComponent(c.substring(nameEQ.length, c.length))\n }\n }\n } catch (err) {}\n return null\n },\n\n parse: function (name) {\n let cookie\n try {\n cookie = JSON.parse(cookieStore.get(name)) || {}\n } catch (err) {\n // noop\n }\n return cookie\n },\n\n set: function (name, value, days, cross_subdomain, is_secure) {\n try {\n let cdomain = '',\n expires = '',\n secure = ''\n\n if (cross_subdomain) {\n // NOTE: Could we use this for cross domain tracking?\n const matches = document.location.hostname.match(DOMAIN_MATCH_REGEX),\n domain = matches ? matches[0] : ''\n\n cdomain = domain ? '; domain=.' + domain : ''\n }\n\n if (days) {\n const date = new Date()\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000)\n expires = '; expires=' + date.toUTCString()\n }\n\n if (is_secure) {\n secure = '; secure'\n }\n\n const new_cookie_val =\n name +\n '=' +\n encodeURIComponent(JSON.stringify(value)) +\n expires +\n '; SameSite=Lax; path=/' +\n cdomain +\n secure\n document.cookie = new_cookie_val\n return new_cookie_val\n } catch (err) {\n return\n }\n },\n\n remove: function (name, cross_subdomain) {\n try {\n cookieStore.set(name, '', -1, cross_subdomain)\n } catch (err) {\n return\n }\n },\n}\n\nlet _localStorage_supported: boolean | null = null\n\nexport const localStore: PersistentStore = {\n is_supported: function () {\n if (!_isNull(_localStorage_supported)) {\n return _localStorage_supported\n }\n\n let supported = true\n if (!_isUndefined(window)) {\n try {\n const key = '__mplssupport__',\n val = 'xyz'\n localStore.set(key, val)\n if (localStore.get(key) !== '\"xyz\"') {\n supported = false\n }\n localStore.remove(key)\n } catch (err) {\n supported = false\n }\n } else {\n supported = false\n }\n if (!supported) {\n logger.error('localStorage unsupported; falling back to cookie store')\n }\n\n _localStorage_supported = supported\n return supported\n },\n\n error: function (msg) {\n logger.error('localStorage error: ' + msg)\n },\n\n get: function (name) {\n try {\n return window.localStorage.getItem(name)\n } catch (err) {\n localStore.error(err)\n }\n return null\n },\n\n parse: function (name) {\n try {\n return JSON.parse(localStore.get(name)) || {}\n } catch (err) {\n // noop\n }\n return null\n },\n\n set: function (name, value) {\n try {\n window.localStorage.setItem(name, JSON.stringify(value))\n } catch (err) {\n localStore.error(err)\n }\n },\n\n remove: function (name) {\n try {\n window.localStorage.removeItem(name)\n } catch (err) {\n localStore.error(err)\n }\n },\n}\n\n// Use localstorage for most data but still use cookie for COOKIE_PERSISTED_PROPERTIES\n// This solves issues with cookies having too much data in them causing headers too large\n// Also makes sure we don't have to send a ton of data to the server\nconst COOKIE_PERSISTED_PROPERTIES = [DISTINCT_ID, SESSION_ID, SESSION_RECORDING_IS_SAMPLED]\n\nexport const localPlusCookieStore: PersistentStore = {\n ...localStore,\n parse: function (name) {\n try {\n let extend: Properties = {}\n try {\n // See if there's a cookie stored with data.\n extend = cookieStore.parse(name) || {}\n } catch (err) {}\n const value = _extend(extend, JSON.parse(localStore.get(name) || '{}'))\n localStore.set(name, value)\n return value\n } catch (err) {\n // noop\n }\n return null\n },\n\n set: function (name, value, days, cross_subdomain, is_secure) {\n try {\n localStore.set(name, value)\n const cookiePersistedProperties: Record<string, any> = {}\n COOKIE_PERSISTED_PROPERTIES.forEach((key) => {\n if (value[key]) {\n cookiePersistedProperties[key] = value[key]\n }\n })\n\n if (Object.keys(cookiePersistedProperties).length) {\n cookieStore.set(name, cookiePersistedProperties, days, cross_subdomain, is_secure)\n }\n } catch (err) {\n localStore.error(err)\n }\n },\n\n remove: function (name, cross_subdomain) {\n try {\n window.localStorage.removeItem(name)\n cookieStore.remove(name, cross_subdomain)\n } catch (err) {\n localStore.error(err)\n }\n },\n}\n\nconst memoryStorage: Properties = {}\n\n// Storage that only lasts the length of the pageview if we don't want to use cookies\nexport const memoryStore: PersistentStore = {\n is_supported: function () {\n return true\n },\n\n error: function (msg) {\n logger.error('memoryStorage error: ' + msg)\n },\n\n get: function (name) {\n return memoryStorage[name] || null\n },\n\n parse: function (name) {\n return memoryStorage[name] || null\n },\n\n set: function (name, value) {\n memoryStorage[name] = value\n },\n\n remove: function (name) {\n delete memoryStorage[name]\n },\n}\n\nlet sessionStorageSupported: boolean | null = null\nexport const resetSessionStorageSupported = () => {\n sessionStorageSupported = null\n}\n// Storage that only lasts the length of a tab/window. Survives page refreshes\nexport const sessionStore: PersistentStore = {\n is_supported: function () {\n if (!_isNull(sessionStorageSupported)) {\n return sessionStorageSupported\n }\n sessionStorageSupported = true\n if (!_isUndefined(window)) {\n try {\n const key = '__support__',\n val = 'xyz'\n sessionStore.set(key, val)\n if (sessionStore.get(key) !== '\"xyz\"') {\n sessionStorageSupported = false\n }\n sessionStore.remove(key)\n } catch (err) {\n sessionStorageSupported = false\n }\n } else {\n sessionStorageSupported = false\n }\n return sessionStorageSupported\n },\n\n error: function (msg) {\n logger.error('sessionStorage error: ', msg)\n },\n\n get: function (name) {\n try {\n return window.sessionStorage.getItem(name)\n } catch (err) {\n sessionStore.error(err)\n }\n return null\n },\n\n parse: function (name) {\n try {\n return JSON.parse(sessionStore.get(name)) || null\n } catch (err) {\n // noop\n }\n return null\n },\n\n set: function (name, value) {\n try {\n window.sessionStorage.setItem(name, JSON.stringify(value))\n } catch (err) {\n sessionStore.error(err)\n }\n },\n\n remove: function (name) {\n try {\n window.sessionStorage.removeItem(name)\n } catch (err) {\n sessionStore.error(err)\n }\n },\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { _getQueryParam } from './request-utils';
|
|
2
2
|
import { _isNull, _isUndefined } from './type-utils';
|
|
3
3
|
import Config from '../config';
|
|
4
|
-
import { _each, _extend, _includes, _strip_empty_properties, _timestamp
|
|
4
|
+
import { _each, _extend, _includes, _strip_empty_properties, _timestamp } from './index';
|
|
5
|
+
import { document, userAgent } from './globals';
|
|
5
6
|
export var _info = {
|
|
6
7
|
campaignParams: function (customParams) {
|
|
7
8
|
var campaign_keywords = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-utils.js","sourceRoot":"","sources":["../../../src/utils/event-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { _getQueryParam } from './request-utils'\nimport { _isNull, _isUndefined } from './type-utils'\nimport { Properties } from '../types'\nimport Config from '../config'\nimport { _each, _extend, _includes, _strip_empty_properties, _timestamp, document, userAgent } from './index'\n\nexport const _info = {\n campaignParams: function (customParams?: string[]): Record<string, any> {\n const campaign_keywords = [\n 'utm_source',\n 'utm_medium',\n 'utm_campaign',\n 'utm_content',\n 'utm_term',\n 'gclid',\n 'fbclid',\n 'msclkid',\n ].concat(customParams || [])\n\n const params: Record<string, any> = {}\n _each(campaign_keywords, function (kwkey) {\n const kw = _getQueryParam(document.URL, kwkey)\n if (kw.length) {\n params[kwkey] = kw\n }\n })\n\n return params\n },\n\n searchEngine: function (): string | null {\n const referrer = document.referrer\n if (!referrer) {\n return null\n } else if (referrer.search('https?://(.*)google.([^/?]*)') === 0) {\n return 'google'\n } else if (referrer.search('https?://(.*)bing.com') === 0) {\n return 'bing'\n } else if (referrer.search('https?://(.*)yahoo.com') === 0) {\n return 'yahoo'\n } else if (referrer.search('https?://(.*)duckduckgo.com') === 0) {\n return 'duckduckgo'\n } else {\n return null\n }\n },\n\n searchInfo: function (): Record<string, any> {\n const search = _info.searchEngine(),\n param = search != 'yahoo' ? 'q' : 'p',\n ret: Record<string, any> = {}\n\n if (!_isNull(search)) {\n ret['$search_engine'] = search\n\n const keyword = _getQueryParam(document.referrer, param)\n if (keyword.length) {\n ret['ph_keyword'] = keyword\n }\n }\n\n return ret\n },\n\n /**\n * This function detects which browser is running this script.\n * The order of the checks are important since many user agents\n * include key words used in later checks.\n */\n browser: function (user_agent: string, vendor: string, opera?: any): string {\n vendor = vendor || '' // vendor is undefined for at least IE9\n if (opera || _includes(user_agent, ' OPR/')) {\n if (_includes(user_agent, 'Mini')) {\n return 'Opera Mini'\n }\n return 'Opera'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry'\n } else if (_includes(user_agent, 'IEMobile') || _includes(user_agent, 'WPDesktop')) {\n return 'Internet Explorer Mobile'\n } else if (_includes(user_agent, 'SamsungBrowser/')) {\n // https://developer.samsung.com/internet/user-agent-string-format\n return 'Samsung Internet'\n } else if (_includes(user_agent, 'Edge') || _includes(user_agent, 'Edg/')) {\n return 'Microsoft Edge'\n } else if (_includes(user_agent, 'FBIOS')) {\n return 'Facebook Mobile'\n } else if (_includes(user_agent, 'Chrome')) {\n return 'Chrome'\n } else if (_includes(user_agent, 'CriOS')) {\n return 'Chrome iOS'\n } else if (_includes(user_agent, 'UCWEB') || _includes(user_agent, 'UCBrowser')) {\n return 'UC Browser'\n } else if (_includes(user_agent, 'FxiOS')) {\n return 'Firefox iOS'\n } else if (_includes(vendor, 'Apple')) {\n if (_includes(user_agent, 'Mobile')) {\n return 'Mobile Safari'\n }\n return 'Safari'\n } else if (_includes(user_agent, 'Android')) {\n return 'Android Mobile'\n } else if (_includes(user_agent, 'Konqueror')) {\n return 'Konqueror'\n } else if (_includes(user_agent, 'Firefox')) {\n return 'Firefox'\n } else if (_includes(user_agent, 'MSIE') || _includes(user_agent, 'Trident/')) {\n return 'Internet Explorer'\n } else if (_includes(user_agent, 'Gecko')) {\n return 'Mozilla'\n } else {\n return ''\n }\n },\n\n /**\n * This function detects which browser version is running this script,\n * parsing major and minor version (e.g., 42.1). User agent strings from:\n * http://www.useragentstring.com/pages/useragentstring.php\n */\n browserVersion: function (userAgent: string, vendor: string, opera: string): number | null {\n const browser = _info.browser(userAgent, vendor, opera)\n const versionRegexs = {\n 'Internet Explorer Mobile': /rv:(\\d+(\\.\\d+)?)/,\n 'Microsoft Edge': /Edge?\\/(\\d+(\\.\\d+)?)/,\n Chrome: /Chrome\\/(\\d+(\\.\\d+)?)/,\n 'Chrome iOS': /CriOS\\/(\\d+(\\.\\d+)?)/,\n 'UC Browser': /(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)/,\n Safari: /Version\\/(\\d+(\\.\\d+)?)/,\n 'Mobile Safari': /Version\\/(\\d+(\\.\\d+)?)/,\n Opera: /(Opera|OPR)\\/(\\d+(\\.\\d+)?)/,\n Firefox: /Firefox\\/(\\d+(\\.\\d+)?)/,\n 'Firefox iOS': /FxiOS\\/(\\d+(\\.\\d+)?)/,\n Konqueror: /Konqueror:(\\d+(\\.\\d+)?)/,\n BlackBerry: /BlackBerry (\\d+(\\.\\d+)?)/,\n 'Android Mobile': /android\\s(\\d+(\\.\\d+)?)/,\n 'Samsung Internet': /SamsungBrowser\\/(\\d+(\\.\\d+)?)/,\n 'Internet Explorer': /(rv:|MSIE )(\\d+(\\.\\d+)?)/,\n Mozilla: /rv:(\\d+(\\.\\d+)?)/,\n }\n const regex: RegExp | undefined = versionRegexs[browser as keyof typeof versionRegexs]\n if (_isUndefined(regex)) {\n return null\n }\n const matches = userAgent.match(regex)\n if (!matches) {\n return null\n }\n return parseFloat(matches[matches.length - 2])\n },\n\n browserLanguage: function (): string {\n return (\n navigator.language || // Any modern browser\n (navigator as Record<string, any>).userLanguage // IE11\n )\n },\n\n os: function (user_agent: string): { os_name: string; os_version: string } {\n if (/Windows/i.test(user_agent)) {\n if (/Phone/.test(user_agent) || /WPDesktop/.test(user_agent)) {\n return { os_name: 'Windows Phone', os_version: '' }\n }\n const match = /Windows NT ([0-9.]+)/i.exec(user_agent)\n if (match && match[1]) {\n const version = match[1]\n return { os_name: 'Windows', os_version: version }\n }\n return { os_name: 'Windows', os_version: '' }\n } else if (/(iPhone|iPad|iPod)/.test(user_agent)) {\n const match = /OS (\\d+)_(\\d+)_?(\\d+)?/i.exec(user_agent)\n if (match && match[1]) {\n const versionParts = [match[1], match[2], match[3] || '0']\n return { os_name: 'iOS', os_version: versionParts.join('.') }\n }\n return { os_name: 'iOS', os_version: '' }\n } else if (/Android/.test(user_agent)) {\n const match = /Android (\\d+)\\.(\\d+)\\.?(\\d+)?/i.exec(user_agent)\n if (match && match[1]) {\n const versionParts = [match[1], match[2], match[3] || '0']\n return { os_name: 'Android', os_version: versionParts.join('.') }\n }\n return { os_name: 'Android', os_version: '' }\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return { os_name: 'BlackBerry', os_version: '' }\n } else if (/Mac/i.test(user_agent)) {\n const match = /Mac OS X (\\d+)[_.](\\d+)[_.]?(\\d+)?/i.exec(user_agent)\n if (match && match[1]) {\n const versionParts = [match[1], match[2], match[3] || '0']\n return { os_name: 'Mac OS X', os_version: versionParts.join('.') }\n }\n return { os_name: 'Mac OS X', os_version: '' }\n } else if (/Linux/.test(user_agent)) {\n return { os_name: 'Linux', os_version: '' }\n } else if (/CrOS/.test(user_agent)) {\n return { os_name: 'Chrome OS', os_version: '' }\n } else {\n return { os_name: '', os_version: '' }\n }\n },\n\n device: function (user_agent: string): string {\n if (/Windows Phone/i.test(user_agent) || /WPDesktop/.test(user_agent)) {\n return 'Windows Phone'\n } else if (/iPad/.test(user_agent)) {\n return 'iPad'\n } else if (/iPod/.test(user_agent)) {\n return 'iPod Touch'\n } else if (/iPhone/.test(user_agent)) {\n return 'iPhone'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry'\n } else if (/Android/.test(user_agent) && !/Mobile/.test(user_agent)) {\n return 'Android Tablet'\n } else if (/Android/.test(user_agent)) {\n return 'Android'\n } else {\n return ''\n }\n },\n\n deviceType: function (user_agent: string): string {\n const device = this.device(user_agent)\n if (device === 'iPad' || device === 'Android Tablet') {\n return 'Tablet'\n } else if (device) {\n return 'Mobile'\n } else {\n return 'Desktop'\n }\n },\n\n referrer: function (): string {\n return document.referrer || '$direct'\n },\n\n referringDomain: function (): string {\n if (!document.referrer) {\n return '$direct'\n }\n const parser = document.createElement('a') // Unfortunately we cannot use new URL due to IE11\n parser.href = document.referrer\n return parser.host\n },\n\n properties: function (): Properties {\n const { os_name, os_version } = _info.os(userAgent)\n return _extend(\n _strip_empty_properties({\n $os: os_name,\n $os_version: os_version,\n $browser: _info.browser(userAgent, navigator.vendor, (window as any).opera),\n $device: _info.device(userAgent),\n $device_type: _info.deviceType(userAgent),\n }),\n {\n $current_url: window?.location.href,\n $host: window?.location.host,\n $pathname: window?.location.pathname,\n $browser_version: _info.browserVersion(userAgent, navigator.vendor, (window as any).opera),\n $browser_language: _info.browserLanguage(),\n $screen_height: window?.screen.height,\n $screen_width: window?.screen.width,\n $viewport_height: window?.innerHeight,\n $viewport_width: window?.innerWidth,\n $lib: 'web',\n $lib_version: Config.LIB_VERSION,\n $insert_id: Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10),\n $time: _timestamp() / 1000, // epoch time in seconds\n }\n )\n },\n\n people_properties: function (): Properties {\n const { os_name, os_version } = _info.os(userAgent)\n return _extend(\n _strip_empty_properties({\n $os: os_name,\n $os_version: os_version,\n $browser: _info.browser(userAgent, navigator.vendor, (window as any).opera),\n }),\n {\n $browser_version: _info.browserVersion(userAgent, navigator.vendor, (window as any).opera),\n }\n )\n },\n}\n"]}
|
|
1
|
+
{"version":3,"file":"event-utils.js","sourceRoot":"","sources":["../../../src/utils/event-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { _getQueryParam } from './request-utils'\nimport { _isNull, _isUndefined } from './type-utils'\nimport { Properties } from '../types'\nimport Config from '../config'\nimport { _each, _extend, _includes, _strip_empty_properties, _timestamp } from './index'\nimport { document, userAgent } from './globals'\n\nexport const _info = {\n campaignParams: function (customParams?: string[]): Record<string, any> {\n const campaign_keywords = [\n 'utm_source',\n 'utm_medium',\n 'utm_campaign',\n 'utm_content',\n 'utm_term',\n 'gclid',\n 'fbclid',\n 'msclkid',\n ].concat(customParams || [])\n\n const params: Record<string, any> = {}\n _each(campaign_keywords, function (kwkey) {\n const kw = _getQueryParam(document.URL, kwkey)\n if (kw.length) {\n params[kwkey] = kw\n }\n })\n\n return params\n },\n\n searchEngine: function (): string | null {\n const referrer = document.referrer\n if (!referrer) {\n return null\n } else if (referrer.search('https?://(.*)google.([^/?]*)') === 0) {\n return 'google'\n } else if (referrer.search('https?://(.*)bing.com') === 0) {\n return 'bing'\n } else if (referrer.search('https?://(.*)yahoo.com') === 0) {\n return 'yahoo'\n } else if (referrer.search('https?://(.*)duckduckgo.com') === 0) {\n return 'duckduckgo'\n } else {\n return null\n }\n },\n\n searchInfo: function (): Record<string, any> {\n const search = _info.searchEngine(),\n param = search != 'yahoo' ? 'q' : 'p',\n ret: Record<string, any> = {}\n\n if (!_isNull(search)) {\n ret['$search_engine'] = search\n\n const keyword = _getQueryParam(document.referrer, param)\n if (keyword.length) {\n ret['ph_keyword'] = keyword\n }\n }\n\n return ret\n },\n\n /**\n * This function detects which browser is running this script.\n * The order of the checks are important since many user agents\n * include key words used in later checks.\n */\n browser: function (user_agent: string, vendor: string, opera?: any): string {\n vendor = vendor || '' // vendor is undefined for at least IE9\n if (opera || _includes(user_agent, ' OPR/')) {\n if (_includes(user_agent, 'Mini')) {\n return 'Opera Mini'\n }\n return 'Opera'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry'\n } else if (_includes(user_agent, 'IEMobile') || _includes(user_agent, 'WPDesktop')) {\n return 'Internet Explorer Mobile'\n } else if (_includes(user_agent, 'SamsungBrowser/')) {\n // https://developer.samsung.com/internet/user-agent-string-format\n return 'Samsung Internet'\n } else if (_includes(user_agent, 'Edge') || _includes(user_agent, 'Edg/')) {\n return 'Microsoft Edge'\n } else if (_includes(user_agent, 'FBIOS')) {\n return 'Facebook Mobile'\n } else if (_includes(user_agent, 'Chrome')) {\n return 'Chrome'\n } else if (_includes(user_agent, 'CriOS')) {\n return 'Chrome iOS'\n } else if (_includes(user_agent, 'UCWEB') || _includes(user_agent, 'UCBrowser')) {\n return 'UC Browser'\n } else if (_includes(user_agent, 'FxiOS')) {\n return 'Firefox iOS'\n } else if (_includes(vendor, 'Apple')) {\n if (_includes(user_agent, 'Mobile')) {\n return 'Mobile Safari'\n }\n return 'Safari'\n } else if (_includes(user_agent, 'Android')) {\n return 'Android Mobile'\n } else if (_includes(user_agent, 'Konqueror')) {\n return 'Konqueror'\n } else if (_includes(user_agent, 'Firefox')) {\n return 'Firefox'\n } else if (_includes(user_agent, 'MSIE') || _includes(user_agent, 'Trident/')) {\n return 'Internet Explorer'\n } else if (_includes(user_agent, 'Gecko')) {\n return 'Mozilla'\n } else {\n return ''\n }\n },\n\n /**\n * This function detects which browser version is running this script,\n * parsing major and minor version (e.g., 42.1). User agent strings from:\n * http://www.useragentstring.com/pages/useragentstring.php\n */\n browserVersion: function (userAgent: string, vendor: string, opera: string): number | null {\n const browser = _info.browser(userAgent, vendor, opera)\n const versionRegexs = {\n 'Internet Explorer Mobile': /rv:(\\d+(\\.\\d+)?)/,\n 'Microsoft Edge': /Edge?\\/(\\d+(\\.\\d+)?)/,\n Chrome: /Chrome\\/(\\d+(\\.\\d+)?)/,\n 'Chrome iOS': /CriOS\\/(\\d+(\\.\\d+)?)/,\n 'UC Browser': /(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)/,\n Safari: /Version\\/(\\d+(\\.\\d+)?)/,\n 'Mobile Safari': /Version\\/(\\d+(\\.\\d+)?)/,\n Opera: /(Opera|OPR)\\/(\\d+(\\.\\d+)?)/,\n Firefox: /Firefox\\/(\\d+(\\.\\d+)?)/,\n 'Firefox iOS': /FxiOS\\/(\\d+(\\.\\d+)?)/,\n Konqueror: /Konqueror:(\\d+(\\.\\d+)?)/,\n BlackBerry: /BlackBerry (\\d+(\\.\\d+)?)/,\n 'Android Mobile': /android\\s(\\d+(\\.\\d+)?)/,\n 'Samsung Internet': /SamsungBrowser\\/(\\d+(\\.\\d+)?)/,\n 'Internet Explorer': /(rv:|MSIE )(\\d+(\\.\\d+)?)/,\n Mozilla: /rv:(\\d+(\\.\\d+)?)/,\n }\n const regex: RegExp | undefined = versionRegexs[browser as keyof typeof versionRegexs]\n if (_isUndefined(regex)) {\n return null\n }\n const matches = userAgent.match(regex)\n if (!matches) {\n return null\n }\n return parseFloat(matches[matches.length - 2])\n },\n\n browserLanguage: function (): string {\n return (\n navigator.language || // Any modern browser\n (navigator as Record<string, any>).userLanguage // IE11\n )\n },\n\n os: function (user_agent: string): { os_name: string; os_version: string } {\n if (/Windows/i.test(user_agent)) {\n if (/Phone/.test(user_agent) || /WPDesktop/.test(user_agent)) {\n return { os_name: 'Windows Phone', os_version: '' }\n }\n const match = /Windows NT ([0-9.]+)/i.exec(user_agent)\n if (match && match[1]) {\n const version = match[1]\n return { os_name: 'Windows', os_version: version }\n }\n return { os_name: 'Windows', os_version: '' }\n } else if (/(iPhone|iPad|iPod)/.test(user_agent)) {\n const match = /OS (\\d+)_(\\d+)_?(\\d+)?/i.exec(user_agent)\n if (match && match[1]) {\n const versionParts = [match[1], match[2], match[3] || '0']\n return { os_name: 'iOS', os_version: versionParts.join('.') }\n }\n return { os_name: 'iOS', os_version: '' }\n } else if (/Android/.test(user_agent)) {\n const match = /Android (\\d+)\\.(\\d+)\\.?(\\d+)?/i.exec(user_agent)\n if (match && match[1]) {\n const versionParts = [match[1], match[2], match[3] || '0']\n return { os_name: 'Android', os_version: versionParts.join('.') }\n }\n return { os_name: 'Android', os_version: '' }\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return { os_name: 'BlackBerry', os_version: '' }\n } else if (/Mac/i.test(user_agent)) {\n const match = /Mac OS X (\\d+)[_.](\\d+)[_.]?(\\d+)?/i.exec(user_agent)\n if (match && match[1]) {\n const versionParts = [match[1], match[2], match[3] || '0']\n return { os_name: 'Mac OS X', os_version: versionParts.join('.') }\n }\n return { os_name: 'Mac OS X', os_version: '' }\n } else if (/Linux/.test(user_agent)) {\n return { os_name: 'Linux', os_version: '' }\n } else if (/CrOS/.test(user_agent)) {\n return { os_name: 'Chrome OS', os_version: '' }\n } else {\n return { os_name: '', os_version: '' }\n }\n },\n\n device: function (user_agent: string): string {\n if (/Windows Phone/i.test(user_agent) || /WPDesktop/.test(user_agent)) {\n return 'Windows Phone'\n } else if (/iPad/.test(user_agent)) {\n return 'iPad'\n } else if (/iPod/.test(user_agent)) {\n return 'iPod Touch'\n } else if (/iPhone/.test(user_agent)) {\n return 'iPhone'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry'\n } else if (/Android/.test(user_agent) && !/Mobile/.test(user_agent)) {\n return 'Android Tablet'\n } else if (/Android/.test(user_agent)) {\n return 'Android'\n } else {\n return ''\n }\n },\n\n deviceType: function (user_agent: string): string {\n const device = this.device(user_agent)\n if (device === 'iPad' || device === 'Android Tablet') {\n return 'Tablet'\n } else if (device) {\n return 'Mobile'\n } else {\n return 'Desktop'\n }\n },\n\n referrer: function (): string {\n return document.referrer || '$direct'\n },\n\n referringDomain: function (): string {\n if (!document.referrer) {\n return '$direct'\n }\n const parser = document.createElement('a') // Unfortunately we cannot use new URL due to IE11\n parser.href = document.referrer\n return parser.host\n },\n\n properties: function (): Properties {\n const { os_name, os_version } = _info.os(userAgent)\n return _extend(\n _strip_empty_properties({\n $os: os_name,\n $os_version: os_version,\n $browser: _info.browser(userAgent, navigator.vendor, (window as any).opera),\n $device: _info.device(userAgent),\n $device_type: _info.deviceType(userAgent),\n }),\n {\n $current_url: window?.location.href,\n $host: window?.location.host,\n $pathname: window?.location.pathname,\n $browser_version: _info.browserVersion(userAgent, navigator.vendor, (window as any).opera),\n $browser_language: _info.browserLanguage(),\n $screen_height: window?.screen.height,\n $screen_width: window?.screen.width,\n $viewport_height: window?.innerHeight,\n $viewport_width: window?.innerWidth,\n $lib: 'web',\n $lib_version: Config.LIB_VERSION,\n $insert_id: Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10),\n $time: _timestamp() / 1000, // epoch time in seconds\n }\n )\n },\n\n people_properties: function (): Properties {\n const { os_name, os_version } = _info.os(userAgent)\n return _extend(\n _strip_empty_properties({\n $os: os_name,\n $os_version: os_version,\n $browser: _info.browser(userAgent, navigator.vendor, (window as any).opera),\n }),\n {\n $browser_version: _info.browserVersion(userAgent, navigator.vendor, (window as any).opera),\n }\n )\n },\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const ArrayProto: any[];
|
|
2
|
+
export declare const nativeForEach: (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void;
|
|
3
|
+
export declare const nativeIndexOf: (searchElement: any, fromIndex?: number | undefined) => number;
|
|
4
|
+
export declare const win: Window & typeof globalThis;
|
|
5
|
+
declare const document: Document;
|
|
6
|
+
declare const userAgent: string;
|
|
7
|
+
export { win as window, userAgent, document };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Saved references to long variable names, so that bundling can minimize file size.
|
|
3
|
+
*/
|
|
4
|
+
export var ArrayProto = Array.prototype;
|
|
5
|
+
export var nativeForEach = ArrayProto.forEach;
|
|
6
|
+
export var nativeIndexOf = ArrayProto.indexOf;
|
|
7
|
+
export var win = typeof window !== 'undefined' ? window : {};
|
|
8
|
+
var navigator = win.navigator || { userAgent: '' };
|
|
9
|
+
var document = win.document || {};
|
|
10
|
+
var userAgent = navigator.userAgent;
|
|
11
|
+
export { win as window, userAgent, document };
|
|
12
|
+
//# sourceMappingURL=globals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../src/utils/globals.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAA;AACzC,MAAM,CAAC,IAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAA;AAC/C,MAAM,CAAC,IAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAA;AAC/C,MAAM,CAAC,IAAM,GAAG,GAA+B,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,EAAoB,CAAA;AAC7G,IAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;AACpD,IAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;AACnC,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;AAErC,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA","sourcesContent":["/*\n * Saved references to long variable names, so that bundling can minimize file size.\n */\nexport const ArrayProto = Array.prototype\nexport const nativeForEach = ArrayProto.forEach\nexport const nativeIndexOf = ArrayProto.indexOf\nexport const win: Window & typeof globalThis = typeof window !== 'undefined' ? window : ({} as typeof window)\nconst navigator = win.navigator || { userAgent: '' }\nconst document = win.document || {}\nconst userAgent = navigator.userAgent\n\nexport { win as window, userAgent, document }\n"]}
|
package/lib/src/utils/index.d.ts
CHANGED
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
import { Breaker, EventHandler, Properties } from '../types';
|
|
2
|
-
export declare const ArrayProto: any[];
|
|
3
|
-
export declare const nativeForEach: (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void;
|
|
4
|
-
export declare const nativeIndexOf: (searchElement: any, fromIndex?: number | undefined) => number;
|
|
5
|
-
declare const win: Window & typeof globalThis;
|
|
6
|
-
declare const document: Document;
|
|
7
|
-
declare const userAgent: string;
|
|
8
|
-
export declare const logger: {
|
|
9
|
-
_log: (level: 'log' | 'warn' | 'error', ...args: any[]) => void;
|
|
10
|
-
info: (...args: any[]) => void;
|
|
11
|
-
warn: (...args: any[]) => void;
|
|
12
|
-
error: (...args: any[]) => void;
|
|
13
|
-
critical: (...args: any[]) => void;
|
|
14
|
-
uninitializedWarning: (methodName: string) => void;
|
|
15
|
-
};
|
|
16
2
|
export declare const _trim: (str: string) => string;
|
|
17
3
|
export declare const _bind_instance_methods: (obj: Record<string, any>) => void;
|
|
18
4
|
export declare function _eachArray<E = any>(obj: E[] | null | undefined, iterator: (value: E, key: number) => void | Breaker, thisArg?: any): void;
|
|
@@ -49,4 +35,3 @@ export declare const _isBlockedUA: (ua: string, customBlockedUserAgents: string[
|
|
|
49
35
|
export declare const _register_event: (element: Element | Window | Document | Node, type: string, handler: EventHandler, oldSchool?: boolean, useCapture?: boolean) => void;
|
|
50
36
|
export declare function loadScript(scriptUrlToLoad: string, callback: (error?: string | Event, event?: Event) => void): void;
|
|
51
37
|
export declare function isCrossDomainCookie(documentLocation: Location | undefined): boolean;
|
|
52
|
-
export { win as window, userAgent, document };
|
package/lib/src/utils/index.js
CHANGED
|
@@ -1,91 +1,7 @@
|
|
|
1
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
-
if (!m) return o;
|
|
4
|
-
var i = m.call(o), r, ar = [], e;
|
|
5
|
-
try {
|
|
6
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
-
}
|
|
8
|
-
catch (error) { e = { error: error }; }
|
|
9
|
-
finally {
|
|
10
|
-
try {
|
|
11
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
-
}
|
|
13
|
-
finally { if (e) throw e.error; }
|
|
14
|
-
}
|
|
15
|
-
return ar;
|
|
16
|
-
};
|
|
17
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
18
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
19
|
-
if (ar || !(i in from)) {
|
|
20
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
21
|
-
ar[i] = from[i];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
|
-
};
|
|
26
|
-
import Config from '../config';
|
|
27
1
|
import { _isArray, _isDate, _isFunction, _isNull, _isObject, _isString, _isUndefined, hasOwnProperty, } from './type-utils';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* minimize file size.
|
|
31
|
-
*/
|
|
32
|
-
export var ArrayProto = Array.prototype;
|
|
33
|
-
export var nativeForEach = ArrayProto.forEach;
|
|
34
|
-
export var nativeIndexOf = ArrayProto.indexOf;
|
|
35
|
-
var win = typeof window !== 'undefined' ? window : {};
|
|
36
|
-
var navigator = win.navigator || { userAgent: '' };
|
|
37
|
-
var document = win.document || {};
|
|
38
|
-
var userAgent = navigator.userAgent;
|
|
2
|
+
import { logger } from './logger';
|
|
3
|
+
import { document, nativeForEach, nativeIndexOf } from './globals';
|
|
39
4
|
var breaker = {};
|
|
40
|
-
var LOGGER_PREFIX = '[PostHog.js]';
|
|
41
|
-
export var logger = {
|
|
42
|
-
_log: function (level) {
|
|
43
|
-
var args = [];
|
|
44
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
45
|
-
args[_i - 1] = arguments[_i];
|
|
46
|
-
}
|
|
47
|
-
if ((Config.DEBUG || window.POSTHOG_DEBUG) && !_isUndefined(window.console) && window.console) {
|
|
48
|
-
var consoleLog = '__rrweb_original__' in window.console[level]
|
|
49
|
-
? window.console[level]['__rrweb_original__']
|
|
50
|
-
: window.console[level];
|
|
51
|
-
// eslint-disable-next-line no-console
|
|
52
|
-
consoleLog.apply(void 0, __spreadArray([LOGGER_PREFIX], __read(args), false));
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
info: function () {
|
|
56
|
-
var args = [];
|
|
57
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
58
|
-
args[_i] = arguments[_i];
|
|
59
|
-
}
|
|
60
|
-
logger._log.apply(logger, __spreadArray(['log'], __read(args), false));
|
|
61
|
-
},
|
|
62
|
-
warn: function () {
|
|
63
|
-
var args = [];
|
|
64
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
65
|
-
args[_i] = arguments[_i];
|
|
66
|
-
}
|
|
67
|
-
logger._log.apply(logger, __spreadArray(['warn'], __read(args), false));
|
|
68
|
-
},
|
|
69
|
-
error: function () {
|
|
70
|
-
var args = [];
|
|
71
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
72
|
-
args[_i] = arguments[_i];
|
|
73
|
-
}
|
|
74
|
-
logger._log.apply(logger, __spreadArray(['error'], __read(args), false));
|
|
75
|
-
},
|
|
76
|
-
critical: function () {
|
|
77
|
-
var args = [];
|
|
78
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
79
|
-
args[_i] = arguments[_i];
|
|
80
|
-
}
|
|
81
|
-
// Critical errors are always logged to the console
|
|
82
|
-
// eslint-disable-next-line no-console
|
|
83
|
-
console.error.apply(console, __spreadArray([LOGGER_PREFIX], __read(args), false));
|
|
84
|
-
},
|
|
85
|
-
uninitializedWarning: function (methodName) {
|
|
86
|
-
logger.error("You must initialize PostHog before calling ".concat(methodName));
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
5
|
// UNDERSCORE
|
|
90
6
|
// Embed part of the Underscore Library
|
|
91
7
|
export var _trim = function (str) {
|
|
@@ -544,5 +460,4 @@ export function isCrossDomainCookie(documentLocation) {
|
|
|
544
460
|
// for the hostname
|
|
545
461
|
return hostname.split('.').slice(-2).join('.') !== 'herokuapp.com';
|
|
546
462
|
}
|
|
547
|
-
export { win as window, userAgent, document };
|
|
548
463
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +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"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { 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'\nimport { logger } from './logger'\nimport { document, nativeForEach, nativeIndexOf } from './globals'\n\nconst breaker: Breaker = {}\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"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const logger: {
|
|
2
|
+
_log: (level: 'log' | 'warn' | 'error', ...args: any[]) => void;
|
|
3
|
+
info: (...args: any[]) => void;
|
|
4
|
+
warn: (...args: any[]) => void;
|
|
5
|
+
error: (...args: any[]) => void;
|
|
6
|
+
critical: (...args: any[]) => void;
|
|
7
|
+
uninitializedWarning: (methodName: string) => void;
|
|
8
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
+
if (!m) return o;
|
|
4
|
+
var i = m.call(o), r, ar = [], e;
|
|
5
|
+
try {
|
|
6
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
+
}
|
|
8
|
+
catch (error) { e = { error: error }; }
|
|
9
|
+
finally {
|
|
10
|
+
try {
|
|
11
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
+
}
|
|
13
|
+
finally { if (e) throw e.error; }
|
|
14
|
+
}
|
|
15
|
+
return ar;
|
|
16
|
+
};
|
|
17
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
18
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
19
|
+
if (ar || !(i in from)) {
|
|
20
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
21
|
+
ar[i] = from[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
|
+
};
|
|
26
|
+
import Config from '../config';
|
|
27
|
+
import { _isUndefined } from './type-utils';
|
|
28
|
+
import { window } from './globals';
|
|
29
|
+
var LOGGER_PREFIX = '[PostHog.js]';
|
|
30
|
+
export var logger = {
|
|
31
|
+
_log: function (level) {
|
|
32
|
+
var args = [];
|
|
33
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
34
|
+
args[_i - 1] = arguments[_i];
|
|
35
|
+
}
|
|
36
|
+
if ((Config.DEBUG || window.POSTHOG_DEBUG) && !_isUndefined(window.console) && window.console) {
|
|
37
|
+
var consoleLog = '__rrweb_original__' in window.console[level]
|
|
38
|
+
? window.console[level]['__rrweb_original__']
|
|
39
|
+
: window.console[level];
|
|
40
|
+
// eslint-disable-next-line no-console
|
|
41
|
+
consoleLog.apply(void 0, __spreadArray([LOGGER_PREFIX], __read(args), false));
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
info: function () {
|
|
45
|
+
var args = [];
|
|
46
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
47
|
+
args[_i] = arguments[_i];
|
|
48
|
+
}
|
|
49
|
+
logger._log.apply(logger, __spreadArray(['log'], __read(args), false));
|
|
50
|
+
},
|
|
51
|
+
warn: function () {
|
|
52
|
+
var args = [];
|
|
53
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
54
|
+
args[_i] = arguments[_i];
|
|
55
|
+
}
|
|
56
|
+
logger._log.apply(logger, __spreadArray(['warn'], __read(args), false));
|
|
57
|
+
},
|
|
58
|
+
error: function () {
|
|
59
|
+
var args = [];
|
|
60
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
61
|
+
args[_i] = arguments[_i];
|
|
62
|
+
}
|
|
63
|
+
logger._log.apply(logger, __spreadArray(['error'], __read(args), false));
|
|
64
|
+
},
|
|
65
|
+
critical: function () {
|
|
66
|
+
var args = [];
|
|
67
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
68
|
+
args[_i] = arguments[_i];
|
|
69
|
+
}
|
|
70
|
+
// Critical errors are always logged to the console
|
|
71
|
+
// eslint-disable-next-line no-console
|
|
72
|
+
console.error.apply(console, __spreadArray([LOGGER_PREFIX], __read(args), false));
|
|
73
|
+
},
|
|
74
|
+
uninitializedWarning: function (methodName) {
|
|
75
|
+
logger.error("You must initialize PostHog before calling ".concat(methodName));
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,IAAM,aAAa,GAAG,cAAc,CAAA;AACpC,MAAM,CAAC,IAAM,MAAM,GAAG;IAClB,IAAI,EAAE,UAAC,KAA+B;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAK,MAAc,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE;YACpG,IAAM,UAAU,GACZ,oBAAoB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBACzC,CAAC,CAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAS,CAAC,oBAAoB,CAAC;gBACtD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAE/B,sCAAsC;YACtC,UAAU,8BAAC,aAAa,UAAK,IAAI,WAAC;SACrC;IACL,CAAC;IAED,IAAI,EAAE;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACjB,MAAM,CAAC,IAAI,OAAX,MAAM,iBAAM,KAAK,UAAK,IAAI,WAAC;IAC/B,CAAC;IAED,IAAI,EAAE;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACjB,MAAM,CAAC,IAAI,OAAX,MAAM,iBAAM,MAAM,UAAK,IAAI,WAAC;IAChC,CAAC;IAED,KAAK,EAAE;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,MAAM,CAAC,IAAI,OAAX,MAAM,iBAAM,OAAO,UAAK,IAAI,WAAC;IACjC,CAAC;IAED,QAAQ,EAAE;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACrB,mDAAmD;QACnD,sCAAsC;QACtC,OAAO,CAAC,KAAK,OAAb,OAAO,iBAAO,aAAa,UAAK,IAAI,WAAC;IACzC,CAAC;IAED,oBAAoB,EAAE,UAAC,UAAkB;QACrC,MAAM,CAAC,KAAK,CAAC,qDAA8C,UAAU,CAAE,CAAC,CAAA;IAC5E,CAAC;CACJ,CAAA","sourcesContent":["import Config from '../config'\nimport { _isUndefined } from './type-utils'\nimport { window } from './globals'\n\nconst LOGGER_PREFIX = '[PostHog.js]'\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"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { _each, _isValidRegex
|
|
1
|
+
import { _each, _isValidRegex } from './';
|
|
2
2
|
import { _isArray, _isUndefined } from './type-utils';
|
|
3
|
+
import { logger } from './logger';
|
|
3
4
|
var localDomains = ['localhost', '127.0.0.1'];
|
|
4
5
|
export var _isUrlMatchingRegex = function (url, pattern) {
|
|
5
6
|
if (!_isValidRegex(pattern))
|