posthog-react-native 3.12.0 → 3.13.0
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/lib/posthog-core/src/featureFlagUtils.d.ts +34 -0
- package/lib/posthog-core/src/featureFlagUtils.js +1 -0
- package/lib/posthog-core/src/featureFlagUtils.js.map +1 -0
- package/lib/posthog-core/src/index.d.ts +18 -7
- package/lib/posthog-core/src/index.js +1 -1
- package/lib/posthog-core/src/index.js.map +1 -1
- package/lib/posthog-core/src/types.d.ts +74 -5
- package/lib/posthog-core/src/types.js +1 -1
- package/lib/posthog-core/src/types.js.map +1 -1
- package/lib/posthog-core/src/utils.js +1 -1
- package/lib/posthog-core/src/utils.js.map +1 -1
- package/lib/posthog-react-native/src/hooks/useFeatureFlag.d.ts +3 -3
- package/lib/posthog-react-native/src/surveys/components/SurveyModal.js +1 -1
- package/lib/posthog-react-native/src/surveys/components/SurveyModal.js.map +1 -1
- package/lib/posthog-react-native/src/surveys/getActiveMatchingSurveys.d.ts +2 -1
- package/lib/posthog-react-native/src/surveys/getActiveMatchingSurveys.js.map +1 -1
- package/lib/posthog-react-native/src/version.d.ts +1 -1
- package/lib/posthog-react-native/src/version.js +1 -1
- package/lib/posthog-react-native/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { FeatureFlagDetail, FeatureFlagValue, PostHogDecideResponse, PostHogV3DecideResponse, PostHogV4DecideResponse, PartialWithRequired, PostHogFeatureFlagsResponse } from './types';
|
|
2
|
+
export declare const normalizeDecideResponse: (decideResponse: PartialWithRequired<PostHogV4DecideResponse, 'flags'> | PartialWithRequired<PostHogV3DecideResponse, 'featureFlags' | 'featureFlagPayloads'>) => PostHogFeatureFlagsResponse;
|
|
3
|
+
/**
|
|
4
|
+
* Get the flag values from the flags v4 response.
|
|
5
|
+
* @param flags - The flags
|
|
6
|
+
* @returns The flag values
|
|
7
|
+
*/
|
|
8
|
+
export declare const getFlagValuesFromFlags: (flags: PostHogDecideResponse['flags']) => PostHogDecideResponse['featureFlags'];
|
|
9
|
+
/**
|
|
10
|
+
* Get the payloads from the flags v4 response.
|
|
11
|
+
* @param flags - The flags
|
|
12
|
+
* @returns The payloads
|
|
13
|
+
*/
|
|
14
|
+
export declare const getPayloadsFromFlags: (flags: PostHogDecideResponse['flags']) => PostHogDecideResponse['featureFlagPayloads'];
|
|
15
|
+
/**
|
|
16
|
+
* Get the flag details from the legacy v3 flags and payloads. As such, it will lack the reason, id, version, and description.
|
|
17
|
+
* @param decideResponse - The decide response
|
|
18
|
+
* @returns The flag details
|
|
19
|
+
*/
|
|
20
|
+
export declare const getFlagDetailsFromFlagsAndPayloads: (decideResponse: PostHogFeatureFlagsResponse) => PostHogDecideResponse['flags'];
|
|
21
|
+
export declare const getFeatureFlagValue: (detail: FeatureFlagDetail | undefined) => FeatureFlagValue | undefined;
|
|
22
|
+
export declare const parsePayload: (response: any) => any;
|
|
23
|
+
/**
|
|
24
|
+
* Get the normalized flag details from the flags and payloads.
|
|
25
|
+
* This is used to convert things like boostrap and stored feature flags and payloads to the v4 format.
|
|
26
|
+
* This helps us ensure backwards compatibility.
|
|
27
|
+
* If a key exists in the featureFlagPayloads that is not in the featureFlags, we treat it as a true feature flag.
|
|
28
|
+
*
|
|
29
|
+
* @param featureFlags - The feature flags
|
|
30
|
+
* @param featureFlagPayloads - The feature flag payloads
|
|
31
|
+
* @returns The normalized flag details
|
|
32
|
+
*/
|
|
33
|
+
export declare const createDecideResponseFromFlagsAndPayloads: (featureFlags: PostHogV3DecideResponse['featureFlags'], featureFlagPayloads: PostHogV3DecideResponse['featureFlagPayloads']) => PostHogFeatureFlagsResponse;
|
|
34
|
+
export declare const updateFlagValue: (flag: FeatureFlagDetail, value: FeatureFlagValue) => FeatureFlagDetail;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.updateFlagValue=exports.parsePayload=exports.normalizeDecideResponse=exports.getPayloadsFromFlags=exports.getFlagValuesFromFlags=exports.getFlagDetailsFromFlagsAndPayloads=exports.getFeatureFlagValue=exports.createDecideResponseFromFlagsAndPayloads=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var normalizeDecideResponse=exports.normalizeDecideResponse=function normalizeDecideResponse(decideResponse){var _a;if('flags'in decideResponse){var featureFlags=getFlagValuesFromFlags(decideResponse.flags);var featureFlagPayloads=getPayloadsFromFlags(decideResponse.flags);return _objectSpread(_objectSpread({},decideResponse),{},{featureFlags:featureFlags,featureFlagPayloads:featureFlagPayloads});}else{var _featureFlags=(_a=decideResponse.featureFlags)!==null&&_a!==void 0?_a:{};var _featureFlagPayloads=Object.fromEntries(Object.entries(decideResponse.featureFlagPayloads||{}).map(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),k=_ref2[0],v=_ref2[1];return[k,parsePayload(v)];}));var flags=Object.fromEntries(Object.entries(_featureFlags).map(function(_ref3){var _ref4=(0,_slicedToArray2["default"])(_ref3,2),key=_ref4[0],value=_ref4[1];return[key,getFlagDetailFromFlagAndPayload(key,value,_featureFlagPayloads[key])];}));return _objectSpread(_objectSpread({},decideResponse),{},{featureFlags:_featureFlags,featureFlagPayloads:_featureFlagPayloads,flags:flags});}};function getFlagDetailFromFlagAndPayload(key,value,payload){return{key:key,enabled:typeof value==='string'?true:value,variant:typeof value==='string'?value:undefined,reason:undefined,metadata:{id:undefined,version:undefined,payload:payload?JSON.stringify(payload):undefined,description:undefined}};}var getFlagValuesFromFlags=exports.getFlagValuesFromFlags=function getFlagValuesFromFlags(flags){return Object.fromEntries(Object.entries(flags!==null&&flags!==void 0?flags:{}).map(function(_ref5){var _ref6=(0,_slicedToArray2["default"])(_ref5,2),key=_ref6[0],detail=_ref6[1];return[key,getFeatureFlagValue(detail)];}).filter(function(_ref7){var _ref8=(0,_slicedToArray2["default"])(_ref7,2),value=_ref8[1];return value!==undefined;}));};var getPayloadsFromFlags=exports.getPayloadsFromFlags=function getPayloadsFromFlags(flags){var safeFlags=flags!==null&&flags!==void 0?flags:{};return Object.fromEntries(Object.keys(safeFlags).filter(function(flag){var details=safeFlags[flag];return details.enabled&&details.metadata&&details.metadata.payload!==undefined;}).map(function(flag){var _a;var payload=(_a=safeFlags[flag].metadata)===null||_a===void 0?void 0:_a.payload;return[flag,payload?parsePayload(payload):undefined];}));};var getFlagDetailsFromFlagsAndPayloads=exports.getFlagDetailsFromFlagsAndPayloads=function getFlagDetailsFromFlagsAndPayloads(decideResponse){var _a,_b;var flags=(_a=decideResponse.featureFlags)!==null&&_a!==void 0?_a:{};var payloads=(_b=decideResponse.featureFlagPayloads)!==null&&_b!==void 0?_b:{};return Object.fromEntries(Object.entries(flags).map(function(_ref9){var _ref10=(0,_slicedToArray2["default"])(_ref9,2),key=_ref10[0],value=_ref10[1];return[key,{key:key,enabled:typeof value==='string'?true:value,variant:typeof value==='string'?value:undefined,reason:undefined,metadata:{id:undefined,version:undefined,payload:(payloads===null||payloads===void 0?void 0:payloads[key])?JSON.stringify(payloads[key]):undefined,description:undefined}}];}));};var getFeatureFlagValue=exports.getFeatureFlagValue=function getFeatureFlagValue(detail){var _a;return detail===undefined?undefined:(_a=detail.variant)!==null&&_a!==void 0?_a:detail.enabled;};var parsePayload=exports.parsePayload=function parsePayload(response){if(typeof response!=='string'){return response;}try{return JSON.parse(response);}catch(_a){return response;}};var createDecideResponseFromFlagsAndPayloads=exports.createDecideResponseFromFlagsAndPayloads=function createDecideResponseFromFlagsAndPayloads(featureFlags,featureFlagPayloads){var allKeys=(0,_toConsumableArray2["default"])(new Set([].concat((0,_toConsumableArray2["default"])(Object.keys(featureFlags!==null&&featureFlags!==void 0?featureFlags:{})),(0,_toConsumableArray2["default"])(Object.keys(featureFlagPayloads!==null&&featureFlagPayloads!==void 0?featureFlagPayloads:{})))));var enabledFlags=allKeys.filter(function(flag){return!!featureFlags[flag]||!!featureFlagPayloads[flag];}).reduce(function(res,key){var _a;return res[key]=(_a=featureFlags[key])!==null&&_a!==void 0?_a:true,res;},{});var flagDetails={featureFlags:enabledFlags,featureFlagPayloads:featureFlagPayloads!==null&&featureFlagPayloads!==void 0?featureFlagPayloads:{}};return normalizeDecideResponse(flagDetails);};var updateFlagValue=exports.updateFlagValue=function updateFlagValue(flag,value){return _objectSpread(_objectSpread({},flag),{},{enabled:getEnabledFromValue(value),variant:getVariantFromValue(value)});};function getEnabledFromValue(value){return typeof value==='string'?true:value;}function getVariantFromValue(value){return typeof value==='string'?value:undefined;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureFlagUtils.js","sourceRoot":"","sources":["../../../../posthog-core/src/featureFlagUtils.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,cAEwF,EAC3D,EAAE;;IAC/B,IAAI,OAAO,IAAI,cAAc,EAAE;QAC7B,iCAAiC;QACjC,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACjE,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAEtE,OAAO;YACL,GAAG,cAAc;YACjB,YAAY;YACZ,mBAAmB;SACpB,CAAA;KACF;SAAM;QACL,iCAAiC;QACjC,MAAM,YAAY,GAAG,MAAA,cAAc,CAAC,YAAY,mCAAI,EAAE,CAAA;QACtD,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAC5C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACjD,GAAG;YACH,+BAA+B,CAAC,GAAG,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;SACtE,CAAC,CACH,CAAA;QAED,OAAO;YACL,GAAG,cAAc;YACjB,YAAY;YACZ,mBAAmB;YACnB,KAAK;SACN,CAAA;KACF;AACH,CAAC,CAAA;AAED,SAAS,+BAA+B,CACtC,GAAW,EACX,KAAuB,EACvB,OAA6B;IAE7B,OAAO;QACL,GAAG,EAAE,GAAG;QACR,OAAO,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QACjD,OAAO,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACtD,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACtD,WAAW,EAAE,SAAS;SACvB;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAqC,EACE,EAAE;IACzC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACvD,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,KAAqC,EACS,EAAE;IAChD,MAAM,SAAS,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAA;IAC7B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAA;IACtF,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;QACZ,MAAM,OAAO,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,0CAAE,OAAiB,CAAA;QAC3D,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC,CAAC,CACL,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,cAA2C,EACX,EAAE;;IAClC,MAAM,KAAK,GAAG,MAAA,cAAc,CAAC,YAAY,mCAAI,EAAE,CAAA;IAC/C,MAAM,QAAQ,GAAG,MAAA,cAAc,CAAC,mBAAmB,mCAAI,EAAE,CAAA;IACzD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC1C,GAAG;QACH;YACE,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACjD,OAAO,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACtD,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE;gBACR,EAAE,EAAE,SAAS;gBACb,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,GAAG,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,WAAW,EAAE,SAAS;aACvB;SACF;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAqC,EAAgC,EAAE;;IACzG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,MAAM,CAAC,OAAO,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAa,EAAO,EAAE;IACjD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,QAAQ,CAAA;KAChB;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;KAC5B;IAAC,WAAM;QACN,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CACtD,YAAqD,EACrD,mBAAmE,EACtC,EAAE;IAC/B,+FAA+F;IAC/F,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7G,MAAM,YAAY,GAAG,OAAO;SACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,GAAqC,EAAE,GAAG,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAA,YAAY,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA,EAAA,EAAE,EAAE,CAAC,CAAA;IAE5G,MAAM,WAAW,GAAoC;QACnD,YAAY,EAAE,YAAY;QAC1B,mBAAmB,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE;KAC/C,CAAA;IAED,OAAO,uBAAuB,CAAC,WAAsC,CAAC,CAAA;AACxE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAuB,EAAE,KAAuB,EAAqB,EAAE;IACrG,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC;QACnC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC;KACpC,CAAA;AACH,CAAC,CAAA;AAED,SAAS,mBAAmB,CAAC,KAAuB;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AACjD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAuB;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PostHogFetchOptions, PostHogFetchResponse, PostHogAutocaptureElement, PostHogDecideResponse, PostHogCoreOptions, PostHogEventProperties, PostHogPersistedProperty, PostHogCaptureOptions, JsonType, PostHogRemoteConfig } from './types';
|
|
1
|
+
import { PostHogFetchOptions, PostHogFetchResponse, PostHogAutocaptureElement, PostHogDecideResponse, PostHogCoreOptions, PostHogEventProperties, PostHogPersistedProperty, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, PostHogFeatureFlagDetails, FeatureFlagDetail } from './types';
|
|
2
2
|
import { RetriableOptions } from './utils';
|
|
3
3
|
import { LZString } from './lz-string';
|
|
4
4
|
import { SimpleEventEmitter } from './eventemitter';
|
|
@@ -69,12 +69,15 @@ export declare abstract class PostHogCoreStateless {
|
|
|
69
69
|
***/
|
|
70
70
|
protected getDecide(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, extraPayload?: Record<string, any>): Promise<PostHogDecideResponse | undefined>;
|
|
71
71
|
protected getFeatureFlagStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
|
|
72
|
-
response:
|
|
72
|
+
response: FeatureFlagValue | undefined;
|
|
73
73
|
requestId: string | undefined;
|
|
74
74
|
}>;
|
|
75
|
+
protected getFeatureFlagDetailStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
|
|
76
|
+
response: FeatureFlagDetail | undefined;
|
|
77
|
+
requestId: string | undefined;
|
|
78
|
+
} | undefined>;
|
|
75
79
|
protected getFeatureFlagPayloadStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<JsonType | undefined>;
|
|
76
80
|
protected getFeatureFlagPayloadsStateless(distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<PostHogDecideResponse['featureFlagPayloads'] | undefined>;
|
|
77
|
-
protected _parsePayload(response: any): any;
|
|
78
81
|
protected getFeatureFlagsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<{
|
|
79
82
|
flags: PostHogDecideResponse['featureFlags'] | undefined;
|
|
80
83
|
payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
|
|
@@ -85,6 +88,7 @@ export declare abstract class PostHogCoreStateless {
|
|
|
85
88
|
payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
|
|
86
89
|
requestId: PostHogDecideResponse['requestId'] | undefined;
|
|
87
90
|
}>;
|
|
91
|
+
protected getFeatureFlagDetailsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<PostHogFeatureFlagDetails | undefined>;
|
|
88
92
|
/***
|
|
89
93
|
*** SURVEYS
|
|
90
94
|
***/
|
|
@@ -188,12 +192,19 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
188
192
|
private cacheSessionReplay;
|
|
189
193
|
private _remoteConfigAsync;
|
|
190
194
|
private _decideAsync;
|
|
191
|
-
private
|
|
192
|
-
private
|
|
193
|
-
|
|
195
|
+
private setKnownFeatureFlagDetails;
|
|
196
|
+
private getKnownFeatureFlagDetails;
|
|
197
|
+
private getKnownFeatureFlags;
|
|
198
|
+
private getKnownFeatureFlagPayloads;
|
|
199
|
+
private getBootstrappedFeatureFlagDetails;
|
|
200
|
+
private setBootstrappedFeatureFlagDetails;
|
|
201
|
+
private getBootstrappedFeatureFlags;
|
|
202
|
+
private getBootstrappedFeatureFlagPayloads;
|
|
203
|
+
getFeatureFlag(key: string): FeatureFlagValue | undefined;
|
|
194
204
|
getFeatureFlagPayload(key: string): JsonType | undefined;
|
|
195
205
|
getFeatureFlagPayloads(): PostHogDecideResponse['featureFlagPayloads'] | undefined;
|
|
196
206
|
getFeatureFlags(): PostHogDecideResponse['featureFlags'] | undefined;
|
|
207
|
+
getFeatureFlagDetails(): PostHogFeatureFlagDetails | undefined;
|
|
197
208
|
getFeatureFlagsAndPayloads(): {
|
|
198
209
|
flags: PostHogDecideResponse['featureFlags'] | undefined;
|
|
199
210
|
payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
|
|
@@ -203,7 +214,7 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
203
214
|
reloadRemoteConfigAsync(): Promise<PostHogRemoteConfig | undefined>;
|
|
204
215
|
reloadFeatureFlagsAsync(sendAnonDistinctId?: boolean): Promise<PostHogDecideResponse['featureFlags'] | undefined>;
|
|
205
216
|
onFeatureFlags(cb: (flags: PostHogDecideResponse['featureFlags']) => void): () => void;
|
|
206
|
-
onFeatureFlag(key: string, cb: (value:
|
|
217
|
+
onFeatureFlag(key: string, cb: (value: FeatureFlagValue) => void): () => void;
|
|
207
218
|
overrideFeatureFlag(flags: PostHogDecideResponse['featureFlags'] | null): Promise<void>;
|
|
208
219
|
/***
|
|
209
220
|
*** ERROR TRACKING
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof3=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={PostHogCoreStateless:true,PostHogCore:true,utils:true,LZString:true};Object.defineProperty(exports,"LZString",{enumerable:true,get:function get(){return _lzString.LZString;}});exports.utils=exports.PostHogCoreStateless=exports.PostHogCore=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _get2=_interopRequireDefault(require("@babel/runtime/helpers/get"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _wrapNativeSuper2=_interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));var _types=require("./types");Object.keys(_types).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_types[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _types[key];}});});var _utils2=_interopRequireWildcard(require("./utils"));var _utils=_utils2;exports.utils=_utils2;var _lzString=require("./lz-string");var _eventemitter=require("./eventemitter");var _uuidv=require("./vendor/uuidv7");function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=_typeof3(e)&&"function"!=typeof e)return{"default":e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n["default"]=e,t&&t.set(e,n),n;}function _superPropGet(t,e,o,r){var p=(0,_get2["default"])((0,_getPrototypeOf2["default"])(1&r?t.prototype:t),e,o);return 2&r&&"function"==typeof p?function(t){return p.apply(o,t);}:p;}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e));}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}var PostHogFetchHttpError=function(_Error){function PostHogFetchHttpError(response){var _this;(0,_classCallCheck2["default"])(this,PostHogFetchHttpError);_this=_callSuper(this,PostHogFetchHttpError,['HTTP error while fetching PostHog: '+response.status]);_this.response=response;_this.name='PostHogFetchHttpError';return _this;}(0,_inherits2["default"])(PostHogFetchHttpError,_Error);return(0,_createClass2["default"])(PostHogFetchHttpError);}((0,_wrapNativeSuper2["default"])(Error));var PostHogFetchNetworkError=function(_Error2){function PostHogFetchNetworkError(error){var _this2;(0,_classCallCheck2["default"])(this,PostHogFetchNetworkError);_this2=_callSuper(this,PostHogFetchNetworkError,['Network error while fetching PostHog',error instanceof Error?{cause:error}:{}]);_this2.error=error;_this2.name='PostHogFetchNetworkError';return _this2;}(0,_inherits2["default"])(PostHogFetchNetworkError,_Error2);return(0,_createClass2["default"])(PostHogFetchNetworkError);}((0,_wrapNativeSuper2["default"])(Error));function isPostHogFetchError(err){return(0,_typeof2["default"])(err)==='object'&&(err instanceof PostHogFetchHttpError||err instanceof PostHogFetchNetworkError);}var QuotaLimitedFeature;(function(QuotaLimitedFeature){QuotaLimitedFeature["FeatureFlags"]="feature_flags";QuotaLimitedFeature["Recordings"]="recordings";})(QuotaLimitedFeature||(QuotaLimitedFeature={}));var PostHogCoreStateless=exports.PostHogCoreStateless=function(){function PostHogCoreStateless(apiKey,options){(0,_classCallCheck2["default"])(this,PostHogCoreStateless);var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p;this.flushPromise=null;this.pendingPromises={};this._events=new _eventemitter.SimpleEventEmitter();this._isInitialized=false;(0,_utils2.assert)(apiKey,"You must pass your PostHog project's api key.");this.apiKey=apiKey;this.host=(0,_utils2.removeTrailingSlash)((options===null||options===void 0?void 0:options.host)||'https://us.i.posthog.com');this.flushAt=(options===null||options===void 0?void 0:options.flushAt)?Math.max(options===null||options===void 0?void 0:options.flushAt,1):20;this.maxBatchSize=Math.max(this.flushAt,(_a=options===null||options===void 0?void 0:options.maxBatchSize)!==null&&_a!==void 0?_a:100);this.maxQueueSize=Math.max(this.flushAt,(_b=options===null||options===void 0?void 0:options.maxQueueSize)!==null&&_b!==void 0?_b:1000);this.flushInterval=(_c=options===null||options===void 0?void 0:options.flushInterval)!==null&&_c!==void 0?_c:10000;this.captureMode=(options===null||options===void 0?void 0:options.captureMode)||'json';this.preloadFeatureFlags=(_d=options===null||options===void 0?void 0:options.preloadFeatureFlags)!==null&&_d!==void 0?_d:true;this.defaultOptIn=(_e=options===null||options===void 0?void 0:options.defaultOptIn)!==null&&_e!==void 0?_e:true;this.disableSurveys=(_f=options===null||options===void 0?void 0:options.disableSurveys)!==null&&_f!==void 0?_f:false;this._retryOptions={retryCount:(_g=options===null||options===void 0?void 0:options.fetchRetryCount)!==null&&_g!==void 0?_g:3,retryDelay:(_h=options===null||options===void 0?void 0:options.fetchRetryDelay)!==null&&_h!==void 0?_h:3000,retryCheck:isPostHogFetchError};this.requestTimeout=(_j=options===null||options===void 0?void 0:options.requestTimeout)!==null&&_j!==void 0?_j:10000;this.featureFlagsRequestTimeoutMs=(_k=options===null||options===void 0?void 0:options.featureFlagsRequestTimeoutMs)!==null&&_k!==void 0?_k:3000;this.remoteConfigRequestTimeoutMs=(_l=options===null||options===void 0?void 0:options.remoteConfigRequestTimeoutMs)!==null&&_l!==void 0?_l:3000;this.disableGeoip=(_m=options===null||options===void 0?void 0:options.disableGeoip)!==null&&_m!==void 0?_m:true;this.disabled=(_o=options===null||options===void 0?void 0:options.disabled)!==null&&_o!==void 0?_o:false;this.historicalMigration=(_p=options===null||options===void 0?void 0:options.historicalMigration)!==null&&_p!==void 0?_p:false;this._initPromise=Promise.resolve();this._isInitialized=true;}return(0,_createClass2["default"])(PostHogCoreStateless,[{key:"logMsgIfDebug",value:function logMsgIfDebug(fn){if(this.isDebug){fn();}}},{key:"wrap",value:function wrap(fn){if(this.disabled){this.logMsgIfDebug(function(){return console.warn('[PostHog] The client is disabled');});return;}if(this._isInitialized){return fn();}this._initPromise.then(function(){return fn();});}},{key:"getCommonEventProperties",value:function getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()};}},{key:"optedOut",get:function get(){var _a;return(_a=this.getPersistedProperty(_types.PostHogPersistedProperty.OptedOut))!==null&&_a!==void 0?_a:!this.defaultOptIn;}},{key:"optIn",value:function(){var _optIn=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var _this3=this;return _regenerator["default"].wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:this.wrap(function(){_this3.setPersistedProperty(_types.PostHogPersistedProperty.OptedOut,false);});case 1:case"end":return _context.stop();}},_callee,this);}));function optIn(){return _optIn.apply(this,arguments);}return optIn;}()},{key:"optOut",value:function(){var _optOut=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var _this4=this;return _regenerator["default"].wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:this.wrap(function(){_this4.setPersistedProperty(_types.PostHogPersistedProperty.OptedOut,true);});case 1:case"end":return _context2.stop();}},_callee2,this);}));function optOut(){return _optOut.apply(this,arguments);}return optOut;}()},{key:"on",value:function on(event,cb){return this._events.on(event,cb);}},{key:"debug",value:function debug(){var _this5=this;var enabled=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var _a;(_a=this.removeDebugCallback)===null||_a===void 0?void 0:_a.call(this);if(enabled){var removeDebugCallback=this.on('*',function(event,payload){return console.log('PostHog Debug',event,payload);});this.removeDebugCallback=function(){removeDebugCallback();_this5.removeDebugCallback=undefined;};}}},{key:"isDebug",get:function get(){return!!this.removeDebugCallback;}},{key:"isDisabled",get:function get(){return this.disabled;}},{key:"buildPayload",value:function buildPayload(payload){return{distinct_id:payload.distinct_id,event:payload.event,properties:_objectSpread(_objectSpread({},payload.properties||{}),this.getCommonEventProperties())};}},{key:"addPendingPromise",value:function addPendingPromise(promise){var _this6=this;var promiseUUID=(0,_uuidv.uuidv7)();this.pendingPromises[promiseUUID]=promise;promise["catch"](function(){})["finally"](function(){delete _this6.pendingPromises[promiseUUID];});return promise;}},{key:"identifyStateless",value:function identifyStateless(distinctId,properties,options){var _this7=this;this.wrap(function(){var payload=_objectSpread({},_this7.buildPayload({distinct_id:distinctId,event:'$identify',properties:properties}));_this7.enqueue('identify',payload,options);});}},{key:"captureStateless",value:function captureStateless(distinctId,event,properties,options){var _this8=this;this.wrap(function(){var payload=_this8.buildPayload({distinct_id:distinctId,event:event,properties:properties});_this8.enqueue('capture',payload,options);});}},{key:"aliasStateless",value:function aliasStateless(alias,distinctId,properties,options){var _this9=this;this.wrap(function(){var payload=_this9.buildPayload({event:'$create_alias',distinct_id:distinctId,properties:_objectSpread(_objectSpread({},properties||{}),{},{distinct_id:distinctId,alias:alias})});_this9.enqueue('alias',payload,options);});}},{key:"groupIdentifyStateless",value:function groupIdentifyStateless(groupType,groupKey,groupProperties,options,distinctId,eventProperties){var _this10=this;this.wrap(function(){var payload=_this10.buildPayload({distinct_id:distinctId||"$".concat(groupType,"_").concat(groupKey),event:'$groupidentify',properties:_objectSpread({$group_type:groupType,$group_key:groupKey,$group_set:groupProperties||{}},eventProperties||{})});_this10.enqueue('capture',payload,options);});}},{key:"getRemoteConfig",value:function(){var _getRemoteConfig=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(){var _this11=this;var host,url,fetchOptions;return _regenerator["default"].wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return this._initPromise;case 2:host=this.host;if(host==='https://us.i.posthog.com'){host='https://us-assets.i.posthog.com';}else if(host==='https://eu.i.posthog.com'){host='https://eu-assets.i.posthog.com';}url="".concat(host,"/array/").concat(this.apiKey,"/config");fetchOptions={method:'GET',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'})};return _context3.abrupt("return",this.fetchWithRetry(url,fetchOptions,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(function(response){return response.json();})["catch"](function(error){_this11.logMsgIfDebug(function(){return console.error('Remote config could not be loaded',error);});_this11._events.emit('error',error);return undefined;}));case 7:case"end":return _context3.stop();}},_callee3,this);}));function getRemoteConfig(){return _getRemoteConfig.apply(this,arguments);}return getRemoteConfig;}()},{key:"getDecide",value:(function(){var _getDecide=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(distinctId){var _this12=this;var groups,personProperties,groupProperties,extraPayload,url,fetchOptions,_args4=arguments;return _regenerator["default"].wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:groups=_args4.length>1&&_args4[1]!==undefined?_args4[1]:{};personProperties=_args4.length>2&&_args4[2]!==undefined?_args4[2]:{};groupProperties=_args4.length>3&&_args4[3]!==undefined?_args4[3]:{};extraPayload=_args4.length>4&&_args4[4]!==undefined?_args4[4]:{};_context4.next=6;return this._initPromise;case 6:url="".concat(this.host,"/decide/?v=3");fetchOptions={method:'POST',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'}),body:JSON.stringify(_objectSpread({token:this.apiKey,distinct_id:distinctId,groups:groups,person_properties:personProperties,group_properties:groupProperties},extraPayload))};return _context4.abrupt("return",this.fetchWithRetry(url,fetchOptions,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(function(response){return response.json();})["catch"](function(error){_this12._events.emit('error',error);return undefined;}));case 9:case"end":return _context4.stop();}},_callee4,this);}));function getDecide(_x){return _getDecide.apply(this,arguments);}return getDecide;}())},{key:"getFeatureFlagStateless",value:function(){var _getFeatureFlagStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(key,distinctId){var groups,personProperties,groupProperties,disableGeoip,decideResponse,featureFlags,response,_args5=arguments;return _regenerator["default"].wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:groups=_args5.length>2&&_args5[2]!==undefined?_args5[2]:{};personProperties=_args5.length>3&&_args5[3]!==undefined?_args5[3]:{};groupProperties=_args5.length>4&&_args5[4]!==undefined?_args5[4]:{};disableGeoip=_args5.length>5?_args5[5]:undefined;_context5.next=6;return this._initPromise;case 6:_context5.next=8;return this.getFeatureFlagsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,[key]);case 8:decideResponse=_context5.sent;featureFlags=decideResponse.flags;if(featureFlags){_context5.next=12;break;}return _context5.abrupt("return",{response:undefined,requestId:undefined});case 12:response=featureFlags[key];if(response===undefined){response=false;}return _context5.abrupt("return",{response:response,requestId:decideResponse.requestId});case 15:case"end":return _context5.stop();}},_callee5,this);}));function getFeatureFlagStateless(_x2,_x3){return _getFeatureFlagStateless.apply(this,arguments);}return getFeatureFlagStateless;}()},{key:"getFeatureFlagPayloadStateless",value:function(){var _getFeatureFlagPayloadStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(key,distinctId){var groups,personProperties,groupProperties,disableGeoip,payloads,response,_args6=arguments;return _regenerator["default"].wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:groups=_args6.length>2&&_args6[2]!==undefined?_args6[2]:{};personProperties=_args6.length>3&&_args6[3]!==undefined?_args6[3]:{};groupProperties=_args6.length>4&&_args6[4]!==undefined?_args6[4]:{};disableGeoip=_args6.length>5?_args6[5]:undefined;_context6.next=6;return this._initPromise;case 6:_context6.next=8;return this.getFeatureFlagPayloadsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,[key]);case 8:payloads=_context6.sent;if(payloads){_context6.next=11;break;}return _context6.abrupt("return",undefined);case 11:response=payloads[key];if(!(response===undefined)){_context6.next=14;break;}return _context6.abrupt("return",null);case 14:return _context6.abrupt("return",response);case 15:case"end":return _context6.stop();}},_callee6,this);}));function getFeatureFlagPayloadStateless(_x4,_x5){return _getFeatureFlagPayloadStateless.apply(this,arguments);}return getFeatureFlagPayloadStateless;}()},{key:"getFeatureFlagPayloadsStateless",value:function(){var _getFeatureFlagPayloadsStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(distinctId){var groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate,payloads,_args7=arguments;return _regenerator["default"].wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:groups=_args7.length>1&&_args7[1]!==undefined?_args7[1]:{};personProperties=_args7.length>2&&_args7[2]!==undefined?_args7[2]:{};groupProperties=_args7.length>3&&_args7[3]!==undefined?_args7[3]:{};disableGeoip=_args7.length>4?_args7[4]:undefined;flagKeysToEvaluate=_args7.length>5?_args7[5]:undefined;_context7.next=7;return this._initPromise;case 7:_context7.next=9;return this.getFeatureFlagsAndPayloadsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate);case 9:payloads=_context7.sent.payloads;return _context7.abrupt("return",payloads);case 11:case"end":return _context7.stop();}},_callee7,this);}));function getFeatureFlagPayloadsStateless(_x6){return _getFeatureFlagPayloadsStateless.apply(this,arguments);}return getFeatureFlagPayloadsStateless;}()},{key:"_parsePayload",value:function _parsePayload(response){try{return JSON.parse(response);}catch(_a){return response;}}},{key:"getFeatureFlagsStateless",value:function(){var _getFeatureFlagsStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(distinctId){var groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate,_args8=arguments;return _regenerator["default"].wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:groups=_args8.length>1&&_args8[1]!==undefined?_args8[1]:{};personProperties=_args8.length>2&&_args8[2]!==undefined?_args8[2]:{};groupProperties=_args8.length>3&&_args8[3]!==undefined?_args8[3]:{};disableGeoip=_args8.length>4?_args8[4]:undefined;flagKeysToEvaluate=_args8.length>5?_args8[5]:undefined;_context8.next=7;return this._initPromise;case 7:_context8.next=9;return this.getFeatureFlagsAndPayloadsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate);case 9:return _context8.abrupt("return",_context8.sent);case 10:case"end":return _context8.stop();}},_callee8,this);}));function getFeatureFlagsStateless(_x7){return _getFeatureFlagsStateless.apply(this,arguments);}return getFeatureFlagsStateless;}()},{key:"getFeatureFlagsAndPayloadsStateless",value:function(){var _getFeatureFlagsAndPayloadsStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(distinctId){var _this13=this;var groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate,_a,extraPayload,decideResponse,flags,payloads,parsedPayloads,_args9=arguments;return _regenerator["default"].wrap(function _callee9$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:groups=_args9.length>1&&_args9[1]!==undefined?_args9[1]:{};personProperties=_args9.length>2&&_args9[2]!==undefined?_args9[2]:{};groupProperties=_args9.length>3&&_args9[3]!==undefined?_args9[3]:{};disableGeoip=_args9.length>4?_args9[4]:undefined;flagKeysToEvaluate=_args9.length>5?_args9[5]:undefined;_context9.next=7;return this._initPromise;case 7:extraPayload={};if(disableGeoip!==null&&disableGeoip!==void 0?disableGeoip:this.disableGeoip){extraPayload['geoip_disable']=true;}if(flagKeysToEvaluate){extraPayload['flag_keys_to_evaluate']=flagKeysToEvaluate;}_context9.next=12;return this.getDecide(distinctId,groups,personProperties,groupProperties,extraPayload);case 12:decideResponse=_context9.sent;if(!((_a=decideResponse===null||decideResponse===void 0?void 0:decideResponse.quotaLimited)===null||_a===void 0?void 0:_a.includes(QuotaLimitedFeature.FeatureFlags))){_context9.next=16;break;}console.warn('[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');return _context9.abrupt("return",{flags:undefined,payloads:undefined,requestId:decideResponse===null||decideResponse===void 0?void 0:decideResponse.requestId});case 16:flags=decideResponse===null||decideResponse===void 0?void 0:decideResponse.featureFlags;payloads=decideResponse===null||decideResponse===void 0?void 0:decideResponse.featureFlagPayloads;parsedPayloads=payloads;if(payloads){parsedPayloads=Object.fromEntries(Object.entries(payloads).map(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),k=_ref2[0],v=_ref2[1];return[k,_this13._parsePayload(v)];}));}return _context9.abrupt("return",{flags:flags,payloads:parsedPayloads,requestId:decideResponse===null||decideResponse===void 0?void 0:decideResponse.requestId});case 21:case"end":return _context9.stop();}},_callee9,this);}));function getFeatureFlagsAndPayloadsStateless(_x8){return _getFeatureFlagsAndPayloadsStateless.apply(this,arguments);}return getFeatureFlagsAndPayloadsStateless;}()},{key:"getSurveysStateless",value:(function(){var _getSurveysStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(){var _this14=this;var url,fetchOptions,response,newSurveys;return _regenerator["default"].wrap(function _callee10$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:_context10.next=2;return this._initPromise;case 2:if(!(this.disableSurveys===true)){_context10.next=5;break;}this.logMsgIfDebug(function(){return console.log('Loading surveys is disabled.');});return _context10.abrupt("return",[]);case 5:url="".concat(this.host,"/api/surveys/?token=").concat(this.apiKey);fetchOptions={method:'GET',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'})};_context10.next=9;return this.fetchWithRetry(url,fetchOptions).then(function(response){if(response.status!==200||!response.json){var msg="Surveys API could not be loaded: ".concat(response.status);var error=new Error(msg);_this14.logMsgIfDebug(function(){return console.error(error);});_this14._events.emit('error',new Error(msg));return undefined;}return response.json();})["catch"](function(error){_this14.logMsgIfDebug(function(){return console.error('Surveys API could not be loaded',error);});_this14._events.emit('error',error);return undefined;});case 9:response=_context10.sent;newSurveys=response===null||response===void 0?void 0:response.surveys;if(newSurveys){this.logMsgIfDebug(function(){return console.log('PostHog Debug','Surveys fetched from API: ',JSON.stringify(newSurveys));});}return _context10.abrupt("return",newSurveys!==null&&newSurveys!==void 0?newSurveys:[]);case 13:case"end":return _context10.stop();}},_callee10,this);}));function getSurveysStateless(){return _getSurveysStateless.apply(this,arguments);}return getSurveysStateless;}())},{key:"enqueue",value:function enqueue(type,_message,options){var _this15=this;this.wrap(function(){var _a;if(_this15.optedOut){_this15._events.emit(type,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return;}var message=_objectSpread(_objectSpread({},_message),{},{type:type,library:_this15.getLibraryId(),library_version:_this15.getLibraryVersion(),timestamp:(options===null||options===void 0?void 0:options.timestamp)?options===null||options===void 0?void 0:options.timestamp:(0,_utils2.currentISOTime)(),uuid:(options===null||options===void 0?void 0:options.uuid)?options.uuid:(0,_uuidv.uuidv7)()});var addGeoipDisableProperty=(_a=options===null||options===void 0?void 0:options.disableGeoip)!==null&&_a!==void 0?_a:_this15.disableGeoip;if(addGeoipDisableProperty){if(!message.properties){message.properties={};}message['properties']['$geoip_disable']=true;}if(message.distinctId){message.distinct_id=message.distinctId;delete message.distinctId;}var queue=_this15.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];if(queue.length>=_this15.maxQueueSize){queue.shift();_this15.logMsgIfDebug(function(){return console.info('Queue is full, the oldest event is dropped.');});}queue.push({message:message});_this15.setPersistedProperty(_types.PostHogPersistedProperty.Queue,queue);_this15._events.emit(type,message);if(queue.length>=_this15.flushAt){_this15.flushBackground();}if(_this15.flushInterval&&!_this15._flushTimer){_this15._flushTimer=(0,_utils2.safeSetTimeout)(function(){return _this15.flushBackground();},_this15.flushInterval);}});}},{key:"clearFlushTimer",value:function clearFlushTimer(){if(this._flushTimer){clearTimeout(this._flushTimer);this._flushTimer=undefined;}}},{key:"flushBackground",value:function flushBackground(){void this.flush()["catch"](function(){});}},{key:"flush",value:function(){var _flush2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(){var _this16=this;return _regenerator["default"].wrap(function _callee11$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:if(!this.flushPromise){this.flushPromise=this._flush()["finally"](function(){_this16.flushPromise=null;});this.addPendingPromise(this.flushPromise);}return _context11.abrupt("return",this.flushPromise);case 2:case"end":return _context11.stop();}},_callee11,this);}));function flush(){return _flush2.apply(this,arguments);}return flush;}()},{key:"getCustomHeaders",value:function getCustomHeaders(){var customUserAgent=this.getCustomUserAgent();var headers={};if(customUserAgent&&customUserAgent!==''){headers['User-Agent']=customUserAgent;}return headers;}},{key:"_flush",value:function(){var _flush3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(){var _this17=this;var queue,items,messages,persistQueueChange,data,payload,url,fetchOptions;return _regenerator["default"].wrap(function _callee12$(_context12){while(1)switch(_context12.prev=_context12.next){case 0:this.clearFlushTimer();_context12.next=3;return this._initPromise;case 3:queue=this.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];if(queue.length){_context12.next=6;break;}return _context12.abrupt("return",[]);case 6:items=queue.slice(0,this.maxBatchSize);messages=items.map(function(item){return item.message;});persistQueueChange=function persistQueueChange(){var refreshedQueue=_this17.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];_this17.setPersistedProperty(_types.PostHogPersistedProperty.Queue,refreshedQueue.slice(items.length));};data={api_key:this.apiKey,batch:messages,sent_at:(0,_utils2.currentISOTime)()};if(this.historicalMigration){data.historical_migration=true;}payload=JSON.stringify(data);url=this.captureMode==='form'?"".concat(this.host,"/e/?ip=1&_=").concat((0,_utils2.currentTimestamp)(),"&v=").concat(this.getLibraryVersion()):"".concat(this.host,"/batch/");fetchOptions=this.captureMode==='form'?{method:'POST',mode:'no-cors',credentials:'omit',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/x-www-form-urlencoded'}),body:"data=".concat(encodeURIComponent(_lzString.LZString.compressToBase64(payload)),"&compression=lz64")}:{method:'POST',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'}),body:payload};_context12.prev=14;_context12.next=17;return this.fetchWithRetry(url,fetchOptions);case 17:_context12.next=24;break;case 19:_context12.prev=19;_context12.t0=_context12["catch"](14);if(!(_context12.t0 instanceof PostHogFetchNetworkError)){persistQueueChange();}this._events.emit('error',_context12.t0);throw _context12.t0;case 24:persistQueueChange();this._events.emit('flush',messages);return _context12.abrupt("return",messages);case 27:case"end":return _context12.stop();}},_callee12,this,[[14,19]]);}));function _flush(){return _flush3.apply(this,arguments);}return _flush;}()},{key:"fetchWithRetry",value:function(){var _fetchWithRetry=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(url,options,retryOptions,requestTimeout){var _this18=this;var _a,_b;return _regenerator["default"].wrap(function _callee14$(_context14){while(1)switch(_context14.prev=_context14.next){case 0:;(_a=(_b=AbortSignal).timeout)!==null&&_a!==void 0?_a:_b.timeout=function timeout(ms){var ctrl=new AbortController();setTimeout(function(){return ctrl.abort();},ms);return ctrl.signal;};_context14.next=4;return(0,_utils2.retriable)((0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(){var res,isNoCors;return _regenerator["default"].wrap(function _callee13$(_context13){while(1)switch(_context13.prev=_context13.next){case 0:res=null;_context13.prev=1;_context13.next=4;return _this18.fetch(url,_objectSpread({signal:AbortSignal.timeout(requestTimeout!==null&&requestTimeout!==void 0?requestTimeout:_this18.requestTimeout)},options));case 4:res=_context13.sent;_context13.next=10;break;case 7:_context13.prev=7;_context13.t0=_context13["catch"](1);throw new PostHogFetchNetworkError(_context13.t0);case 10:isNoCors=options.mode==='no-cors';if(!(!isNoCors&&(res.status<200||res.status>=400))){_context13.next=13;break;}throw new PostHogFetchHttpError(res);case 13:return _context13.abrupt("return",res);case 14:case"end":return _context13.stop();}},_callee13,null,[[1,7]]);})),_objectSpread(_objectSpread({},this._retryOptions),retryOptions));case 4:return _context14.abrupt("return",_context14.sent);case 5:case"end":return _context14.stop();}},_callee14,this);}));function fetchWithRetry(_x9,_x10,_x11,_x12){return _fetchWithRetry.apply(this,arguments);}return fetchWithRetry;}()},{key:"shutdown",value:function(){var _shutdown=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16(){var _this19=this;var shutdownTimeoutMs,hasTimedOut,doShutdown,_args16=arguments;return _regenerator["default"].wrap(function _callee16$(_context16){while(1)switch(_context16.prev=_context16.next){case 0:shutdownTimeoutMs=_args16.length>0&&_args16[0]!==undefined?_args16[0]:30000;_context16.next=3;return this._initPromise;case 3:hasTimedOut=false;this.clearFlushTimer();doShutdown=function(){var _ref4=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15(){var queue;return _regenerator["default"].wrap(function _callee15$(_context15){while(1)switch(_context15.prev=_context15.next){case 0:_context15.prev=0;_context15.next=3;return Promise.all(Object.values(_this19.pendingPromises));case 3:if(!true){_context15.next=13;break;}queue=_this19.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];if(!(queue.length===0)){_context15.next=7;break;}return _context15.abrupt("break",13);case 7:_context15.next=9;return _this19.flush();case 9:if(!hasTimedOut){_context15.next=11;break;}return _context15.abrupt("break",13);case 11:_context15.next=3;break;case 13:_context15.next=20;break;case 15:_context15.prev=15;_context15.t0=_context15["catch"](0);if(isPostHogFetchError(_context15.t0)){_context15.next=19;break;}throw _context15.t0;case 19:_this19.logMsgIfDebug(function(){return console.error('Error while shutting down PostHog',_context15.t0);});case 20:case"end":return _context15.stop();}},_callee15,null,[[0,15]]);}));return function doShutdown(){return _ref4.apply(this,arguments);};}();return _context16.abrupt("return",Promise.race([new Promise(function(_,reject){(0,_utils2.safeSetTimeout)(function(){_this19.logMsgIfDebug(function(){return console.error('Timed out while shutting down PostHog');});hasTimedOut=true;reject('Timeout while shutting down PostHog. Some events may not have been sent.');},shutdownTimeoutMs);}),doShutdown()]));case 7:case"end":return _context16.stop();}},_callee16,this);}));function shutdown(){return _shutdown.apply(this,arguments);}return shutdown;}()}]);}();var PostHogCore=exports.PostHogCore=function(_PostHogCoreStateless){function PostHogCore(apiKey,options){var _this20;(0,_classCallCheck2["default"])(this,PostHogCore);var _a,_b,_c,_d;var disableGeoipOption=(_a=options===null||options===void 0?void 0:options.disableGeoip)!==null&&_a!==void 0?_a:false;var featureFlagsRequestTimeoutMs=(_b=options===null||options===void 0?void 0:options.featureFlagsRequestTimeoutMs)!==null&&_b!==void 0?_b:10000;_this20=_callSuper(this,PostHogCore,[apiKey,_objectSpread(_objectSpread({},options),{},{disableGeoip:disableGeoipOption,featureFlagsRequestTimeoutMs:featureFlagsRequestTimeoutMs})]);_this20.flagCallReported={};_this20.sessionProps={};_this20.sendFeatureFlagEvent=(_c=options===null||options===void 0?void 0:options.sendFeatureFlagEvent)!==null&&_c!==void 0?_c:true;_this20._sessionExpirationTimeSeconds=(_d=options===null||options===void 0?void 0:options.sessionExpirationTimeSeconds)!==null&&_d!==void 0?_d:1800;return _this20;}(0,_inherits2["default"])(PostHogCore,_PostHogCoreStateless);return(0,_createClass2["default"])(PostHogCore,[{key:"setupBootstrap",value:function setupBootstrap(options){var bootstrap=options===null||options===void 0?void 0:options.bootstrap;if(!bootstrap){return;}if(bootstrap.distinctId){if(bootstrap.isIdentifiedId){var distinctId=this.getPersistedProperty(_types.PostHogPersistedProperty.DistinctId);if(!distinctId){this.setPersistedProperty(_types.PostHogPersistedProperty.DistinctId,bootstrap.distinctId);}}else{var anonymousId=this.getPersistedProperty(_types.PostHogPersistedProperty.AnonymousId);if(!anonymousId){this.setPersistedProperty(_types.PostHogPersistedProperty.AnonymousId,bootstrap.distinctId);}}}var bootstrapfeatureFlags=bootstrap.featureFlags;if(bootstrapfeatureFlags&&Object.keys(bootstrapfeatureFlags).length){var bootstrapFlags=Object.keys(bootstrapfeatureFlags).filter(function(flag){return!!bootstrapfeatureFlags[flag];}).reduce(function(res,key){return res[key]=bootstrapfeatureFlags[key]||false,res;},{});if(Object.keys(bootstrapFlags).length){this.setPersistedProperty(_types.PostHogPersistedProperty.BootstrapFeatureFlags,bootstrapFlags);var currentFlags=this.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlags)||{};var newFeatureFlags=_objectSpread(_objectSpread({},bootstrapFlags),currentFlags);this.setKnownFeatureFlags(newFeatureFlags);}var bootstrapFlagPayloads=bootstrap.featureFlagPayloads;if(bootstrapFlagPayloads&&Object.keys(bootstrapFlagPayloads).length){this.setPersistedProperty(_types.PostHogPersistedProperty.BootstrapFeatureFlagPayloads,bootstrapFlagPayloads);var currentFlagPayloads=this.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlagPayloads)||{};var newFeatureFlagPayloads=_objectSpread(_objectSpread({},bootstrapFlagPayloads),currentFlagPayloads);this.setKnownFeatureFlagPayloads(newFeatureFlagPayloads);}}}},{key:"props",get:function get(){if(!this._props){this._props=this.getPersistedProperty(_types.PostHogPersistedProperty.Props);}return this._props||{};},set:function set(val){this._props=val;}},{key:"clearProps",value:function clearProps(){this.props=undefined;this.sessionProps={};this.flagCallReported={};}},{key:"on",value:function on(event,cb){return this._events.on(event,cb);}},{key:"reset",value:function reset(propertiesToKeep){var _this21=this;this.wrap(function(){var allPropertiesToKeep=[_types.PostHogPersistedProperty.Queue].concat((0,_toConsumableArray2["default"])(propertiesToKeep||[]));_this21.clearProps();for(var _i=0,_Object$keys=Object.keys(_types.PostHogPersistedProperty);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];if(!allPropertiesToKeep.includes(_types.PostHogPersistedProperty[key])){_this21.setPersistedProperty(_types.PostHogPersistedProperty[key],null);}}_this21.reloadFeatureFlags();});}},{key:"getCommonEventProperties",value:function getCommonEventProperties(){var featureFlags=this.getFeatureFlags();var featureVariantProperties={};if(featureFlags){for(var _i2=0,_Object$entries=Object.entries(featureFlags);_i2<_Object$entries.length;_i2++){var _Object$entries$_i=(0,_slicedToArray2["default"])(_Object$entries[_i2],2),feature=_Object$entries$_i[0],variant=_Object$entries$_i[1];featureVariantProperties["$feature/".concat(feature)]=variant;}}return _objectSpread(_objectSpread({$active_feature_flags:featureFlags?Object.keys(featureFlags):undefined},featureVariantProperties),_superPropGet(PostHogCore,"getCommonEventProperties",this,3)([]));}},{key:"enrichProperties",value:function enrichProperties(properties){return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({},this.props),this.sessionProps),properties||{}),this.getCommonEventProperties()),{},{$session_id:this.getSessionId()});}},{key:"getSessionId",value:function getSessionId(){if(!this._isInitialized){return'';}var sessionId=this.getPersistedProperty(_types.PostHogPersistedProperty.SessionId);var sessionTimestamp=this.getPersistedProperty(_types.PostHogPersistedProperty.SessionLastTimestamp)||0;if(!sessionId||Date.now()-sessionTimestamp>this._sessionExpirationTimeSeconds*1000){sessionId=(0,_uuidv.uuidv7)();this.setPersistedProperty(_types.PostHogPersistedProperty.SessionId,sessionId);}this.setPersistedProperty(_types.PostHogPersistedProperty.SessionLastTimestamp,Date.now());return sessionId;}},{key:"resetSessionId",value:function resetSessionId(){var _this22=this;this.wrap(function(){_this22.setPersistedProperty(_types.PostHogPersistedProperty.SessionId,null);_this22.setPersistedProperty(_types.PostHogPersistedProperty.SessionLastTimestamp,null);});}},{key:"getAnonymousId",value:function getAnonymousId(){if(!this._isInitialized){return'';}var anonId=this.getPersistedProperty(_types.PostHogPersistedProperty.AnonymousId);if(!anonId){anonId=(0,_uuidv.uuidv7)();this.setPersistedProperty(_types.PostHogPersistedProperty.AnonymousId,anonId);}return anonId;}},{key:"getDistinctId",value:function getDistinctId(){if(!this._isInitialized){return'';}return this.getPersistedProperty(_types.PostHogPersistedProperty.DistinctId)||this.getAnonymousId();}},{key:"unregister",value:function(){var _unregister=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17(property){var _this23=this;return _regenerator["default"].wrap(function _callee17$(_context17){while(1)switch(_context17.prev=_context17.next){case 0:this.wrap(function(){delete _this23.props[property];_this23.setPersistedProperty(_types.PostHogPersistedProperty.Props,_this23.props);});case 1:case"end":return _context17.stop();}},_callee17,this);}));function unregister(_x13){return _unregister.apply(this,arguments);}return unregister;}()},{key:"register",value:function(){var _register=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee18(properties){var _this24=this;return _regenerator["default"].wrap(function _callee18$(_context18){while(1)switch(_context18.prev=_context18.next){case 0:this.wrap(function(){_this24.props=_objectSpread(_objectSpread({},_this24.props),properties);_this24.setPersistedProperty(_types.PostHogPersistedProperty.Props,_this24.props);});case 1:case"end":return _context18.stop();}},_callee18,this);}));function register(_x14){return _register.apply(this,arguments);}return register;}()},{key:"registerForSession",value:function registerForSession(properties){this.sessionProps=_objectSpread(_objectSpread({},this.sessionProps),properties);}},{key:"unregisterForSession",value:function unregisterForSession(property){delete this.sessionProps[property];}},{key:"identify",value:function identify(distinctId,properties,options){var _this25=this;this.wrap(function(){var previousDistinctId=_this25.getDistinctId();distinctId=distinctId||previousDistinctId;if(properties===null||properties===void 0?void 0:properties.$groups){_this25.groups(properties.$groups);}var userPropsOnce=properties===null||properties===void 0?void 0:properties.$set_once;properties===null||properties===void 0?true:delete properties.$set_once;var userProps=(properties===null||properties===void 0?void 0:properties.$set)||properties;var allProperties=_this25.enrichProperties({$anon_distinct_id:_this25.getAnonymousId(),$set:userProps,$set_once:userPropsOnce});if(distinctId!==previousDistinctId){_this25.setPersistedProperty(_types.PostHogPersistedProperty.AnonymousId,previousDistinctId);_this25.setPersistedProperty(_types.PostHogPersistedProperty.DistinctId,distinctId);_this25.reloadFeatureFlags();}_superPropGet(PostHogCore,"identifyStateless",_this25,3)([distinctId,allProperties,options]);});}},{key:"capture",value:function capture(event,properties,options){var _this26=this;this.wrap(function(){var distinctId=_this26.getDistinctId();if(properties===null||properties===void 0?void 0:properties.$groups){_this26.groups(properties.$groups);}var allProperties=_this26.enrichProperties(properties);_superPropGet(PostHogCore,"captureStateless",_this26,3)([distinctId,event,allProperties,options]);});}},{key:"alias",value:function alias(_alias){var _this27=this;this.wrap(function(){var distinctId=_this27.getDistinctId();var allProperties=_this27.enrichProperties({});_superPropGet(PostHogCore,"aliasStateless",_this27,3)([_alias,distinctId,allProperties]);});}},{key:"autocapture",value:function autocapture(eventType,elements){var _this28=this;var properties=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var options=arguments.length>3?arguments[3]:undefined;this.wrap(function(){var distinctId=_this28.getDistinctId();var payload={distinct_id:distinctId,event:'$autocapture',properties:_objectSpread(_objectSpread({},_this28.enrichProperties(properties)),{},{$event_type:eventType,$elements:elements})};_this28.enqueue('autocapture',payload,options);});}},{key:"groups",value:function groups(_groups){var _this29=this;this.wrap(function(){var existingGroups=_this29.props.$groups||{};_this29.register({$groups:_objectSpread(_objectSpread({},existingGroups),_groups)});if(Object.keys(_groups).find(function(type){return existingGroups[type]!==_groups[type];})){_this29.reloadFeatureFlags();}});}},{key:"group",value:function group(groupType,groupKey,groupProperties,options){var _this30=this;this.wrap(function(){_this30.groups((0,_defineProperty2["default"])({},groupType,groupKey));if(groupProperties){_this30.groupIdentify(groupType,groupKey,groupProperties,options);}});}},{key:"groupIdentify",value:function groupIdentify(groupType,groupKey,groupProperties,options){var _this31=this;this.wrap(function(){var distinctId=_this31.getDistinctId();var eventProperties=_this31.enrichProperties({});_superPropGet(PostHogCore,"groupIdentifyStateless",_this31,3)([groupType,groupKey,groupProperties,options,distinctId,eventProperties]);});}},{key:"setPersonPropertiesForFlags",value:function setPersonPropertiesForFlags(properties){var _this32=this;this.wrap(function(){var existingProperties=_this32.getPersistedProperty(_types.PostHogPersistedProperty.PersonProperties)||{};_this32.setPersistedProperty(_types.PostHogPersistedProperty.PersonProperties,_objectSpread(_objectSpread({},existingProperties),properties));});}},{key:"resetPersonPropertiesForFlags",value:function resetPersonPropertiesForFlags(){var _this33=this;this.wrap(function(){_this33.setPersistedProperty(_types.PostHogPersistedProperty.PersonProperties,null);});}},{key:"personProperties",value:function personProperties(properties){return this.setPersonPropertiesForFlags(properties);}},{key:"setGroupPropertiesForFlags",value:function setGroupPropertiesForFlags(properties){var _this34=this;this.wrap(function(){var existingProperties=_this34.getPersistedProperty(_types.PostHogPersistedProperty.GroupProperties)||{};if(Object.keys(existingProperties).length!==0){Object.keys(existingProperties).forEach(function(groupType){existingProperties[groupType]=_objectSpread(_objectSpread({},existingProperties[groupType]),properties[groupType]);delete properties[groupType];});}_this34.setPersistedProperty(_types.PostHogPersistedProperty.GroupProperties,_objectSpread(_objectSpread({},existingProperties),properties));});}},{key:"resetGroupPropertiesForFlags",value:function resetGroupPropertiesForFlags(){var _this35=this;this.wrap(function(){_this35.setPersistedProperty(_types.PostHogPersistedProperty.GroupProperties,null);});}},{key:"groupProperties",value:function groupProperties(properties){var _this36=this;this.wrap(function(){_this36.setGroupPropertiesForFlags(properties);});}},{key:"remoteConfigAsync",value:function(){var _remoteConfigAsync2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee19(){return _regenerator["default"].wrap(function _callee19$(_context19){while(1)switch(_context19.prev=_context19.next){case 0:_context19.next=2;return this._initPromise;case 2:if(!this._remoteConfigResponsePromise){_context19.next=4;break;}return _context19.abrupt("return",this._remoteConfigResponsePromise);case 4:return _context19.abrupt("return",this._remoteConfigAsync());case 5:case"end":return _context19.stop();}},_callee19,this);}));function remoteConfigAsync(){return _remoteConfigAsync2.apply(this,arguments);}return remoteConfigAsync;}()},{key:"decideAsync",value:(function(){var _decideAsync2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee20(){var sendAnonDistinctId,_args20=arguments;return _regenerator["default"].wrap(function _callee20$(_context20){while(1)switch(_context20.prev=_context20.next){case 0:sendAnonDistinctId=_args20.length>0&&_args20[0]!==undefined?_args20[0]:true;_context20.next=3;return this._initPromise;case 3:if(!this._decideResponsePromise){_context20.next=5;break;}return _context20.abrupt("return",this._decideResponsePromise);case 5:return _context20.abrupt("return",this._decideAsync(sendAnonDistinctId));case 6:case"end":return _context20.stop();}},_callee20,this);}));function decideAsync(){return _decideAsync2.apply(this,arguments);}return decideAsync;}())},{key:"cacheSessionReplay",value:function cacheSessionReplay(response){var sessionReplay=response===null||response===void 0?void 0:response.sessionRecording;if(sessionReplay){this.setPersistedProperty(_types.PostHogPersistedProperty.SessionReplay,sessionReplay);this.logMsgIfDebug(function(){return console.log('PostHog Debug','Session replay config: ',JSON.stringify(sessionReplay));});}else{this.logMsgIfDebug(function(){return console.info('PostHog Debug','Session replay config disabled.');});this.setPersistedProperty(_types.PostHogPersistedProperty.SessionReplay,null);}}},{key:"_remoteConfigAsync",value:function(){var _remoteConfigAsync3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee21(){var _this37=this;return _regenerator["default"].wrap(function _callee21$(_context21){while(1)switch(_context21.prev=_context21.next){case 0:this._remoteConfigResponsePromise=this._initPromise.then(function(){var remoteConfig=_this37.getPersistedProperty(_types.PostHogPersistedProperty.RemoteConfig);_this37.logMsgIfDebug(function(){return console.log('PostHog Debug','Cached remote config: ',JSON.stringify(remoteConfig));});return _superPropGet(PostHogCore,"getRemoteConfig",_this37,3)([]).then(function(response){if(response){var remoteConfigWithoutSurveys=_objectSpread({},response);delete remoteConfigWithoutSurveys.surveys;_this37.logMsgIfDebug(function(){return console.log('PostHog Debug','Fetched remote config: ',JSON.stringify(remoteConfigWithoutSurveys));});var surveys=response.surveys;var hasSurveys=true;if(!Array.isArray(surveys)){_this37.logMsgIfDebug(function(){return console.log('PostHog Debug','There are no surveys.');});hasSurveys=false;}else{_this37.logMsgIfDebug(function(){return console.log('PostHog Debug','Surveys fetched from remote config: ',JSON.stringify(surveys));});}if(_this37.disableSurveys===false&&hasSurveys){_this37.setPersistedProperty(_types.PostHogPersistedProperty.Surveys,surveys);}else{_this37.setPersistedProperty(_types.PostHogPersistedProperty.Surveys,null);}_this37.setPersistedProperty(_types.PostHogPersistedProperty.RemoteConfig,remoteConfigWithoutSurveys);_this37.cacheSessionReplay(response);if(response.hasFeatureFlags===false){_this37.setKnownFeatureFlags({});_this37.setKnownFeatureFlagPayloads({});_this37.logMsgIfDebug(function(){return console.warn('Remote config has no feature flags, will not load feature flags.');});}else if(_this37.preloadFeatureFlags!==false){_this37.reloadFeatureFlags();}remoteConfig=response;}return remoteConfig;});})["finally"](function(){_this37._remoteConfigResponsePromise=undefined;});return _context21.abrupt("return",this._remoteConfigResponsePromise);case 2:case"end":return _context21.stop();}},_callee21,this);}));function _remoteConfigAsync(){return _remoteConfigAsync3.apply(this,arguments);}return _remoteConfigAsync;}()},{key:"_decideAsync",value:function(){var _decideAsync3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee23(){var _this38=this;var sendAnonDistinctId,_args23=arguments;return _regenerator["default"].wrap(function _callee23$(_context23){while(1)switch(_context23.prev=_context23.next){case 0:sendAnonDistinctId=_args23.length>0&&_args23[0]!==undefined?_args23[0]:true;this._decideResponsePromise=this._initPromise.then((0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee22(){var _a,distinctId,groups,personProperties,groupProperties,extraProperties,res,newFeatureFlags,newFeatureFlagPayloads,currentFlags,currentFlagPayloads;return _regenerator["default"].wrap(function _callee22$(_context22){while(1)switch(_context22.prev=_context22.next){case 0:distinctId=_this38.getDistinctId();groups=_this38.props.$groups||{};personProperties=_this38.getPersistedProperty(_types.PostHogPersistedProperty.PersonProperties)||{};groupProperties=_this38.getPersistedProperty(_types.PostHogPersistedProperty.GroupProperties)||{};extraProperties={$anon_distinct_id:sendAnonDistinctId?_this38.getAnonymousId():undefined};_context22.next=7;return _superPropGet(PostHogCore,"getDecide",_this38,3)([distinctId,groups,personProperties,groupProperties,extraProperties]);case 7:res=_context22.sent;if(!((_a=res===null||res===void 0?void 0:res.quotaLimited)===null||_a===void 0?void 0:_a.includes(QuotaLimitedFeature.FeatureFlags))){_context22.next=13;break;}_this38.setKnownFeatureFlags(null);_this38.setKnownFeatureFlagPayloads(null);console.warn('[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');return _context22.abrupt("return",res);case 13:if(res===null||res===void 0?void 0:res.featureFlags){if(_this38.sendFeatureFlagEvent){_this38.flagCallReported={};}newFeatureFlags=res.featureFlags;newFeatureFlagPayloads=res.featureFlagPayloads;if(res.errorsWhileComputingFlags){currentFlags=_this38.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlags);_this38.logMsgIfDebug(function(){return console.log('PostHog Debug','Cached feature flags: ',JSON.stringify(currentFlags));});currentFlagPayloads=_this38.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlagPayloads);newFeatureFlags=_objectSpread(_objectSpread({},currentFlags),res.featureFlags);newFeatureFlagPayloads=_objectSpread(_objectSpread({},currentFlagPayloads),res.featureFlagPayloads);}_this38.setKnownFeatureFlags(newFeatureFlags);_this38.setKnownFeatureFlagPayloads(Object.fromEntries(Object.entries(newFeatureFlagPayloads||{}).map(function(_ref6){var _ref7=(0,_slicedToArray2["default"])(_ref6,2),k=_ref7[0],v=_ref7[1];return[k,_this38._parsePayload(v)];})));_this38.setPersistedProperty(_types.PostHogPersistedProperty.DecideEndpointWasHit,true);_this38.cacheSessionReplay(res);}return _context22.abrupt("return",res);case 15:case"end":return _context22.stop();}},_callee22);})))["finally"](function(){_this38._decideResponsePromise=undefined;});return _context23.abrupt("return",this._decideResponsePromise);case 3:case"end":return _context23.stop();}},_callee23,this);}));function _decideAsync(){return _decideAsync3.apply(this,arguments);}return _decideAsync;}()},{key:"setKnownFeatureFlags",value:function setKnownFeatureFlags(featureFlags){var _this39=this;this.wrap(function(){_this39.setPersistedProperty(_types.PostHogPersistedProperty.FeatureFlags,featureFlags);_this39._events.emit('featureflags',featureFlags);});}},{key:"setKnownFeatureFlagPayloads",value:function setKnownFeatureFlagPayloads(featureFlagPayloads){var _this40=this;this.wrap(function(){_this40.setPersistedProperty(_types.PostHogPersistedProperty.FeatureFlagPayloads,featureFlagPayloads);});}},{key:"getFeatureFlag",value:function getFeatureFlag(key){var _a,_b;var featureFlags=this.getFeatureFlags();if(!featureFlags){return undefined;}var response=featureFlags[key];if(response===undefined){response=false;}if(this.sendFeatureFlagEvent&&!this.flagCallReported[key]){this.flagCallReported[key]=true;this.capture('$feature_flag_called',{$feature_flag:key,$feature_flag_response:response,$feature_flag_bootstrapped_response:(_a=this.getPersistedProperty(_types.PostHogPersistedProperty.BootstrapFeatureFlags))===null||_a===void 0?void 0:_a[key],$feature_flag_bootstrapped_payload:(_b=this.getPersistedProperty(_types.PostHogPersistedProperty.BootstrapFeatureFlagPayloads))===null||_b===void 0?void 0:_b[key],$used_bootstrap_value:!this.getPersistedProperty(_types.PostHogPersistedProperty.DecideEndpointWasHit)});}return response;}},{key:"getFeatureFlagPayload",value:function getFeatureFlagPayload(key){var payloads=this.getFeatureFlagPayloads();if(!payloads){return undefined;}var response=payloads[key];if(response===undefined){return null;}return response;}},{key:"getFeatureFlagPayloads",value:function getFeatureFlagPayloads(){var payloads=this.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlagPayloads);return payloads;}},{key:"getFeatureFlags",value:function getFeatureFlags(){var flags=this.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlags);var overriddenFlags=this.getPersistedProperty(_types.PostHogPersistedProperty.OverrideFeatureFlags);if(!overriddenFlags){return flags;}flags=flags||{};for(var key in overriddenFlags){if(!overriddenFlags[key]){delete flags[key];}else{flags[key]=overriddenFlags[key];}}return flags;}},{key:"getFeatureFlagsAndPayloads",value:function getFeatureFlagsAndPayloads(){var flags=this.getFeatureFlags();var payloads=this.getFeatureFlagPayloads();return{flags:flags,payloads:payloads};}},{key:"isFeatureEnabled",value:function isFeatureEnabled(key){var response=this.getFeatureFlag(key);if(response===undefined){return undefined;}return!!response;}},{key:"reloadFeatureFlags",value:function reloadFeatureFlags(cb){var _this41=this;this.decideAsync().then(function(res){cb===null||cb===void 0?void 0:cb(undefined,res===null||res===void 0?void 0:res.featureFlags);})["catch"](function(e){cb===null||cb===void 0?void 0:cb(e,undefined);if(!cb){_this41.logMsgIfDebug(function(){return console.log('[PostHog] Error reloading feature flags',e);});}});}},{key:"reloadRemoteConfigAsync",value:function(){var _reloadRemoteConfigAsync=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee24(){return _regenerator["default"].wrap(function _callee24$(_context24){while(1)switch(_context24.prev=_context24.next){case 0:_context24.next=2;return this.remoteConfigAsync();case 2:return _context24.abrupt("return",_context24.sent);case 3:case"end":return _context24.stop();}},_callee24,this);}));function reloadRemoteConfigAsync(){return _reloadRemoteConfigAsync.apply(this,arguments);}return reloadRemoteConfigAsync;}()},{key:"reloadFeatureFlagsAsync",value:function(){var _reloadFeatureFlagsAsync=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee25(){var sendAnonDistinctId,_a,_args25=arguments;return _regenerator["default"].wrap(function _callee25$(_context25){while(1)switch(_context25.prev=_context25.next){case 0:sendAnonDistinctId=_args25.length>0&&_args25[0]!==undefined?_args25[0]:true;_context25.next=3;return this.decideAsync(sendAnonDistinctId);case 3:_context25.t1=_a=_context25.sent;_context25.t0=_context25.t1===null;if(_context25.t0){_context25.next=7;break;}_context25.t0=_a===void 0;case 7:if(!_context25.t0){_context25.next=11;break;}_context25.t2=void 0;_context25.next=12;break;case 11:_context25.t2=_a.featureFlags;case 12:return _context25.abrupt("return",_context25.t2);case 13:case"end":return _context25.stop();}},_callee25,this);}));function reloadFeatureFlagsAsync(){return _reloadFeatureFlagsAsync.apply(this,arguments);}return reloadFeatureFlagsAsync;}()},{key:"onFeatureFlags",value:function onFeatureFlags(cb){var _this42=this;return this.on('featureflags',(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee26(){var flags;return _regenerator["default"].wrap(function _callee26$(_context26){while(1)switch(_context26.prev=_context26.next){case 0:flags=_this42.getFeatureFlags();if(flags){cb(flags);}case 2:case"end":return _context26.stop();}},_callee26);})));}},{key:"onFeatureFlag",value:function onFeatureFlag(key,cb){var _this43=this;return this.on('featureflags',(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee27(){var flagResponse;return _regenerator["default"].wrap(function _callee27$(_context27){while(1)switch(_context27.prev=_context27.next){case 0:flagResponse=_this43.getFeatureFlag(key);if(flagResponse!==undefined){cb(flagResponse);}case 2:case"end":return _context27.stop();}},_callee27);})));}},{key:"overrideFeatureFlag",value:function(){var _overrideFeatureFlag=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee28(flags){var _this44=this;return _regenerator["default"].wrap(function _callee28$(_context28){while(1)switch(_context28.prev=_context28.next){case 0:this.wrap(function(){if(flags===null){return _this44.setPersistedProperty(_types.PostHogPersistedProperty.OverrideFeatureFlags,null);}return _this44.setPersistedProperty(_types.PostHogPersistedProperty.OverrideFeatureFlags,flags);});case 1:case"end":return _context28.stop();}},_callee28,this);}));function overrideFeatureFlag(_x15){return _overrideFeatureFlag.apply(this,arguments);}return overrideFeatureFlag;}()},{key:"captureException",value:function captureException(error,additionalProperties){var properties=_objectSpread({$exception_level:'error',$exception_list:[{type:(0,_utils2.isError)(error)?error.name:'Error',value:(0,_utils2.isError)(error)?error.message:error,mechanism:{handled:true,synthetic:false}}]},additionalProperties);properties.$exception_personURL=new URL("/project/".concat(this.apiKey,"/person/").concat(this.getDistinctId()),this.host).toString();this.capture('$exception',properties);}},{key:"captureTraceFeedback",value:function captureTraceFeedback(traceId,userFeedback){this.capture('$ai_feedback',{$ai_feedback_text:userFeedback,$ai_trace_id:String(traceId)});}},{key:"captureTraceMetric",value:function captureTraceMetric(traceId,metricName,metricValue){this.capture('$ai_metric',{$ai_metric_name:metricName,$ai_metric_value:String(metricValue),$ai_trace_id:String(traceId)});}}]);}(PostHogCoreStateless);
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof3=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={PostHogCoreStateless:true,PostHogCore:true,utils:true,LZString:true};Object.defineProperty(exports,"LZString",{enumerable:true,get:function get(){return _lzString.LZString;}});exports.utils=exports.PostHogCoreStateless=exports.PostHogCore=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _get2=_interopRequireDefault(require("@babel/runtime/helpers/get"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _wrapNativeSuper2=_interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));var _types=require("./types");Object.keys(_types).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_types[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _types[key];}});});var _featureFlagUtils=require("./featureFlagUtils");var _utils2=_interopRequireWildcard(require("./utils"));var _utils=_utils2;exports.utils=_utils2;var _lzString=require("./lz-string");var _eventemitter=require("./eventemitter");var _uuidv=require("./vendor/uuidv7");function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=_typeof3(e)&&"function"!=typeof e)return{"default":e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n["default"]=e,t&&t.set(e,n),n;}function _superPropGet(t,e,o,r){var p=(0,_get2["default"])((0,_getPrototypeOf2["default"])(1&r?t.prototype:t),e,o);return 2&r&&"function"==typeof p?function(t){return p.apply(o,t);}:p;}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e));}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}var PostHogFetchHttpError=function(_Error){function PostHogFetchHttpError(response){var _this;(0,_classCallCheck2["default"])(this,PostHogFetchHttpError);_this=_callSuper(this,PostHogFetchHttpError,['HTTP error while fetching PostHog: '+response.status]);_this.response=response;_this.name='PostHogFetchHttpError';return _this;}(0,_inherits2["default"])(PostHogFetchHttpError,_Error);return(0,_createClass2["default"])(PostHogFetchHttpError);}((0,_wrapNativeSuper2["default"])(Error));var PostHogFetchNetworkError=function(_Error2){function PostHogFetchNetworkError(error){var _this2;(0,_classCallCheck2["default"])(this,PostHogFetchNetworkError);_this2=_callSuper(this,PostHogFetchNetworkError,['Network error while fetching PostHog',error instanceof Error?{cause:error}:{}]);_this2.error=error;_this2.name='PostHogFetchNetworkError';return _this2;}(0,_inherits2["default"])(PostHogFetchNetworkError,_Error2);return(0,_createClass2["default"])(PostHogFetchNetworkError);}((0,_wrapNativeSuper2["default"])(Error));function isPostHogFetchError(err){return(0,_typeof2["default"])(err)==='object'&&(err instanceof PostHogFetchHttpError||err instanceof PostHogFetchNetworkError);}var QuotaLimitedFeature;(function(QuotaLimitedFeature){QuotaLimitedFeature["FeatureFlags"]="feature_flags";QuotaLimitedFeature["Recordings"]="recordings";})(QuotaLimitedFeature||(QuotaLimitedFeature={}));var PostHogCoreStateless=exports.PostHogCoreStateless=function(){function PostHogCoreStateless(apiKey,options){(0,_classCallCheck2["default"])(this,PostHogCoreStateless);var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p;this.flushPromise=null;this.pendingPromises={};this._events=new _eventemitter.SimpleEventEmitter();this._isInitialized=false;(0,_utils2.assert)(apiKey,"You must pass your PostHog project's api key.");this.apiKey=apiKey;this.host=(0,_utils2.removeTrailingSlash)((options===null||options===void 0?void 0:options.host)||'https://us.i.posthog.com');this.flushAt=(options===null||options===void 0?void 0:options.flushAt)?Math.max(options===null||options===void 0?void 0:options.flushAt,1):20;this.maxBatchSize=Math.max(this.flushAt,(_a=options===null||options===void 0?void 0:options.maxBatchSize)!==null&&_a!==void 0?_a:100);this.maxQueueSize=Math.max(this.flushAt,(_b=options===null||options===void 0?void 0:options.maxQueueSize)!==null&&_b!==void 0?_b:1000);this.flushInterval=(_c=options===null||options===void 0?void 0:options.flushInterval)!==null&&_c!==void 0?_c:10000;this.captureMode=(options===null||options===void 0?void 0:options.captureMode)||'json';this.preloadFeatureFlags=(_d=options===null||options===void 0?void 0:options.preloadFeatureFlags)!==null&&_d!==void 0?_d:true;this.defaultOptIn=(_e=options===null||options===void 0?void 0:options.defaultOptIn)!==null&&_e!==void 0?_e:true;this.disableSurveys=(_f=options===null||options===void 0?void 0:options.disableSurveys)!==null&&_f!==void 0?_f:false;this._retryOptions={retryCount:(_g=options===null||options===void 0?void 0:options.fetchRetryCount)!==null&&_g!==void 0?_g:3,retryDelay:(_h=options===null||options===void 0?void 0:options.fetchRetryDelay)!==null&&_h!==void 0?_h:3000,retryCheck:isPostHogFetchError};this.requestTimeout=(_j=options===null||options===void 0?void 0:options.requestTimeout)!==null&&_j!==void 0?_j:10000;this.featureFlagsRequestTimeoutMs=(_k=options===null||options===void 0?void 0:options.featureFlagsRequestTimeoutMs)!==null&&_k!==void 0?_k:3000;this.remoteConfigRequestTimeoutMs=(_l=options===null||options===void 0?void 0:options.remoteConfigRequestTimeoutMs)!==null&&_l!==void 0?_l:3000;this.disableGeoip=(_m=options===null||options===void 0?void 0:options.disableGeoip)!==null&&_m!==void 0?_m:true;this.disabled=(_o=options===null||options===void 0?void 0:options.disabled)!==null&&_o!==void 0?_o:false;this.historicalMigration=(_p=options===null||options===void 0?void 0:options.historicalMigration)!==null&&_p!==void 0?_p:false;this._initPromise=Promise.resolve();this._isInitialized=true;}return(0,_createClass2["default"])(PostHogCoreStateless,[{key:"logMsgIfDebug",value:function logMsgIfDebug(fn){if(this.isDebug){fn();}}},{key:"wrap",value:function wrap(fn){if(this.disabled){this.logMsgIfDebug(function(){return console.warn('[PostHog] The client is disabled');});return;}if(this._isInitialized){return fn();}this._initPromise.then(function(){return fn();});}},{key:"getCommonEventProperties",value:function getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()};}},{key:"optedOut",get:function get(){var _a;return(_a=this.getPersistedProperty(_types.PostHogPersistedProperty.OptedOut))!==null&&_a!==void 0?_a:!this.defaultOptIn;}},{key:"optIn",value:function(){var _optIn=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var _this3=this;return _regenerator["default"].wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:this.wrap(function(){_this3.setPersistedProperty(_types.PostHogPersistedProperty.OptedOut,false);});case 1:case"end":return _context.stop();}},_callee,this);}));function optIn(){return _optIn.apply(this,arguments);}return optIn;}()},{key:"optOut",value:function(){var _optOut=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var _this4=this;return _regenerator["default"].wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:this.wrap(function(){_this4.setPersistedProperty(_types.PostHogPersistedProperty.OptedOut,true);});case 1:case"end":return _context2.stop();}},_callee2,this);}));function optOut(){return _optOut.apply(this,arguments);}return optOut;}()},{key:"on",value:function on(event,cb){return this._events.on(event,cb);}},{key:"debug",value:function debug(){var _this5=this;var enabled=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var _a;(_a=this.removeDebugCallback)===null||_a===void 0?void 0:_a.call(this);if(enabled){var removeDebugCallback=this.on('*',function(event,payload){return console.log('PostHog Debug',event,payload);});this.removeDebugCallback=function(){removeDebugCallback();_this5.removeDebugCallback=undefined;};}}},{key:"isDebug",get:function get(){return!!this.removeDebugCallback;}},{key:"isDisabled",get:function get(){return this.disabled;}},{key:"buildPayload",value:function buildPayload(payload){return{distinct_id:payload.distinct_id,event:payload.event,properties:_objectSpread(_objectSpread({},payload.properties||{}),this.getCommonEventProperties())};}},{key:"addPendingPromise",value:function addPendingPromise(promise){var _this6=this;var promiseUUID=(0,_uuidv.uuidv7)();this.pendingPromises[promiseUUID]=promise;promise["catch"](function(){})["finally"](function(){delete _this6.pendingPromises[promiseUUID];});return promise;}},{key:"identifyStateless",value:function identifyStateless(distinctId,properties,options){var _this7=this;this.wrap(function(){var payload=_objectSpread({},_this7.buildPayload({distinct_id:distinctId,event:'$identify',properties:properties}));_this7.enqueue('identify',payload,options);});}},{key:"captureStateless",value:function captureStateless(distinctId,event,properties,options){var _this8=this;this.wrap(function(){var payload=_this8.buildPayload({distinct_id:distinctId,event:event,properties:properties});_this8.enqueue('capture',payload,options);});}},{key:"aliasStateless",value:function aliasStateless(alias,distinctId,properties,options){var _this9=this;this.wrap(function(){var payload=_this9.buildPayload({event:'$create_alias',distinct_id:distinctId,properties:_objectSpread(_objectSpread({},properties||{}),{},{distinct_id:distinctId,alias:alias})});_this9.enqueue('alias',payload,options);});}},{key:"groupIdentifyStateless",value:function groupIdentifyStateless(groupType,groupKey,groupProperties,options,distinctId,eventProperties){var _this10=this;this.wrap(function(){var payload=_this10.buildPayload({distinct_id:distinctId||"$".concat(groupType,"_").concat(groupKey),event:'$groupidentify',properties:_objectSpread({$group_type:groupType,$group_key:groupKey,$group_set:groupProperties||{}},eventProperties||{})});_this10.enqueue('capture',payload,options);});}},{key:"getRemoteConfig",value:function(){var _getRemoteConfig=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(){var _this11=this;var host,url,fetchOptions;return _regenerator["default"].wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return this._initPromise;case 2:host=this.host;if(host==='https://us.i.posthog.com'){host='https://us-assets.i.posthog.com';}else if(host==='https://eu.i.posthog.com'){host='https://eu-assets.i.posthog.com';}url="".concat(host,"/array/").concat(this.apiKey,"/config");fetchOptions={method:'GET',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'})};return _context3.abrupt("return",this.fetchWithRetry(url,fetchOptions,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(function(response){return response.json();})["catch"](function(error){_this11.logMsgIfDebug(function(){return console.error('Remote config could not be loaded',error);});_this11._events.emit('error',error);return undefined;}));case 7:case"end":return _context3.stop();}},_callee3,this);}));function getRemoteConfig(){return _getRemoteConfig.apply(this,arguments);}return getRemoteConfig;}()},{key:"getDecide",value:(function(){var _getDecide=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(distinctId){var _this12=this;var groups,personProperties,groupProperties,extraPayload,url,fetchOptions,_args4=arguments;return _regenerator["default"].wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:groups=_args4.length>1&&_args4[1]!==undefined?_args4[1]:{};personProperties=_args4.length>2&&_args4[2]!==undefined?_args4[2]:{};groupProperties=_args4.length>3&&_args4[3]!==undefined?_args4[3]:{};extraPayload=_args4.length>4&&_args4[4]!==undefined?_args4[4]:{};_context4.next=6;return this._initPromise;case 6:url="".concat(this.host,"/decide/?v=4");fetchOptions={method:'POST',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'}),body:JSON.stringify(_objectSpread({token:this.apiKey,distinct_id:distinctId,groups:groups,person_properties:personProperties,group_properties:groupProperties},extraPayload))};return _context4.abrupt("return",this.fetchWithRetry(url,fetchOptions,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(function(response){return response.json();}).then(function(response){return(0,_featureFlagUtils.normalizeDecideResponse)(response);})["catch"](function(error){_this12._events.emit('error',error);return undefined;}));case 9:case"end":return _context4.stop();}},_callee4,this);}));function getDecide(_x){return _getDecide.apply(this,arguments);}return getDecide;}())},{key:"getFeatureFlagStateless",value:function(){var _getFeatureFlagStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(key,distinctId){var groups,personProperties,groupProperties,disableGeoip,flagDetailResponse,response,_args5=arguments;return _regenerator["default"].wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:groups=_args5.length>2&&_args5[2]!==undefined?_args5[2]:{};personProperties=_args5.length>3&&_args5[3]!==undefined?_args5[3]:{};groupProperties=_args5.length>4&&_args5[4]!==undefined?_args5[4]:{};disableGeoip=_args5.length>5?_args5[5]:undefined;_context5.next=6;return this._initPromise;case 6:_context5.next=8;return this.getFeatureFlagDetailStateless(key,distinctId,groups,personProperties,groupProperties,disableGeoip);case 8:flagDetailResponse=_context5.sent;if(!(flagDetailResponse===undefined)){_context5.next=11;break;}return _context5.abrupt("return",{response:undefined,requestId:undefined});case 11:response=(0,_featureFlagUtils.getFeatureFlagValue)(flagDetailResponse.response);if(response===undefined){response=false;}return _context5.abrupt("return",{response:response,requestId:flagDetailResponse.requestId});case 14:case"end":return _context5.stop();}},_callee5,this);}));function getFeatureFlagStateless(_x2,_x3){return _getFeatureFlagStateless.apply(this,arguments);}return getFeatureFlagStateless;}()},{key:"getFeatureFlagDetailStateless",value:function(){var _getFeatureFlagDetailStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(key,distinctId){var groups,personProperties,groupProperties,disableGeoip,decideResponse,featureFlags,flagDetail,_args6=arguments;return _regenerator["default"].wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:groups=_args6.length>2&&_args6[2]!==undefined?_args6[2]:{};personProperties=_args6.length>3&&_args6[3]!==undefined?_args6[3]:{};groupProperties=_args6.length>4&&_args6[4]!==undefined?_args6[4]:{};disableGeoip=_args6.length>5?_args6[5]:undefined;_context6.next=6;return this._initPromise;case 6:_context6.next=8;return this.getFeatureFlagDetailsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,[key]);case 8:decideResponse=_context6.sent;if(!(decideResponse===undefined)){_context6.next=11;break;}return _context6.abrupt("return",undefined);case 11:featureFlags=decideResponse.flags;flagDetail=featureFlags[key];return _context6.abrupt("return",{response:flagDetail,requestId:decideResponse.requestId});case 14:case"end":return _context6.stop();}},_callee6,this);}));function getFeatureFlagDetailStateless(_x4,_x5){return _getFeatureFlagDetailStateless.apply(this,arguments);}return getFeatureFlagDetailStateless;}()},{key:"getFeatureFlagPayloadStateless",value:function(){var _getFeatureFlagPayloadStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(key,distinctId){var groups,personProperties,groupProperties,disableGeoip,payloads,response,_args7=arguments;return _regenerator["default"].wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:groups=_args7.length>2&&_args7[2]!==undefined?_args7[2]:{};personProperties=_args7.length>3&&_args7[3]!==undefined?_args7[3]:{};groupProperties=_args7.length>4&&_args7[4]!==undefined?_args7[4]:{};disableGeoip=_args7.length>5?_args7[5]:undefined;_context7.next=6;return this._initPromise;case 6:_context7.next=8;return this.getFeatureFlagPayloadsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,[key]);case 8:payloads=_context7.sent;if(payloads){_context7.next=11;break;}return _context7.abrupt("return",undefined);case 11:response=payloads[key];if(!(response===undefined)){_context7.next=14;break;}return _context7.abrupt("return",null);case 14:return _context7.abrupt("return",response);case 15:case"end":return _context7.stop();}},_callee7,this);}));function getFeatureFlagPayloadStateless(_x6,_x7){return _getFeatureFlagPayloadStateless.apply(this,arguments);}return getFeatureFlagPayloadStateless;}()},{key:"getFeatureFlagPayloadsStateless",value:function(){var _getFeatureFlagPayloadsStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(distinctId){var groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate,payloads,_args8=arguments;return _regenerator["default"].wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:groups=_args8.length>1&&_args8[1]!==undefined?_args8[1]:{};personProperties=_args8.length>2&&_args8[2]!==undefined?_args8[2]:{};groupProperties=_args8.length>3&&_args8[3]!==undefined?_args8[3]:{};disableGeoip=_args8.length>4?_args8[4]:undefined;flagKeysToEvaluate=_args8.length>5?_args8[5]:undefined;_context8.next=7;return this._initPromise;case 7:_context8.next=9;return this.getFeatureFlagsAndPayloadsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate);case 9:payloads=_context8.sent.payloads;return _context8.abrupt("return",payloads);case 11:case"end":return _context8.stop();}},_callee8,this);}));function getFeatureFlagPayloadsStateless(_x8){return _getFeatureFlagPayloadsStateless.apply(this,arguments);}return getFeatureFlagPayloadsStateless;}()},{key:"getFeatureFlagsStateless",value:function(){var _getFeatureFlagsStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(distinctId){var groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate,_args9=arguments;return _regenerator["default"].wrap(function _callee9$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:groups=_args9.length>1&&_args9[1]!==undefined?_args9[1]:{};personProperties=_args9.length>2&&_args9[2]!==undefined?_args9[2]:{};groupProperties=_args9.length>3&&_args9[3]!==undefined?_args9[3]:{};disableGeoip=_args9.length>4?_args9[4]:undefined;flagKeysToEvaluate=_args9.length>5?_args9[5]:undefined;_context9.next=7;return this._initPromise;case 7:_context9.next=9;return this.getFeatureFlagsAndPayloadsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate);case 9:return _context9.abrupt("return",_context9.sent);case 10:case"end":return _context9.stop();}},_callee9,this);}));function getFeatureFlagsStateless(_x9){return _getFeatureFlagsStateless.apply(this,arguments);}return getFeatureFlagsStateless;}()},{key:"getFeatureFlagsAndPayloadsStateless",value:function(){var _getFeatureFlagsAndPayloadsStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(distinctId){var groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate,featureFlagDetails,_args10=arguments;return _regenerator["default"].wrap(function _callee10$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:groups=_args10.length>1&&_args10[1]!==undefined?_args10[1]:{};personProperties=_args10.length>2&&_args10[2]!==undefined?_args10[2]:{};groupProperties=_args10.length>3&&_args10[3]!==undefined?_args10[3]:{};disableGeoip=_args10.length>4?_args10[4]:undefined;flagKeysToEvaluate=_args10.length>5?_args10[5]:undefined;_context10.next=7;return this._initPromise;case 7:_context10.next=9;return this.getFeatureFlagDetailsStateless(distinctId,groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate);case 9:featureFlagDetails=_context10.sent;if(featureFlagDetails){_context10.next=12;break;}return _context10.abrupt("return",{flags:undefined,payloads:undefined,requestId:undefined});case 12:return _context10.abrupt("return",{flags:featureFlagDetails.featureFlags,payloads:featureFlagDetails.featureFlagPayloads,requestId:featureFlagDetails.requestId});case 13:case"end":return _context10.stop();}},_callee10,this);}));function getFeatureFlagsAndPayloadsStateless(_x10){return _getFeatureFlagsAndPayloadsStateless.apply(this,arguments);}return getFeatureFlagsAndPayloadsStateless;}()},{key:"getFeatureFlagDetailsStateless",value:function(){var _getFeatureFlagDetailsStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(distinctId){var groups,personProperties,groupProperties,disableGeoip,flagKeysToEvaluate,_a,extraPayload,decideResponse,_args11=arguments;return _regenerator["default"].wrap(function _callee11$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:groups=_args11.length>1&&_args11[1]!==undefined?_args11[1]:{};personProperties=_args11.length>2&&_args11[2]!==undefined?_args11[2]:{};groupProperties=_args11.length>3&&_args11[3]!==undefined?_args11[3]:{};disableGeoip=_args11.length>4?_args11[4]:undefined;flagKeysToEvaluate=_args11.length>5?_args11[5]:undefined;_context11.next=7;return this._initPromise;case 7:extraPayload={};if(disableGeoip!==null&&disableGeoip!==void 0?disableGeoip:this.disableGeoip){extraPayload['geoip_disable']=true;}if(flagKeysToEvaluate){extraPayload['flag_keys_to_evaluate']=flagKeysToEvaluate;}_context11.next=12;return this.getDecide(distinctId,groups,personProperties,groupProperties,extraPayload);case 12:decideResponse=_context11.sent;if(!(decideResponse===undefined)){_context11.next=15;break;}return _context11.abrupt("return",undefined);case 15:if(decideResponse.errorsWhileComputingFlags){console.error('[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices');}if(!((_a=decideResponse.quotaLimited)===null||_a===void 0?void 0:_a.includes(QuotaLimitedFeature.FeatureFlags))){_context11.next=19;break;}console.warn('[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');return _context11.abrupt("return",{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:decideResponse===null||decideResponse===void 0?void 0:decideResponse.requestId});case 19:return _context11.abrupt("return",decideResponse);case 20:case"end":return _context11.stop();}},_callee11,this);}));function getFeatureFlagDetailsStateless(_x11){return _getFeatureFlagDetailsStateless.apply(this,arguments);}return getFeatureFlagDetailsStateless;}()},{key:"getSurveysStateless",value:(function(){var _getSurveysStateless=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(){var _this13=this;var url,fetchOptions,response,newSurveys;return _regenerator["default"].wrap(function _callee12$(_context12){while(1)switch(_context12.prev=_context12.next){case 0:_context12.next=2;return this._initPromise;case 2:if(!(this.disableSurveys===true)){_context12.next=5;break;}this.logMsgIfDebug(function(){return console.log('Loading surveys is disabled.');});return _context12.abrupt("return",[]);case 5:url="".concat(this.host,"/api/surveys/?token=").concat(this.apiKey);fetchOptions={method:'GET',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'})};_context12.next=9;return this.fetchWithRetry(url,fetchOptions).then(function(response){if(response.status!==200||!response.json){var msg="Surveys API could not be loaded: ".concat(response.status);var error=new Error(msg);_this13.logMsgIfDebug(function(){return console.error(error);});_this13._events.emit('error',new Error(msg));return undefined;}return response.json();})["catch"](function(error){_this13.logMsgIfDebug(function(){return console.error('Surveys API could not be loaded',error);});_this13._events.emit('error',error);return undefined;});case 9:response=_context12.sent;newSurveys=response===null||response===void 0?void 0:response.surveys;if(newSurveys){this.logMsgIfDebug(function(){return console.log('PostHog Debug','Surveys fetched from API: ',JSON.stringify(newSurveys));});}return _context12.abrupt("return",newSurveys!==null&&newSurveys!==void 0?newSurveys:[]);case 13:case"end":return _context12.stop();}},_callee12,this);}));function getSurveysStateless(){return _getSurveysStateless.apply(this,arguments);}return getSurveysStateless;}())},{key:"enqueue",value:function enqueue(type,_message,options){var _this14=this;this.wrap(function(){var _a;if(_this14.optedOut){_this14._events.emit(type,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return;}var message=_objectSpread(_objectSpread({},_message),{},{type:type,library:_this14.getLibraryId(),library_version:_this14.getLibraryVersion(),timestamp:(options===null||options===void 0?void 0:options.timestamp)?options===null||options===void 0?void 0:options.timestamp:(0,_utils2.currentISOTime)(),uuid:(options===null||options===void 0?void 0:options.uuid)?options.uuid:(0,_uuidv.uuidv7)()});var addGeoipDisableProperty=(_a=options===null||options===void 0?void 0:options.disableGeoip)!==null&&_a!==void 0?_a:_this14.disableGeoip;if(addGeoipDisableProperty){if(!message.properties){message.properties={};}message['properties']['$geoip_disable']=true;}if(message.distinctId){message.distinct_id=message.distinctId;delete message.distinctId;}var queue=_this14.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];if(queue.length>=_this14.maxQueueSize){queue.shift();_this14.logMsgIfDebug(function(){return console.info('Queue is full, the oldest event is dropped.');});}queue.push({message:message});_this14.setPersistedProperty(_types.PostHogPersistedProperty.Queue,queue);_this14._events.emit(type,message);if(queue.length>=_this14.flushAt){_this14.flushBackground();}if(_this14.flushInterval&&!_this14._flushTimer){_this14._flushTimer=(0,_utils2.safeSetTimeout)(function(){return _this14.flushBackground();},_this14.flushInterval);}});}},{key:"clearFlushTimer",value:function clearFlushTimer(){if(this._flushTimer){clearTimeout(this._flushTimer);this._flushTimer=undefined;}}},{key:"flushBackground",value:function flushBackground(){void this.flush()["catch"](function(){});}},{key:"flush",value:function(){var _flush2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(){var _this15=this;return _regenerator["default"].wrap(function _callee13$(_context13){while(1)switch(_context13.prev=_context13.next){case 0:if(!this.flushPromise){this.flushPromise=this._flush()["finally"](function(){_this15.flushPromise=null;});this.addPendingPromise(this.flushPromise);}return _context13.abrupt("return",this.flushPromise);case 2:case"end":return _context13.stop();}},_callee13,this);}));function flush(){return _flush2.apply(this,arguments);}return flush;}()},{key:"getCustomHeaders",value:function getCustomHeaders(){var customUserAgent=this.getCustomUserAgent();var headers={};if(customUserAgent&&customUserAgent!==''){headers['User-Agent']=customUserAgent;}return headers;}},{key:"_flush",value:function(){var _flush3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(){var _this16=this;var queue,items,messages,persistQueueChange,data,payload,url,fetchOptions;return _regenerator["default"].wrap(function _callee14$(_context14){while(1)switch(_context14.prev=_context14.next){case 0:this.clearFlushTimer();_context14.next=3;return this._initPromise;case 3:queue=this.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];if(queue.length){_context14.next=6;break;}return _context14.abrupt("return",[]);case 6:items=queue.slice(0,this.maxBatchSize);messages=items.map(function(item){return item.message;});persistQueueChange=function persistQueueChange(){var refreshedQueue=_this16.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];_this16.setPersistedProperty(_types.PostHogPersistedProperty.Queue,refreshedQueue.slice(items.length));};data={api_key:this.apiKey,batch:messages,sent_at:(0,_utils2.currentISOTime)()};if(this.historicalMigration){data.historical_migration=true;}payload=JSON.stringify(data);url=this.captureMode==='form'?"".concat(this.host,"/e/?ip=1&_=").concat((0,_utils2.currentTimestamp)(),"&v=").concat(this.getLibraryVersion()):"".concat(this.host,"/batch/");fetchOptions=this.captureMode==='form'?{method:'POST',mode:'no-cors',credentials:'omit',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/x-www-form-urlencoded'}),body:"data=".concat(encodeURIComponent(_lzString.LZString.compressToBase64(payload)),"&compression=lz64")}:{method:'POST',headers:_objectSpread(_objectSpread({},this.getCustomHeaders()),{},{'Content-Type':'application/json'}),body:payload};_context14.prev=14;_context14.next=17;return this.fetchWithRetry(url,fetchOptions);case 17:_context14.next=24;break;case 19:_context14.prev=19;_context14.t0=_context14["catch"](14);if(!(_context14.t0 instanceof PostHogFetchNetworkError)){persistQueueChange();}this._events.emit('error',_context14.t0);throw _context14.t0;case 24:persistQueueChange();this._events.emit('flush',messages);return _context14.abrupt("return",messages);case 27:case"end":return _context14.stop();}},_callee14,this,[[14,19]]);}));function _flush(){return _flush3.apply(this,arguments);}return _flush;}()},{key:"fetchWithRetry",value:function(){var _fetchWithRetry=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16(url,options,retryOptions,requestTimeout){var _this17=this;var _a,_b;return _regenerator["default"].wrap(function _callee16$(_context16){while(1)switch(_context16.prev=_context16.next){case 0:;(_a=(_b=AbortSignal).timeout)!==null&&_a!==void 0?_a:_b.timeout=function timeout(ms){var ctrl=new AbortController();setTimeout(function(){return ctrl.abort();},ms);return ctrl.signal;};_context16.next=4;return(0,_utils2.retriable)((0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15(){var res,isNoCors;return _regenerator["default"].wrap(function _callee15$(_context15){while(1)switch(_context15.prev=_context15.next){case 0:res=null;_context15.prev=1;_context15.next=4;return _this17.fetch(url,_objectSpread({signal:AbortSignal.timeout(requestTimeout!==null&&requestTimeout!==void 0?requestTimeout:_this17.requestTimeout)},options));case 4:res=_context15.sent;_context15.next=10;break;case 7:_context15.prev=7;_context15.t0=_context15["catch"](1);throw new PostHogFetchNetworkError(_context15.t0);case 10:isNoCors=options.mode==='no-cors';if(!(!isNoCors&&(res.status<200||res.status>=400))){_context15.next=13;break;}throw new PostHogFetchHttpError(res);case 13:return _context15.abrupt("return",res);case 14:case"end":return _context15.stop();}},_callee15,null,[[1,7]]);})),_objectSpread(_objectSpread({},this._retryOptions),retryOptions));case 4:return _context16.abrupt("return",_context16.sent);case 5:case"end":return _context16.stop();}},_callee16,this);}));function fetchWithRetry(_x12,_x13,_x14,_x15){return _fetchWithRetry.apply(this,arguments);}return fetchWithRetry;}()},{key:"shutdown",value:function(){var _shutdown=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee18(){var _this18=this;var shutdownTimeoutMs,hasTimedOut,doShutdown,_args18=arguments;return _regenerator["default"].wrap(function _callee18$(_context18){while(1)switch(_context18.prev=_context18.next){case 0:shutdownTimeoutMs=_args18.length>0&&_args18[0]!==undefined?_args18[0]:30000;_context18.next=3;return this._initPromise;case 3:hasTimedOut=false;this.clearFlushTimer();doShutdown=function(){var _ref2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17(){var queue;return _regenerator["default"].wrap(function _callee17$(_context17){while(1)switch(_context17.prev=_context17.next){case 0:_context17.prev=0;_context17.next=3;return Promise.all(Object.values(_this18.pendingPromises));case 3:if(!true){_context17.next=13;break;}queue=_this18.getPersistedProperty(_types.PostHogPersistedProperty.Queue)||[];if(!(queue.length===0)){_context17.next=7;break;}return _context17.abrupt("break",13);case 7:_context17.next=9;return _this18.flush();case 9:if(!hasTimedOut){_context17.next=11;break;}return _context17.abrupt("break",13);case 11:_context17.next=3;break;case 13:_context17.next=20;break;case 15:_context17.prev=15;_context17.t0=_context17["catch"](0);if(isPostHogFetchError(_context17.t0)){_context17.next=19;break;}throw _context17.t0;case 19:_this18.logMsgIfDebug(function(){return console.error('Error while shutting down PostHog',_context17.t0);});case 20:case"end":return _context17.stop();}},_callee17,null,[[0,15]]);}));return function doShutdown(){return _ref2.apply(this,arguments);};}();return _context18.abrupt("return",Promise.race([new Promise(function(_,reject){(0,_utils2.safeSetTimeout)(function(){_this18.logMsgIfDebug(function(){return console.error('Timed out while shutting down PostHog');});hasTimedOut=true;reject('Timeout while shutting down PostHog. Some events may not have been sent.');},shutdownTimeoutMs);}),doShutdown()]));case 7:case"end":return _context18.stop();}},_callee18,this);}));function shutdown(){return _shutdown.apply(this,arguments);}return shutdown;}()}]);}();var PostHogCore=exports.PostHogCore=function(_PostHogCoreStateless){function PostHogCore(apiKey,options){var _this19;(0,_classCallCheck2["default"])(this,PostHogCore);var _a,_b,_c,_d;var disableGeoipOption=(_a=options===null||options===void 0?void 0:options.disableGeoip)!==null&&_a!==void 0?_a:false;var featureFlagsRequestTimeoutMs=(_b=options===null||options===void 0?void 0:options.featureFlagsRequestTimeoutMs)!==null&&_b!==void 0?_b:10000;_this19=_callSuper(this,PostHogCore,[apiKey,_objectSpread(_objectSpread({},options),{},{disableGeoip:disableGeoipOption,featureFlagsRequestTimeoutMs:featureFlagsRequestTimeoutMs})]);_this19.flagCallReported={};_this19.sessionProps={};_this19.sendFeatureFlagEvent=(_c=options===null||options===void 0?void 0:options.sendFeatureFlagEvent)!==null&&_c!==void 0?_c:true;_this19._sessionExpirationTimeSeconds=(_d=options===null||options===void 0?void 0:options.sessionExpirationTimeSeconds)!==null&&_d!==void 0?_d:1800;return _this19;}(0,_inherits2["default"])(PostHogCore,_PostHogCoreStateless);return(0,_createClass2["default"])(PostHogCore,[{key:"setupBootstrap",value:function setupBootstrap(options){var _a;var bootstrap=options===null||options===void 0?void 0:options.bootstrap;if(!bootstrap){return;}if(bootstrap.distinctId){if(bootstrap.isIdentifiedId){var distinctId=this.getPersistedProperty(_types.PostHogPersistedProperty.DistinctId);if(!distinctId){this.setPersistedProperty(_types.PostHogPersistedProperty.DistinctId,bootstrap.distinctId);}}else{var anonymousId=this.getPersistedProperty(_types.PostHogPersistedProperty.AnonymousId);if(!anonymousId){this.setPersistedProperty(_types.PostHogPersistedProperty.AnonymousId,bootstrap.distinctId);}}}var bootstrapFeatureFlags=bootstrap.featureFlags;var bootstrapFeatureFlagPayloads=(_a=bootstrap.featureFlagPayloads)!==null&&_a!==void 0?_a:{};if(bootstrapFeatureFlags&&Object.keys(bootstrapFeatureFlags).length){var normalizedBootstrapFeatureFlagDetails=(0,_featureFlagUtils.createDecideResponseFromFlagsAndPayloads)(bootstrapFeatureFlags,bootstrapFeatureFlagPayloads);if(Object.keys(normalizedBootstrapFeatureFlagDetails.flags).length>0){this.setBootstrappedFeatureFlagDetails(normalizedBootstrapFeatureFlagDetails);var currentFeatureFlagDetails=this.getKnownFeatureFlagDetails()||{flags:{},requestId:undefined};var newFeatureFlagDetails={flags:_objectSpread(_objectSpread({},normalizedBootstrapFeatureFlagDetails.flags),currentFeatureFlagDetails.flags),requestId:normalizedBootstrapFeatureFlagDetails.requestId};this.setKnownFeatureFlagDetails(newFeatureFlagDetails);}}}},{key:"props",get:function get(){if(!this._props){this._props=this.getPersistedProperty(_types.PostHogPersistedProperty.Props);}return this._props||{};},set:function set(val){this._props=val;}},{key:"clearProps",value:function clearProps(){this.props=undefined;this.sessionProps={};this.flagCallReported={};}},{key:"on",value:function on(event,cb){return this._events.on(event,cb);}},{key:"reset",value:function reset(propertiesToKeep){var _this20=this;this.wrap(function(){var allPropertiesToKeep=[_types.PostHogPersistedProperty.Queue].concat((0,_toConsumableArray2["default"])(propertiesToKeep||[]));_this20.clearProps();for(var _i=0,_Object$keys=Object.keys(_types.PostHogPersistedProperty);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];if(!allPropertiesToKeep.includes(_types.PostHogPersistedProperty[key])){_this20.setPersistedProperty(_types.PostHogPersistedProperty[key],null);}}_this20.reloadFeatureFlags();});}},{key:"getCommonEventProperties",value:function getCommonEventProperties(){var featureFlags=this.getFeatureFlags();var featureVariantProperties={};if(featureFlags){for(var _i2=0,_Object$entries=Object.entries(featureFlags);_i2<_Object$entries.length;_i2++){var _Object$entries$_i=(0,_slicedToArray2["default"])(_Object$entries[_i2],2),feature=_Object$entries$_i[0],variant=_Object$entries$_i[1];featureVariantProperties["$feature/".concat(feature)]=variant;}}return _objectSpread(_objectSpread({$active_feature_flags:featureFlags?Object.keys(featureFlags):undefined},featureVariantProperties),_superPropGet(PostHogCore,"getCommonEventProperties",this,3)([]));}},{key:"enrichProperties",value:function enrichProperties(properties){return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({},this.props),this.sessionProps),properties||{}),this.getCommonEventProperties()),{},{$session_id:this.getSessionId()});}},{key:"getSessionId",value:function getSessionId(){if(!this._isInitialized){return'';}var sessionId=this.getPersistedProperty(_types.PostHogPersistedProperty.SessionId);var sessionTimestamp=this.getPersistedProperty(_types.PostHogPersistedProperty.SessionLastTimestamp)||0;if(!sessionId||Date.now()-sessionTimestamp>this._sessionExpirationTimeSeconds*1000){sessionId=(0,_uuidv.uuidv7)();this.setPersistedProperty(_types.PostHogPersistedProperty.SessionId,sessionId);}this.setPersistedProperty(_types.PostHogPersistedProperty.SessionLastTimestamp,Date.now());return sessionId;}},{key:"resetSessionId",value:function resetSessionId(){var _this21=this;this.wrap(function(){_this21.setPersistedProperty(_types.PostHogPersistedProperty.SessionId,null);_this21.setPersistedProperty(_types.PostHogPersistedProperty.SessionLastTimestamp,null);});}},{key:"getAnonymousId",value:function getAnonymousId(){if(!this._isInitialized){return'';}var anonId=this.getPersistedProperty(_types.PostHogPersistedProperty.AnonymousId);if(!anonId){anonId=(0,_uuidv.uuidv7)();this.setPersistedProperty(_types.PostHogPersistedProperty.AnonymousId,anonId);}return anonId;}},{key:"getDistinctId",value:function getDistinctId(){if(!this._isInitialized){return'';}return this.getPersistedProperty(_types.PostHogPersistedProperty.DistinctId)||this.getAnonymousId();}},{key:"unregister",value:function(){var _unregister=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee19(property){var _this22=this;return _regenerator["default"].wrap(function _callee19$(_context19){while(1)switch(_context19.prev=_context19.next){case 0:this.wrap(function(){delete _this22.props[property];_this22.setPersistedProperty(_types.PostHogPersistedProperty.Props,_this22.props);});case 1:case"end":return _context19.stop();}},_callee19,this);}));function unregister(_x16){return _unregister.apply(this,arguments);}return unregister;}()},{key:"register",value:function(){var _register=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee20(properties){var _this23=this;return _regenerator["default"].wrap(function _callee20$(_context20){while(1)switch(_context20.prev=_context20.next){case 0:this.wrap(function(){_this23.props=_objectSpread(_objectSpread({},_this23.props),properties);_this23.setPersistedProperty(_types.PostHogPersistedProperty.Props,_this23.props);});case 1:case"end":return _context20.stop();}},_callee20,this);}));function register(_x17){return _register.apply(this,arguments);}return register;}()},{key:"registerForSession",value:function registerForSession(properties){this.sessionProps=_objectSpread(_objectSpread({},this.sessionProps),properties);}},{key:"unregisterForSession",value:function unregisterForSession(property){delete this.sessionProps[property];}},{key:"identify",value:function identify(distinctId,properties,options){var _this24=this;this.wrap(function(){var previousDistinctId=_this24.getDistinctId();distinctId=distinctId||previousDistinctId;if(properties===null||properties===void 0?void 0:properties.$groups){_this24.groups(properties.$groups);}var userPropsOnce=properties===null||properties===void 0?void 0:properties.$set_once;properties===null||properties===void 0?true:delete properties.$set_once;var userProps=(properties===null||properties===void 0?void 0:properties.$set)||properties;var allProperties=_this24.enrichProperties({$anon_distinct_id:_this24.getAnonymousId(),$set:userProps,$set_once:userPropsOnce});if(distinctId!==previousDistinctId){_this24.setPersistedProperty(_types.PostHogPersistedProperty.AnonymousId,previousDistinctId);_this24.setPersistedProperty(_types.PostHogPersistedProperty.DistinctId,distinctId);_this24.reloadFeatureFlags();}_superPropGet(PostHogCore,"identifyStateless",_this24,3)([distinctId,allProperties,options]);});}},{key:"capture",value:function capture(event,properties,options){var _this25=this;this.wrap(function(){var distinctId=_this25.getDistinctId();if(properties===null||properties===void 0?void 0:properties.$groups){_this25.groups(properties.$groups);}var allProperties=_this25.enrichProperties(properties);_superPropGet(PostHogCore,"captureStateless",_this25,3)([distinctId,event,allProperties,options]);});}},{key:"alias",value:function alias(_alias){var _this26=this;this.wrap(function(){var distinctId=_this26.getDistinctId();var allProperties=_this26.enrichProperties({});_superPropGet(PostHogCore,"aliasStateless",_this26,3)([_alias,distinctId,allProperties]);});}},{key:"autocapture",value:function autocapture(eventType,elements){var _this27=this;var properties=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var options=arguments.length>3?arguments[3]:undefined;this.wrap(function(){var distinctId=_this27.getDistinctId();var payload={distinct_id:distinctId,event:'$autocapture',properties:_objectSpread(_objectSpread({},_this27.enrichProperties(properties)),{},{$event_type:eventType,$elements:elements})};_this27.enqueue('autocapture',payload,options);});}},{key:"groups",value:function groups(_groups){var _this28=this;this.wrap(function(){var existingGroups=_this28.props.$groups||{};_this28.register({$groups:_objectSpread(_objectSpread({},existingGroups),_groups)});if(Object.keys(_groups).find(function(type){return existingGroups[type]!==_groups[type];})){_this28.reloadFeatureFlags();}});}},{key:"group",value:function group(groupType,groupKey,groupProperties,options){var _this29=this;this.wrap(function(){_this29.groups((0,_defineProperty2["default"])({},groupType,groupKey));if(groupProperties){_this29.groupIdentify(groupType,groupKey,groupProperties,options);}});}},{key:"groupIdentify",value:function groupIdentify(groupType,groupKey,groupProperties,options){var _this30=this;this.wrap(function(){var distinctId=_this30.getDistinctId();var eventProperties=_this30.enrichProperties({});_superPropGet(PostHogCore,"groupIdentifyStateless",_this30,3)([groupType,groupKey,groupProperties,options,distinctId,eventProperties]);});}},{key:"setPersonPropertiesForFlags",value:function setPersonPropertiesForFlags(properties){var _this31=this;this.wrap(function(){var existingProperties=_this31.getPersistedProperty(_types.PostHogPersistedProperty.PersonProperties)||{};_this31.setPersistedProperty(_types.PostHogPersistedProperty.PersonProperties,_objectSpread(_objectSpread({},existingProperties),properties));});}},{key:"resetPersonPropertiesForFlags",value:function resetPersonPropertiesForFlags(){var _this32=this;this.wrap(function(){_this32.setPersistedProperty(_types.PostHogPersistedProperty.PersonProperties,null);});}},{key:"personProperties",value:function personProperties(properties){return this.setPersonPropertiesForFlags(properties);}},{key:"setGroupPropertiesForFlags",value:function setGroupPropertiesForFlags(properties){var _this33=this;this.wrap(function(){var existingProperties=_this33.getPersistedProperty(_types.PostHogPersistedProperty.GroupProperties)||{};if(Object.keys(existingProperties).length!==0){Object.keys(existingProperties).forEach(function(groupType){existingProperties[groupType]=_objectSpread(_objectSpread({},existingProperties[groupType]),properties[groupType]);delete properties[groupType];});}_this33.setPersistedProperty(_types.PostHogPersistedProperty.GroupProperties,_objectSpread(_objectSpread({},existingProperties),properties));});}},{key:"resetGroupPropertiesForFlags",value:function resetGroupPropertiesForFlags(){var _this34=this;this.wrap(function(){_this34.setPersistedProperty(_types.PostHogPersistedProperty.GroupProperties,null);});}},{key:"groupProperties",value:function groupProperties(properties){var _this35=this;this.wrap(function(){_this35.setGroupPropertiesForFlags(properties);});}},{key:"remoteConfigAsync",value:function(){var _remoteConfigAsync2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee21(){return _regenerator["default"].wrap(function _callee21$(_context21){while(1)switch(_context21.prev=_context21.next){case 0:_context21.next=2;return this._initPromise;case 2:if(!this._remoteConfigResponsePromise){_context21.next=4;break;}return _context21.abrupt("return",this._remoteConfigResponsePromise);case 4:return _context21.abrupt("return",this._remoteConfigAsync());case 5:case"end":return _context21.stop();}},_callee21,this);}));function remoteConfigAsync(){return _remoteConfigAsync2.apply(this,arguments);}return remoteConfigAsync;}()},{key:"decideAsync",value:(function(){var _decideAsync2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee22(){var sendAnonDistinctId,_args22=arguments;return _regenerator["default"].wrap(function _callee22$(_context22){while(1)switch(_context22.prev=_context22.next){case 0:sendAnonDistinctId=_args22.length>0&&_args22[0]!==undefined?_args22[0]:true;_context22.next=3;return this._initPromise;case 3:if(!this._decideResponsePromise){_context22.next=5;break;}return _context22.abrupt("return",this._decideResponsePromise);case 5:return _context22.abrupt("return",this._decideAsync(sendAnonDistinctId));case 6:case"end":return _context22.stop();}},_callee22,this);}));function decideAsync(){return _decideAsync2.apply(this,arguments);}return decideAsync;}())},{key:"cacheSessionReplay",value:function cacheSessionReplay(response){var sessionReplay=response===null||response===void 0?void 0:response.sessionRecording;if(sessionReplay){this.setPersistedProperty(_types.PostHogPersistedProperty.SessionReplay,sessionReplay);this.logMsgIfDebug(function(){return console.log('PostHog Debug','Session replay config: ',JSON.stringify(sessionReplay));});}else{this.logMsgIfDebug(function(){return console.info('PostHog Debug','Session replay config disabled.');});this.setPersistedProperty(_types.PostHogPersistedProperty.SessionReplay,null);}}},{key:"_remoteConfigAsync",value:function(){var _remoteConfigAsync3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee23(){var _this36=this;return _regenerator["default"].wrap(function _callee23$(_context23){while(1)switch(_context23.prev=_context23.next){case 0:this._remoteConfigResponsePromise=this._initPromise.then(function(){var remoteConfig=_this36.getPersistedProperty(_types.PostHogPersistedProperty.RemoteConfig);_this36.logMsgIfDebug(function(){return console.log('PostHog Debug','Cached remote config: ',JSON.stringify(remoteConfig));});return _superPropGet(PostHogCore,"getRemoteConfig",_this36,3)([]).then(function(response){if(response){var remoteConfigWithoutSurveys=_objectSpread({},response);delete remoteConfigWithoutSurveys.surveys;_this36.logMsgIfDebug(function(){return console.log('PostHog Debug','Fetched remote config: ',JSON.stringify(remoteConfigWithoutSurveys));});var surveys=response.surveys;var hasSurveys=true;if(!Array.isArray(surveys)){_this36.logMsgIfDebug(function(){return console.log('PostHog Debug','There are no surveys.');});hasSurveys=false;}else{_this36.logMsgIfDebug(function(){return console.log('PostHog Debug','Surveys fetched from remote config: ',JSON.stringify(surveys));});}if(_this36.disableSurveys===false&&hasSurveys){_this36.setPersistedProperty(_types.PostHogPersistedProperty.Surveys,surveys);}else{_this36.setPersistedProperty(_types.PostHogPersistedProperty.Surveys,null);}_this36.setPersistedProperty(_types.PostHogPersistedProperty.RemoteConfig,remoteConfigWithoutSurveys);_this36.cacheSessionReplay(response);if(response.hasFeatureFlags===false){_this36.setKnownFeatureFlagDetails({flags:{}});_this36.logMsgIfDebug(function(){return console.warn('Remote config has no feature flags, will not load feature flags.');});}else if(_this36.preloadFeatureFlags!==false){_this36.reloadFeatureFlags();}remoteConfig=response;}return remoteConfig;});})["finally"](function(){_this36._remoteConfigResponsePromise=undefined;});return _context23.abrupt("return",this._remoteConfigResponsePromise);case 2:case"end":return _context23.stop();}},_callee23,this);}));function _remoteConfigAsync(){return _remoteConfigAsync3.apply(this,arguments);}return _remoteConfigAsync;}()},{key:"_decideAsync",value:function(){var _decideAsync3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee25(){var _this37=this;var sendAnonDistinctId,_args25=arguments;return _regenerator["default"].wrap(function _callee25$(_context25){while(1)switch(_context25.prev=_context25.next){case 0:sendAnonDistinctId=_args25.length>0&&_args25[0]!==undefined?_args25[0]:true;this._decideResponsePromise=this._initPromise.then((0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee24(){var _a,distinctId,groups,personProperties,groupProperties,extraProperties,res,newFeatureFlagDetails,currentFlagDetails;return _regenerator["default"].wrap(function _callee24$(_context24){while(1)switch(_context24.prev=_context24.next){case 0:distinctId=_this37.getDistinctId();groups=_this37.props.$groups||{};personProperties=_this37.getPersistedProperty(_types.PostHogPersistedProperty.PersonProperties)||{};groupProperties=_this37.getPersistedProperty(_types.PostHogPersistedProperty.GroupProperties)||{};extraProperties={$anon_distinct_id:sendAnonDistinctId?_this37.getAnonymousId():undefined};_context24.next=7;return _superPropGet(PostHogCore,"getDecide",_this37,3)([distinctId,groups,personProperties,groupProperties,extraProperties]);case 7:res=_context24.sent;if(!((_a=res===null||res===void 0?void 0:res.quotaLimited)===null||_a===void 0?void 0:_a.includes(QuotaLimitedFeature.FeatureFlags))){_context24.next=12;break;}_this37.setKnownFeatureFlagDetails(null);console.warn('[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');return _context24.abrupt("return",res);case 12:if(res===null||res===void 0?void 0:res.featureFlags){if(_this37.sendFeatureFlagEvent){_this37.flagCallReported={};}newFeatureFlagDetails=res;if(res.errorsWhileComputingFlags){currentFlagDetails=_this37.getKnownFeatureFlagDetails();_this37.logMsgIfDebug(function(){return console.log('PostHog Debug','Cached feature flags: ',JSON.stringify(currentFlagDetails));});newFeatureFlagDetails=_objectSpread(_objectSpread({},res),{},{flags:_objectSpread(_objectSpread({},currentFlagDetails===null||currentFlagDetails===void 0?void 0:currentFlagDetails.flags),res.flags)});}_this37.setKnownFeatureFlagDetails(newFeatureFlagDetails);_this37.setPersistedProperty(_types.PostHogPersistedProperty.DecideEndpointWasHit,true);_this37.cacheSessionReplay(res);}return _context24.abrupt("return",res);case 14:case"end":return _context24.stop();}},_callee24);})))["finally"](function(){_this37._decideResponsePromise=undefined;});return _context25.abrupt("return",this._decideResponsePromise);case 3:case"end":return _context25.stop();}},_callee25,this);}));function _decideAsync(){return _decideAsync3.apply(this,arguments);}return _decideAsync;}()},{key:"setKnownFeatureFlagDetails",value:function setKnownFeatureFlagDetails(decideResponse){var _this38=this;this.wrap(function(){var _a;_this38.setPersistedProperty(_types.PostHogPersistedProperty.FeatureFlagDetails,decideResponse);_this38._events.emit('featureflags',(0,_featureFlagUtils.getFlagValuesFromFlags)((_a=decideResponse===null||decideResponse===void 0?void 0:decideResponse.flags)!==null&&_a!==void 0?_a:{}));});}},{key:"getKnownFeatureFlagDetails",value:function getKnownFeatureFlagDetails(){var storedDetails=this.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlagDetails);if(!storedDetails){var featureFlags=this.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlags);var featureFlagPayloads=this.getPersistedProperty(_types.PostHogPersistedProperty.FeatureFlagPayloads);if(featureFlags===undefined&&featureFlagPayloads===undefined){return undefined;}return(0,_featureFlagUtils.createDecideResponseFromFlagsAndPayloads)(featureFlags!==null&&featureFlags!==void 0?featureFlags:{},featureFlagPayloads!==null&&featureFlagPayloads!==void 0?featureFlagPayloads:{});}return(0,_featureFlagUtils.normalizeDecideResponse)(storedDetails);}},{key:"getKnownFeatureFlags",value:function getKnownFeatureFlags(){var featureFlagDetails=this.getKnownFeatureFlagDetails();if(!featureFlagDetails){return undefined;}return(0,_featureFlagUtils.getFlagValuesFromFlags)(featureFlagDetails.flags);}},{key:"getKnownFeatureFlagPayloads",value:function getKnownFeatureFlagPayloads(){var featureFlagDetails=this.getKnownFeatureFlagDetails();if(!featureFlagDetails){return undefined;}return(0,_featureFlagUtils.getPayloadsFromFlags)(featureFlagDetails.flags);}},{key:"getBootstrappedFeatureFlagDetails",value:function getBootstrappedFeatureFlagDetails(){var details=this.getPersistedProperty(_types.PostHogPersistedProperty.BootstrapFeatureFlagDetails);if(!details){return undefined;}return details;}},{key:"setBootstrappedFeatureFlagDetails",value:function setBootstrappedFeatureFlagDetails(details){this.setPersistedProperty(_types.PostHogPersistedProperty.BootstrapFeatureFlagDetails,details);}},{key:"getBootstrappedFeatureFlags",value:function getBootstrappedFeatureFlags(){var details=this.getBootstrappedFeatureFlagDetails();if(!details){return undefined;}return(0,_featureFlagUtils.getFlagValuesFromFlags)(details.flags);}},{key:"getBootstrappedFeatureFlagPayloads",value:function getBootstrappedFeatureFlagPayloads(){var details=this.getBootstrappedFeatureFlagDetails();if(!details){return undefined;}return(0,_featureFlagUtils.getPayloadsFromFlags)(details.flags);}},{key:"getFeatureFlag",value:function getFeatureFlag(key){var _a,_b,_c,_d,_e,_f,_g;var details=this.getFeatureFlagDetails();if(!details){return undefined;}var featureFlag=details.flags[key];var response=(0,_featureFlagUtils.getFeatureFlagValue)(featureFlag);if(response===undefined){response=false;}if(this.sendFeatureFlagEvent&&!this.flagCallReported[key]){var bootstrappedResponse=(_a=this.getBootstrappedFeatureFlags())===null||_a===void 0?void 0:_a[key];var bootstrappedPayload=(_b=this.getBootstrappedFeatureFlagPayloads())===null||_b===void 0?void 0:_b[key];this.flagCallReported[key]=true;this.capture('$feature_flag_called',{$feature_flag:key,$feature_flag_response:response,$feature_flag_id:(_c=featureFlag===null||featureFlag===void 0?void 0:featureFlag.metadata)===null||_c===void 0?void 0:_c.id,$feature_flag_version:(_d=featureFlag===null||featureFlag===void 0?void 0:featureFlag.metadata)===null||_d===void 0?void 0:_d.version,$feature_flag_reason:(_f=(_e=featureFlag===null||featureFlag===void 0?void 0:featureFlag.reason)===null||_e===void 0?void 0:_e.description)!==null&&_f!==void 0?_f:(_g=featureFlag===null||featureFlag===void 0?void 0:featureFlag.reason)===null||_g===void 0?void 0:_g.code,$feature_flag_bootstrapped_response:bootstrappedResponse,$feature_flag_bootstrapped_payload:bootstrappedPayload,$used_bootstrap_value:!this.getPersistedProperty(_types.PostHogPersistedProperty.DecideEndpointWasHit),$feature_flag_request_id:details.requestId});}return response;}},{key:"getFeatureFlagPayload",value:function getFeatureFlagPayload(key){var payloads=this.getFeatureFlagPayloads();if(!payloads){return undefined;}var response=payloads[key];if(response===undefined){return null;}return response;}},{key:"getFeatureFlagPayloads",value:function getFeatureFlagPayloads(){var _a;return(_a=this.getFeatureFlagDetails())===null||_a===void 0?void 0:_a.featureFlagPayloads;}},{key:"getFeatureFlags",value:function getFeatureFlags(){var _a;return(_a=this.getFeatureFlagDetails())===null||_a===void 0?void 0:_a.featureFlags;}},{key:"getFeatureFlagDetails",value:function getFeatureFlagDetails(){var _a;var details=this.getKnownFeatureFlagDetails();var overriddenFlags=this.getPersistedProperty(_types.PostHogPersistedProperty.OverrideFeatureFlags);if(!overriddenFlags){return details;}details=details!==null&&details!==void 0?details:{featureFlags:{},featureFlagPayloads:{},flags:{}};var flags=(_a=details.flags)!==null&&_a!==void 0?_a:{};for(var key in overriddenFlags){if(!overriddenFlags[key]){delete flags[key];}else{flags[key]=(0,_featureFlagUtils.updateFlagValue)(flags[key],overriddenFlags[key]);}}var result=_objectSpread(_objectSpread({},details),{},{flags:flags});return(0,_featureFlagUtils.normalizeDecideResponse)(result);}},{key:"getFeatureFlagsAndPayloads",value:function getFeatureFlagsAndPayloads(){var flags=this.getFeatureFlags();var payloads=this.getFeatureFlagPayloads();return{flags:flags,payloads:payloads};}},{key:"isFeatureEnabled",value:function isFeatureEnabled(key){var response=this.getFeatureFlag(key);if(response===undefined){return undefined;}return!!response;}},{key:"reloadFeatureFlags",value:function reloadFeatureFlags(cb){var _this39=this;this.decideAsync().then(function(res){cb===null||cb===void 0?void 0:cb(undefined,res===null||res===void 0?void 0:res.featureFlags);})["catch"](function(e){cb===null||cb===void 0?void 0:cb(e,undefined);if(!cb){_this39.logMsgIfDebug(function(){return console.log('[PostHog] Error reloading feature flags',e);});}});}},{key:"reloadRemoteConfigAsync",value:function(){var _reloadRemoteConfigAsync=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee26(){return _regenerator["default"].wrap(function _callee26$(_context26){while(1)switch(_context26.prev=_context26.next){case 0:_context26.next=2;return this.remoteConfigAsync();case 2:return _context26.abrupt("return",_context26.sent);case 3:case"end":return _context26.stop();}},_callee26,this);}));function reloadRemoteConfigAsync(){return _reloadRemoteConfigAsync.apply(this,arguments);}return reloadRemoteConfigAsync;}()},{key:"reloadFeatureFlagsAsync",value:function(){var _reloadFeatureFlagsAsync=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee27(){var sendAnonDistinctId,_a,_args27=arguments;return _regenerator["default"].wrap(function _callee27$(_context27){while(1)switch(_context27.prev=_context27.next){case 0:sendAnonDistinctId=_args27.length>0&&_args27[0]!==undefined?_args27[0]:true;_context27.next=3;return this.decideAsync(sendAnonDistinctId);case 3:_context27.t1=_a=_context27.sent;_context27.t0=_context27.t1===null;if(_context27.t0){_context27.next=7;break;}_context27.t0=_a===void 0;case 7:if(!_context27.t0){_context27.next=11;break;}_context27.t2=void 0;_context27.next=12;break;case 11:_context27.t2=_a.featureFlags;case 12:return _context27.abrupt("return",_context27.t2);case 13:case"end":return _context27.stop();}},_callee27,this);}));function reloadFeatureFlagsAsync(){return _reloadFeatureFlagsAsync.apply(this,arguments);}return reloadFeatureFlagsAsync;}()},{key:"onFeatureFlags",value:function onFeatureFlags(cb){var _this40=this;return this.on('featureflags',(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee28(){var flags;return _regenerator["default"].wrap(function _callee28$(_context28){while(1)switch(_context28.prev=_context28.next){case 0:flags=_this40.getFeatureFlags();if(flags){cb(flags);}case 2:case"end":return _context28.stop();}},_callee28);})));}},{key:"onFeatureFlag",value:function onFeatureFlag(key,cb){var _this41=this;return this.on('featureflags',(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee29(){var flagResponse;return _regenerator["default"].wrap(function _callee29$(_context29){while(1)switch(_context29.prev=_context29.next){case 0:flagResponse=_this41.getFeatureFlag(key);if(flagResponse!==undefined){cb(flagResponse);}case 2:case"end":return _context29.stop();}},_callee29);})));}},{key:"overrideFeatureFlag",value:function(){var _overrideFeatureFlag=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee30(flags){var _this42=this;return _regenerator["default"].wrap(function _callee30$(_context30){while(1)switch(_context30.prev=_context30.next){case 0:this.wrap(function(){if(flags===null){return _this42.setPersistedProperty(_types.PostHogPersistedProperty.OverrideFeatureFlags,null);}return _this42.setPersistedProperty(_types.PostHogPersistedProperty.OverrideFeatureFlags,flags);});case 1:case"end":return _context30.stop();}},_callee30,this);}));function overrideFeatureFlag(_x18){return _overrideFeatureFlag.apply(this,arguments);}return overrideFeatureFlag;}()},{key:"captureException",value:function captureException(error,additionalProperties){var properties=_objectSpread({$exception_level:'error',$exception_list:[{type:(0,_utils2.isError)(error)?error.name:'Error',value:(0,_utils2.isError)(error)?error.message:error,mechanism:{handled:true,synthetic:false}}]},additionalProperties);properties.$exception_personURL=new URL("/project/".concat(this.apiKey,"/person/").concat(this.getDistinctId()),this.host).toString();this.capture('$exception',properties);}},{key:"captureTraceFeedback",value:function captureTraceFeedback(traceId,userFeedback){this.capture('$ai_feedback',{$ai_feedback_text:userFeedback,$ai_trace_id:String(traceId)});}},{key:"captureTraceMetric",value:function captureTraceMetric(traceId,metricName,metricValue){this.capture('$ai_metric',{$ai_metric_name:metricName,$ai_metric_value:String(metricValue),$ai_trace_id:String(traceId)});}}]);}(PostHogCoreStateless);
|