posthog-js-lite 2.0.0-alpha5 → 2.0.1
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/CHANGELOG.md +3 -0
- package/README.md +68 -0
- package/lib/index.cjs.js +269 -85
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.d.ts +55 -12
- package/lib/index.esm.js +269 -85
- package/lib/index.esm.js.map +1 -1
- package/lib/posthog-core/src/index.d.ts +33 -9
- package/lib/posthog-core/src/types.d.ts +26 -3
- package/lib/posthog-core/src/utils.d.ts +0 -1
- package/lib/posthog-web/src/storage.d.ts +1 -5
- package/package.json +2 -2
- package/src/posthog-web.ts +5 -1
- package/src/storage.ts +18 -9
package/lib/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../node_modules/tslib/tslib.es6.js","../../posthog-core/src/types.ts","../../posthog-core/src/utils.ts","../../posthog-core/src/lz-string.ts","../../posthog-core/src/eventemitter.ts","../../posthog-core/src/index.ts","../src/context.ts","../src/storage.ts","../src/posthog-web.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export type PosthogCoreOptions = {\n // PostHog API host (https://app.posthog.com by default)\n host?: string\n // The number of events to queue before sending to Posthog (flushing)\n flushAt?: number\n // The interval in milliseconds between periodic flushes\n flushInterval?: number\n // If set to false, tracking will be disabled until `optIn` is called\n enable?: boolean\n // Whether to track that `getFeatureFlag` was called (used by Expriements)\n sendFeatureFlagEvent?: boolean\n // Whether to load feature flags when initialised or not\n preloadFeatureFlags?: boolean\n // The interval in milliseconds between decide polls (refreshing feature flags)\n decidePollInterval?: number\n // How many times we will retry HTTP requests\n fetchRetryCount?: number\n // The delay between HTTP request retries\n fetchRetryDelay?: number\n // For Session Analysis how long before we expire a session (defaults to 30 mins)\n sessionExpirationTimeSeconds?: number\n // Whether to post events to PostHog in JSON or compressed format\n captureMode?: 'json' | 'form'\n}\n\nexport enum PostHogPersistedProperty {\n DistinctId = 'distinct_id',\n Props = 'props',\n FeatureFlags = 'feature_flags',\n OverrideFeatureFlags = 'override_feature_flags',\n Queue = 'queue',\n OptedOut = 'opted_out',\n SessionId = 'session_id',\n SessionLastTimestamp = 'session_timestamp',\n}\n\nexport type PostHogFetchOptions = {\n method: 'GET' | 'POST' | 'PUT' | 'PATCH'\n mode?: 'no-cors'\n credentials?: 'omit'\n headers: { [key: string]: string }\n body: string\n}\n\nexport type PostHogFetchResponse = {\n status: number\n text: () => Promise<string>\n}\n\nexport type PostHogQueueItem = {\n message: any\n callback?: (err: any) => void\n}\n\nexport type PostHogEventProperties = {\n [key: string]: any\n}\n\nexport type PostHogAutocaptureElement = {\n $el_text?: string\n tag_name: string\n href?: string\n nth_child?: number\n nth_of_type?: number\n order?: number\n} & {\n [key: string]: any\n} // Any key prefixed with `attr__` can be added\n\nexport type PostHogDecideResponse = {\n config: { enable_collect_everything: boolean }\n editorParams: { toolbarVersion: string; jsURL: string }\n isAuthenticated: true\n supportedCompression: string[]\n featureFlags: {\n [key: string]: string | boolean\n }\n sessionRecording: boolean\n}\n","export function assert(truthyValue: any, message: string): void {\n if (!truthyValue) {\n throw new Error(message)\n }\n}\n\nexport function removeTrailingSlash(url: string): string {\n return url?.replace(/\\/+$/, '')\n}\n\nexport interface RetriableOptions {\n retryCount?: number\n retryDelay?: number\n retryCheck?: (err: any) => true\n}\n\nexport async function retriable<T>(fn: () => Promise<T>, props: RetriableOptions = {}): Promise<T> {\n const { retryCount = 3, retryDelay = 5000, retryCheck = () => true } = props\n let lastError = null\n\n for (let i = 0; i < retryCount + 1; i++) {\n try {\n const res = await fn()\n return res\n } catch (e) {\n lastError = e\n if (!retryCheck(e)) {\n throw e\n }\n }\n\n await new Promise((r) => setTimeout(r, retryDelay))\n }\n\n throw lastError\n}\n\n// https://stackoverflow.com/a/8809472\nexport function generateUUID(globalThis?: any): string {\n // Public Domain/MIT\n let d = new Date().getTime() //Timestamp\n let d2 =\n (globalThis && globalThis.performance && globalThis.performance.now && globalThis.performance.now() * 1000) || 0 //Time in microseconds since page-load or 0 if unsupported\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n let r = Math.random() * 16 //random number between 0 and 16\n if (d > 0) {\n //Use timestamp until depleted\n r = (d + r) % 16 | 0\n d = Math.floor(d / 16)\n } else {\n //Use microseconds since page-load if supported\n r = (d2 + r) % 16 | 0\n d2 = Math.floor(d2 / 16)\n }\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16)\n })\n}\n\nexport function currentTimestamp(): number {\n return new Date().getTime()\n}\n\nexport function currentISOTime(): string {\n return new Date().toISOString()\n}\n\nexport function isUndefined(obj: any): boolean {\n return obj === void 0\n}\n\nexport function safeSetTimeout(fn: () => void, timeout: number): any {\n // NOTE: we use this so rarely that it is totally fine to do `safeSetTimeout(fn, 0)``\n // rather than setImmediate.\n const t = setTimeout(fn, timeout) as any\n // We unref if available to prevent Node.js hanging on exit\n t?.unref && t?.unref()\n return t\n}\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.4\n\n// private property\nconst f = String.fromCharCode\nconst keyStrBase64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\nconst baseReverseDic: any = {}\n\nfunction getBaseValue(alphabet: any, character: any): any {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {}\n for (let i = 0; i < alphabet.length; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i\n }\n }\n return baseReverseDic[alphabet][character]\n}\n\nexport const LZString = {\n compressToBase64: function (input: any): string {\n if (input == null) {\n return ''\n }\n const res = LZString._compress(input, 6, function (a: any) {\n return keyStrBase64.charAt(a)\n })\n switch (\n res.length % 4 // To produce valid Base64\n ) {\n default: // When could this happen ?\n case 0:\n return res\n case 1:\n return res + '==='\n case 2:\n return res + '=='\n case 3:\n return res + '='\n }\n },\n\n decompressFromBase64: function (input: any): any {\n if (input == null) {\n return ''\n }\n if (input == '') {\n return null\n }\n return LZString._decompress(input.length, 32, function (index: any) {\n return getBaseValue(keyStrBase64, input.charAt(index))\n })\n },\n\n compress: function (uncompressed: any): any {\n return LZString._compress(uncompressed, 16, function (a: any) {\n return f(a)\n })\n },\n _compress: function (uncompressed: any, bitsPerChar: any, getCharFromInt: any): any {\n if (uncompressed == null) {\n return ''\n }\n const context_dictionary: any = {},\n context_dictionaryToCreate: any = {},\n context_data = []\n\n let i,\n value,\n context_c = '',\n context_wc = '',\n context_w = '',\n context_enlargeIn = 2, // Compensate for the first entry which should not count\n context_dictSize = 3,\n context_numBits = 2,\n context_data_val = 0,\n context_data_position = 0,\n ii\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii)\n if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n context_dictionary[context_c] = context_dictSize++\n context_dictionaryToCreate[context_c] = true\n }\n\n context_wc = context_w + context_c\n if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) {\n context_w = context_wc\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n if (context_w.charCodeAt(0) < 256) {\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 8; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n } else {\n value = 1\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | value\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = 0\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 16; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n delete context_dictionaryToCreate[context_w]\n } else {\n value = context_dictionary[context_w]\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++\n context_w = String(context_c)\n }\n }\n\n // Output the code for w.\n if (context_w !== '') {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n if (context_w.charCodeAt(0) < 256) {\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 8; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n } else {\n value = 1\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | value\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = 0\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 16; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n delete context_dictionaryToCreate[context_w]\n } else {\n value = context_dictionary[context_w]\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n }\n\n // Mark the end of the stream\n value = 2\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n\n // Flush the last char\n while (true) {\n context_data_val = context_data_val << 1\n if (context_data_position == bitsPerChar - 1) {\n context_data.push(getCharFromInt(context_data_val))\n break\n } else {\n context_data_position++\n }\n }\n return context_data.join('')\n },\n\n decompress: function (compressed: any): any {\n if (compressed == null) {\n return ''\n }\n if (compressed == '') {\n return null\n }\n return LZString._decompress(compressed.length, 32768, function (index: any) {\n return compressed.charCodeAt(index)\n })\n },\n\n _decompress: function (length: any, resetValue: any, getNextValue: any): any {\n const dictionary = [],\n result = [],\n data = { val: getNextValue(0), position: resetValue, index: 1 }\n\n let next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry: any = '',\n i,\n w,\n bits,\n resb,\n maxpower,\n power,\n c\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i\n }\n\n bits = 0\n maxpower = Math.pow(2, 2)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n switch ((next = bits)) {\n case 0:\n bits = 0\n maxpower = Math.pow(2, 8)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n c = f(bits)\n break\n case 1:\n bits = 0\n maxpower = Math.pow(2, 16)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n c = f(bits)\n break\n case 2:\n return ''\n }\n dictionary[3] = c\n w = c\n result.push(c)\n while (true) {\n if (data.index > length) {\n return ''\n }\n\n bits = 0\n maxpower = Math.pow(2, numBits)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n\n switch ((c = bits)) {\n case 0:\n bits = 0\n maxpower = Math.pow(2, 8)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n\n dictionary[dictSize++] = f(bits)\n c = dictSize - 1\n enlargeIn--\n break\n case 1:\n bits = 0\n maxpower = Math.pow(2, 16)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n dictionary[dictSize++] = f(bits)\n c = dictSize - 1\n enlargeIn--\n break\n case 2:\n return result.join('')\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits)\n numBits++\n }\n\n if (dictionary[c]) {\n entry = dictionary[c]\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0)\n } else {\n return null\n }\n }\n result.push(entry)\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0)\n enlargeIn--\n\n w = entry\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits)\n numBits++\n }\n }\n },\n}\n","export class SimpleEventEmitter {\n events: { [key: string]: ((...args: any[]) => void)[] } = {}\n\n constructor() {\n this.events = {}\n }\n\n on(event: string, listener: (...args: any[]) => void): () => void {\n if (!this.events[event]) {\n this.events[event] = []\n }\n this.events[event].push(listener)\n\n return () => {\n this.events[event] = this.events[event].filter((x) => x !== listener)\n }\n }\n\n emit(event: string, payload: any): void {\n for (const listener of this.events[event] || []) {\n listener(payload)\n }\n for (const listener of this.events['*'] || []) {\n listener(event, payload)\n }\n }\n}\n","import {\n PostHogFetchOptions,\n PostHogFetchResponse,\n PostHogQueueItem,\n PostHogAutocaptureElement,\n PostHogDecideResponse,\n PosthogCoreOptions,\n PostHogEventProperties,\n PostHogPersistedProperty,\n} from './types'\nimport {\n assert,\n currentISOTime,\n currentTimestamp,\n generateUUID,\n removeTrailingSlash,\n retriable,\n RetriableOptions,\n safeSetTimeout,\n} from './utils'\nexport * as utils from './utils'\nimport { LZString } from './lz-string'\nimport { SimpleEventEmitter } from './eventemitter'\n\nexport abstract class PostHogCore {\n // options\n private apiKey: string\n private host: string\n private flushAt: number\n private flushInterval: number\n private captureMode: 'form' | 'json'\n private sendFeatureFlagEvent: boolean\n private flagCallReported: { [key: string]: boolean } = {}\n private removeDebugCallback?: () => void\n\n // internal\n protected _events = new SimpleEventEmitter()\n protected _flushTimer?: any\n protected _decideResponsePromise?: Promise<PostHogDecideResponse>\n protected _decideTimer?: any\n protected _decidePollInterval: number\n protected _retryOptions: RetriableOptions\n protected _sessionExpirationTimeSeconds: number\n\n // Abstract methods to be overridden by implementations\n abstract fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>\n abstract getLibraryId(): string\n abstract getLibraryVersion(): string\n abstract getCustomUserAgent(): string | void\n\n // This is our abstracted storage. Each implementation should handle its own\n abstract getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined\n abstract setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void\n\n private _optoutOverride: boolean | undefined\n\n constructor(apiKey: string, options?: PosthogCoreOptions) {\n assert(apiKey, \"You must pass your PostHog project's api key.\")\n\n this.apiKey = apiKey\n this.host = removeTrailingSlash(options?.host || 'https://app.posthog.com')\n this.flushAt = options?.flushAt ? Math.max(options?.flushAt, 1) : 20\n this.flushInterval = options?.flushInterval ?? 10000\n this.captureMode = options?.captureMode || 'form'\n this.sendFeatureFlagEvent = options?.sendFeatureFlagEvent ?? true\n this._decidePollInterval = Math.max(0, options?.decidePollInterval ?? 30000)\n // If enable is explicitly set to false we override the optout\n this._optoutOverride = options?.enable === false\n this._retryOptions = {\n retryCount: options?.fetchRetryCount ?? 3,\n retryDelay: options?.fetchRetryDelay ?? 3000,\n }\n this._sessionExpirationTimeSeconds = options?.sessionExpirationTimeSeconds ?? 1800 // 30 minutes\n\n // NOTE: It is important we don't initiate anything in the constructor as some async IO may still be underway on the parent\n if (options?.preloadFeatureFlags !== false) {\n safeSetTimeout(() => {\n void this.reloadFeatureFlagsAsync()\n }, 1)\n }\n }\n\n protected getCommonEventProperties(): any {\n const featureFlags = this.getFeatureFlags()\n return {\n $lib: this.getLibraryId(),\n $lib_version: this.getLibraryVersion(),\n $active_feature_flags: featureFlags ? Object.keys(featureFlags) : undefined,\n $enabled_feature_flags: featureFlags,\n }\n }\n\n // NOTE: Props are lazy loaded from localstorage hence the complex getter setter logic\n private get props(): PostHogEventProperties {\n if (!this._props) {\n this._props = this.getPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.Props)\n }\n return this._props || {}\n }\n\n private set props(val: PostHogEventProperties) {\n this._props = val\n }\n\n private _props: PostHogEventProperties | undefined\n\n public get optedOut(): boolean {\n return this.getPersistedProperty(PostHogPersistedProperty.OptedOut) ?? this._optoutOverride ?? false\n }\n\n optIn(): void {\n this.setPersistedProperty(PostHogPersistedProperty.OptedOut, false)\n }\n\n optOut(): void {\n this.setPersistedProperty(PostHogPersistedProperty.OptedOut, true)\n }\n\n on(event: string, cb: (...args: any[]) => void): () => void {\n return this._events.on(event, cb)\n }\n\n reset(): void {\n for (const key in PostHogPersistedProperty) {\n this.setPersistedProperty((PostHogPersistedProperty as any)[key], null)\n }\n this.setPersistedProperty(PostHogPersistedProperty.DistinctId, generateUUID(globalThis))\n }\n\n debug(enabled: boolean = true): void {\n this.removeDebugCallback?.()\n\n if (enabled) {\n this.removeDebugCallback = this.on('*', (event, payload) => console.log('PostHog Debug', event, payload))\n }\n }\n\n private buildPayload(payload: { event: string; properties?: PostHogEventProperties; distinct_id?: string }): any {\n return {\n distinct_id: payload.distinct_id || this.getDistinctId(),\n event: payload.event,\n properties: {\n ...this.props, // Persisted properties first\n ...(payload.properties || {}), // Followed by user specified properties\n ...this.getCommonEventProperties(), // Followed by common PH props\n $session_id: this.getSessionId(),\n },\n }\n }\n\n getSessionId(): string | undefined {\n let sessionId = this.getPersistedProperty<string>(PostHogPersistedProperty.SessionId)\n const sessionTimestamp = this.getPersistedProperty<number>(PostHogPersistedProperty.SessionLastTimestamp) || 0\n if (!sessionId || Date.now() - sessionTimestamp > this._sessionExpirationTimeSeconds * 1000) {\n sessionId = generateUUID(globalThis)\n this.setPersistedProperty(PostHogPersistedProperty.SessionId, sessionId)\n }\n this.setPersistedProperty(PostHogPersistedProperty.SessionLastTimestamp, Date.now())\n\n return sessionId\n }\n\n resetSessionId(): void {\n this.setPersistedProperty(PostHogPersistedProperty.SessionId, null)\n }\n\n getDistinctId(): string {\n let distinctId = this.getPersistedProperty<string>(PostHogPersistedProperty.DistinctId)\n if (!distinctId) {\n distinctId = generateUUID(globalThis)\n this.setPersistedProperty(PostHogPersistedProperty.DistinctId, distinctId)\n }\n return distinctId\n }\n\n register(properties: { [key: string]: any }): void {\n this.props = {\n ...this.props,\n ...properties,\n }\n this.setPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.Props, this.props)\n }\n\n unregister(property: string): void {\n delete this.props[property]\n this.setPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.Props, this.props)\n }\n\n /***\n *** TRACKING\n ***/\n identify(distinctId?: string, properties?: PostHogEventProperties): this {\n distinctId = distinctId || this.getDistinctId()\n\n if (properties?.$groups) {\n this.groups(properties.$groups)\n }\n\n const payload = {\n ...this.buildPayload({\n distinct_id: distinctId,\n event: '$identify',\n properties: {\n ...(properties || {}),\n $anon_distinct_id: this.getDistinctId(), // TODO: Should this be the previous distinct id or the original anon id??\n },\n }),\n $set: properties,\n }\n\n if (distinctId !== this.getDistinctId()) {\n this.setPersistedProperty(PostHogPersistedProperty.DistinctId, distinctId)\n }\n\n this.enqueue('identify', payload)\n return this\n }\n\n capture(event: string, properties?: { [key: string]: any }): this {\n // NOTE: Legacy nodejs implementation uses groups\n if (properties && properties['groups']) {\n properties.$groups = properties.groups\n delete properties.groups\n }\n\n if (properties?.$groups) {\n this.groups(properties.$groups)\n }\n\n const payload = this.buildPayload({ event, properties })\n this.enqueue('capture', payload)\n return this\n }\n\n alias(alias: string): this {\n const distinctId = this.getDistinctId()\n\n const payload = this.buildPayload({\n event: '$create_alias',\n properties: {\n distinct_id: distinctId,\n alias,\n },\n })\n\n this.enqueue('alias', payload)\n return this\n }\n\n autocapture(eventType: string, elements: PostHogAutocaptureElement[], properties: PostHogEventProperties = {}): this {\n const payload = this.buildPayload({\n event: '$autocapture',\n properties: {\n ...properties,\n $event_type: eventType,\n $elements: elements,\n },\n })\n\n this.enqueue('autocapture', payload)\n return this\n }\n\n /***\n *** GROUPS\n ***/\n\n groups(groups: { [type: string]: string | number }): this {\n // Get persisted groups\n const existingGroups = this.props.$groups || {}\n\n // NOTE: Should we do the same for groups listed in identify / capture?\n this.register({\n $groups: {\n ...existingGroups,\n ...groups,\n },\n })\n\n if (Object.keys(groups).find((type) => existingGroups[type] !== groups[type]) && this._decideResponsePromise) {\n void this.reloadFeatureFlagsAsync()\n }\n\n return this\n }\n\n group(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties): this {\n this.groups({\n [groupType]: groupKey,\n })\n\n if (groupProperties) {\n this.groupIdentify(groupType, groupKey, groupProperties)\n }\n\n return this\n }\n\n groupIdentify(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties): this {\n const payload = {\n event: '$groupidentify',\n distinctId: `$${groupType}_${groupKey}`,\n properties: {\n $group_type: groupType,\n $group_key: groupKey,\n $group_set: groupProperties || {},\n ...this.getCommonEventProperties(),\n },\n }\n\n this.enqueue('capture', payload)\n return this\n }\n\n /***\n *** FEATURE FLAGS\n ***/\n private decideAsync(): Promise<PostHogDecideResponse> {\n if (this._decideResponsePromise) {\n return this._decideResponsePromise\n }\n return this._decideAsync()\n }\n\n private async _decideAsync(): Promise<PostHogDecideResponse> {\n const url = `${this.host}/decide/?v=2`\n\n const distinctId = this.getDistinctId()\n const groups = this.props.$groups || {}\n\n const fetchOptions: PostHogFetchOptions = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ groups, distinct_id: distinctId, token: this.apiKey }),\n }\n\n this._decideResponsePromise = this.fetchWithRetry(url, fetchOptions)\n .then((r) => r.json() as PostHogDecideResponse)\n .then((res) => {\n if (res.featureFlags) {\n this.setPersistedProperty<PostHogDecideResponse['featureFlags']>(\n PostHogPersistedProperty.FeatureFlags,\n res.featureFlags\n )\n }\n\n this._events.emit('featureflags', res.featureFlags)\n return res\n })\n return this._decideResponsePromise\n }\n\n getFeatureFlag(key: string, defaultResult: string | boolean = false): boolean | string | undefined {\n const featureFlags = this.getFeatureFlags()\n\n if (!featureFlags) {\n // If we haven't loaded flags yet we respond undefined to indicate this\n return undefined\n }\n\n if (this.sendFeatureFlagEvent && !this.flagCallReported[key]) {\n this.flagCallReported[key] = true\n this.capture('$feature_flag_called', {\n $feature_flag: key,\n $feature_flag_response: featureFlags[key],\n })\n }\n\n // If we have flags we either return the value (true or string) or the defaultResult\n return featureFlags[key] ?? defaultResult\n }\n\n getFeatureFlags(): PostHogDecideResponse['featureFlags'] | undefined {\n let flags = this.getPersistedProperty<PostHogDecideResponse['featureFlags']>(PostHogPersistedProperty.FeatureFlags)\n const overriddenFlags = this.getPersistedProperty<PostHogDecideResponse['featureFlags']>(\n PostHogPersistedProperty.OverrideFeatureFlags\n )\n\n if (!overriddenFlags) {\n return flags\n }\n\n flags = flags || {}\n\n for (const key in overriddenFlags) {\n if (!overriddenFlags[key]) {\n delete flags[key]\n } else {\n flags[key] = overriddenFlags[key]\n }\n }\n\n return flags\n }\n\n isFeatureEnabled(key: string, defaultResult: boolean = false): boolean {\n const flag = this.getFeatureFlag(key, defaultResult) ?? defaultResult\n return !!flag\n }\n\n async reloadFeatureFlagsAsync(): Promise<PostHogDecideResponse['featureFlags']> {\n clearTimeout(this._decideTimer)\n if (this._decidePollInterval) {\n this._decideTimer = safeSetTimeout(() => this.reloadFeatureFlagsAsync(), this._decidePollInterval)\n }\n this._decideResponsePromise = undefined\n return (await this.decideAsync()).featureFlags\n }\n\n // When listening to feature flags polling is active\n onFeatureFlags(cb: (flags: PostHogDecideResponse['featureFlags']) => void): () => void {\n if (!this._decideTimer) {\n void this.reloadFeatureFlagsAsync()\n }\n\n return this.on('featureflags', async () => {\n const flags = this.getFeatureFlags()\n if (flags) {\n cb(flags)\n }\n })\n }\n\n overrideFeatureFlag(flags: PostHogDecideResponse['featureFlags'] | null): void {\n if (flags === null) {\n return this.setPersistedProperty(PostHogPersistedProperty.OverrideFeatureFlags, null)\n }\n return this.setPersistedProperty(PostHogPersistedProperty.OverrideFeatureFlags, flags)\n }\n\n /***\n *** QUEUEING AND FLUSHING\n ***/\n private enqueue(type: string, _message: any): void {\n if (this.optedOut) {\n return\n }\n const message = {\n ..._message,\n type: type,\n library: this.getLibraryId(),\n library_version: this.getLibraryVersion(),\n timestamp: _message.timestamp ? _message.timestamp : currentISOTime(),\n }\n\n if (message.distinctId) {\n message.distinct_id = message.distinctId\n delete message.distinctId\n }\n\n const queue = this.getPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue) || []\n queue.push({ message })\n this.setPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue, queue)\n\n this._events.emit(type, message)\n\n // Flush queued events if we meet the flushAt length\n if (queue.length >= this.flushAt) {\n this.flush()\n }\n\n if (this.flushInterval && !this._flushTimer) {\n this._flushTimer = safeSetTimeout(() => this.flush(), this.flushInterval)\n }\n }\n\n flushAsync(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.flush((err, data) => (err ? reject(err) : resolve(data)))\n })\n }\n\n flush(callback?: (err?: any, data?: any) => void): void {\n if (this.optedOut) {\n return callback && safeSetTimeout(callback, 0)\n }\n\n if (this._flushTimer) {\n clearTimeout(this._flushTimer)\n this._flushTimer = null\n }\n\n const queue = this.getPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue) || []\n\n if (!queue.length) {\n return callback && safeSetTimeout(callback, 0)\n }\n\n const items = queue.splice(0, this.flushAt)\n this.setPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue, queue)\n\n const messages = items.map((item) => item.message)\n\n const data = {\n api_key: this.apiKey,\n batch: messages,\n sent_at: currentISOTime(),\n }\n\n const done = (err?: any): void => {\n callback?.(err, messages)\n this._events.emit('flush', messages)\n }\n\n // Don't set the user agent if we're not on a browser. The latest spec allows\n // the User-Agent header (see https://fetch.spec.whatwg.org/#terminology-headers\n // and https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader),\n // but browsers such as Chrome and Safari have not caught up.\n const customUserAgent = this.getCustomUserAgent()\n const headers: { [key: string]: string } = {}\n if (customUserAgent) {\n headers['user-agent'] = customUserAgent\n }\n\n const payload = JSON.stringify(data)\n\n const url =\n this.captureMode === 'form'\n ? `${this.host}/e/?ip=1&_=${currentTimestamp()}&v=${this.getLibraryVersion()}`\n : `${this.host}/batch/`\n\n const fetchOptions: PostHogFetchOptions =\n this.captureMode === 'form'\n ? {\n method: 'POST',\n mode: 'no-cors',\n credentials: 'omit',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body: `data=${encodeURIComponent(LZString.compressToBase64(payload))}&compression=lz64`,\n }\n : {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: payload,\n }\n\n this.fetchWithRetry(url, fetchOptions)\n .then(() => done())\n .catch((err) => {\n if (err.response) {\n const error = new Error(err.response.statusText)\n return done(error)\n }\n\n done(err)\n })\n }\n\n private async fetchWithRetry(\n url: string,\n options: PostHogFetchOptions,\n retryOptions?: RetriableOptions\n ): Promise<any> {\n return retriable(() => this.fetch(url, options), retryOptions || this._retryOptions)\n }\n\n async shutdownAsync(): Promise<void> {\n clearTimeout(this._decideTimer)\n clearTimeout(this._flushTimer)\n await this.flushAsync()\n }\n\n shutdown(): void {\n void this.shutdownAsync()\n }\n}\n\nexport * from './types'\nexport { LZString }\n","import { utils } from '../../posthog-core'\nimport { version } from '../package.json'\n\nexport function getContext(window: Window): any {\n let context = {}\n if (window.navigator) {\n const userAgent = window.navigator.userAgent\n context = {\n ...context,\n $os: os(window),\n $browser: browser(userAgent, window.navigator.vendor, !!(window as any).opera),\n $referrer: window.document.referrer,\n $referring_domain: referringDomain(window.document.referrer),\n $device: device(userAgent),\n $current_url: window.location.href,\n $host: window.location.host,\n $pathname: window.location.pathname,\n $browser_version: browserVersion(userAgent, window.navigator.vendor, !!(window as any).opera),\n $screen_height: window.screen.height,\n $screen_width: window.screen.width,\n $screen_dpr: window.devicePixelRatio,\n }\n }\n context = {\n ...context,\n $lib: 'js',\n $lib_version: version,\n $insert_id: Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10),\n $time: utils.currentTimestamp() / 1000, // epoch time in seconds\n }\n return context // TODO: strip empty props?\n}\n\nfunction includes(haystack: string, needle: string): boolean {\n return haystack.indexOf(needle) >= 0\n}\n\nfunction browser(userAgent: string, vendor: string, opera: boolean): string {\n vendor = vendor || '' // vendor is undefined for at least IE9\n if (opera || includes(userAgent, ' OPR/')) {\n if (includes(userAgent, 'Mini')) {\n return 'Opera Mini'\n }\n return 'Opera'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return 'BlackBerry'\n } else if (includes(userAgent, 'IEMobile') || includes(userAgent, 'WPDesktop')) {\n return 'Internet Explorer Mobile'\n } else if (includes(userAgent, 'SamsungBrowser/')) {\n // https://developer.samsung.com/internet/user-agent-string-format\n return 'Samsung Internet'\n } else if (includes(userAgent, 'Edge') || includes(userAgent, 'Edg/')) {\n return 'Microsoft Edge'\n } else if (includes(userAgent, 'FBIOS')) {\n return 'Facebook Mobile'\n } else if (includes(userAgent, 'Chrome')) {\n return 'Chrome'\n } else if (includes(userAgent, 'CriOS')) {\n return 'Chrome iOS'\n } else if (includes(userAgent, 'UCWEB') || includes(userAgent, 'UCBrowser')) {\n return 'UC Browser'\n } else if (includes(userAgent, 'FxiOS')) {\n return 'Firefox iOS'\n } else if (includes(vendor, 'Apple')) {\n if (includes(userAgent, 'Mobile')) {\n return 'Mobile Safari'\n }\n return 'Safari'\n } else if (includes(userAgent, 'Android')) {\n return 'Android Mobile'\n } else if (includes(userAgent, 'Konqueror')) {\n return 'Konqueror'\n } else if (includes(userAgent, 'Firefox')) {\n return 'Firefox'\n } else if (includes(userAgent, 'MSIE') || includes(userAgent, 'Trident/')) {\n return 'Internet Explorer'\n } else if (includes(userAgent, 'Gecko')) {\n return 'Mozilla'\n } else {\n return ''\n }\n}\n\nfunction browserVersion(userAgent: string, vendor: string, opera: boolean): number | null {\n const regexList = {\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\n const browserString = browser(userAgent, vendor, opera) as keyof typeof regexList\n const regex: RegExp = regexList[browserString] || undefined\n\n if (regex === undefined) {\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\nfunction os(window: Window): string {\n const a = window.navigator.userAgent\n if (/Windows/i.test(a)) {\n if (/Phone/.test(a) || /WPDesktop/.test(a)) {\n return 'Windows Phone'\n }\n return 'Windows'\n } else if (/(iPhone|iPad|iPod)/.test(a)) {\n return 'iOS'\n } else if (/Android/.test(a)) {\n return 'Android'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(a)) {\n return 'BlackBerry'\n } else if (/Mac/i.test(a)) {\n return 'Mac OS X'\n } else if (/Linux/.test(a)) {\n return 'Linux'\n } else if (/CrOS/.test(a)) {\n return 'Chrome OS'\n } else {\n return ''\n }\n}\n\nfunction device(userAgent: string): string {\n if (/Windows Phone/i.test(userAgent) || /WPDesktop/.test(userAgent)) {\n return 'Windows Phone'\n } else if (/iPad/.test(userAgent)) {\n return 'iPad'\n } else if (/iPod/.test(userAgent)) {\n return 'iPod Touch'\n } else if (/iPhone/.test(userAgent)) {\n return 'iPhone'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return 'BlackBerry'\n } else if (/Android/.test(userAgent)) {\n return 'Android'\n } else {\n return ''\n }\n}\n\nfunction referringDomain(referrer: string): string {\n const split = referrer.split('/')\n if (split.length >= 3) {\n return split[2]\n }\n return ''\n}\n","import { PostHogOptions } from './types'\n\nexport type PostHogStorage = {\n getItem: (key: string) => string | null | undefined\n setItem: (key: string, value: string) => void\n removeItem: (key: string) => void\n clear: () => void\n getAllKeys: () => readonly string[]\n}\n\n// Methods partially borrowed from quirksmode.org/js/cookies.html\nexport const cookieStore: PostHogStorage = {\n getItem(key) {\n try {\n const nameEQ = key + '='\n const ca = document.cookie.split(';')\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 setItem(key: string, value: string) {\n try {\n const cdomain = '',\n expires = '',\n secure = ''\n\n const new_cookie_val = key + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure\n document.cookie = new_cookie_val\n } catch (err) {\n return\n }\n },\n\n removeItem(name) {\n try {\n cookieStore.setItem(name, '')\n } catch (err) {\n return\n }\n },\n clear() {\n document.cookie = ''\n },\n getAllKeys() {\n const ca = document.cookie.split(';')\n const keys = []\n\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 keys.push(c.split('=')[0])\n }\n\n return keys\n },\n}\n\nconst createStorageLike = (store: any): PostHogStorage => {\n return {\n getItem(key) {\n return store.getItem(key)\n },\n\n setItem(key, value) {\n store.setItem(key, value)\n },\n\n removeItem(key) {\n store.removeItem(key)\n },\n clear() {\n store.clear()\n },\n getAllKeys() {\n const keys = []\n for (const key in localStorage) {\n keys.push(key)\n }\n return keys\n },\n }\n}\n\nexport const _localStore = createStorageLike(window.localStorage)\nexport const _sessionStore = createStorageLike(window.sessionStorage)\n\nconst checkStoreIsSupported = (storage: PostHogStorage, key = '__mplssupport__'): boolean => {\n if (!window) {\n return false\n }\n try {\n const val = 'xyz'\n storage.setItem(key, val)\n if (storage.getItem(key) !== val) {\n return false\n }\n storage.removeItem(key)\n return true\n } catch (err) {\n return false\n }\n}\n\nexport const localStore = checkStoreIsSupported(_localStore) ? _localStore : undefined\nexport const sessionStorage = checkStoreIsSupported(_sessionStore) ? _sessionStore : undefined\n\nconst createMemoryStorage = (): PostHogStorage => {\n const _cache: { [key: string]: any | undefined } = {}\n\n const store: PostHogStorage = {\n getItem(key) {\n return _cache[key]\n },\n\n setItem(key, value) {\n _cache[key] = value !== null ? value : undefined\n },\n\n removeItem(key) {\n delete _cache[key]\n },\n clear() {\n for (const key in _cache) {\n delete _cache[key]\n }\n },\n getAllKeys() {\n const keys = []\n for (const key in _cache) {\n keys.push(key)\n }\n return keys\n },\n }\n return store\n}\n\nexport const getStorage = (type: PostHogOptions['persistence']): PostHogStorage => {\n switch (type) {\n case 'cookie':\n return cookieStore || localStore || sessionStorage || createMemoryStorage()\n case 'localStorage':\n return localStore || sessionStorage || createMemoryStorage()\n case 'sessionStorage':\n return sessionStorage || createMemoryStorage()\n case 'memory':\n return createMemoryStorage()\n default:\n return createMemoryStorage()\n }\n}\n","import {\n PostHogCore,\n PostHogFetchOptions,\n PostHogFetchResponse,\n PostHogPersistedProperty,\n} from '../../posthog-core/src'\nimport { getContext } from './context'\nimport { PostHogStorage, getStorage } from './storage'\nimport { version } from '../package.json'\nimport { PostHogOptions } from './types'\n\nexport class PostHog extends PostHogCore {\n private _storage: PostHogStorage\n private _storageCache: any\n private _storageKey: string\n\n constructor(apiKey: string, options?: PostHogOptions) {\n super(apiKey, options)\n\n // posthog-js stores options in one object on\n this._storageKey = options?.persistence_name ? `ph_${options.persistence_name}` : `ph_${apiKey}_posthog`\n this._storage = getStorage(options?.persistence || 'localStorage')\n }\n\n getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined {\n if (!this._storageCache) {\n this._storageCache = JSON.parse(this._storage.getItem(this._storageKey) || '{}') || {}\n }\n\n return this._storageCache[key]\n }\n\n setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void {\n if (!this._storageCache) {\n this._storageCache = JSON.parse(this._storage.getItem(this._storageKey) || '{}') || {}\n }\n\n if (value === null) {\n delete this._storageCache[key]\n } else {\n this._storageCache[key] = value\n }\n\n this._storage.setItem(this._storageKey, JSON.stringify(this._storageCache))\n }\n\n fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse> {\n return window.fetch(url, options)\n }\n getLibraryId(): string {\n return 'posthog-js-lite'\n }\n getLibraryVersion(): string {\n return version\n }\n getCustomUserAgent(): void {\n return\n }\n\n getCommonEventProperties(): any {\n return {\n ...super.getCommonEventProperties(),\n ...getContext(window),\n }\n }\n}\n"],"names":["getContext","window","context","navigator","userAgent","__assign","$os","os","$browser","browser","vendor","opera","$referrer","document","referrer","$referring_domain","referringDomain","$device","device","$current_url","location","href","$host","host","$pathname","pathname","$browser_version","browserVersion","$screen_height","screen","height","$screen_width","width","$screen_dpr","devicePixelRatio","$lib","$lib_version","version","$insert_id","Math","random","toString","substring","$time","utils","includes","haystack","needle","indexOf","test","regexList","Chrome","Safari","Opera","Firefox","Konqueror","BlackBerry","Mozilla","browserString","regex","undefined","matches","match","parseFloat","length","a","split","cookieStore","getItem","key","nameEQ","ca","cookie","i","c","charAt","decodeURIComponent","err","setItem","value","cdomain","expires","secure","new_cookie_val","encodeURIComponent","removeItem","name","clear","getAllKeys","keys","push","createStorageLike","store","localStorage","_localStore","_sessionStore","sessionStorage","checkStoreIsSupported","storage","val","localStore","createMemoryStorage","_cache","getStorage","type","PostHog","_super","__extends","apiKey","options","_this","call","_storageKey","persistence_name","concat","_storage","persistence","prototype","getPersistedProperty","_storageCache","JSON","parse","setPersistedProperty","stringify","fetch","url","getLibraryId","getLibraryVersion","getCustomUserAgent","getCommonEventProperties","PostHogCore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../node_modules/tslib/tslib.es6.js","../../posthog-core/src/types.ts","../../posthog-core/src/utils.ts","../../posthog-core/src/lz-string.ts","../../posthog-core/src/eventemitter.ts","../../posthog-core/src/index.ts","../src/context.ts","../src/storage.ts","../src/posthog-web.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export type PosthogCoreOptions = {\n // PostHog API host (https://app.posthog.com by default)\n host?: string\n // The number of events to queue before sending to Posthog (flushing)\n flushAt?: number\n // The interval in milliseconds between periodic flushes\n flushInterval?: number\n // If set to false, tracking will be disabled until `optIn` is called\n enable?: boolean\n // Whether to track that `getFeatureFlag` was called (used by Expriements)\n sendFeatureFlagEvent?: boolean\n // Whether to load feature flags when initialised or not\n preloadFeatureFlags?: boolean\n // Option to bootstrap the library with given distinctId and feature flags\n bootstrap?: {\n distinctId?: string\n isIdentifiedId?: boolean\n featureFlags?: Record<string, boolean | string>\n featureFlagPayloads?: Record<string, JsonType>\n }\n // How many times we will retry HTTP requests\n fetchRetryCount?: number\n // The delay between HTTP request retries\n fetchRetryDelay?: number\n // Timeout in milliseconds for any calls. Defaults to 10 seconds.\n requestTimeout?: number\n // For Session Analysis how long before we expire a session (defaults to 30 mins)\n sessionExpirationTimeSeconds?: number\n // Whether to post events to PostHog in JSON or compressed format\n captureMode?: 'json' | 'form'\n}\n\nexport enum PostHogPersistedProperty {\n AnonymousId = 'anonymous_id',\n DistinctId = 'distinct_id',\n Props = 'props',\n FeatureFlags = 'feature_flags',\n FeatureFlagPayloads = 'feature_flag_payloads',\n OverrideFeatureFlags = 'override_feature_flags',\n Queue = 'queue',\n OptedOut = 'opted_out',\n SessionId = 'session_id',\n SessionLastTimestamp = 'session_timestamp',\n PersonProperties = 'person_properties',\n GroupProperties = 'group_properties',\n}\n\nexport type PostHogFetchOptions = {\n method: 'GET' | 'POST' | 'PUT' | 'PATCH'\n mode?: 'no-cors'\n credentials?: 'omit'\n headers: { [key: string]: string }\n body?: string\n signal?: AbortSignal\n}\n\nexport type PostHogFetchResponse = {\n status: number\n text: () => Promise<string>\n json: () => Promise<any>\n}\n\nexport type PostHogQueueItem = {\n message: any\n callback?: (err: any) => void\n}\n\nexport type PostHogEventProperties = {\n [key: string]: any\n}\n\nexport type PostHogAutocaptureElement = {\n $el_text?: string\n tag_name: string\n href?: string\n nth_child?: number\n nth_of_type?: number\n order?: number\n} & {\n [key: string]: any\n} // Any key prefixed with `attr__` can be added\n\nexport type PostHogDecideResponse = {\n config: { enable_collect_everything: boolean }\n editorParams: { toolbarVersion: string; jsURL: string }\n isAuthenticated: true\n supportedCompression: string[]\n featureFlags: {\n [key: string]: string | boolean\n }\n featureFlagPayloads: {\n [key: string]: JsonType\n }\n errorsWhileComputingFlags: boolean\n sessionRecording: boolean\n}\n\nexport type PosthogFlagsAndPayloadsResponse = {\n featureFlags: PostHogDecideResponse['featureFlags']\n featureFlagPayloads: PostHogDecideResponse['featureFlagPayloads']\n}\n\nexport type JsonType = string | number | boolean | null | { [key: string]: JsonType } | Array<JsonType>\n","export function assert(truthyValue: any, message: string): void {\n if (!truthyValue) {\n throw new Error(message)\n }\n}\n\nexport function removeTrailingSlash(url: string): string {\n return url?.replace(/\\/+$/, '')\n}\n\nexport interface RetriableOptions {\n retryCount?: number\n retryDelay?: number\n retryCheck?: (err: any) => true\n}\n\nexport async function retriable<T>(fn: () => Promise<T>, props: RetriableOptions = {}): Promise<T> {\n const { retryCount = 3, retryDelay = 5000, retryCheck = () => true } = props\n let lastError = null\n\n for (let i = 0; i < retryCount + 1; i++) {\n try {\n const res = await fn()\n return res\n } catch (e) {\n lastError = e\n if (!retryCheck(e)) {\n throw e\n }\n }\n\n await new Promise((r) => setTimeout(r, retryDelay))\n }\n\n throw lastError\n}\n\n// https://stackoverflow.com/a/8809472\nexport function generateUUID(globalThis?: any): string {\n // Public Domain/MIT\n let d = new Date().getTime() //Timestamp\n let d2 =\n (globalThis && globalThis.performance && globalThis.performance.now && globalThis.performance.now() * 1000) || 0 //Time in microseconds since page-load or 0 if unsupported\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n let r = Math.random() * 16 //random number between 0 and 16\n if (d > 0) {\n //Use timestamp until depleted\n r = (d + r) % 16 | 0\n d = Math.floor(d / 16)\n } else {\n //Use microseconds since page-load if supported\n r = (d2 + r) % 16 | 0\n d2 = Math.floor(d2 / 16)\n }\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16)\n })\n}\n\nexport function currentTimestamp(): number {\n return new Date().getTime()\n}\n\nexport function currentISOTime(): string {\n return new Date().toISOString()\n}\n\nexport function safeSetTimeout(fn: () => void, timeout: number): any {\n // NOTE: we use this so rarely that it is totally fine to do `safeSetTimeout(fn, 0)``\n // rather than setImmediate.\n const t = setTimeout(fn, timeout) as any\n // We unref if available to prevent Node.js hanging on exit\n t?.unref && t?.unref()\n return t\n}\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.4\n\n// private property\nconst f = String.fromCharCode\nconst keyStrBase64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\nconst baseReverseDic: any = {}\n\nfunction getBaseValue(alphabet: any, character: any): any {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {}\n for (let i = 0; i < alphabet.length; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i\n }\n }\n return baseReverseDic[alphabet][character]\n}\n\nexport const LZString = {\n compressToBase64: function (input: any): string {\n if (input == null) {\n return ''\n }\n const res = LZString._compress(input, 6, function (a: any) {\n return keyStrBase64.charAt(a)\n })\n switch (\n res.length % 4 // To produce valid Base64\n ) {\n default: // When could this happen ?\n case 0:\n return res\n case 1:\n return res + '==='\n case 2:\n return res + '=='\n case 3:\n return res + '='\n }\n },\n\n decompressFromBase64: function (input: any): any {\n if (input == null) {\n return ''\n }\n if (input == '') {\n return null\n }\n return LZString._decompress(input.length, 32, function (index: any) {\n return getBaseValue(keyStrBase64, input.charAt(index))\n })\n },\n\n compress: function (uncompressed: any): any {\n return LZString._compress(uncompressed, 16, function (a: any) {\n return f(a)\n })\n },\n _compress: function (uncompressed: any, bitsPerChar: any, getCharFromInt: any): any {\n if (uncompressed == null) {\n return ''\n }\n const context_dictionary: any = {},\n context_dictionaryToCreate: any = {},\n context_data = []\n\n let i,\n value,\n context_c = '',\n context_wc = '',\n context_w = '',\n context_enlargeIn = 2, // Compensate for the first entry which should not count\n context_dictSize = 3,\n context_numBits = 2,\n context_data_val = 0,\n context_data_position = 0,\n ii\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii)\n if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n context_dictionary[context_c] = context_dictSize++\n context_dictionaryToCreate[context_c] = true\n }\n\n context_wc = context_w + context_c\n if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) {\n context_w = context_wc\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n if (context_w.charCodeAt(0) < 256) {\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 8; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n } else {\n value = 1\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | value\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = 0\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 16; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n delete context_dictionaryToCreate[context_w]\n } else {\n value = context_dictionary[context_w]\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++\n context_w = String(context_c)\n }\n }\n\n // Output the code for w.\n if (context_w !== '') {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n if (context_w.charCodeAt(0) < 256) {\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 8; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n } else {\n value = 1\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | value\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = 0\n }\n value = context_w.charCodeAt(0)\n for (i = 0; i < 16; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n delete context_dictionaryToCreate[context_w]\n } else {\n value = context_dictionary[context_w]\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits)\n context_numBits++\n }\n }\n\n // Mark the end of the stream\n value = 2\n for (i = 0; i < context_numBits; i++) {\n context_data_val = (context_data_val << 1) | (value & 1)\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0\n context_data.push(getCharFromInt(context_data_val))\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n\n // Flush the last char\n while (true) {\n context_data_val = context_data_val << 1\n if (context_data_position == bitsPerChar - 1) {\n context_data.push(getCharFromInt(context_data_val))\n break\n } else {\n context_data_position++\n }\n }\n return context_data.join('')\n },\n\n decompress: function (compressed: any): any {\n if (compressed == null) {\n return ''\n }\n if (compressed == '') {\n return null\n }\n return LZString._decompress(compressed.length, 32768, function (index: any) {\n return compressed.charCodeAt(index)\n })\n },\n\n _decompress: function (length: any, resetValue: any, getNextValue: any): any {\n const dictionary = [],\n result = [],\n data = { val: getNextValue(0), position: resetValue, index: 1 }\n\n let next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry: any = '',\n i,\n w,\n bits,\n resb,\n maxpower,\n power,\n c\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i\n }\n\n bits = 0\n maxpower = Math.pow(2, 2)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n switch ((next = bits)) {\n case 0:\n bits = 0\n maxpower = Math.pow(2, 8)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n c = f(bits)\n break\n case 1:\n bits = 0\n maxpower = Math.pow(2, 16)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n c = f(bits)\n break\n case 2:\n return ''\n }\n dictionary[3] = c\n w = c\n result.push(c)\n while (true) {\n if (data.index > length) {\n return ''\n }\n\n bits = 0\n maxpower = Math.pow(2, numBits)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n\n switch ((c = bits)) {\n case 0:\n bits = 0\n maxpower = Math.pow(2, 8)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n\n dictionary[dictSize++] = f(bits)\n c = dictSize - 1\n enlargeIn--\n break\n case 1:\n bits = 0\n maxpower = Math.pow(2, 16)\n power = 1\n while (power != maxpower) {\n resb = data.val & data.position\n data.position >>= 1\n if (data.position == 0) {\n data.position = resetValue\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power\n power <<= 1\n }\n dictionary[dictSize++] = f(bits)\n c = dictSize - 1\n enlargeIn--\n break\n case 2:\n return result.join('')\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits)\n numBits++\n }\n\n if (dictionary[c]) {\n entry = dictionary[c]\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0)\n } else {\n return null\n }\n }\n result.push(entry)\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0)\n enlargeIn--\n\n w = entry\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits)\n numBits++\n }\n }\n },\n}\n","export class SimpleEventEmitter {\n events: { [key: string]: ((...args: any[]) => void)[] } = {}\n\n constructor() {\n this.events = {}\n }\n\n on(event: string, listener: (...args: any[]) => void): () => void {\n if (!this.events[event]) {\n this.events[event] = []\n }\n this.events[event].push(listener)\n\n return () => {\n this.events[event] = this.events[event].filter((x) => x !== listener)\n }\n }\n\n emit(event: string, payload: any): void {\n for (const listener of this.events[event] || []) {\n listener(payload)\n }\n for (const listener of this.events['*'] || []) {\n listener(event, payload)\n }\n }\n}\n","import {\n PostHogFetchOptions,\n PostHogFetchResponse,\n PostHogQueueItem,\n PostHogAutocaptureElement,\n PostHogDecideResponse,\n PosthogCoreOptions,\n PostHogEventProperties,\n PostHogPersistedProperty,\n JsonType,\n} from './types'\nimport {\n assert,\n currentISOTime,\n currentTimestamp,\n generateUUID,\n removeTrailingSlash,\n retriable,\n RetriableOptions,\n safeSetTimeout,\n} from './utils'\nexport * as utils from './utils'\nimport { LZString } from './lz-string'\nimport { SimpleEventEmitter } from './eventemitter'\n\nexport abstract class PostHogCore {\n // options\n private apiKey: string\n host: string\n private flushAt: number\n private flushInterval: number\n private requestTimeout: number\n private captureMode: 'form' | 'json'\n private sendFeatureFlagEvent: boolean\n private flagCallReported: { [key: string]: boolean } = {}\n private removeDebugCallback?: () => void\n\n // internal\n protected _events = new SimpleEventEmitter()\n protected _flushTimer?: any\n protected _decideResponsePromise?: Promise<PostHogDecideResponse>\n protected _retryOptions: RetriableOptions\n protected _sessionExpirationTimeSeconds: number\n\n // Abstract methods to be overridden by implementations\n abstract fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>\n abstract getLibraryId(): string\n abstract getLibraryVersion(): string\n abstract getCustomUserAgent(): string | void\n\n // This is our abstracted storage. Each implementation should handle its own\n abstract getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined\n abstract setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void\n\n private _optoutOverride: boolean | undefined\n\n constructor(apiKey: string, options?: PosthogCoreOptions) {\n assert(apiKey, \"You must pass your PostHog project's api key.\")\n\n this.apiKey = apiKey\n this.host = removeTrailingSlash(options?.host || 'https://app.posthog.com')\n this.flushAt = options?.flushAt ? Math.max(options?.flushAt, 1) : 20\n this.flushInterval = options?.flushInterval ?? 10000\n this.captureMode = options?.captureMode || 'form'\n this.sendFeatureFlagEvent = options?.sendFeatureFlagEvent ?? true\n // If enable is explicitly set to false we override the optout\n this._optoutOverride = options?.enable === false\n this._retryOptions = {\n retryCount: options?.fetchRetryCount ?? 3,\n retryDelay: options?.fetchRetryDelay ?? 3000,\n }\n this.requestTimeout = options?.requestTimeout ?? 10000 // 10 seconds\n this._sessionExpirationTimeSeconds = options?.sessionExpirationTimeSeconds ?? 1800 // 30 minutes\n\n // NOTE: It is important we don't initiate anything in the constructor as some async IO may still be underway on the parent\n if (options?.preloadFeatureFlags !== false) {\n safeSetTimeout(() => {\n void this.reloadFeatureFlagsAsync()\n }, 1)\n }\n }\n\n protected getCommonEventProperties(): any {\n const featureFlags = this.getFeatureFlags()\n\n const featureVariantProperties: Record<string, string | boolean> = {}\n if (featureFlags) {\n for (const [feature, variant] of Object.entries(featureFlags)) {\n featureVariantProperties[`$feature/${feature}`] = variant\n }\n }\n return {\n $lib: this.getLibraryId(),\n $lib_version: this.getLibraryVersion(),\n $active_feature_flags: featureFlags ? Object.keys(featureFlags) : undefined,\n ...featureVariantProperties,\n }\n }\n\n protected setupBootstrap(options?: Partial<PosthogCoreOptions>): void {\n if (options?.bootstrap?.distinctId) {\n if (options?.bootstrap?.isIdentifiedId) {\n this.setPersistedProperty(PostHogPersistedProperty.DistinctId, options.bootstrap.distinctId)\n } else {\n this.setPersistedProperty(PostHogPersistedProperty.AnonymousId, options.bootstrap.distinctId)\n }\n }\n\n if (options?.bootstrap?.featureFlags) {\n const activeFlags = Object.keys(options.bootstrap?.featureFlags || {})\n .filter((flag) => !!options.bootstrap?.featureFlags?.[flag])\n .reduce(\n (res: Record<string, string | boolean>, key) => (\n (res[key] = options.bootstrap?.featureFlags?.[key] || false), res\n ),\n {}\n )\n this.setKnownFeatureFlags(activeFlags)\n options?.bootstrap.featureFlagPayloads && this.setKnownFeatureFlagPayloads(options?.bootstrap.featureFlagPayloads)\n }\n }\n\n // NOTE: Props are lazy loaded from localstorage hence the complex getter setter logic\n private get props(): PostHogEventProperties {\n if (!this._props) {\n this._props = this.getPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.Props)\n }\n return this._props || {}\n }\n\n private set props(val: PostHogEventProperties | undefined) {\n this._props = val\n }\n\n private clearProps(): void {\n this.props = undefined\n }\n\n private _props: PostHogEventProperties | undefined\n\n public get optedOut(): boolean {\n return this.getPersistedProperty(PostHogPersistedProperty.OptedOut) ?? this._optoutOverride ?? false\n }\n\n optIn(): void {\n this.setPersistedProperty(PostHogPersistedProperty.OptedOut, false)\n }\n\n optOut(): void {\n this.setPersistedProperty(PostHogPersistedProperty.OptedOut, true)\n }\n\n on(event: string, cb: (...args: any[]) => void): () => void {\n return this._events.on(event, cb)\n }\n\n reset(propertiesToKeep?: PostHogPersistedProperty[]): void {\n const allPropertiesToKeep = [PostHogPersistedProperty.Queue, ...(propertiesToKeep || [])]\n\n // clean up props\n this.clearProps()\n\n for (const key of <(keyof typeof PostHogPersistedProperty)[]>Object.keys(PostHogPersistedProperty)) {\n if (!allPropertiesToKeep.includes(PostHogPersistedProperty[key])) {\n this.setPersistedProperty((PostHogPersistedProperty as any)[key], null)\n }\n }\n }\n\n debug(enabled: boolean = true): void {\n this.removeDebugCallback?.()\n\n if (enabled) {\n this.removeDebugCallback = this.on('*', (event, payload) => console.log('PostHog Debug', event, payload))\n }\n }\n\n private buildPayload(payload: { event: string; properties?: PostHogEventProperties; distinct_id?: string }): any {\n return {\n distinct_id: payload.distinct_id || this.getDistinctId(),\n event: payload.event,\n properties: {\n ...this.props, // Persisted properties first\n ...(payload.properties || {}), // Followed by user specified properties\n ...this.getCommonEventProperties(), // Followed by common PH props\n $session_id: this.getSessionId(),\n },\n }\n }\n\n getSessionId(): string | undefined {\n let sessionId = this.getPersistedProperty<string>(PostHogPersistedProperty.SessionId)\n const sessionTimestamp = this.getPersistedProperty<number>(PostHogPersistedProperty.SessionLastTimestamp) || 0\n if (!sessionId || Date.now() - sessionTimestamp > this._sessionExpirationTimeSeconds * 1000) {\n sessionId = generateUUID(globalThis)\n this.setPersistedProperty(PostHogPersistedProperty.SessionId, sessionId)\n }\n this.setPersistedProperty(PostHogPersistedProperty.SessionLastTimestamp, Date.now())\n\n return sessionId\n }\n\n resetSessionId(): void {\n this.setPersistedProperty(PostHogPersistedProperty.SessionId, null)\n }\n\n getAnonymousId(): string {\n let anonId = this.getPersistedProperty<string>(PostHogPersistedProperty.AnonymousId)\n if (!anonId) {\n anonId = generateUUID(globalThis)\n this.setPersistedProperty(PostHogPersistedProperty.AnonymousId, anonId)\n }\n return anonId\n }\n\n getDistinctId(): string {\n return this.getPersistedProperty<string>(PostHogPersistedProperty.DistinctId) || this.getAnonymousId()\n }\n\n register(properties: { [key: string]: any }): void {\n this.props = {\n ...this.props,\n ...properties,\n }\n this.setPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.Props, this.props)\n }\n\n unregister(property: string): void {\n delete this.props[property]\n this.setPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.Props, this.props)\n }\n\n /***\n *** TRACKING\n ***/\n identify(distinctId?: string, properties?: PostHogEventProperties): this {\n const previousDistinctId = this.getDistinctId()\n distinctId = distinctId || previousDistinctId\n\n if (properties?.$groups) {\n this.groups(properties.$groups)\n }\n\n const payload = {\n ...this.buildPayload({\n distinct_id: distinctId,\n event: '$identify',\n properties: {\n ...(properties || {}),\n $anon_distinct_id: this.getAnonymousId(),\n },\n }),\n $set: properties,\n }\n\n if (distinctId !== previousDistinctId) {\n // We keep the AnonymousId to be used by decide calls and identify to link the previousId\n this.setPersistedProperty(PostHogPersistedProperty.AnonymousId, previousDistinctId)\n this.setPersistedProperty(PostHogPersistedProperty.DistinctId, distinctId)\n\n if (this.getFeatureFlags()) {\n void this.reloadFeatureFlagsAsync()\n }\n }\n\n this.enqueue('identify', payload)\n return this\n }\n\n capture(event: string, properties?: { [key: string]: any }, forceSendFeatureFlags: boolean = false): this {\n if (properties?.$groups) {\n this.groups(properties.$groups)\n }\n\n if (forceSendFeatureFlags) {\n this._sendFeatureFlags(event, properties)\n } else {\n const payload = this.buildPayload({ event, properties })\n this.enqueue('capture', payload)\n }\n return this\n }\n\n alias(alias: string): this {\n const distinctId = this.getDistinctId()\n\n const payload = this.buildPayload({\n event: '$create_alias',\n properties: {\n distinct_id: distinctId,\n alias,\n },\n })\n\n this.enqueue('alias', payload)\n return this\n }\n\n autocapture(eventType: string, elements: PostHogAutocaptureElement[], properties: PostHogEventProperties = {}): this {\n const payload = this.buildPayload({\n event: '$autocapture',\n properties: {\n ...properties,\n $event_type: eventType,\n $elements: elements,\n },\n })\n\n this.enqueue('autocapture', payload)\n return this\n }\n\n /***\n *** GROUPS\n ***/\n\n groups(groups: { [type: string]: string | number }): this {\n // Get persisted groups\n const existingGroups = this.props.$groups || {}\n\n this.register({\n $groups: {\n ...existingGroups,\n ...groups,\n },\n })\n\n if (Object.keys(groups).find((type) => existingGroups[type] !== groups[type]) && this.getFeatureFlags()) {\n void this.reloadFeatureFlagsAsync()\n }\n\n return this\n }\n\n group(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties): this {\n this.groups({\n [groupType]: groupKey,\n })\n\n if (groupProperties) {\n this.groupIdentify(groupType, groupKey, groupProperties)\n }\n\n return this\n }\n\n groupIdentify(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties): this {\n const payload = this.buildPayload({\n event: '$groupidentify',\n properties: {\n $group_type: groupType,\n $group_key: groupKey,\n $group_set: groupProperties || {},\n ...this.getCommonEventProperties(),\n },\n })\n\n this.enqueue('capture', payload)\n return this\n }\n\n /***\n * PROPERTIES\n ***/\n personProperties(properties: { [type: string]: string }): this {\n // Get persisted person properties\n const existingProperties =\n this.getPersistedProperty<Record<string, string>>(PostHogPersistedProperty.PersonProperties) || {}\n\n this.setPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.PersonProperties, {\n ...existingProperties,\n ...properties,\n })\n\n return this\n }\n\n groupProperties(properties: { [type: string]: Record<string, string> }): this {\n // Get persisted group properties\n const existingProperties =\n this.getPersistedProperty<Record<string, Record<string, string>>>(PostHogPersistedProperty.GroupProperties) || {}\n\n if (Object.keys(existingProperties).length !== 0) {\n Object.keys(existingProperties).forEach((groupType) => {\n existingProperties[groupType] = {\n ...existingProperties[groupType],\n ...properties[groupType],\n }\n delete properties[groupType]\n })\n }\n\n this.setPersistedProperty<PostHogEventProperties>(PostHogPersistedProperty.GroupProperties, {\n ...existingProperties,\n ...properties,\n })\n return this\n }\n\n /***\n *** FEATURE FLAGS\n ***/\n private decideAsync(sendAnonDistinctId: boolean = true): Promise<PostHogDecideResponse> {\n if (this._decideResponsePromise) {\n return this._decideResponsePromise\n }\n return this._decideAsync(sendAnonDistinctId)\n }\n\n private async _decideAsync(sendAnonDistinctId: boolean = true): Promise<PostHogDecideResponse> {\n const url = `${this.host}/decide/?v=3`\n\n const distinctId = this.getDistinctId()\n const groups = this.props.$groups || {}\n const personProperties =\n this.getPersistedProperty<Record<string, string>>(PostHogPersistedProperty.PersonProperties) || {}\n const groupProperties =\n this.getPersistedProperty<Record<string, Record<string, string>>>(PostHogPersistedProperty.GroupProperties) || {}\n\n const fetchOptions: PostHogFetchOptions = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n token: this.apiKey,\n distinct_id: distinctId,\n $anon_distinct_id: sendAnonDistinctId ? this.getAnonymousId() : undefined,\n groups,\n person_properties: personProperties,\n group_properties: groupProperties,\n }),\n }\n\n this._decideResponsePromise = this.fetchWithRetry(url, fetchOptions)\n .then((r) => r.json() as Promise<PostHogDecideResponse>)\n .then((res) => {\n if (res.featureFlags) {\n let newFeatureFlags = res.featureFlags\n let newFeatureFlagPayloads = res.featureFlagPayloads\n if (res.errorsWhileComputingFlags) {\n // if not all flags were computed, we upsert flags instead of replacing them\n const currentFlags = this.getPersistedProperty<PostHogDecideResponse['featureFlags']>(\n PostHogPersistedProperty.FeatureFlags\n )\n const currentFlagPayloads = this.getPersistedProperty<PostHogDecideResponse['featureFlagPayloads']>(\n PostHogPersistedProperty.FeatureFlagPayloads\n )\n newFeatureFlags = { ...currentFlags, ...res.featureFlags }\n newFeatureFlagPayloads = { ...currentFlagPayloads, ...res.featureFlagPayloads }\n }\n this.setKnownFeatureFlags(newFeatureFlags)\n this.setKnownFeatureFlagPayloads(newFeatureFlagPayloads)\n }\n\n return res\n })\n .finally(() => {\n this._decideResponsePromise = undefined\n })\n return this._decideResponsePromise\n }\n\n private setKnownFeatureFlags(featureFlags: PostHogDecideResponse['featureFlags']): void {\n this.setPersistedProperty<PostHogDecideResponse['featureFlags']>(\n PostHogPersistedProperty.FeatureFlags,\n featureFlags\n )\n this._events.emit('featureflags', featureFlags)\n }\n\n private setKnownFeatureFlagPayloads(featureFlagPayloads: PostHogDecideResponse['featureFlagPayloads']): void {\n this.setPersistedProperty<PostHogDecideResponse['featureFlagPayloads']>(\n PostHogPersistedProperty.FeatureFlagPayloads,\n featureFlagPayloads\n )\n }\n\n getFeatureFlag(key: string): boolean | string | undefined {\n const featureFlags = this.getFeatureFlags()\n\n if (!featureFlags) {\n // If we haven't loaded flags yet, or errored out, we respond with undefined\n return undefined\n }\n\n let response = featureFlags[key]\n // `/decide` v3 returns all flags\n\n if (response === undefined) {\n // For cases where the flag is unknown, return false\n response = false\n }\n\n if (this.sendFeatureFlagEvent && !this.flagCallReported[key]) {\n this.flagCallReported[key] = true\n this.capture('$feature_flag_called', {\n $feature_flag: key,\n $feature_flag_response: response,\n })\n }\n\n // If we have flags we either return the value (true or string) or false\n return response\n }\n\n getFeatureFlagPayload(key: string): JsonType | undefined {\n const payloads = this.getFeatureFlagPayloads()\n\n if (!payloads) {\n return undefined\n }\n\n const response = payloads[key]\n\n // Undefined means a loading or missing data issue. Null means evaluation happened and there was no match\n if (response === undefined) {\n return null\n }\n\n return this._parsePayload(response)\n }\n\n getFeatureFlagPayloads(): PostHogDecideResponse['featureFlagPayloads'] | undefined {\n const payloads = this.getPersistedProperty<PostHogDecideResponse['featureFlagPayloads']>(\n PostHogPersistedProperty.FeatureFlagPayloads\n )\n if (payloads) {\n return Object.fromEntries(Object.entries(payloads).map(([k, v]) => [k, this._parsePayload(v)]))\n }\n return payloads\n }\n\n _parsePayload(response: any): any {\n try {\n return JSON.parse(response)\n } catch {\n return response\n }\n }\n\n getFeatureFlags(): PostHogDecideResponse['featureFlags'] | undefined {\n let flags = this.getPersistedProperty<PostHogDecideResponse['featureFlags']>(PostHogPersistedProperty.FeatureFlags)\n const overriddenFlags = this.getPersistedProperty<PostHogDecideResponse['featureFlags']>(\n PostHogPersistedProperty.OverrideFeatureFlags\n )\n\n if (!overriddenFlags) {\n return flags\n }\n\n flags = flags || {}\n\n for (const key in overriddenFlags) {\n if (!overriddenFlags[key]) {\n delete flags[key]\n } else {\n flags[key] = overriddenFlags[key]\n }\n }\n\n return flags\n }\n\n getFeatureFlagsAndPayloads(): {\n flags: PostHogDecideResponse['featureFlags'] | undefined\n payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined\n } {\n const flags = this.getFeatureFlags()\n const payloads = this.getFeatureFlagPayloads()\n\n return {\n flags,\n payloads,\n }\n }\n\n isFeatureEnabled(key: string): boolean | undefined {\n const response = this.getFeatureFlag(key)\n if (response === undefined) {\n return undefined\n }\n return !!response\n }\n\n async reloadFeatureFlagsAsync(sendAnonDistinctId: boolean = true): Promise<PostHogDecideResponse['featureFlags']> {\n return (await this.decideAsync(sendAnonDistinctId)).featureFlags\n }\n\n onFeatureFlags(cb: (flags: PostHogDecideResponse['featureFlags']) => void): () => void {\n return this.on('featureflags', async () => {\n const flags = this.getFeatureFlags()\n if (flags) {\n cb(flags)\n }\n })\n }\n\n onFeatureFlag(key: string, cb: (value: string | boolean) => void): () => void {\n return this.on('featureflags', async () => {\n const flagResponse = this.getFeatureFlag(key)\n if (flagResponse !== undefined) {\n cb(flagResponse)\n }\n })\n }\n\n overrideFeatureFlag(flags: PostHogDecideResponse['featureFlags'] | null): void {\n if (flags === null) {\n return this.setPersistedProperty(PostHogPersistedProperty.OverrideFeatureFlags, null)\n }\n return this.setPersistedProperty(PostHogPersistedProperty.OverrideFeatureFlags, flags)\n }\n\n _sendFeatureFlags(event: string, properties?: { [key: string]: any }): void {\n this.reloadFeatureFlagsAsync(false).finally(() => {\n // Try to enqueue message irrespective of errors during feature flag fetching\n const payload = this.buildPayload({ event, properties })\n this.enqueue('capture', payload)\n })\n }\n\n /***\n *** QUEUEING AND FLUSHING\n ***/\n private enqueue(type: string, _message: any): void {\n if (this.optedOut) {\n return\n }\n const message = {\n ..._message,\n type: type,\n library: this.getLibraryId(),\n library_version: this.getLibraryVersion(),\n timestamp: _message.timestamp ? _message.timestamp : currentISOTime(),\n }\n\n if (message.distinctId) {\n message.distinct_id = message.distinctId\n delete message.distinctId\n }\n\n const queue = this.getPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue) || []\n\n queue.push({ message })\n this.setPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue, queue)\n\n this._events.emit(type, message)\n\n // Flush queued events if we meet the flushAt length\n if (queue.length >= this.flushAt) {\n this.flush()\n }\n\n if (this.flushInterval && !this._flushTimer) {\n this._flushTimer = safeSetTimeout(() => this.flush(), this.flushInterval)\n }\n }\n\n flushAsync(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.flush((err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n flush(callback?: (err?: any, data?: any) => void): void {\n if (this.optedOut) {\n return callback?.()\n }\n\n if (this._flushTimer) {\n clearTimeout(this._flushTimer)\n this._flushTimer = null\n }\n\n const queue = this.getPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue) || []\n\n if (!queue.length) {\n return callback?.()\n }\n\n const items = queue.splice(0, this.flushAt)\n this.setPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue, queue)\n\n const messages = items.map((item) => item.message)\n\n const data = {\n api_key: this.apiKey,\n batch: messages,\n sent_at: currentISOTime(),\n }\n\n const done = (err?: any): void => {\n callback?.(err, messages)\n this._events.emit('flush', messages)\n }\n\n // Don't set the user agent if we're not on a browser. The latest spec allows\n // the User-Agent header (see https://fetch.spec.whatwg.org/#terminology-headers\n // and https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader),\n // but browsers such as Chrome and Safari have not caught up.\n const customUserAgent = this.getCustomUserAgent()\n const headers: { [key: string]: string } = {}\n if (customUserAgent) {\n headers['user-agent'] = customUserAgent\n }\n\n const payload = JSON.stringify(data)\n\n const url =\n this.captureMode === 'form'\n ? `${this.host}/e/?ip=1&_=${currentTimestamp()}&v=${this.getLibraryVersion()}`\n : `${this.host}/batch/`\n\n const fetchOptions: PostHogFetchOptions =\n this.captureMode === 'form'\n ? {\n method: 'POST',\n mode: 'no-cors',\n credentials: 'omit',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body: `data=${encodeURIComponent(LZString.compressToBase64(payload))}&compression=lz64`,\n }\n : {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: payload,\n }\n\n this.fetchWithRetry(url, fetchOptions)\n .then(() => done())\n .catch((err) => {\n if (err.response) {\n const error = new Error(err.response.statusText)\n return done(error)\n }\n\n done(err)\n })\n }\n\n private async fetchWithRetry(\n url: string,\n options: PostHogFetchOptions,\n retryOptions?: RetriableOptions\n ): Promise<PostHogFetchResponse> {\n ;(AbortSignal as any).timeout ??= function timeout(ms: number) {\n const ctrl = new AbortController()\n setTimeout(() => ctrl.abort(), ms)\n return ctrl.signal\n }\n\n return retriable(\n () =>\n this.fetch(url, {\n signal: (AbortSignal as any).timeout(this.requestTimeout),\n ...options,\n }),\n retryOptions || this._retryOptions\n )\n }\n\n async shutdownAsync(): Promise<void> {\n clearTimeout(this._flushTimer)\n await this.flushAsync()\n }\n\n shutdown(): void {\n void this.shutdownAsync()\n }\n}\n\nexport * from './types'\nexport { LZString }\n","import { utils } from '../../posthog-core'\nimport { version } from '../package.json'\n\nexport function getContext(window: Window): any {\n let context = {}\n if (window.navigator) {\n const userAgent = window.navigator.userAgent\n context = {\n ...context,\n $os: os(window),\n $browser: browser(userAgent, window.navigator.vendor, !!(window as any).opera),\n $referrer: window.document.referrer,\n $referring_domain: referringDomain(window.document.referrer),\n $device: device(userAgent),\n $current_url: window.location.href,\n $host: window.location.host,\n $pathname: window.location.pathname,\n $browser_version: browserVersion(userAgent, window.navigator.vendor, !!(window as any).opera),\n $screen_height: window.screen.height,\n $screen_width: window.screen.width,\n $screen_dpr: window.devicePixelRatio,\n }\n }\n context = {\n ...context,\n $lib: 'js',\n $lib_version: version,\n $insert_id: Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10),\n $time: utils.currentTimestamp() / 1000, // epoch time in seconds\n }\n return context // TODO: strip empty props?\n}\n\nfunction includes(haystack: string, needle: string): boolean {\n return haystack.indexOf(needle) >= 0\n}\n\nfunction browser(userAgent: string, vendor: string, opera: boolean): string {\n vendor = vendor || '' // vendor is undefined for at least IE9\n if (opera || includes(userAgent, ' OPR/')) {\n if (includes(userAgent, 'Mini')) {\n return 'Opera Mini'\n }\n return 'Opera'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return 'BlackBerry'\n } else if (includes(userAgent, 'IEMobile') || includes(userAgent, 'WPDesktop')) {\n return 'Internet Explorer Mobile'\n } else if (includes(userAgent, 'SamsungBrowser/')) {\n // https://developer.samsung.com/internet/user-agent-string-format\n return 'Samsung Internet'\n } else if (includes(userAgent, 'Edge') || includes(userAgent, 'Edg/')) {\n return 'Microsoft Edge'\n } else if (includes(userAgent, 'FBIOS')) {\n return 'Facebook Mobile'\n } else if (includes(userAgent, 'Chrome')) {\n return 'Chrome'\n } else if (includes(userAgent, 'CriOS')) {\n return 'Chrome iOS'\n } else if (includes(userAgent, 'UCWEB') || includes(userAgent, 'UCBrowser')) {\n return 'UC Browser'\n } else if (includes(userAgent, 'FxiOS')) {\n return 'Firefox iOS'\n } else if (includes(vendor, 'Apple')) {\n if (includes(userAgent, 'Mobile')) {\n return 'Mobile Safari'\n }\n return 'Safari'\n } else if (includes(userAgent, 'Android')) {\n return 'Android Mobile'\n } else if (includes(userAgent, 'Konqueror')) {\n return 'Konqueror'\n } else if (includes(userAgent, 'Firefox')) {\n return 'Firefox'\n } else if (includes(userAgent, 'MSIE') || includes(userAgent, 'Trident/')) {\n return 'Internet Explorer'\n } else if (includes(userAgent, 'Gecko')) {\n return 'Mozilla'\n } else {\n return ''\n }\n}\n\nfunction browserVersion(userAgent: string, vendor: string, opera: boolean): number | null {\n const regexList = {\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\n const browserString = browser(userAgent, vendor, opera) as keyof typeof regexList\n const regex: RegExp = regexList[browserString] || undefined\n\n if (regex === undefined) {\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\nfunction os(window: Window): string {\n const a = window.navigator.userAgent\n if (/Windows/i.test(a)) {\n if (/Phone/.test(a) || /WPDesktop/.test(a)) {\n return 'Windows Phone'\n }\n return 'Windows'\n } else if (/(iPhone|iPad|iPod)/.test(a)) {\n return 'iOS'\n } else if (/Android/.test(a)) {\n return 'Android'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(a)) {\n return 'BlackBerry'\n } else if (/Mac/i.test(a)) {\n return 'Mac OS X'\n } else if (/Linux/.test(a)) {\n return 'Linux'\n } else if (/CrOS/.test(a)) {\n return 'Chrome OS'\n } else {\n return ''\n }\n}\n\nfunction device(userAgent: string): string {\n if (/Windows Phone/i.test(userAgent) || /WPDesktop/.test(userAgent)) {\n return 'Windows Phone'\n } else if (/iPad/.test(userAgent)) {\n return 'iPad'\n } else if (/iPod/.test(userAgent)) {\n return 'iPod Touch'\n } else if (/iPhone/.test(userAgent)) {\n return 'iPhone'\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {\n return 'BlackBerry'\n } else if (/Android/.test(userAgent)) {\n return 'Android'\n } else {\n return ''\n }\n}\n\nfunction referringDomain(referrer: string): string {\n const split = referrer.split('/')\n if (split.length >= 3) {\n return split[2]\n }\n return ''\n}\n","import { PostHogOptions } from './types'\n\nexport type PostHogStorage = {\n getItem: (key: string) => string | null | undefined\n setItem: (key: string, value: string) => void\n removeItem: (key: string) => void\n clear: () => void\n getAllKeys: () => readonly string[]\n}\n\n// Methods partially borrowed from quirksmode.org/js/cookies.html\nexport const cookieStore: PostHogStorage = {\n getItem(key) {\n try {\n const nameEQ = key + '='\n const ca = document.cookie.split(';')\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 setItem(key: string, value: string) {\n try {\n const cdomain = '',\n expires = '',\n secure = ''\n\n const new_cookie_val = key + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure\n document.cookie = new_cookie_val\n } catch (err) {\n return\n }\n },\n\n removeItem(name) {\n try {\n cookieStore.setItem(name, '')\n } catch (err) {\n return\n }\n },\n clear() {\n document.cookie = ''\n },\n getAllKeys() {\n const ca = document.cookie.split(';')\n const keys = []\n\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 keys.push(c.split('=')[0])\n }\n\n return keys\n },\n}\n\nconst createStorageLike = (store: any): PostHogStorage => {\n return {\n getItem(key) {\n return store.getItem(key)\n },\n\n setItem(key, value) {\n store.setItem(key, value)\n },\n\n removeItem(key) {\n store.removeItem(key)\n },\n clear() {\n store.clear()\n },\n getAllKeys() {\n const keys = []\n for (const key in localStorage) {\n keys.push(key)\n }\n return keys\n },\n }\n}\n\nconst checkStoreIsSupported = (storage: PostHogStorage, key = '__mplssupport__'): boolean => {\n if (!window) {\n return false\n }\n try {\n const val = 'xyz'\n storage.setItem(key, val)\n if (storage.getItem(key) !== val) {\n return false\n }\n storage.removeItem(key)\n return true\n } catch (err) {\n return false\n }\n}\n\nlet localStore: PostHogStorage | undefined = undefined\nlet sessionStore: PostHogStorage | undefined = undefined\n\nconst createMemoryStorage = (): PostHogStorage => {\n const _cache: { [key: string]: any | undefined } = {}\n\n const store: PostHogStorage = {\n getItem(key) {\n return _cache[key]\n },\n\n setItem(key, value) {\n _cache[key] = value !== null ? value : undefined\n },\n\n removeItem(key) {\n delete _cache[key]\n },\n clear() {\n for (const key in _cache) {\n delete _cache[key]\n }\n },\n getAllKeys() {\n const keys = []\n for (const key in _cache) {\n keys.push(key)\n }\n return keys\n },\n }\n return store\n}\n\nexport const getStorage = (type: PostHogOptions['persistence'], window: Window | undefined): PostHogStorage => {\n if (window) {\n if (!localStorage) {\n const _localStore = createStorageLike(window.localStorage)\n localStore = checkStoreIsSupported(_localStore) ? _localStore : undefined\n }\n\n if (!sessionStore) {\n const _sessionStore = createStorageLike(window.sessionStorage)\n sessionStore = checkStoreIsSupported(_sessionStore) ? _sessionStore : undefined\n }\n }\n\n switch (type) {\n case 'cookie':\n return cookieStore || localStore || sessionStore || createMemoryStorage()\n case 'localStorage':\n return localStore || sessionStore || createMemoryStorage()\n case 'sessionStorage':\n return sessionStore || createMemoryStorage()\n case 'memory':\n return createMemoryStorage()\n default:\n return createMemoryStorage()\n }\n}\n","import {\n PostHogCore,\n PostHogFetchOptions,\n PostHogFetchResponse,\n PostHogPersistedProperty,\n} from '../../posthog-core/src'\nimport { getContext } from './context'\nimport { PostHogStorage, getStorage } from './storage'\nimport { version } from '../package.json'\nimport { PostHogOptions } from './types'\n\nexport class PostHog extends PostHogCore {\n private _storage: PostHogStorage\n private _storageCache: any\n private _storageKey: string\n\n constructor(apiKey: string, options?: PostHogOptions) {\n super(apiKey, options)\n\n // posthog-js stores options in one object on\n this._storageKey = options?.persistence_name ? `ph_${options.persistence_name}` : `ph_${apiKey}_posthog`\n this._storage = getStorage(options?.persistence || 'localStorage', window)\n this.setupBootstrap(options)\n }\n\n getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined {\n if (!this._storageCache) {\n this._storageCache = JSON.parse(this._storage.getItem(this._storageKey) || '{}') || {}\n }\n\n return this._storageCache[key]\n }\n\n setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void {\n if (!this._storageCache) {\n this._storageCache = JSON.parse(this._storage.getItem(this._storageKey) || '{}') || {}\n }\n\n if (value === null) {\n delete this._storageCache[key]\n } else {\n this._storageCache[key] = value\n }\n\n this._storage.setItem(this._storageKey, JSON.stringify(this._storageCache))\n }\n\n fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse> {\n return window.fetch(url, options)\n }\n\n getLibraryId(): string {\n return 'posthog-js-lite'\n }\n\n getLibraryVersion(): string {\n return version\n }\n\n getCustomUserAgent(): void {\n return\n }\n\n getCommonEventProperties(): any {\n return {\n ...super.getCommonEventProperties(),\n ...getContext(window),\n }\n }\n}\n"],"names":["getContext","window","context","navigator","userAgent","__assign","$os","os","$browser","browser","vendor","opera","$referrer","document","referrer","$referring_domain","referringDomain","$device","device","$current_url","location","href","$host","host","$pathname","pathname","$browser_version","browserVersion","$screen_height","screen","height","$screen_width","width","$screen_dpr","devicePixelRatio","$lib","$lib_version","version","$insert_id","Math","random","toString","substring","$time","utils","includes","haystack","needle","indexOf","test","regexList","Chrome","Safari","Opera","Firefox","Konqueror","BlackBerry","Mozilla","browserString","regex","undefined","matches","match","parseFloat","length","a","split","cookieStore","getItem","key","nameEQ","ca","cookie","i","c","charAt","decodeURIComponent","err","setItem","value","cdomain","expires","secure","new_cookie_val","encodeURIComponent","removeItem","name","clear","getAllKeys","keys","push","createStorageLike","store","localStorage","checkStoreIsSupported","storage","val","localStore","sessionStore","createMemoryStorage","_cache","getStorage","type","_localStore","_sessionStore","sessionStorage","PostHog","_super","__extends","apiKey","options","_this","call","_storageKey","persistence_name","concat","_storage","persistence","setupBootstrap","prototype","getPersistedProperty","_storageCache","JSON","parse","setPersistedProperty","stringify","fetch","url","getLibraryId","getLibraryVersion","getCustomUserAgent","getCommonEventProperties","PostHogCore"],"mappings":"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"}
|