posthog-react-native 2.2.0-alpha1 → 2.2.0-alpha3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +138 -0
  2. package/lib/posthog-core/src/eventemitter.d.ts +8 -8
  3. package/lib/posthog-core/src/eventemitter.js +1 -0
  4. package/lib/posthog-core/src/eventemitter.js.map +1 -0
  5. package/lib/posthog-core/src/index.d.ts +102 -102
  6. package/lib/posthog-core/src/index.js +1 -0
  7. package/lib/posthog-core/src/index.js.map +1 -0
  8. package/lib/posthog-core/src/lz-string.d.ts +8 -8
  9. package/lib/posthog-core/src/lz-string.js +1 -0
  10. package/lib/posthog-core/src/lz-string.js.map +1 -0
  11. package/lib/posthog-core/src/storage-memory.d.ts +6 -6
  12. package/lib/posthog-core/src/storage-memory.js +1 -0
  13. package/lib/posthog-core/src/storage-memory.js.map +1 -0
  14. package/lib/posthog-core/src/types.d.ts +77 -77
  15. package/lib/posthog-core/src/types.js +1 -0
  16. package/lib/posthog-core/src/types.js.map +1 -0
  17. package/lib/posthog-core/src/utils.d.ts +12 -12
  18. package/lib/posthog-core/src/utils.js +1 -0
  19. package/lib/posthog-core/src/utils.js.map +1 -0
  20. package/lib/posthog-react-native/index.d.ts +10 -10
  21. package/lib/posthog-react-native/index.js +1 -0
  22. package/lib/posthog-react-native/index.js.map +1 -0
  23. package/lib/posthog-react-native/src/PostHogProvider.d.ts +13 -13
  24. package/lib/posthog-react-native/src/PostHogProvider.js +1 -0
  25. package/lib/posthog-react-native/src/PostHogProvider.js.map +1 -0
  26. package/lib/posthog-react-native/src/PosthogContext.d.ts +5 -5
  27. package/lib/posthog-react-native/src/PosthogContext.js +1 -0
  28. package/lib/posthog-react-native/src/PosthogContext.js.map +1 -0
  29. package/lib/posthog-react-native/src/autocapture.d.ts +3 -3
  30. package/lib/posthog-react-native/src/autocapture.js +1 -0
  31. package/lib/posthog-react-native/src/autocapture.js.map +1 -0
  32. package/lib/posthog-react-native/src/hooks/useFeatureFlag.d.ts +1 -1
  33. package/lib/posthog-react-native/src/hooks/useFeatureFlag.js +1 -0
  34. package/lib/posthog-react-native/src/hooks/useFeatureFlag.js.map +1 -0
  35. package/lib/posthog-react-native/src/hooks/useFeatureFlags.d.ts +3 -3
  36. package/lib/posthog-react-native/src/hooks/useFeatureFlags.js +1 -0
  37. package/lib/posthog-react-native/src/hooks/useFeatureFlags.js.map +1 -0
  38. package/lib/posthog-react-native/src/hooks/useLifecycleTracker.d.ts +2 -2
  39. package/lib/posthog-react-native/src/hooks/useLifecycleTracker.js +1 -0
  40. package/lib/posthog-react-native/src/hooks/useLifecycleTracker.js.map +1 -0
  41. package/lib/posthog-react-native/src/hooks/useNavigationTracker.d.ts +5 -5
  42. package/lib/posthog-react-native/src/hooks/useNavigationTracker.js +1 -0
  43. package/lib/posthog-react-native/src/hooks/useNavigationTracker.js.map +1 -0
  44. package/lib/posthog-react-native/src/hooks/usePostHog.d.ts +2 -2
  45. package/lib/posthog-react-native/src/hooks/usePostHog.js +1 -0
  46. package/lib/posthog-react-native/src/hooks/usePostHog.js.map +1 -0
  47. package/lib/posthog-react-native/src/legacy.d.ts +4 -4
  48. package/lib/posthog-react-native/src/legacy.js +1 -0
  49. package/lib/posthog-react-native/src/legacy.js.map +1 -0
  50. package/lib/posthog-react-native/src/native-deps.d.ts +3 -3
  51. package/lib/posthog-react-native/src/native-deps.js +1 -0
  52. package/lib/posthog-react-native/src/native-deps.js.map +1 -0
  53. package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.d.ts +2 -1
  54. package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.js +1 -0
  55. package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.js.map +1 -0
  56. package/lib/posthog-react-native/src/optional/OptionalExpoApplication.d.ts +2 -2
  57. package/lib/posthog-react-native/src/optional/OptionalExpoApplication.js +1 -0
  58. package/lib/posthog-react-native/src/optional/OptionalExpoApplication.js.map +1 -0
  59. package/lib/posthog-react-native/src/optional/OptionalExpoDevice.d.ts +2 -2
  60. package/lib/posthog-react-native/src/optional/OptionalExpoDevice.js +1 -0
  61. package/lib/posthog-react-native/src/optional/OptionalExpoDevice.js.map +1 -0
  62. package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.d.ts +2 -2
  63. package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.js +1 -0
  64. package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.js.map +1 -0
  65. package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.d.ts +2 -2
  66. package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.js +1 -0
  67. package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.js.map +1 -0
  68. package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.d.ts +2 -1
  69. package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.js +1 -0
  70. package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.js.map +1 -0
  71. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.d.ts +2 -2
  72. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.js +1 -0
  73. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.js.map +1 -0
  74. package/lib/posthog-react-native/src/posthog-rn.d.ts +25 -24
  75. package/lib/posthog-react-native/src/posthog-rn.js +1 -0
  76. package/lib/posthog-react-native/src/posthog-rn.js.map +1 -0
  77. package/lib/posthog-react-native/src/storage.d.ts +15 -14
  78. package/lib/posthog-react-native/src/storage.js +1 -0
  79. package/lib/posthog-react-native/src/storage.js.map +1 -0
  80. package/lib/posthog-react-native/src/types.d.ts +41 -41
  81. package/lib/posthog-react-native/src/types.js +1 -0
  82. package/lib/posthog-react-native/src/types.js.map +1 -0
  83. package/lib/posthog-react-native/src/version.d.ts +1 -0
  84. package/lib/posthog-react-native/src/version.js +1 -0
  85. package/lib/posthog-react-native/src/version.js.map +1 -0
  86. package/lib/posthog-react-native/tsconfig.tsbuildinfo +1 -0
  87. package/package.json +7 -5
  88. package/lib/index.cjs.js +0 -2012
  89. package/lib/index.cjs.js.map +0 -1
  90. package/lib/index.d.ts +0 -276
  91. package/lib/index.esm.js +0 -1997
  92. package/lib/index.esm.js.map +0 -1
  93. package/lib/node_modules/tslib/tslib.es6.d.ts +0 -35
  94. package/lib/posthog-react-native/src/optional/warning.d.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.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/optional/OptionalExpoApplication.ts","../src/optional/OptionalExpoFileSystem.ts","../src/legacy.ts","../src/storage.ts","../src/optional/warning.ts","../src/optional/OptionalAsyncStorage.ts","../src/optional/OptionalExpoDevice.ts","../src/optional/OptionalExpoLocalization.ts","../src/optional/OptionalReactNativeDeviceInfo.ts","../src/native-deps.tsx","../src/posthog-rn.ts","../src/PosthogContext.ts","../src/hooks/usePostHog.ts","../src/hooks/useLifecycleTracker.ts","../src/optional/OptionalReactNativeNavigation.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 type ExpoApplication from 'expo-application'\n\nlet _OptionalExpoApplication: typeof ExpoApplication | undefined = undefined\n\ntry {\n _OptionalExpoApplication = require('expo-application')\n} catch (e) {}\n\nexport const OptionalExpoApplication = _OptionalExpoApplication\n","import type ExpoFileSystem from 'expo-file-system'\n\nlet _OptionalExpoFileSystem: typeof ExpoFileSystem | undefined = undefined\n\ntry {\n _OptionalExpoFileSystem = require('expo-file-system')\n} catch (e) {}\n\nexport const OptionalExpoFileSystem = _OptionalExpoFileSystem\n","import { Platform } from 'react-native'\nimport { OptionalExpoApplication } from './optional/OptionalExpoApplication'\nimport { OptionalExpoFileSystem } from './optional/OptionalExpoFileSystem'\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\n if (!OptionalExpoFileSystem || !OptionalExpoApplication) {\n return\n }\n\n if (Platform.OS === 'ios') {\n const posthogFileDirectory = `${OptionalExpoFileSystem.documentDirectory}../Library/Application%20Support/${OptionalExpoApplication.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 OptionalExpoFileSystem.readAsStringAsync(posthogDistinctIdFile))[\n 'posthog.distinctId'\n ]\n } catch (e) {}\n\n try {\n res.anonymousId = JSON.parse(await OptionalExpoFileSystem.readAsStringAsync(posthogAnonymousIdFile))[\n 'posthog.anonymousId'\n ]\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 { PostHogCustomAsyncStorage } from './types'\n\nconst POSTHOG_STORAGE_KEY = '.posthog-rn.json'\nconst POSTHOG_STORAGE_VERSION = 'v1'\n\ntype PostHogStorageContents = { [key: string]: any }\n\n// NOTE: The core prefers a synchronous storage so we mimic this by pre-loading all keys\nexport class SemiAsyncStorage {\n private _memoryCache: PostHogStorageContents = {}\n private _preloadSemiAsyncStoragePromise: Promise<void> | undefined\n private _asyncStorage: PostHogCustomAsyncStorage\n\n constructor(asyncStorage: PostHogCustomAsyncStorage) {\n this._asyncStorage = asyncStorage\n }\n\n preloadAsync(): Promise<void> {\n if (this._preloadSemiAsyncStoragePromise) {\n return this._preloadSemiAsyncStoragePromise\n }\n this._preloadSemiAsyncStoragePromise = this._asyncStorage.getItem(POSTHOG_STORAGE_KEY).then((res) => {\n try {\n const data = res ? JSON.parse(res).content : {}\n\n for (const key in data) {\n this._memoryCache[key] = this._memoryCache[key] === undefined ? data[key] : this._memoryCache[key]\n }\n } catch (e) {\n console.warn(\n \"PostHog failed to load persisted data from storage. This is likely because the storage format is. We'll reset the storage.\",\n e\n )\n }\n })\n\n return this._preloadSemiAsyncStoragePromise\n }\n\n persist(): void {\n const payload = {\n version: POSTHOG_STORAGE_VERSION,\n content: this._memoryCache,\n }\n\n void this._asyncStorage.setItem(POSTHOG_STORAGE_KEY, JSON.stringify(payload))\n }\n\n getItem(key: string): any | null | undefined {\n return this._memoryCache[key]\n }\n setItem(key: string, value: any): void {\n this._memoryCache[key] = value\n this.persist()\n }\n removeItem(key: string): void {\n delete this._memoryCache[key]\n this.persist()\n }\n clear(): void {\n for (const key in this._memoryCache) {\n delete this._memoryCache[key]\n }\n this.persist()\n }\n getAllKeys(): readonly string[] {\n return Object.keys(this._memoryCache)\n }\n}\n","export const warn = (name: string): void => {\n console.warn(`PostHog: Missing ${name} optional dependency. Some functions may not work as expected...`)\n}\n","import type AsyncStorage from '@react-native-async-storage/async-storage'\nimport { warn } from './warning'\n\nlet _OptionalAsyncStorage: typeof AsyncStorage | undefined = undefined\n\ntry {\n _OptionalAsyncStorage = require('@react-native-async-storage/async-storage').default\n} catch (e) {\n warn('@react-native-async-storage/async-storage')\n}\n\nexport const OptionalAsyncStorage = _OptionalAsyncStorage\n","import type ExpoDevice from 'expo-device'\n\nlet _OptionalExpoDevice: typeof ExpoDevice | undefined = undefined\n\ntry {\n _OptionalExpoDevice = require('expo-device')\n} catch (e) {}\n\nexport const OptionalExpoDevice = _OptionalExpoDevice\n","import type ExpoLocalization from 'expo-localization'\n\nlet _OptionalExpoLocalization: typeof ExpoLocalization | undefined = undefined\n\ntry {\n _OptionalExpoLocalization = require('expo-localization')\n} catch (e) {}\n\nexport const OptionalExpoLocalization = _OptionalExpoLocalization\n","import type ReactNativeDeviceInfo from 'react-native-device-info'\nimport { warn } from './warning'\n\nlet _OptionalReactNativeDeviceInfo: typeof ReactNativeDeviceInfo | undefined = undefined\n\ntry {\n _OptionalReactNativeDeviceInfo = require('react-native-device-info')\n} catch (e) {\n warn('react-native-device-info')\n}\n\nexport const OptionalReactNativeDeviceInfo = _OptionalReactNativeDeviceInfo\n","import { OptionalAsyncStorage } from './optional/OptionalAsyncStorage'\nimport { OptionalExpoApplication } from './optional/OptionalExpoApplication'\nimport { OptionalExpoDevice } from './optional/OptionalExpoDevice'\nimport { OptionalExpoFileSystem } from './optional/OptionalExpoFileSystem'\nimport { OptionalExpoLocalization } from './optional/OptionalExpoLocalization'\nimport { OptionalReactNativeDeviceInfo } from './optional/OptionalReactNativeDeviceInfo'\nimport { PostHogCustomAppProperties, PostHogCustomAsyncStorage } from './types'\n\nexport const getAppProperties = (): PostHogCustomAppProperties => {\n const properties: PostHogCustomAppProperties = {}\n\n if (OptionalExpoApplication) {\n properties.$app_build = OptionalExpoApplication.nativeBuildVersion\n properties.$app_name = OptionalExpoApplication.applicationName\n properties.$app_namespace = OptionalExpoApplication.applicationId\n properties.$app_version = OptionalExpoApplication.nativeApplicationVersion\n }\n\n if (OptionalExpoDevice) {\n properties.$device_manufacturer = OptionalExpoDevice.manufacturer\n properties.$device_name = OptionalExpoDevice.modelName\n properties.$os_name = OptionalExpoDevice.osName\n properties.$os_version = OptionalExpoDevice.osVersion\n }\n\n if (OptionalExpoLocalization) {\n properties.$locale = OptionalExpoLocalization.locale\n properties.$timezone = OptionalExpoLocalization.timezone\n }\n\n if (OptionalReactNativeDeviceInfo) {\n properties.$app_build = OptionalReactNativeDeviceInfo.getBuildIdSync()\n properties.$app_name = OptionalReactNativeDeviceInfo.getApplicationName()\n properties.$app_namespace = OptionalReactNativeDeviceInfo.getBundleId()\n properties.$app_version = OptionalReactNativeDeviceInfo.getVersion()\n properties.$device_manufacturer = OptionalReactNativeDeviceInfo.getManufacturerSync()\n properties.$device_name = OptionalReactNativeDeviceInfo.getDeviceNameSync()\n properties.$os_name = OptionalReactNativeDeviceInfo.getSystemName()\n properties.$os_version = OptionalReactNativeDeviceInfo.getSystemVersion()\n }\n\n return properties\n}\n\nexport const buildOptimisiticAsyncStorage = (): PostHogCustomAsyncStorage => {\n if (OptionalExpoFileSystem) {\n const filesystem = OptionalExpoFileSystem\n return {\n async getItem(key: string) {\n const uri = (filesystem.documentDirectory || '') + key\n try {\n const stringContent = await filesystem.readAsStringAsync(uri)\n return stringContent\n } catch (e) {\n return null\n }\n },\n\n async setItem(key: string, value: string) {\n const uri = (filesystem.documentDirectory || '') + key\n await filesystem.writeAsStringAsync(uri, value)\n },\n }\n }\n\n if (OptionalAsyncStorage) {\n return OptionalAsyncStorage\n }\n\n console.log(OptionalAsyncStorage)\n\n throw new Error(\n 'PostHog: No storage available. Please install expo-filesystem or react-native-async-storage OR implement a custom storage provider.'\n )\n}\n","import { AppState, Dimensions, Platform } from 'react-native'\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 } from './storage'\nimport { version } from '../package.json'\nimport { buildOptimisiticAsyncStorage, getAppProperties } from './native-deps'\nimport { PostHogCustomAppProperties, PostHogCustomAsyncStorage } from './types'\n\nexport type PostHogOptions = PosthogCoreOptions & {\n persistence?: 'memory' | 'file'\n customAppProperties?: PostHogCustomAppProperties\n customAsyncStorage?: PostHogCustomAsyncStorage\n}\n\nexport class PostHog extends PostHogCore {\n private _persistence: PostHogOptions['persistence']\n private _memoryStorage = new PostHogMemoryStorage()\n private _semiAsyncStorage: SemiAsyncStorage\n private _appProperties: PostHogCustomAppProperties = {}\n\n constructor(apiKey: string, options?: PostHogOptions) {\n super(apiKey, options)\n this._persistence = options?.persistence\n\n this._appProperties = options?.customAppProperties || getAppProperties()\n this._semiAsyncStorage = new SemiAsyncStorage(options?.customAsyncStorage || buildOptimisiticAsyncStorage())\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 this._semiAsyncStorage.preloadAsync().then(() => {\n this.setupBootstrap(options)\n\n if (!this._semiAsyncStorage.getItem(PostHogPersistedProperty.AnonymousId)) {\n getLegacyValues().then((legacyValues) => {\n if (legacyValues?.distinctId) {\n this._semiAsyncStorage.setItem(PostHogPersistedProperty.DistinctId, legacyValues.distinctId)\n this._semiAsyncStorage.setItem(PostHogPersistedProperty.AnonymousId, legacyValues.anonymousId)\n }\n })\n }\n })\n }\n\n /** Await this method to ensure that all state has been loaded from the async provider */\n async initAsync(): Promise<void> {\n await this._semiAsyncStorage\n }\n\n getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined {\n if (this._persistence === 'memory') {\n return this._memoryStorage.getProperty(key)\n }\n return this._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 ? this._semiAsyncStorage.setItem(key, value) : this._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 ...this._appProperties,\n $device_type: Platform.OS,\n $screen_height: Dimensions.get('screen').height,\n $screen_width: Dimensions.get('screen').width,\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","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'\nimport { warn } from './warning'\n\nlet _OptionalReactNativeNavigation: typeof ReactNativeNavigation | undefined = undefined\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/OptionalReactNativeNavigation'\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":["_OptionalExpoApplication","undefined","require","e","OptionalExpoApplication","_OptionalExpoFileSystem","OptionalExpoFileSystem","getLegacyValues","__awaiter","Platform","OS","posthogFileDirectory","concat","documentDirectory","applicationId","posthogDistinctIdFile","posthogAnonymousIdFile","res","distinctId","anonymousId","_a","_c","_b","JSON","parse","readAsStringAsync","apply","_g","sent","_d","_f","_e","POSTHOG_STORAGE_KEY","POSTHOG_STORAGE_VERSION","SemiAsyncStorage","asyncStorage","_memoryCache","_asyncStorage","prototype","preloadAsync","_this","_preloadSemiAsyncStoragePromise","getItem","then","data","content","key","console","warn","persist","payload","version","setItem","stringify","value","removeItem","clear","getAllKeys","Object","keys","name","_OptionalAsyncStorage","default","OptionalAsyncStorage","_OptionalExpoDevice","OptionalExpoDevice","_OptionalExpoLocalization","OptionalExpoLocalization","_OptionalReactNativeDeviceInfo","OptionalReactNativeDeviceInfo","getAppProperties","properties","$app_build","nativeBuildVersion","$app_name","applicationName","$app_namespace","$app_version","nativeApplicationVersion","$device_manufacturer","manufacturer","$device_name","modelName","$os_name","osName","$os_version","osVersion","$locale","locale","$timezone","timezone","getBuildIdSync","getApplicationName","getBundleId","getVersion","getManufacturerSync","getDeviceNameSync","getSystemName","getSystemVersion","buildOptimisiticAsyncStorage","filesystem_1","uri","stringContent","writeAsStringAsync","log","Error","PostHog","_super","__extends","apiKey","options","call","_memoryStorage","PostHogMemoryStorage","_appProperties","_persistence","persistence","customAppProperties","_semiAsyncStorage","customAsyncStorage","AppState","addEventListener","flush","setupBootstrap","PostHogPersistedProperty","AnonymousId","legacyValues","DistinctId","initAsync","getPersistedProperty","getProperty","setPersistedProperty","setProperty","fetch","url","getLibraryId","getLibraryVersion","getCustomUserAgent","getCommonEventProperties","__assign","$device_type","$screen_height","Dimensions","get","height","$screen_width","width","screen","capture","$screen_name","PostHogCore","PostHogContext","React","createContext","client","usePostHog","useContext","useLifecycleTracker","openTrackedRef","useRef","contextClient","posthog","useEffect","current","subscription","nextAppState","remove","_OptionalReactNativeNavigation","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","View","flex"],"mappings":"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"}