posthog-react-native 3.15.0 → 3.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/lib/posthog-core/src/eventemitter.d.ts +8 -8
  2. package/lib/posthog-core/src/eventemitter.js +1 -0
  3. package/lib/posthog-core/src/eventemitter.js.map +1 -0
  4. package/lib/posthog-core/src/featureFlagUtils.d.ts +34 -34
  5. package/lib/posthog-core/src/featureFlagUtils.js +1 -0
  6. package/lib/posthog-core/src/featureFlagUtils.js.map +1 -0
  7. package/lib/posthog-core/src/index.d.ts +242 -239
  8. package/lib/posthog-core/src/index.js +1 -0
  9. package/lib/posthog-core/src/index.js.map +1 -0
  10. package/lib/posthog-core/src/lz-string.d.ts +8 -8
  11. package/lib/posthog-core/src/lz-string.js +1 -0
  12. package/lib/posthog-core/src/lz-string.js.map +1 -0
  13. package/lib/posthog-core/src/types.d.ts +422 -423
  14. package/lib/posthog-core/src/types.js +1 -0
  15. package/lib/posthog-core/src/types.js.map +1 -0
  16. package/lib/posthog-core/src/utils.d.ts +19 -19
  17. package/lib/posthog-core/src/utils.js +1 -0
  18. package/lib/posthog-core/src/utils.js.map +1 -0
  19. package/lib/posthog-core/src/vendor/uuidv7.d.ts +179 -179
  20. package/lib/posthog-core/src/vendor/uuidv7.js +7 -0
  21. package/lib/posthog-core/src/vendor/uuidv7.js.map +1 -0
  22. package/lib/posthog-react-native/index.d.ts +10 -10
  23. package/lib/posthog-react-native/index.js +1 -0
  24. package/lib/posthog-react-native/index.js.map +1 -0
  25. package/lib/posthog-react-native/src/PostHogContext.d.ts +5 -5
  26. package/lib/posthog-react-native/src/PostHogContext.js +1 -0
  27. package/lib/posthog-react-native/src/PostHogContext.js.map +1 -0
  28. package/lib/posthog-react-native/src/PostHogProvider.d.ts +14 -14
  29. package/lib/posthog-react-native/src/PostHogProvider.js +1 -0
  30. package/lib/posthog-react-native/src/PostHogProvider.js.map +1 -0
  31. package/lib/posthog-react-native/src/autocapture.d.ts +4 -4
  32. package/lib/posthog-react-native/src/autocapture.js +1 -0
  33. package/lib/posthog-react-native/src/autocapture.js.map +1 -0
  34. package/lib/posthog-react-native/src/frameworks/wix-navigation.d.ts +3 -3
  35. package/lib/posthog-react-native/src/frameworks/wix-navigation.js +1 -0
  36. package/lib/posthog-react-native/src/frameworks/wix-navigation.js.map +1 -0
  37. package/lib/posthog-react-native/src/hooks/useFeatureFlag.d.ts +5 -5
  38. package/lib/posthog-react-native/src/hooks/useFeatureFlag.js +1 -0
  39. package/lib/posthog-react-native/src/hooks/useFeatureFlag.js.map +1 -0
  40. package/lib/posthog-react-native/src/hooks/useFeatureFlags.d.ts +3 -3
  41. package/lib/posthog-react-native/src/hooks/useFeatureFlags.js +1 -0
  42. package/lib/posthog-react-native/src/hooks/useFeatureFlags.js.map +1 -0
  43. package/lib/posthog-react-native/src/hooks/useNavigationTracker.d.ts +6 -6
  44. package/lib/posthog-react-native/src/hooks/useNavigationTracker.js +1 -0
  45. package/lib/posthog-react-native/src/hooks/useNavigationTracker.js.map +1 -0
  46. package/lib/posthog-react-native/src/hooks/usePostHog.d.ts +2 -2
  47. package/lib/posthog-react-native/src/hooks/usePostHog.js +1 -0
  48. package/lib/posthog-react-native/src/hooks/usePostHog.js.map +1 -0
  49. package/lib/posthog-react-native/src/legacy.d.ts +4 -4
  50. package/lib/posthog-react-native/src/legacy.js +1 -0
  51. package/lib/posthog-react-native/src/legacy.js.map +1 -0
  52. package/lib/posthog-react-native/src/native-deps.d.ts +4 -4
  53. package/lib/posthog-react-native/src/native-deps.js +1 -0
  54. package/lib/posthog-react-native/src/native-deps.js.map +1 -0
  55. package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.d.ts +2 -2
  56. package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.js +1 -0
  57. package/lib/posthog-react-native/src/optional/OptionalAsyncStorage.js.map +1 -0
  58. package/lib/posthog-react-native/src/optional/OptionalExpoApplication.d.ts +2 -2
  59. package/lib/posthog-react-native/src/optional/OptionalExpoApplication.js +1 -0
  60. package/lib/posthog-react-native/src/optional/OptionalExpoApplication.js.map +1 -0
  61. package/lib/posthog-react-native/src/optional/OptionalExpoDevice.d.ts +2 -2
  62. package/lib/posthog-react-native/src/optional/OptionalExpoDevice.js +1 -0
  63. package/lib/posthog-react-native/src/optional/OptionalExpoDevice.js.map +1 -0
  64. package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.d.ts +2 -2
  65. package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.js +1 -0
  66. package/lib/posthog-react-native/src/optional/OptionalExpoFileSystem.js.map +1 -0
  67. package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.d.ts +2 -2
  68. package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.js +1 -0
  69. package/lib/posthog-react-native/src/optional/OptionalExpoLocalization.js.map +1 -0
  70. package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.d.ts +2 -2
  71. package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.js +1 -0
  72. package/lib/posthog-react-native/src/optional/OptionalReactNativeDeviceInfo.js.map +1 -0
  73. package/lib/posthog-react-native/src/optional/OptionalReactNativeLocalize.d.ts +13 -13
  74. package/lib/posthog-react-native/src/optional/OptionalReactNativeLocalize.js +1 -0
  75. package/lib/posthog-react-native/src/optional/OptionalReactNativeLocalize.js.map +1 -0
  76. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.d.ts +2 -2
  77. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.js +1 -0
  78. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigation.js.map +1 -0
  79. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigationWix.d.ts +2 -2
  80. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigationWix.js +1 -0
  81. package/lib/posthog-react-native/src/optional/OptionalReactNativeNavigationWix.js.map +1 -0
  82. package/lib/posthog-react-native/src/optional/OptionalReactNativeSafeArea.d.ts +2 -2
  83. package/lib/posthog-react-native/src/optional/OptionalReactNativeSafeArea.js +1 -0
  84. package/lib/posthog-react-native/src/optional/OptionalReactNativeSafeArea.js.map +1 -0
  85. package/lib/posthog-react-native/src/optional/OptionalSessionReplay.d.ts +2 -2
  86. package/lib/posthog-react-native/src/optional/OptionalSessionReplay.js +1 -0
  87. package/lib/posthog-react-native/src/optional/OptionalSessionReplay.js.map +1 -0
  88. package/lib/posthog-react-native/src/posthog-rn.d.ts +71 -71
  89. package/lib/posthog-react-native/src/posthog-rn.js +1 -0
  90. package/lib/posthog-react-native/src/posthog-rn.js.map +1 -0
  91. package/lib/posthog-react-native/src/storage.d.ts +21 -21
  92. package/lib/posthog-react-native/src/storage.js +1 -0
  93. package/lib/posthog-react-native/src/storage.js.map +1 -0
  94. package/lib/posthog-react-native/src/surveys/PostHogSurveyProvider.d.ts +16 -16
  95. package/lib/posthog-react-native/src/surveys/PostHogSurveyProvider.js +1 -0
  96. package/lib/posthog-react-native/src/surveys/PostHogSurveyProvider.js.map +1 -0
  97. package/lib/posthog-react-native/src/surveys/components/BottomSection.d.ts +9 -9
  98. package/lib/posthog-react-native/src/surveys/components/BottomSection.js +1 -0
  99. package/lib/posthog-react-native/src/surveys/components/BottomSection.js.map +1 -0
  100. package/lib/posthog-react-native/src/surveys/components/Cancel.d.ts +6 -6
  101. package/lib/posthog-react-native/src/surveys/components/Cancel.js +1 -0
  102. package/lib/posthog-react-native/src/surveys/components/Cancel.js.map +1 -0
  103. package/lib/posthog-react-native/src/surveys/components/ConfirmationMessage.d.ts +13 -13
  104. package/lib/posthog-react-native/src/surveys/components/ConfirmationMessage.js +1 -0
  105. package/lib/posthog-react-native/src/surveys/components/ConfirmationMessage.js.map +1 -0
  106. package/lib/posthog-react-native/src/surveys/components/QuestionHeader.d.ts +7 -7
  107. package/lib/posthog-react-native/src/surveys/components/QuestionHeader.js +1 -0
  108. package/lib/posthog-react-native/src/surveys/components/QuestionHeader.js.map +1 -0
  109. package/lib/posthog-react-native/src/surveys/components/QuestionTypes.d.ts +27 -27
  110. package/lib/posthog-react-native/src/surveys/components/QuestionTypes.js +1 -0
  111. package/lib/posthog-react-native/src/surveys/components/QuestionTypes.js.map +1 -0
  112. package/lib/posthog-react-native/src/surveys/components/SurveyModal.d.ts +10 -10
  113. package/lib/posthog-react-native/src/surveys/components/SurveyModal.js +1 -0
  114. package/lib/posthog-react-native/src/surveys/components/SurveyModal.js.map +1 -0
  115. package/lib/posthog-react-native/src/surveys/components/Surveys.d.ts +14 -14
  116. package/lib/posthog-react-native/src/surveys/components/Surveys.js +1 -0
  117. package/lib/posthog-react-native/src/surveys/components/Surveys.js.map +1 -0
  118. package/lib/posthog-react-native/src/surveys/getActiveMatchingSurveys.d.ts +2 -2
  119. package/lib/posthog-react-native/src/surveys/getActiveMatchingSurveys.js +1 -0
  120. package/lib/posthog-react-native/src/surveys/getActiveMatchingSurveys.js.map +1 -0
  121. package/lib/posthog-react-native/src/surveys/icons.d.ts +8 -10
  122. package/lib/posthog-react-native/src/surveys/icons.js +1 -0
  123. package/lib/posthog-react-native/src/surveys/icons.js.map +1 -0
  124. package/lib/posthog-react-native/src/surveys/index.d.ts +6 -6
  125. package/lib/posthog-react-native/src/surveys/index.js +1 -0
  126. package/lib/posthog-react-native/src/surveys/index.js.map +1 -0
  127. package/lib/posthog-react-native/src/surveys/surveys-utils.d.ts +13 -13
  128. package/lib/posthog-react-native/src/surveys/surveys-utils.js +1 -0
  129. package/lib/posthog-react-native/src/surveys/surveys-utils.js.map +1 -0
  130. package/lib/posthog-react-native/src/surveys/useActivatedSurveys.d.ts +3 -3
  131. package/lib/posthog-react-native/src/surveys/useActivatedSurveys.js +1 -0
  132. package/lib/posthog-react-native/src/surveys/useActivatedSurveys.js.map +1 -0
  133. package/lib/posthog-react-native/src/surveys/useSurveyStorage.d.ts +8 -8
  134. package/lib/posthog-react-native/src/surveys/useSurveyStorage.js +1 -0
  135. package/lib/posthog-react-native/src/surveys/useSurveyStorage.js.map +1 -0
  136. package/lib/posthog-react-native/src/types.d.ts +112 -112
  137. package/lib/posthog-react-native/src/types.js +1 -0
  138. package/lib/posthog-react-native/src/types.js.map +1 -0
  139. package/lib/posthog-react-native/src/version.d.ts +1 -1
  140. package/lib/posthog-react-native/src/version.js +1 -0
  141. package/lib/posthog-react-native/src/version.js.map +1 -0
  142. package/lib/posthog-react-native/tsconfig.tsbuildinfo +1 -0
  143. package/package.json +8 -9
  144. package/lib/index.cjs.js +0 -4677
  145. package/lib/index.cjs.js.map +0 -1
  146. package/lib/index.d.ts +0 -875
  147. package/lib/index.esm.js +0 -4659
  148. package/lib/index.esm.js.map +0 -1
  149. package/lib/posthog-react-native/test/test-utils.d.ts +0 -2
@@ -1,8 +1,8 @@
1
- export declare class SimpleEventEmitter {
2
- events: {
3
- [key: string]: ((...args: any[]) => void)[];
4
- };
5
- constructor();
6
- on(event: string, listener: (...args: any[]) => void): () => void;
7
- emit(event: string, payload: any): void;
8
- }
1
+ export declare class SimpleEventEmitter {
2
+ events: {
3
+ [key: string]: ((...args: any[]) => void)[];
4
+ };
5
+ constructor();
6
+ on(event: string, listener: (...args: any[]) => void): () => void;
7
+ emit(event: string, payload: any): void;
8
+ }
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.SimpleEventEmitter=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}var SimpleEventEmitter=exports.SimpleEventEmitter=function(){function SimpleEventEmitter(){(0,_classCallCheck2["default"])(this,SimpleEventEmitter);this.events={};this.events={};}return(0,_createClass2["default"])(SimpleEventEmitter,[{key:"on",value:function on(event,listener){var _this=this;if(!this.events[event]){this.events[event]=[];}this.events[event].push(listener);return function(){_this.events[event]=_this.events[event].filter(function(x){return x!==listener;});};}},{key:"emit",value:function emit(event,payload){var _iterator=_createForOfIteratorHelper(this.events[event]||[]),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var listener=_step.value;listener(payload);}}catch(err){_iterator.e(err);}finally{_iterator.f();}var _iterator2=_createForOfIteratorHelper(this.events['*']||[]),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _listener=_step2.value;_listener(event,payload);}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}}]);}();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventemitter.js","sourceRoot":"","sources":["../../../../posthog-core/src/eventemitter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAkB;IAG7B;QAFA,WAAM,GAAoD,EAAE,CAAA;QAG1D,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,QAAkC;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;SACxB;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEjC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA;QACvE,CAAC,CAAA;IACH,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,OAAY;QAC9B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;YAC/C,QAAQ,CAAC,OAAO,CAAC,CAAA;SAClB;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;YAC7C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;SACzB;IACH,CAAC;CACF"}
@@ -1,34 +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;
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":"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"}
@@ -1,239 +1,242 @@
1
- import { PostHogFetchOptions, PostHogFetchResponse, PostHogAutocaptureElement, PostHogDecideResponse, PostHogCoreOptions, PostHogEventProperties, PostHogPersistedProperty, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, PostHogFeatureFlagDetails, FeatureFlagDetail, SurveyResponse } from './types';
2
- import { RetriableOptions } from './utils';
3
- import { LZString } from './lz-string';
4
- import { SimpleEventEmitter } from './eventemitter';
5
- export * as utils from './utils';
6
- export declare abstract class PostHogCoreStateless {
7
- readonly apiKey: string;
8
- readonly host: string;
9
- readonly flushAt: number;
10
- readonly preloadFeatureFlags: boolean;
11
- readonly disableSurveys: boolean;
12
- private maxBatchSize;
13
- private maxQueueSize;
14
- private flushInterval;
15
- private flushPromise;
16
- private requestTimeout;
17
- private featureFlagsRequestTimeoutMs;
18
- private remoteConfigRequestTimeoutMs;
19
- private captureMode;
20
- private removeDebugCallback?;
21
- private disableGeoip;
22
- private historicalMigration;
23
- protected disabled: boolean;
24
- private defaultOptIn;
25
- private pendingPromises;
26
- protected _events: SimpleEventEmitter;
27
- protected _flushTimer?: any;
28
- protected _retryOptions: RetriableOptions;
29
- protected _initPromise: Promise<void>;
30
- protected _isInitialized: boolean;
31
- protected _remoteConfigResponsePromise?: Promise<PostHogRemoteConfig | undefined>;
32
- abstract fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>;
33
- abstract getLibraryId(): string;
34
- abstract getLibraryVersion(): string;
35
- abstract getCustomUserAgent(): string | void;
36
- abstract getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined;
37
- abstract setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void;
38
- constructor(apiKey: string, options?: PostHogCoreOptions);
39
- protected logMsgIfDebug(fn: () => void): void;
40
- protected wrap(fn: () => void): void;
41
- protected getCommonEventProperties(): any;
42
- get optedOut(): boolean;
43
- optIn(): Promise<void>;
44
- optOut(): Promise<void>;
45
- on(event: string, cb: (...args: any[]) => void): () => void;
46
- debug(enabled?: boolean): void;
47
- get isDebug(): boolean;
48
- get isDisabled(): boolean;
49
- private buildPayload;
50
- protected addPendingPromise<T>(promise: Promise<T>): Promise<T>;
51
- /***
52
- *** TRACKING
53
- ***/
54
- protected identifyStateless(distinctId: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
55
- protected captureStateless(distinctId: string, event: string, properties?: {
56
- [key: string]: any;
57
- }, options?: PostHogCaptureOptions): void;
58
- protected aliasStateless(alias: string, distinctId: string, properties?: {
59
- [key: string]: any;
60
- }, options?: PostHogCaptureOptions): void;
61
- /***
62
- *** GROUPS
63
- ***/
64
- protected groupIdentifyStateless(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions, distinctId?: string, eventProperties?: PostHogEventProperties): void;
65
- protected getRemoteConfig(): Promise<PostHogRemoteConfig | undefined>;
66
- /***
67
- *** FEATURE FLAGS
68
- ***/
69
- 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>;
70
- protected getFeatureFlagStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
71
- response: FeatureFlagValue | undefined;
72
- requestId: string | undefined;
73
- }>;
74
- protected getFeatureFlagDetailStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
75
- response: FeatureFlagDetail | undefined;
76
- requestId: string | undefined;
77
- } | undefined>;
78
- 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>;
79
- 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>;
80
- protected getFeatureFlagsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<{
81
- flags: PostHogDecideResponse['featureFlags'] | undefined;
82
- payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
83
- requestId: PostHogDecideResponse['requestId'] | undefined;
84
- }>;
85
- protected getFeatureFlagsAndPayloadsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<{
86
- flags: PostHogDecideResponse['featureFlags'] | undefined;
87
- payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
88
- requestId: PostHogDecideResponse['requestId'] | undefined;
89
- }>;
90
- 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>;
91
- /***
92
- *** SURVEYS
93
- ***/
94
- getSurveysStateless(): Promise<SurveyResponse['surveys']>;
95
- /***
96
- *** QUEUEING AND FLUSHING
97
- ***/
98
- protected enqueue(type: string, _message: any, options?: PostHogCaptureOptions): void;
99
- private clearFlushTimer;
100
- /**
101
- * Helper for flushing the queue in the background
102
- * Avoids unnecessary promise errors
103
- */
104
- private flushBackground;
105
- flush(): Promise<any[]>;
106
- protected getCustomHeaders(): {
107
- [key: string]: string;
108
- };
109
- private _flush;
110
- private fetchWithRetry;
111
- shutdown(shutdownTimeoutMs?: number): Promise<void>;
112
- }
113
- export declare abstract class PostHogCore extends PostHogCoreStateless {
114
- private sendFeatureFlagEvent;
115
- private flagCallReported;
116
- protected _decideResponsePromise?: Promise<PostHogDecideResponse | undefined>;
117
- protected _sessionExpirationTimeSeconds: number;
118
- protected sessionProps: PostHogEventProperties;
119
- constructor(apiKey: string, options?: PostHogCoreOptions);
120
- protected setupBootstrap(options?: Partial<PostHogCoreOptions>): void;
121
- private get props();
122
- private set props(value);
123
- private clearProps;
124
- private _props;
125
- on(event: string, cb: (...args: any[]) => void): () => void;
126
- reset(propertiesToKeep?: PostHogPersistedProperty[]): void;
127
- protected getCommonEventProperties(): any;
128
- private enrichProperties;
129
- /**
130
- * * @returns {string} The stored session ID for the current session. This may be an empty string if the client is not yet fully initialized.
131
- */
132
- getSessionId(): string;
133
- resetSessionId(): void;
134
- /**
135
- * * @returns {string} The stored anonymous ID. This may be an empty string if the client is not yet fully initialized.
136
- */
137
- getAnonymousId(): string;
138
- /**
139
- * * @returns {string} The stored distinct ID. This may be an empty string if the client is not yet fully initialized.
140
- */
141
- getDistinctId(): string;
142
- unregister(property: string): Promise<void>;
143
- register(properties: {
144
- [key: string]: any;
145
- }): Promise<void>;
146
- registerForSession(properties: {
147
- [key: string]: any;
148
- }): void;
149
- unregisterForSession(property: string): void;
150
- /***
151
- *** TRACKING
152
- ***/
153
- identify(distinctId?: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
154
- capture(event: string, properties?: {
155
- [key: string]: any;
156
- }, options?: PostHogCaptureOptions): void;
157
- alias(alias: string): void;
158
- autocapture(eventType: string, elements: PostHogAutocaptureElement[], properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
159
- /***
160
- *** GROUPS
161
- ***/
162
- groups(groups: {
163
- [type: string]: string | number;
164
- }): void;
165
- group(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
166
- groupIdentify(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
167
- /***
168
- * PROPERTIES
169
- ***/
170
- setPersonPropertiesForFlags(properties: {
171
- [type: string]: string;
172
- }): void;
173
- resetPersonPropertiesForFlags(): void;
174
- /** @deprecated - Renamed to setPersonPropertiesForFlags */
175
- personProperties(properties: {
176
- [type: string]: string;
177
- }): void;
178
- setGroupPropertiesForFlags(properties: {
179
- [type: string]: Record<string, string>;
180
- }): void;
181
- resetGroupPropertiesForFlags(): void;
182
- /** @deprecated - Renamed to setGroupPropertiesForFlags */
183
- groupProperties(properties: {
184
- [type: string]: Record<string, string>;
185
- }): void;
186
- private remoteConfigAsync;
187
- /***
188
- *** FEATURE FLAGS
189
- ***/
190
- private decideAsync;
191
- private cacheSessionReplay;
192
- private _remoteConfigAsync;
193
- private _decideAsync;
194
- private setKnownFeatureFlagDetails;
195
- private getKnownFeatureFlagDetails;
196
- private getKnownFeatureFlags;
197
- private getKnownFeatureFlagPayloads;
198
- private getBootstrappedFeatureFlagDetails;
199
- private setBootstrappedFeatureFlagDetails;
200
- private getBootstrappedFeatureFlags;
201
- private getBootstrappedFeatureFlagPayloads;
202
- getFeatureFlag(key: string): FeatureFlagValue | undefined;
203
- getFeatureFlagPayload(key: string): JsonType | undefined;
204
- getFeatureFlagPayloads(): PostHogDecideResponse['featureFlagPayloads'] | undefined;
205
- getFeatureFlags(): PostHogDecideResponse['featureFlags'] | undefined;
206
- getFeatureFlagDetails(): PostHogFeatureFlagDetails | undefined;
207
- getFeatureFlagsAndPayloads(): {
208
- flags: PostHogDecideResponse['featureFlags'] | undefined;
209
- payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
210
- };
211
- isFeatureEnabled(key: string): boolean | undefined;
212
- reloadFeatureFlags(cb?: (err?: Error, flags?: PostHogDecideResponse['featureFlags']) => void): void;
213
- reloadRemoteConfigAsync(): Promise<PostHogRemoteConfig | undefined>;
214
- reloadFeatureFlagsAsync(sendAnonDistinctId?: boolean): Promise<PostHogDecideResponse['featureFlags'] | undefined>;
215
- onFeatureFlags(cb: (flags: PostHogDecideResponse['featureFlags']) => void): () => void;
216
- onFeatureFlag(key: string, cb: (value: FeatureFlagValue) => void): () => void;
217
- overrideFeatureFlag(flags: PostHogDecideResponse['featureFlags'] | null): Promise<void>;
218
- /***
219
- *** ERROR TRACKING
220
- ***/
221
- captureException(error: unknown, additionalProperties?: {
222
- [key: string]: any;
223
- }): void;
224
- /**
225
- * Capture written user feedback for a LLM trace. Numeric values are converted to strings.
226
- * @param traceId The trace ID to capture feedback for.
227
- * @param userFeedback The feedback to capture.
228
- */
229
- captureTraceFeedback(traceId: string | number, userFeedback: string): void;
230
- /**
231
- * Capture a metric for a LLM trace. Numeric values are converted to strings.
232
- * @param traceId The trace ID to capture the metric for.
233
- * @param metricName The name of the metric to capture.
234
- * @param metricValue The value of the metric to capture.
235
- */
236
- captureTraceMetric(traceId: string | number, metricName: string, metricValue: string | number | boolean): void;
237
- }
238
- export * from './types';
239
- export { LZString };
1
+ import { PostHogFetchOptions, PostHogFetchResponse, PostHogAutocaptureElement, PostHogDecideResponse, PostHogCoreOptions, PostHogEventProperties, PostHogPersistedProperty, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, PostHogFeatureFlagDetails, FeatureFlagDetail, SurveyResponse } from './types';
2
+ import { RetriableOptions } from './utils';
3
+ import { LZString } from './lz-string';
4
+ import { SimpleEventEmitter } from './eventemitter';
5
+ export * as utils from './utils';
6
+ export declare abstract class PostHogCoreStateless {
7
+ readonly apiKey: string;
8
+ readonly host: string;
9
+ readonly flushAt: number;
10
+ readonly preloadFeatureFlags: boolean;
11
+ readonly disableSurveys: boolean;
12
+ private maxBatchSize;
13
+ private maxQueueSize;
14
+ private flushInterval;
15
+ private flushPromise;
16
+ private requestTimeout;
17
+ private featureFlagsRequestTimeoutMs;
18
+ private remoteConfigRequestTimeoutMs;
19
+ private captureMode;
20
+ private removeDebugCallback?;
21
+ private disableGeoip;
22
+ private historicalMigration;
23
+ protected disabled: boolean;
24
+ private defaultOptIn;
25
+ private pendingPromises;
26
+ protected _events: SimpleEventEmitter;
27
+ protected _flushTimer?: any;
28
+ protected _retryOptions: RetriableOptions;
29
+ protected _initPromise: Promise<void>;
30
+ protected _isInitialized: boolean;
31
+ protected _remoteConfigResponsePromise?: Promise<PostHogRemoteConfig | undefined>;
32
+ abstract fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>;
33
+ abstract getLibraryId(): string;
34
+ abstract getLibraryVersion(): string;
35
+ abstract getCustomUserAgent(): string | void;
36
+ abstract getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined;
37
+ abstract setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void;
38
+ constructor(apiKey: string, options?: PostHogCoreOptions);
39
+ protected logMsgIfDebug(fn: () => void): void;
40
+ protected wrap(fn: () => void): void;
41
+ protected getCommonEventProperties(): any;
42
+ get optedOut(): boolean;
43
+ optIn(): Promise<void>;
44
+ optOut(): Promise<void>;
45
+ on(event: string, cb: (...args: any[]) => void): () => void;
46
+ debug(enabled?: boolean): void;
47
+ get isDebug(): boolean;
48
+ get isDisabled(): boolean;
49
+ private buildPayload;
50
+ protected addPendingPromise<T>(promise: Promise<T>): Promise<T>;
51
+ /***
52
+ *** TRACKING
53
+ ***/
54
+ protected identifyStateless(distinctId: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
55
+ protected captureStateless(distinctId: string, event: string, properties?: {
56
+ [key: string]: any;
57
+ }, options?: PostHogCaptureOptions): void;
58
+ protected aliasStateless(alias: string, distinctId: string, properties?: {
59
+ [key: string]: any;
60
+ }, options?: PostHogCaptureOptions): void;
61
+ /***
62
+ *** GROUPS
63
+ ***/
64
+ protected groupIdentifyStateless(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions, distinctId?: string, eventProperties?: PostHogEventProperties): void;
65
+ protected getRemoteConfig(): Promise<PostHogRemoteConfig | undefined>;
66
+ /***
67
+ *** FEATURE FLAGS
68
+ ***/
69
+ 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>;
70
+ protected getFeatureFlagStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
71
+ response: FeatureFlagValue | undefined;
72
+ requestId: string | undefined;
73
+ }>;
74
+ protected getFeatureFlagDetailStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
75
+ response: FeatureFlagDetail | undefined;
76
+ requestId: string | undefined;
77
+ } | undefined>;
78
+ 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>;
79
+ 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>;
80
+ protected getFeatureFlagsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<{
81
+ flags: PostHogDecideResponse['featureFlags'] | undefined;
82
+ payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
83
+ requestId: PostHogDecideResponse['requestId'] | undefined;
84
+ }>;
85
+ protected getFeatureFlagsAndPayloadsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<{
86
+ flags: PostHogDecideResponse['featureFlags'] | undefined;
87
+ payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
88
+ requestId: PostHogDecideResponse['requestId'] | undefined;
89
+ }>;
90
+ 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>;
91
+ /***
92
+ *** SURVEYS
93
+ ***/
94
+ getSurveysStateless(): Promise<SurveyResponse['surveys']>;
95
+ /***
96
+ *** SUPER PROPERTIES
97
+ ***/
98
+ private _props;
99
+ protected get props(): PostHogEventProperties;
100
+ protected set props(val: PostHogEventProperties | undefined);
101
+ register(properties: {
102
+ [key: string]: any;
103
+ }): Promise<void>;
104
+ unregister(property: string): Promise<void>;
105
+ /***
106
+ *** QUEUEING AND FLUSHING
107
+ ***/
108
+ protected enqueue(type: string, _message: any, options?: PostHogCaptureOptions): void;
109
+ private clearFlushTimer;
110
+ /**
111
+ * Helper for flushing the queue in the background
112
+ * Avoids unnecessary promise errors
113
+ */
114
+ private flushBackground;
115
+ flush(): Promise<any[]>;
116
+ protected getCustomHeaders(): {
117
+ [key: string]: string;
118
+ };
119
+ private _flush;
120
+ private fetchWithRetry;
121
+ shutdown(shutdownTimeoutMs?: number): Promise<void>;
122
+ }
123
+ export declare abstract class PostHogCore extends PostHogCoreStateless {
124
+ private sendFeatureFlagEvent;
125
+ private flagCallReported;
126
+ protected _decideResponsePromise?: Promise<PostHogDecideResponse | undefined>;
127
+ protected _sessionExpirationTimeSeconds: number;
128
+ protected sessionProps: PostHogEventProperties;
129
+ constructor(apiKey: string, options?: PostHogCoreOptions);
130
+ protected setupBootstrap(options?: Partial<PostHogCoreOptions>): void;
131
+ private clearProps;
132
+ on(event: string, cb: (...args: any[]) => void): () => void;
133
+ reset(propertiesToKeep?: PostHogPersistedProperty[]): void;
134
+ protected getCommonEventProperties(): any;
135
+ private enrichProperties;
136
+ /**
137
+ * * @returns {string} The stored session ID for the current session. This may be an empty string if the client is not yet fully initialized.
138
+ */
139
+ getSessionId(): string;
140
+ resetSessionId(): void;
141
+ /**
142
+ * * @returns {string} The stored anonymous ID. This may be an empty string if the client is not yet fully initialized.
143
+ */
144
+ getAnonymousId(): string;
145
+ /**
146
+ * * @returns {string} The stored distinct ID. This may be an empty string if the client is not yet fully initialized.
147
+ */
148
+ getDistinctId(): string;
149
+ registerForSession(properties: {
150
+ [key: string]: any;
151
+ }): void;
152
+ unregisterForSession(property: string): void;
153
+ /***
154
+ *** TRACKING
155
+ ***/
156
+ identify(distinctId?: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
157
+ capture(event: string, properties?: {
158
+ [key: string]: any;
159
+ }, options?: PostHogCaptureOptions): void;
160
+ alias(alias: string): void;
161
+ autocapture(eventType: string, elements: PostHogAutocaptureElement[], properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
162
+ /***
163
+ *** GROUPS
164
+ ***/
165
+ groups(groups: {
166
+ [type: string]: string | number;
167
+ }): void;
168
+ group(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
169
+ groupIdentify(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
170
+ /***
171
+ * PROPERTIES
172
+ ***/
173
+ setPersonPropertiesForFlags(properties: {
174
+ [type: string]: string;
175
+ }): void;
176
+ resetPersonPropertiesForFlags(): void;
177
+ /** @deprecated - Renamed to setPersonPropertiesForFlags */
178
+ personProperties(properties: {
179
+ [type: string]: string;
180
+ }): void;
181
+ setGroupPropertiesForFlags(properties: {
182
+ [type: string]: Record<string, string>;
183
+ }): void;
184
+ resetGroupPropertiesForFlags(): void;
185
+ /** @deprecated - Renamed to setGroupPropertiesForFlags */
186
+ groupProperties(properties: {
187
+ [type: string]: Record<string, string>;
188
+ }): void;
189
+ private remoteConfigAsync;
190
+ /***
191
+ *** FEATURE FLAGS
192
+ ***/
193
+ private decideAsync;
194
+ private cacheSessionReplay;
195
+ private _remoteConfigAsync;
196
+ private _decideAsync;
197
+ private setKnownFeatureFlagDetails;
198
+ private getKnownFeatureFlagDetails;
199
+ private getKnownFeatureFlags;
200
+ private getKnownFeatureFlagPayloads;
201
+ private getBootstrappedFeatureFlagDetails;
202
+ private setBootstrappedFeatureFlagDetails;
203
+ private getBootstrappedFeatureFlags;
204
+ private getBootstrappedFeatureFlagPayloads;
205
+ getFeatureFlag(key: string): FeatureFlagValue | undefined;
206
+ getFeatureFlagPayload(key: string): JsonType | undefined;
207
+ getFeatureFlagPayloads(): PostHogDecideResponse['featureFlagPayloads'] | undefined;
208
+ getFeatureFlags(): PostHogDecideResponse['featureFlags'] | undefined;
209
+ getFeatureFlagDetails(): PostHogFeatureFlagDetails | undefined;
210
+ getFeatureFlagsAndPayloads(): {
211
+ flags: PostHogDecideResponse['featureFlags'] | undefined;
212
+ payloads: PostHogDecideResponse['featureFlagPayloads'] | undefined;
213
+ };
214
+ isFeatureEnabled(key: string): boolean | undefined;
215
+ reloadFeatureFlags(cb?: (err?: Error, flags?: PostHogDecideResponse['featureFlags']) => void): void;
216
+ reloadRemoteConfigAsync(): Promise<PostHogRemoteConfig | undefined>;
217
+ reloadFeatureFlagsAsync(sendAnonDistinctId?: boolean): Promise<PostHogDecideResponse['featureFlags'] | undefined>;
218
+ onFeatureFlags(cb: (flags: PostHogDecideResponse['featureFlags']) => void): () => void;
219
+ onFeatureFlag(key: string, cb: (value: FeatureFlagValue) => void): () => void;
220
+ overrideFeatureFlag(flags: PostHogDecideResponse['featureFlags'] | null): Promise<void>;
221
+ /***
222
+ *** ERROR TRACKING
223
+ ***/
224
+ captureException(error: unknown, additionalProperties?: {
225
+ [key: string]: any;
226
+ }): void;
227
+ /**
228
+ * Capture written user feedback for a LLM trace. Numeric values are converted to strings.
229
+ * @param traceId The trace ID to capture feedback for.
230
+ * @param userFeedback The feedback to capture.
231
+ */
232
+ captureTraceFeedback(traceId: string | number, userFeedback: string): void;
233
+ /**
234
+ * Capture a metric for a LLM trace. Numeric values are converted to strings.
235
+ * @param traceId The trace ID to capture the metric for.
236
+ * @param metricName The name of the metric to capture.
237
+ * @param metricValue The value of the metric to capture.
238
+ */
239
+ captureTraceMetric(traceId: string | number, metricName: string, metricValue: string | number | boolean): void;
240
+ }
241
+ export * from './types';
242
+ export { LZString };