posthog-react-native 2.1.4 → 2.2.0-alpha2
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 +19 -0
- package/README.md +4 -0
- package/lib/posthog-core/src/eventemitter.d.ts +8 -8
- package/lib/posthog-core/src/eventemitter.js +1 -0
- package/lib/posthog-core/src/eventemitter.js.map +1 -0
- package/lib/posthog-core/src/index.d.ts +102 -102
- package/lib/posthog-core/src/index.js +1 -0
- package/lib/posthog-core/src/index.js.map +1 -0
- package/lib/posthog-core/src/lz-string.d.ts +8 -8
- package/lib/posthog-core/src/lz-string.js +1 -0
- package/lib/posthog-core/src/lz-string.js.map +1 -0
- package/lib/posthog-core/src/storage-memory.d.ts +6 -6
- package/lib/posthog-core/src/storage-memory.js +1 -0
- package/lib/posthog-core/src/storage-memory.js.map +1 -0
- package/lib/posthog-core/src/types.d.ts +77 -77
- package/lib/posthog-core/src/types.js +1 -0
- package/lib/posthog-core/src/types.js.map +1 -0
- package/lib/posthog-core/src/utils.d.ts +12 -12
- package/lib/posthog-core/src/utils.js +1 -0
- package/lib/posthog-core/src/utils.js.map +1 -0
- package/lib/posthog-react-native/index.d.ts +10 -10
- package/lib/posthog-react-native/index.js +1 -0
- package/lib/posthog-react-native/index.js.map +1 -0
- package/lib/posthog-react-native/src/PostHogProvider.d.ts +13 -13
- package/lib/posthog-react-native/src/PostHogProvider.js +1 -0
- package/lib/posthog-react-native/src/PostHogProvider.js.map +1 -0
- package/lib/posthog-react-native/src/PosthogContext.d.ts +5 -5
- package/lib/posthog-react-native/src/PosthogContext.js +1 -0
- package/lib/posthog-react-native/src/PosthogContext.js.map +1 -0
- package/lib/posthog-react-native/src/autocapture.d.ts +3 -3
- package/lib/posthog-react-native/src/autocapture.js +1 -0
- package/lib/posthog-react-native/src/autocapture.js.map +1 -0
- package/lib/posthog-react-native/src/hooks/useFeatureFlag.d.ts +1 -1
- package/lib/posthog-react-native/src/hooks/useFeatureFlag.js +1 -0
- package/lib/posthog-react-native/src/hooks/useFeatureFlag.js.map +1 -0
- package/lib/posthog-react-native/src/hooks/useFeatureFlags.d.ts +3 -3
- package/lib/posthog-react-native/src/hooks/useFeatureFlags.js +1 -0
- package/lib/posthog-react-native/src/hooks/useFeatureFlags.js.map +1 -0
- package/lib/posthog-react-native/src/hooks/useLifecycleTracker.d.ts +2 -2
- package/lib/posthog-react-native/src/hooks/useLifecycleTracker.js +1 -0
- package/lib/posthog-react-native/src/hooks/useLifecycleTracker.js.map +1 -0
- package/lib/posthog-react-native/src/hooks/useNavigationTracker.d.ts +5 -5
- package/lib/posthog-react-native/src/hooks/useNavigationTracker.js +1 -0
- package/lib/posthog-react-native/src/hooks/useNavigationTracker.js.map +1 -0
- package/lib/posthog-react-native/src/hooks/usePostHog.d.ts +2 -2
- package/lib/posthog-react-native/src/hooks/usePostHog.js +1 -0
- package/lib/posthog-react-native/src/hooks/usePostHog.js.map +1 -0
- package/lib/posthog-react-native/src/legacy.d.ts +4 -4
- package/lib/posthog-react-native/src/legacy.js +1 -0
- package/lib/posthog-react-native/src/legacy.js.map +1 -0
- package/lib/posthog-react-native/src/native-deps.d.ts +3 -0
- package/lib/posthog-react-native/src/native-deps.js +1 -0
- package/lib/posthog-react-native/src/native-deps.js.map +1 -0
- package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.d.ts +2 -0
- package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.js +1 -0
- package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.js.map +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoApplication.d.ts +2 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoApplication.js +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoApplication.js.map +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoDevice.d.ts +2 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoDevice.js +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoDevice.js.map +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.d.ts +2 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.js +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.js.map +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.d.ts +2 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.js +1 -0
- package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.js.map +1 -0
- package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.d.ts +2 -0
- package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.js +1 -0
- package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.js.map +1 -0
- package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.d.ts +2 -0
- package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.js +1 -0
- package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.js.map +1 -0
- package/lib/posthog-react-native/src/posthog-rn.d.ts +24 -18
- package/lib/posthog-react-native/src/posthog-rn.js +1 -0
- package/lib/posthog-react-native/src/posthog-rn.js.map +1 -0
- package/lib/posthog-react-native/src/storage.d.ts +14 -8
- package/lib/posthog-react-native/src/storage.js +1 -0
- package/lib/posthog-react-native/src/storage.js.map +1 -0
- package/lib/posthog-react-native/src/types.d.ts +41 -15
- package/lib/posthog-react-native/src/types.js +1 -0
- package/lib/posthog-react-native/src/types.js.map +1 -0
- package/lib/posthog-react-native/src/version.d.ts +1 -0
- package/lib/posthog-react-native/src/version.js +1 -0
- package/lib/posthog-react-native/src/version.js.map +1 -0
- package/lib/posthog-react-native/tsconfig.tsbuildinfo +1 -0
- package/package.json +31 -8
- package/lib/index.cjs.js +0 -1902
- package/lib/index.cjs.js.map +0 -1
- package/lib/index.d.ts +0 -245
- package/lib/index.esm.js +0 -1865
- package/lib/index.esm.js.map +0 -1
- package/lib/posthog-react-native/src/optional-imports.d.ts +0 -2
- package/lib/posthog-react-native/src/posthog.d.ts +0 -14
package/lib/index.esm.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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","../../posthog-core/src/storage-memory.ts","../src/legacy.ts","../src/storage.ts","../src/posthog-rn.ts","../src/PosthogContext.ts","../src/hooks/usePostHog.ts","../src/hooks/useLifecycleTracker.ts","../src/optional-imports.ts","../src/hooks/useNavigationTracker.ts","../src/hooks/useFeatureFlags.ts","../src/hooks/useFeatureFlag.ts","../src/autocapture.tsx","../src/PostHogProvider.tsx"],"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 }\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 AnonymousId = 'anonymous_id',\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 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 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 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 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 _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._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 }\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 = {\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 * 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=2`\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 this.setKnownFeatureFlags(res.featureFlags)\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 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 if (response === undefined) {\n // `/decide` returns nothing for flags which are 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 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): 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 return retriable(() => this.fetch(url, options), retryOptions || this._retryOptions)\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 { PostHogPersistedProperty } from './types'\n\nexport class PostHogMemoryStorage {\n private _memoryStorage: { [key: string]: any | undefined } = {}\n\n getProperty(key: PostHogPersistedProperty): any | undefined {\n return this._memoryStorage[key]\n }\n\n setProperty(key: PostHogPersistedProperty, value: any | null): void {\n this._memoryStorage[key] = value !== null ? value : undefined\n }\n}\n","import * as FileSystem from 'expo-file-system'\nimport * as ExpoApplication from 'expo-application'\nimport { Platform } from 'react-native'\n\nexport const getLegacyValues = async (): Promise<{ distinctId?: string; anonymousId?: string } | undefined> => {\n // NOTE: The old react-native lib stored data in files on the filesystem.\n // This function takes care of pulling the legacy IDs to ensure we are using them if already present\n if (Platform.OS === 'ios') {\n const posthogFileDirectory = `${FileSystem.documentDirectory}../Library/Application%20Support/${ExpoApplication.applicationId}/`\n const posthogDistinctIdFile = posthogFileDirectory + 'posthog.distinctId'\n const posthogAnonymousIdFile = posthogFileDirectory + 'posthog.anonymousId'\n\n const res = {\n distinctId: undefined,\n anonymousId: undefined,\n }\n\n try {\n res.distinctId = JSON.parse(await FileSystem.readAsStringAsync(posthogDistinctIdFile))['posthog.distinctId']\n } catch (e) {}\n\n try {\n res.anonymousId = JSON.parse(await FileSystem.readAsStringAsync(posthogAnonymousIdFile))['posthog.anonymousId']\n } catch (e) {}\n\n return res\n } else {\n // NOTE: Android is not supported here as the old SDK used a very Expo-unfriendly way of storing data\n }\n}\n","import * as FileSystem from 'expo-file-system'\n\nconst POSTHOG_STORAGE_KEY = '.posthog-rn.json'\nconst POSTHOG_STORAGE_VERSION = 'v1'\n\ntype PostHogStorageContents = { [key: string]: any }\n\nconst loadStorageAsync = async (): Promise<PostHogStorageContents> => {\n const uri = (FileSystem.documentDirectory || '') + POSTHOG_STORAGE_KEY\n // If we change POSTHOG_STORAGE_VERSION then we should migrate the persisted data here\n try {\n const stringContent = await FileSystem.readAsStringAsync(uri)\n return JSON.parse(stringContent).content\n } catch (e) {\n return {}\n }\n}\n\nconst persistStorageAsync = async (content: PostHogStorageContents): Promise<void> => {\n const uri = (FileSystem.documentDirectory || '') + POSTHOG_STORAGE_KEY\n const data = {\n version: POSTHOG_STORAGE_VERSION,\n content,\n }\n\n await FileSystem.writeAsStringAsync(uri, JSON.stringify(data)).catch((e) => {\n console.error('PostHog failed to persist data to storage', e)\n })\n}\n\n// NOTE: The core prefers a synchronous storage so we mimic this by pre-loading all keys\nconst _memoryCache: PostHogStorageContents = {}\nexport const SemiAsyncStorage = {\n getItem: function (key: string): any | null | undefined {\n return _memoryCache[key]\n },\n setItem: function (key: string, value: any): void {\n _memoryCache[key] = value\n void persistStorageAsync(_memoryCache)\n },\n removeItem: function (key: string): void {\n delete _memoryCache[key]\n void persistStorageAsync(_memoryCache)\n },\n clear: function (): void {\n for (const key in _memoryCache) {\n delete _memoryCache[key]\n }\n void persistStorageAsync(_memoryCache)\n },\n getAllKeys: function (): readonly string[] {\n return Object.keys(_memoryCache)\n },\n}\n\nlet _preloadSemiAsyncStoragePromise: Promise<void> | undefined\n\nexport const preloadSemiAsyncStorage = (): Promise<void> => {\n if (_preloadSemiAsyncStoragePromise) {\n return _preloadSemiAsyncStoragePromise\n }\n _preloadSemiAsyncStoragePromise = loadStorageAsync().then((res) => {\n for (const key in res) {\n _memoryCache[key] = _memoryCache[key] === undefined ? res[key] : _memoryCache[key]\n }\n })\n\n return _preloadSemiAsyncStoragePromise\n}\n","import { AppState, Dimensions, Platform } from 'react-native'\nimport * as ExpoApplication from 'expo-application'\nimport * as ExpoDevice from 'expo-device'\nimport * as ExpoLocalization from 'expo-localization'\n\nimport {\n PostHogCore,\n PosthogCoreOptions,\n PostHogFetchOptions,\n PostHogFetchResponse,\n PostHogPersistedProperty,\n} from '../../posthog-core/src'\nimport { PostHogMemoryStorage } from '../../posthog-core/src/storage-memory'\nimport { getLegacyValues } from './legacy'\nimport { SemiAsyncStorage, preloadSemiAsyncStorage } from './storage'\nimport { version } from '../package.json'\n\nexport type PostHogOptions = PosthogCoreOptions & {\n persistence?: 'memory' | 'file'\n}\n\nexport class PostHog extends PostHogCore {\n private _persistence: PostHogOptions['persistence']\n private _memoryStorage = new PostHogMemoryStorage()\n\n static initAsync(): Promise<void> {\n return preloadSemiAsyncStorage()\n }\n\n constructor(apiKey: string, options?: PostHogOptions) {\n super(apiKey, options)\n this._persistence = options?.persistence\n\n AppState.addEventListener('change', () => {\n this.flush()\n })\n\n // Ensure the async storage has been preloaded (this call is cached)\n\n // It is possible that the old library was used so we try to get the legacy distinctID\n void preloadSemiAsyncStorage().then(() => {\n this.setupBootstrap(options)\n\n if (!SemiAsyncStorage.getItem(PostHogPersistedProperty.AnonymousId)) {\n getLegacyValues().then((legacyValues) => {\n if (legacyValues?.distinctId) {\n SemiAsyncStorage.setItem(PostHogPersistedProperty.DistinctId, legacyValues.distinctId)\n SemiAsyncStorage.setItem(PostHogPersistedProperty.AnonymousId, legacyValues.anonymousId)\n }\n })\n }\n })\n }\n\n getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined {\n if (this._persistence === 'memory') {\n return this._memoryStorage.getProperty(key)\n }\n return SemiAsyncStorage.getItem(key) || undefined\n }\n setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void {\n if (this._persistence === 'memory') {\n return this._memoryStorage.setProperty(key, value)\n }\n return value !== null ? SemiAsyncStorage.setItem(key, value) : SemiAsyncStorage.removeItem(key)\n }\n\n fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse> {\n return fetch(url, options)\n }\n\n getLibraryId(): string {\n return 'posthog-react-native'\n }\n getLibraryVersion(): string {\n return version\n }\n getCustomUserAgent(): void {\n return\n }\n\n getCommonEventProperties(): any {\n return {\n ...super.getCommonEventProperties(),\n $app_build: '1',\n $app_name: ExpoApplication.applicationName,\n $app_namespace: ExpoApplication.applicationId,\n $app_version: ExpoApplication.nativeApplicationVersion,\n $device_manufacturer: ExpoDevice.manufacturer,\n $device_name: ExpoDevice.modelName,\n $device_type: Platform.OS,\n $locale: ExpoLocalization.locale,\n $os_name: ExpoDevice.osName,\n $os_version: ExpoDevice.osVersion,\n $screen_height: Dimensions.get('screen').height,\n $screen_width: Dimensions.get('screen').width,\n $timezone: ExpoLocalization.timezone,\n }\n }\n\n // Custom methods\n screen(name: string, properties?: any): this {\n return this.capture('$screen', {\n ...properties,\n $screen_name: name,\n })\n }\n}\n\n// NOTE: This ensures that we have the AsyncStorage loaded into memory hopefully before PostHog\n// is used\nvoid PostHog.initAsync()\n","import React from 'react'\nimport { PostHog } from './posthog-rn'\n\nexport const PostHogContext = React.createContext<{ client?: PostHog }>({ client: undefined })\n","import { PostHog } from '../posthog-rn'\nimport React from 'react'\nimport { PostHogContext } from '../PosthogContext'\n\nexport const usePostHog = (): PostHog | undefined => {\n const { client } = React.useContext(PostHogContext)\n return client\n}\n","import { useEffect, useRef } from 'react'\nimport { AppState } from 'react-native'\nimport type { PostHog } from '../posthog-rn'\nimport { usePostHog } from './usePostHog'\n\nexport function useLifecycleTracker(client?: PostHog): void {\n const openTrackedRef = useRef(false)\n const contextClient = usePostHog()\n const posthog = client || contextClient\n\n return useEffect(() => {\n if (!posthog) {\n return\n }\n\n if (!openTrackedRef.current) {\n openTrackedRef.current = true\n posthog.capture('Application Opened')\n }\n const subscription = AppState.addEventListener('change', (nextAppState) => {\n switch (nextAppState) {\n case 'active':\n return posthog.capture('Application Became Active')\n case 'background':\n return posthog.capture('Application Backgrounded')\n default:\n return\n }\n })\n\n return () => subscription.remove()\n }, [posthog])\n}\n","import type ReactNativeNavigation from '@react-navigation/native'\n\nlet _OptionalReactNativeNavigation: typeof ReactNativeNavigation | undefined = undefined\n\nconst warn = (name: string): void => {\n console.warn(`PostHog: Missing ${name} optional dependency. Some functions may not work as expected...`)\n}\n\ntry {\n _OptionalReactNativeNavigation = require('@react-navigation/native')\n} catch (e) {\n warn('@react-navigation/native')\n}\n\nexport const OptionalReactNativeNavigation = _OptionalReactNativeNavigation\n","import { useEffect } from 'react'\nimport { OptionalReactNativeNavigation } from '../optional-imports'\nimport type { PostHog } from '../posthog-rn'\nimport { PostHogAutocaptureNavigationTrackerOptions } from '../types'\nimport { usePostHog } from './usePostHog'\n\nfunction _useNavigationTrackerDisabled(): void {\n return\n}\n\nfunction _useNavigationTracker(options?: PostHogAutocaptureNavigationTrackerOptions, client?: PostHog): void {\n const contextClient = usePostHog()\n const posthog = client || contextClient\n\n if (!OptionalReactNativeNavigation) {\n // NOTE: This is taken care of by the export but we keep this here for TS\n return\n }\n\n const routes = OptionalReactNativeNavigation.useNavigationState((state) => state?.routes)\n const navigation = OptionalReactNativeNavigation.useNavigation()\n\n const trackRoute = (): void => {\n if (!posthog) {\n return\n }\n // NOTE: This method is not typed correctly but is available and takes care of parsing the router state correctly\n const currentRoute = (navigation as any).getCurrentRoute()\n if (!currentRoute) {\n return\n }\n\n const { state } = currentRoute\n let { name, params } = currentRoute\n\n if (state?.routes?.length) {\n const route = state.routes[state.routes.length - 1]\n name = route.name\n params = route.params\n }\n\n const currentRouteName = options?.routeToName?.(name, params) || name || 'Unknown'\n\n if (currentRouteName) {\n const properties = options?.routeToProperties?.(currentRouteName, params)\n posthog.screen(currentRouteName, properties)\n }\n }\n\n useEffect(() => {\n // NOTE: The navigation stacks may not be fully rendered initially. This means the first route can be missed (it doesn't update useNavigationState)\n // If missing we simply wait a tick and call it again.\n if (!routes) {\n setTimeout(trackRoute, 1)\n return\n }\n trackRoute()\n }, [routes])\n}\n\nexport const useNavigationTracker = OptionalReactNativeNavigation\n ? _useNavigationTracker\n : _useNavigationTrackerDisabled\n","import { useEffect, useState } from 'react'\nimport type { PostHog } from '../posthog-rn'\nimport { PostHogDecideResponse } from 'posthog-core'\nimport { usePostHog } from './usePostHog'\n\nexport function useFeatureFlags(client?: PostHog): PostHogDecideResponse['featureFlags'] | undefined {\n const contextClient = usePostHog()\n const posthog = client || contextClient\n\n const [featureFlags, setFeatureFlags] = useState<PostHogDecideResponse['featureFlags'] | undefined>(\n posthog?.getFeatureFlags()\n )\n\n if (!posthog) {\n return featureFlags\n }\n\n useEffect(() => {\n setFeatureFlags(posthog.getFeatureFlags())\n return posthog.onFeatureFlags((flags) => {\n setFeatureFlags(flags)\n })\n }, [posthog])\n\n return featureFlags\n}\n","import { useEffect, useState } from 'react'\nimport { usePostHog } from './usePostHog'\n\nexport function useFeatureFlag(flag: string): string | boolean | undefined {\n const posthog = usePostHog()\n\n const [featureFlag, setFeatureFlag] = useState<boolean | string | undefined>(posthog?.getFeatureFlag(flag))\n\n if (!posthog) {\n return featureFlag\n }\n\n useEffect(() => {\n setFeatureFlag(posthog.getFeatureFlag(flag))\n return posthog.onFeatureFlags(() => {\n setFeatureFlag(posthog.getFeatureFlag(flag))\n })\n }, [posthog, flag])\n\n return featureFlag\n}\n","import { PostHog } from './posthog-rn'\nimport { PostHogAutocaptureElement } from 'posthog-core'\nimport { PostHogAutocaptureOptions } from './types'\n\ninterface Element {\n elementType?: {\n displayName?: string\n name?: string\n }\n memoizedProps?: Record<string, unknown>\n return?: Element\n}\n\nconst flattenStyles = (styles: any): any => {\n const flattened: any = {}\n\n if (Array.isArray(styles)) {\n for (const style of styles) {\n Object.assign(flattened, flattenStyles(style))\n }\n } else {\n Object.assign(flattened, styles)\n }\n\n return flattened\n}\n\nconst stringifyStyle = (styles: any): string => {\n const flattened = flattenStyles(styles)\n\n const str = Object.keys(flattened)\n .map((x) => `${x}:${flattened[x]}`)\n .join(';')\n\n return str\n}\n\nconst sanitiseLabel = (label: string): string => {\n return label.replace(/[^a-z0-9]+/gi, '-')\n}\n\nexport const autocaptureFromTouchEvent = (e: any, posthog: PostHog, options: PostHogAutocaptureOptions = {}): void => {\n const {\n noCaptureProp = 'ph-no-capture',\n customLabelProp = 'ph-label',\n maxElementsCaptured = 20,\n ignoreLabels = [],\n propsToCapture = ['style', 'testID', 'accessibilityLabel', 'ph-label'],\n } = options\n\n if (!e._targetInst) {\n return\n }\n const elements: PostHogAutocaptureElement[] = []\n\n let currentInst: Element | undefined = e._targetInst\n\n while (\n currentInst &&\n // maxComponentTreeSize will always be defined as we have a defaultProps. But ts needs a check so this is here.\n elements.length < maxElementsCaptured\n ) {\n const el: PostHogAutocaptureElement = {\n tag_name: '',\n }\n\n const props = currentInst.memoizedProps\n\n if (props?.[noCaptureProp]) {\n // Immediately ignore events if a no capture is in the chain\n return\n }\n\n if (props) {\n // Capture only props we have said to capture. By default this is only \"safe\" props\n Object.keys(props).forEach((key) => {\n if (!propsToCapture.includes(key)) {\n return\n }\n const value = props[key]\n if (key === 'style') {\n el.attr__style = stringifyStyle(value)\n } else if (['string', 'number', 'boolean'].includes(typeof value)) {\n if (key === 'children') {\n el.$el_text = typeof value === 'string' ? value : JSON.stringify(value)\n } else {\n el[`attr__${key}`] = value\n }\n }\n })\n }\n\n // Try and find a sensible label\n const label =\n typeof props?.[customLabelProp] !== 'undefined'\n ? `${props[customLabelProp]}`\n : currentInst.elementType?.displayName || currentInst.elementType?.name\n\n if (label && !ignoreLabels.includes(label)) {\n el.tag_name = sanitiseLabel(label)\n elements.push(el)\n }\n\n currentInst = currentInst.return\n }\n\n if (elements.length) {\n posthog.autocapture('touch', elements, {\n $touch_x: e.nativeEvent.pageX,\n $touch_y: e.nativeEvent.pageY,\n })\n }\n}\n","import React, { useCallback, useRef } from 'react'\nimport { GestureResponderEvent, StyleProp, View, ViewStyle } from 'react-native'\nimport { PostHog, PostHogOptions } from './posthog-rn'\nimport { autocaptureFromTouchEvent } from './autocapture'\nimport { useNavigationTracker } from './hooks/useNavigationTracker'\nimport { useLifecycleTracker } from './hooks/useLifecycleTracker'\nimport { PostHogContext } from './PosthogContext'\nimport { PostHogAutocaptureOptions } from './types'\n\nexport interface PostHogProviderProps {\n children: React.ReactNode\n options?: PostHogOptions\n apiKey?: string\n client?: PostHog\n autocapture?: boolean | PostHogAutocaptureOptions\n style?: StyleProp<ViewStyle>\n}\n\nfunction PostHogNavigationHook({ options }: { options?: PostHogAutocaptureOptions }): JSX.Element | null {\n useNavigationTracker(options?.navigation)\n return null\n}\n\nfunction PostHogLifecycleHook(): JSX.Element | null {\n useLifecycleTracker()\n return null\n}\n\nexport const PostHogProvider = ({\n children,\n client,\n options,\n apiKey,\n autocapture,\n style,\n}: PostHogProviderProps): JSX.Element => {\n const posthogRef = useRef<PostHog>()\n\n if (!posthogRef.current) {\n posthogRef.current = client ? client : apiKey ? new PostHog(apiKey, options) : undefined\n }\n\n const autocaptureOptions = autocapture && typeof autocapture !== 'boolean' ? autocapture : {}\n\n const posthog = posthogRef.current\n const captureTouches = posthog && (autocapture === true || autocaptureOptions?.captureTouches)\n const captureScreens = posthog && (autocapture === true || (autocaptureOptions?.captureScreens ?? true)) // Default to true if not set\n const captureLifecycle = posthog && (autocapture === true || (autocaptureOptions?.captureLifecycleEvents ?? true)) // Default to true if not set\n\n const onTouch = useCallback(\n (type: 'start' | 'move' | 'end', e: GestureResponderEvent) => {\n // TODO: Improve this to ensure we only capture presses and not just ends of a drag for example\n if (!captureTouches) {\n return\n }\n\n if (type === 'end') {\n autocaptureFromTouchEvent(e, posthog, autocaptureOptions)\n }\n },\n [posthog, autocapture]\n )\n\n return (\n <View\n ph-label=\"PostHogProvider\"\n style={style || { flex: 1 }}\n onTouchEndCapture={captureTouches ? (e) => onTouch('end', e) : undefined}\n >\n <PostHogContext.Provider value={{ client: posthogRef.current }}>\n <>\n {captureScreens ? <PostHogNavigationHook options={autocaptureOptions} /> : null}\n {captureLifecycle ? <PostHogLifecycleHook /> : null}\n </>\n {children}\n </PostHogContext.Provider>\n </View>\n )\n}\n"],"names":["getLegacyValues","__awaiter","Platform","OS","posthogFileDirectory","concat","FileSystem","documentDirectory","ExpoApplication","applicationId","posthogDistinctIdFile","posthogAnonymousIdFile","res","distinctId","undefined","anonymousId","_a","_c","_b","JSON","parse","readAsStringAsync","apply","_g","sent","_d","_f","_e","POSTHOG_STORAGE_KEY","POSTHOG_STORAGE_VERSION","loadStorageAsync","uri","stringContent","content","persistStorageAsync","data","version","writeAsStringAsync","stringify","catch","e","console","error","_memoryCache","SemiAsyncStorage","getItem","key","setItem","value","removeItem","clear","getAllKeys","Object","keys","_preloadSemiAsyncStoragePromise","preloadSemiAsyncStorage","then","PostHog","_super","__extends","apiKey","options","_this","call","_memoryStorage","PostHogMemoryStorage","_persistence","persistence","AppState","addEventListener","flush","setupBootstrap","PostHogPersistedProperty","AnonymousId","legacyValues","DistinctId","initAsync","prototype","getPersistedProperty","getProperty","setPersistedProperty","setProperty","fetch","url","getLibraryId","getLibraryVersion","getCustomUserAgent","getCommonEventProperties","__assign","$app_build","$app_name","applicationName","$app_namespace","$app_version","nativeApplicationVersion","$device_manufacturer","ExpoDevice","manufacturer","$device_name","modelName","$device_type","$locale","ExpoLocalization","locale","$os_name","osName","$os_version","osVersion","$screen_height","Dimensions","get","height","$screen_width","width","$timezone","timezone","screen","name","properties","capture","$screen_name","PostHogCore","PostHogContext","React","createContext","client","usePostHog","useContext","useLifecycleTracker","openTrackedRef","useRef","contextClient","posthog","useEffect","current","subscription","nextAppState","remove","_OptionalReactNativeNavigation","warn","require","OptionalReactNativeNavigation","_useNavigationTrackerDisabled","_useNavigationTracker","routes","useNavigationState","state","navigation","useNavigation","trackRoute","currentRoute","getCurrentRoute","params","length","route","currentRouteName","routeToName","routeToProperties","setTimeout","useNavigationTracker","useFeatureFlags","useState","getFeatureFlags","featureFlags","setFeatureFlags","onFeatureFlags","flags","useFeatureFlag","flag","getFeatureFlag","featureFlag","setFeatureFlag","flattenStyles","styles","flattened","Array","isArray","styles_1","_i","style","assign","stringifyStyle","str","map","x","join","sanitiseLabel","label","replace","autocaptureFromTouchEvent","noCaptureProp","customLabelProp","maxElementsCaptured","ignoreLabels","propsToCapture","_targetInst","elements","currentInst","el","tag_name","props","memoizedProps","forEach","includes","attr__style","$el_text","elementType","displayName","push","return","autocapture","$touch_x","nativeEvent","pageX","$touch_y","pageY","PostHogNavigationHook","PostHogLifecycleHook","PostHogProvider","children","posthogRef","autocaptureOptions","captureTouches","captureScreens","captureLifecycle","captureLifecycleEvents","onTouch","useCallback","type","flex"],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { PostHogCore, PosthogCoreOptions, PostHogFetchOptions, PostHogFetchResponse, PostHogPersistedProperty } from 'posthog-core';
|
|
2
|
-
export interface PostHogReactNativeOptions extends PosthogCoreOptions {
|
|
3
|
-
}
|
|
4
|
-
export declare class PostHogReactNative extends PostHogCore {
|
|
5
|
-
constructor(apiKey: string, options?: PostHogReactNativeOptions);
|
|
6
|
-
getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined;
|
|
7
|
-
setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void;
|
|
8
|
-
fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>;
|
|
9
|
-
getLibraryId(): string;
|
|
10
|
-
getLibraryVersion(): string;
|
|
11
|
-
getCustomUserAgent(): void;
|
|
12
|
-
getCommonEventProperties(): any;
|
|
13
|
-
screen(name: string, properties?: any): void;
|
|
14
|
-
}
|