posthog-react-native 4.74.0 → 4.74.2

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 (128) hide show
  1. package/dist/PostHogContext.js +2 -1
  2. package/dist/PostHogContext.js.map +1 -1
  3. package/dist/PostHogErrorBoundary.js +2 -1
  4. package/dist/PostHogErrorBoundary.js.map +1 -1
  5. package/dist/PostHogMaskView.js +2 -1
  6. package/dist/PostHogMaskView.js.map +1 -1
  7. package/dist/PostHogProvider.js +2 -1
  8. package/dist/PostHogProvider.js.map +1 -1
  9. package/dist/autocapture.js +2 -1
  10. package/dist/autocapture.js.map +1 -1
  11. package/dist/error-tracking/exception-context.js +2 -1
  12. package/dist/error-tracking/exception-context.js.map +1 -1
  13. package/dist/error-tracking/index.js +2 -1
  14. package/dist/error-tracking/index.js.map +1 -1
  15. package/dist/error-tracking/utils.js +2 -1
  16. package/dist/error-tracking/utils.js.map +1 -1
  17. package/dist/frameworks/wix-navigation.js +2 -1
  18. package/dist/frameworks/wix-navigation.js.map +1 -1
  19. package/dist/hooks/useFeatureFlag.js +2 -1
  20. package/dist/hooks/useFeatureFlag.js.map +1 -1
  21. package/dist/hooks/useFeatureFlagResult.js +2 -1
  22. package/dist/hooks/useFeatureFlagResult.js.map +1 -1
  23. package/dist/hooks/useFeatureFlags.js +2 -1
  24. package/dist/hooks/useFeatureFlags.js.map +1 -1
  25. package/dist/hooks/useNavigationTracker.js +2 -1
  26. package/dist/hooks/useNavigationTracker.js.map +1 -1
  27. package/dist/hooks/usePostHog.js +2 -1
  28. package/dist/hooks/usePostHog.js.map +1 -1
  29. package/dist/hooks/utils.js +2 -1
  30. package/dist/hooks/utils.js.map +1 -1
  31. package/dist/index.js +2 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/logs-defaults.js +2 -1
  34. package/dist/logs-defaults.js.map +1 -1
  35. package/dist/native-deps.js +2 -1
  36. package/dist/native-deps.js.map +1 -1
  37. package/dist/optional/OptionalAsyncStorage.js +2 -1
  38. package/dist/optional/OptionalAsyncStorage.js.map +1 -1
  39. package/dist/optional/OptionalExpoApplication.js +2 -1
  40. package/dist/optional/OptionalExpoApplication.js.map +1 -1
  41. package/dist/optional/OptionalExpoDevice.js +2 -1
  42. package/dist/optional/OptionalExpoDevice.js.map +1 -1
  43. package/dist/optional/OptionalExpoFileSystem.js +2 -1
  44. package/dist/optional/OptionalExpoFileSystem.js.map +1 -1
  45. package/dist/optional/OptionalExpoFileSystemLegacy.js +2 -1
  46. package/dist/optional/OptionalExpoFileSystemLegacy.js.map +1 -1
  47. package/dist/optional/OptionalExpoLocalization.js +2 -1
  48. package/dist/optional/OptionalExpoLocalization.js.map +1 -1
  49. package/dist/optional/OptionalExpoUpdates.js +2 -1
  50. package/dist/optional/OptionalExpoUpdates.js.map +1 -1
  51. package/dist/optional/OptionalPlugin.js +2 -1
  52. package/dist/optional/OptionalPlugin.js.map +1 -1
  53. package/dist/optional/OptionalReactNativeDeviceInfo.js +2 -1
  54. package/dist/optional/OptionalReactNativeDeviceInfo.js.map +1 -1
  55. package/dist/optional/OptionalReactNativeLocalize.js +2 -1
  56. package/dist/optional/OptionalReactNativeLocalize.js.map +1 -1
  57. package/dist/optional/OptionalReactNativeNavigation.js +2 -1
  58. package/dist/optional/OptionalReactNativeNavigation.js.map +1 -1
  59. package/dist/optional/OptionalReactNativeNavigationWix.js +2 -1
  60. package/dist/optional/OptionalReactNativeNavigationWix.js.map +1 -1
  61. package/dist/optional/OptionalReactNativeSafeArea.js +2 -1
  62. package/dist/optional/OptionalReactNativeSafeArea.js.map +1 -1
  63. package/dist/optional/OptionalReactNativeSvg.js +2 -1
  64. package/dist/optional/OptionalReactNativeSvg.js.map +1 -1
  65. package/dist/posthog-rn.js +2 -1
  66. package/dist/posthog-rn.js.map +1 -1
  67. package/dist/storage.js +2 -1
  68. package/dist/storage.js.map +1 -1
  69. package/dist/surveys/PostHogSurveyProvider.js +2 -1
  70. package/dist/surveys/PostHogSurveyProvider.js.map +1 -1
  71. package/dist/surveys/components/BottomSection.js +2 -1
  72. package/dist/surveys/components/BottomSection.js.map +1 -1
  73. package/dist/surveys/components/Cancel.js +2 -1
  74. package/dist/surveys/components/Cancel.js.map +1 -1
  75. package/dist/surveys/components/ConfirmationMessage.js +2 -1
  76. package/dist/surveys/components/ConfirmationMessage.js.map +1 -1
  77. package/dist/surveys/components/IntroMessage.js +2 -1
  78. package/dist/surveys/components/IntroMessage.js.map +1 -1
  79. package/dist/surveys/components/QuestionHeader.js +2 -1
  80. package/dist/surveys/components/QuestionHeader.js.map +1 -1
  81. package/dist/surveys/components/QuestionTypes.js +2 -1
  82. package/dist/surveys/components/QuestionTypes.js.map +1 -1
  83. package/dist/surveys/components/SurveyModal.js +2 -1
  84. package/dist/surveys/components/SurveyModal.js.map +1 -1
  85. package/dist/surveys/components/Surveys.js +2 -1
  86. package/dist/surveys/components/Surveys.js.map +1 -1
  87. package/dist/surveys/getActiveMatchingSurveys.js +2 -1
  88. package/dist/surveys/getActiveMatchingSurveys.js.map +1 -1
  89. package/dist/surveys/icons.js +2 -1
  90. package/dist/surveys/icons.js.map +1 -1
  91. package/dist/surveys/index.js +2 -1
  92. package/dist/surveys/index.js.map +1 -1
  93. package/dist/surveys/safeStyleSheet.js +2 -1
  94. package/dist/surveys/safeStyleSheet.js.map +1 -1
  95. package/dist/surveys/survey-shuffling.d.ts +2 -6
  96. package/dist/surveys/survey-shuffling.js +2 -1
  97. package/dist/surveys/survey-shuffling.js.map +1 -1
  98. package/dist/surveys/survey-translations.js +2 -1
  99. package/dist/surveys/survey-translations.js.map +1 -1
  100. package/dist/surveys/surveys-utils.d.ts +1 -6
  101. package/dist/surveys/surveys-utils.js +2 -1
  102. package/dist/surveys/surveys-utils.js.map +1 -1
  103. package/dist/surveys/useActivatedSurveys.js +2 -1
  104. package/dist/surveys/useActivatedSurveys.js.map +1 -1
  105. package/dist/surveys/useSurveyStorage.js +2 -1
  106. package/dist/surveys/useSurveyStorage.js.map +1 -1
  107. package/dist/tooling/expoconfig.js +2 -1
  108. package/dist/tooling/expoconfig.js.map +1 -1
  109. package/dist/tooling/metroconfig.js +2 -1
  110. package/dist/tooling/metroconfig.js.map +1 -1
  111. package/dist/tooling/posthogMetroSerializer.js +2 -1
  112. package/dist/tooling/posthogMetroSerializer.js.map +1 -1
  113. package/dist/tooling/utils.js +2 -1
  114. package/dist/tooling/utils.js.map +1 -1
  115. package/dist/tooling/vendor/expo/expoconfig.js +2 -1
  116. package/dist/tooling/vendor/expo/expoconfig.js.map +1 -1
  117. package/dist/tooling/vendor/metro/countLines.js +2 -1
  118. package/dist/tooling/vendor/metro/countLines.js.map +1 -1
  119. package/dist/tooling/vendor/metro/utils.js +2 -1
  120. package/dist/tooling/vendor/metro/utils.js.map +1 -1
  121. package/dist/types.js +2 -1
  122. package/dist/types.js.map +1 -1
  123. package/dist/utils.js +2 -1
  124. package/dist/utils.js.map +1 -1
  125. package/dist/version.d.ts +1 -1
  126. package/dist/version.js +2 -1
  127. package/dist/version.js.map +1 -1
  128. package/package.json +8 -6
@@ -1 +1,2 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogContext=void 0;var _react=_interopRequireDefault(require("react"));var PostHogContext=exports.PostHogContext=_react["default"].createContext({client:undefined});
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogContext=void 0;var _react=_interopRequireDefault(require("react"));var PostHogContext=exports.PostHogContext=_react["default"].createContext({client:undefined});
2
+ //# sourceMappingURL=PostHogContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostHogContext.js","sourceRoot":"","sources":["../src/PostHogContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAsB,EAAE,MAAM,EAAE,SAA+B,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"PostHogContext.js","names":["_react","_interopRequireDefault","require","PostHogContext","exports","React","createContext","client","undefined"],"sources":["../src/PostHogContext.ts"],"sourcesContent":["import React from 'react'\nimport { PostHog } from './posthog-rn'\n\nexport const PostHogContext = React.createContext<{ client: PostHog }>({ client: undefined as unknown as PostHog })\n"],"mappings":"uLAAA,IAAAA,MAAA,CAAAC,sBAAA,CAAAC,OAAA,WAGO,GAAM,CAAAC,cAAc,CAAAC,OAAA,CAAAD,cAAA,CAAGE,iBAAK,CAACC,aAAa,CAAsB,CAAEC,MAAM,CAAEC,SAA+B,CAAE,CAAC","ignoreList":[]}
@@ -1 +1,2 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogErrorBoundary=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));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 _react=_interopRequireDefault(require("react"));var _PostHogContext=require("./PostHogContext");var _jsxRuntime=require("react/jsx-runtime");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 INITIAL_STATE={hasError:false,componentStack:null,error:null};var isFunction=function isFunction(f){return typeof f==='function';};var PostHogErrorBoundary=exports.PostHogErrorBoundary=function(_React$Component){function PostHogErrorBoundary(props){var _this;(0,_classCallCheck2["default"])(this,PostHogErrorBoundary);_this=_callSuper(this,PostHogErrorBoundary,[props]);_this.resetError=function(){_this.setState(INITIAL_STATE);};_this.state=INITIAL_STATE;return _this;}(0,_inherits2["default"])(PostHogErrorBoundary,_React$Component);return(0,_createClass2["default"])(PostHogErrorBoundary,[{key:"componentDidCatch",value:function componentDidCatch(error,errorInfo){var _a;var componentStack=errorInfo.componentStack;this.setState({componentStack:componentStack!==null&&componentStack!==void 0?componentStack:null});try{var additionalProperties=this.props.additionalProperties;var currentProperties=isFunction(additionalProperties)?additionalProperties(error):additionalProperties;(_a=this.context.client)===null||_a===void 0?void 0:_a.captureException(error,_objectSpread(_objectSpread({},currentProperties),componentStack?{$exception_component_stack:componentStack}:{}));}catch(_b){}}},{key:"render",value:function render(){var _a;var _this$props=this.props,children=_this$props.children,fallback=_this$props.fallback;var state=this.state;if(!state.hasError){return isFunction(children)?children():children;}var element=isFunction(fallback)?_react["default"].createElement(fallback,{error:state.error,componentStack:(_a=state.componentStack)!==null&&_a!==void 0?_a:'',resetError:this.resetError}):fallback;if(_react["default"].isValidElement(element)){return element;}return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{});}}],[{key:"getDerivedStateFromError",value:function getDerivedStateFromError(error){return{hasError:true,error:error};}}]);}(_react["default"].Component);PostHogErrorBoundary.contextType=_PostHogContext.PostHogContext;
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogErrorBoundary=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));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 _react=_interopRequireDefault(require("react"));var _PostHogContext=require("./PostHogContext");var _jsxRuntime=require("react/jsx-runtime");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 INITIAL_STATE={hasError:false,componentStack:null,error:null};var isFunction=function isFunction(f){return typeof f==='function';};var PostHogErrorBoundary=exports.PostHogErrorBoundary=function(_React$Component){function PostHogErrorBoundary(props){var _this;(0,_classCallCheck2["default"])(this,PostHogErrorBoundary);_this=_callSuper(this,PostHogErrorBoundary,[props]);_this.resetError=function(){_this.setState(INITIAL_STATE);};_this.state=INITIAL_STATE;return _this;}(0,_inherits2["default"])(PostHogErrorBoundary,_React$Component);return(0,_createClass2["default"])(PostHogErrorBoundary,[{key:"componentDidCatch",value:function componentDidCatch(error,errorInfo){var _a;var componentStack=errorInfo.componentStack;this.setState({componentStack:componentStack!==null&&componentStack!==void 0?componentStack:null});try{var additionalProperties=this.props.additionalProperties;var currentProperties=isFunction(additionalProperties)?additionalProperties(error):additionalProperties;(_a=this.context.client)===null||_a===void 0?void 0:_a.captureException(error,_objectSpread(_objectSpread({},currentProperties),componentStack?{$exception_component_stack:componentStack}:{}));}catch(_b){}}},{key:"render",value:function render(){var _a;var _this$props=this.props,children=_this$props.children,fallback=_this$props.fallback;var state=this.state;if(!state.hasError){return isFunction(children)?children():children;}var element=isFunction(fallback)?_react["default"].createElement(fallback,{error:state.error,componentStack:(_a=state.componentStack)!==null&&_a!==void 0?_a:'',resetError:this.resetError}):fallback;if(_react["default"].isValidElement(element)){return element;}return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{});}}],[{key:"getDerivedStateFromError",value:function getDerivedStateFromError(error){return{hasError:true,error:error};}}]);}(_react["default"].Component);PostHogErrorBoundary.contextType=_PostHogContext.PostHogContext;
2
+ //# sourceMappingURL=PostHogErrorBoundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostHogErrorBoundary.js","sourceRoot":"","sources":["../src/PostHogErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAsBjD,MAAM,aAAa,GAA8B;IAC/C,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,IAAI;CACZ,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,CAAM,EAAgC,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAA;AAEpF,MAAM,OAAO,oBAAqB,SAAQ,KAAK,CAAC,SAA+D;IAI7G,YAAY,KAAgC;QAC1C,KAAK,CAAC,KAAK,CAAC,CAAA;QAwBN,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QAC9B,CAAC,CAAA;QAzBC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAc;QAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAClC,CAAC;IAED,iBAAiB,CAAC,KAAc,EAAE,SAA0B;;QAC1D,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI,EAAE,CAAC,CAAA;QAEzD,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;YAC3C,MAAM,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAA;YAC/G,MAAA,IAAI,CAAC,OAAO,CAAC,MAAM,0CAAE,gBAAgB,CAAC,KAAK,EAAE;gBAC3C,GAAG,iBAAiB;gBACpB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC,CAAA;QACJ,CAAC;QAAC,WAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;IACH,CAAC;IAMM,MAAM;;QACX,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC;YAClC,CAAC,CAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;gBAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE;gBAC1C,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAqB;YACxB,CAAC,CAAC,QAAQ,CAAA;QAEZ,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,OAA6B,CAAA;QACtC,CAAC;QAED,OAAO,EAAE,GAAG,CAAA;IACd,CAAC;;AArDM,gCAAW,GAAG,cAAc,AAAjB,CAAiB"}
1
+ {"version":3,"file":"PostHogErrorBoundary.js","names":["_react","_interopRequireDefault","require","_PostHogContext","_jsxRuntime","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","INITIAL_STATE","hasError","componentStack","error","isFunction","f","PostHogErrorBoundary","exports","_React$Component","props","_this","_classCallCheck2","resetError","setState","state","_inherits2","_createClass2","key","value","componentDidCatch","errorInfo","additionalProperties","currentProperties","_a","context","client","captureException","$exception_component_stack","_b","render","_this$props","children","fallback","element","React","createElement","isValidElement","jsx","Fragment","getDerivedStateFromError","Component","contextType","PostHogContext"],"sources":["../src/PostHogErrorBoundary.tsx"],"sourcesContent":["import React, { FunctionComponent } from 'react'\nimport { PostHogContext } from './PostHogContext'\n\nexport type Properties = Record<string, any>\n\nexport type PostHogErrorBoundaryFallbackProps = {\n error: unknown\n componentStack: string\n resetError: () => void\n}\n\nexport type PostHogErrorBoundaryProps = {\n children?: React.ReactNode | (() => React.ReactNode)\n fallback?: React.ReactNode | FunctionComponent<PostHogErrorBoundaryFallbackProps>\n additionalProperties?: Properties | ((error: unknown) => Properties)\n}\n\ntype PostHogErrorBoundaryState = {\n hasError: boolean\n componentStack: string | null\n error: unknown\n}\n\nconst INITIAL_STATE: PostHogErrorBoundaryState = {\n hasError: false,\n componentStack: null,\n error: null,\n}\n\nconst isFunction = (f: any): f is (...args: any[]) => any => typeof f === 'function'\n\nexport class PostHogErrorBoundary extends React.Component<PostHogErrorBoundaryProps, PostHogErrorBoundaryState> {\n static contextType = PostHogContext\n context!: React.ContextType<typeof PostHogContext>\n\n constructor(props: PostHogErrorBoundaryProps) {\n super(props)\n this.state = INITIAL_STATE\n }\n\n static getDerivedStateFromError(error: unknown): Partial<PostHogErrorBoundaryState> {\n return { hasError: true, error }\n }\n\n componentDidCatch(error: unknown, errorInfo: React.ErrorInfo): void {\n const { componentStack } = errorInfo\n this.setState({ componentStack: componentStack ?? null })\n\n try {\n const { additionalProperties } = this.props\n const currentProperties = isFunction(additionalProperties) ? additionalProperties(error) : additionalProperties\n this.context.client?.captureException(error, {\n ...currentProperties,\n ...(componentStack ? { $exception_component_stack: componentStack } : {}),\n })\n } catch {\n // Reporting failures must not escape the boundary and crash its parent.\n }\n }\n\n private resetError = (): void => {\n this.setState(INITIAL_STATE)\n }\n\n public render(): React.ReactNode {\n const { children, fallback } = this.props\n const state = this.state\n\n if (!state.hasError) {\n return isFunction(children) ? children() : children\n }\n\n const element = isFunction(fallback)\n ? (React.createElement(fallback, {\n error: state.error,\n componentStack: state.componentStack ?? '',\n resetError: this.resetError,\n }) as React.ReactNode)\n : fallback\n\n if (React.isValidElement(element)) {\n return element as React.ReactElement\n }\n\n return <></>\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1,2 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogMaskView=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _jsxRuntime=require("react/jsx-runtime");var _excluded=["children"];var _this=void 0,_jsxFileName="/home/runner/work/posthog-js/posthog-js/packages/react-native/dist/PostHogMaskView.js";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 PostHogMaskView=exports.PostHogMaskView=function PostHogMaskView(_ref){var children=_ref.children,viewProps=(0,_objectWithoutProperties2["default"])(_ref,_excluded);return(0,_jsxRuntime.jsx)(_reactNative.View,_objectSpread(_objectSpread({},viewProps),{},{accessibilityLabel:"ph-no-capture",importantForAccessibility:"no",collapsable:false,children:children}));};
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogMaskView=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _jsxRuntime=require("react/jsx-runtime");var _excluded=["children"];var _this=void 0,_jsxFileName="/home/runner/work/posthog-js/posthog-js/packages/react-native/dist/PostHogMaskView.js";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 PostHogMaskView=exports.PostHogMaskView=function PostHogMaskView(_ref){var children=_ref.children,viewProps=(0,_objectWithoutProperties2["default"])(_ref,_excluded);return(0,_jsxRuntime.jsx)(_reactNative.View,_objectSpread(_objectSpread({},viewProps),{},{accessibilityLabel:"ph-no-capture",importantForAccessibility:"no",collapsable:false,children:children}));};
2
+ //# sourceMappingURL=PostHogMaskView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostHogMaskView.js","sourceRoot":"","sources":["../src/PostHogMaskView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAa,MAAM,cAAc,CAAA;AAY9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAwB,EAAe,EAAE,CAAC,CAChG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CACxG;IAAA,CAAC,QAAQ,CACX;EAAA,EAAE,IAAI,CAAC,CACR,CAAA"}
1
+ {"version":3,"file":"PostHogMaskView.js","names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","_excluded","_this","_jsxFileName","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","PostHogMaskView","exports","_ref","children","viewProps","_objectWithoutProperties2","jsx","View","accessibilityLabel","importantForAccessibility","collapsable"],"sources":["../src/PostHogMaskView.tsx"],"sourcesContent":["import React from 'react'\nimport { View, ViewProps } from 'react-native'\n\n/**\n * Props for the PostHogMaskView component.\n *\n * @public\n */\nexport interface PostHogMaskViewProps extends ViewProps {\n /** The child components to mask from PostHog capture */\n children: React.ReactNode\n}\n\n/**\n * PostHogMaskView is a wrapper component that hides its children from PostHog\n * session recordings without compromising accessibility.\n *\n * It works by:\n * - Setting `accessibilityLabel` to `\"ph-no-capture\"` to hide the content from session recordings\n * - Setting `importantForAccessibility` to `\"no\"` to prevent the wrapper View from hiding\n * accessible content on Android (since `accessibilityLabel` would otherwise interfere)\n * - Setting `collapsable={false}` so React Native keeps this wrapper in the native view hierarchy\n * (otherwise layout-only view flattening can remove it and masking is not detected on iOS/Android)\n *\n * @example\n * ```jsx\n * import { PostHogMaskView } from 'posthog-react-native'\n *\n * function SensitiveForm() {\n * return (\n * <PostHogMaskView>\n * <TextInput placeholder=\"Credit card number\" />\n * <TextInput placeholder=\"CVV\" />\n * </PostHogMaskView>\n * )\n * }\n * ```\n *\n * @public\n */\nexport const PostHogMaskView = ({ children, ...viewProps }: PostHogMaskViewProps): JSX.Element => (\n <View {...viewProps} accessibilityLabel=\"ph-no-capture\" importantForAccessibility=\"no\" collapsable={false}>\n {children}\n </View>\n)\n"],"mappings":"sYAAA,IAAAA,MAAA,CAAAC,sBAAA,CAAAC,OAAA,WACA,IAAAC,YAAA,CAAAD,OAAA,iBAA8C,IAAAE,WAAA,CAAAF,OAAA,0BAAAG,SAAA,kBAAAC,KAAA,QAAAC,YAAA,kGAAAC,QAAAC,CAAA,CAAAC,CAAA,MAAAC,CAAA,CAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,KAAAG,MAAA,CAAAE,qBAAA,MAAAC,CAAA,CAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,CAAAC,CAAA,IAAAK,CAAA,CAAAA,CAAA,CAAAC,MAAA,UAAAN,CAAA,SAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,CAAAC,CAAA,EAAAQ,UAAA,KAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,CAAAI,CAAA,UAAAJ,CAAA,WAAAU,cAAAZ,CAAA,UAAAC,CAAA,GAAAA,CAAA,CAAAY,SAAA,CAAAC,MAAA,CAAAb,CAAA,QAAAC,CAAA,OAAAW,SAAA,CAAAZ,CAAA,EAAAY,SAAA,CAAAZ,CAAA,IAAAA,CAAA,IAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,MAAAa,OAAA,UAAAd,CAAA,KAAAe,gBAAA,aAAAhB,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAD,CAAA,MAAAE,MAAA,CAAAc,yBAAA,CAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,CAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,GAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,UAAAd,CAAA,EAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,CAAAC,CAAA,CAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,CAAAD,CAAA,cAAAD,CAAA,EAuCvC,GAAM,CAAAoB,eAAe,CAAAC,OAAA,CAAAD,eAAA,CAAG,QAAlB,CAAAA,eAAeA,CAAAE,IAAA,KAAM,CAAAC,QAAQ,CAAAD,IAAA,CAARC,QAAQ,CAAKC,SAAS,IAAAC,yBAAA,aAAAH,IAAA,CAAA1B,SAAA,QACtD,GAAAD,WAAA,CAAA+B,GAAA,EAAChC,YAAA,CAAAiC,IAAI,CAAAf,aAAA,CAAAA,aAAA,IAAKY,SAAS,MAAEI,kBAAkB,CAAC,eAAe,CAACC,yBAAyB,CAAC,IAAI,CAACC,WAAW,CAAE,KAAM,CAAAP,QAAA,CACvGA,QAAQ,EACL,CAAC,EACR","ignoreList":[]}
@@ -1 +1,2 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogProvider=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _posthogRn=require("./posthog-rn");var _autocapture=require("./autocapture");var _useNavigationTracker=require("./hooks/useNavigationTracker");var _PostHogContext=require("./PostHogContext");var _utils=require("./utils");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/home/runner/work/posthog-js/posthog-js/packages/react-native/dist/PostHogProvider.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}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 webClickListeners=new WeakMap();function PostHogNavigationHook(_ref){var options=_ref.options,client=_ref.client;(0,_useNavigationTracker.useNavigationTracker)(options===null||options===void 0?void 0:options.navigation,options===null||options===void 0?void 0:options.navigationRef,client);return null;}var PostHogProvider=exports.PostHogProvider=function PostHogProvider(_ref2){var children=_ref2.children,client=_ref2.client,options=_ref2.options,apiKey=_ref2.apiKey,autocapture=_ref2.autocapture,style=_ref2.style,_ref2$debug=_ref2.debug,debug=_ref2$debug===void 0?false:_ref2$debug;var _a;var captureAll=autocapture===true;var captureNone=autocapture===false;var posthog=(0,_react.useMemo)(function(){if(client&&apiKey){console.warn('You have provided both a client and an apiKey to PostHogProvider. The apiKey will be ignored in favour of the client.');}if(client){return client;}var parsedOptions=_objectSpread(_objectSpread({},options),{},{captureAppLifecycleEvents:(options===null||options===void 0?void 0:options.captureAppLifecycleEvents)!==undefined?options.captureAppLifecycleEvents:!captureNone});return new _posthogRn.PostHog(apiKey!==null&&apiKey!==void 0?apiKey:'',parsedOptions);},[client,apiKey]);var autocaptureOptions=(0,_react.useMemo)(function(){return autocapture&&typeof autocapture!=='boolean'?autocapture:{};},[autocapture]);var captureTouches=!captureNone&&posthog&&(captureAll||(autocaptureOptions===null||autocaptureOptions===void 0?void 0:autocaptureOptions.captureTouches));var captureScreens=!captureNone&&posthog&&(captureAll||((_a=autocaptureOptions===null||autocaptureOptions===void 0?void 0:autocaptureOptions.captureScreens)!==null&&_a!==void 0?_a:true));var phLabelProp=(autocaptureOptions===null||autocaptureOptions===void 0?void 0:autocaptureOptions.customLabelProp)||_autocapture.defaultPostHogLabelProp;(0,_react.useEffect)(function(){posthog.debug(debug);},[debug,posthog]);var onTouch=(0,_react.useCallback)(function(type,e){if(!captureTouches){return;}if(type==='end'){(0,_autocapture.autocaptureFromTouchEvent)(e,posthog,autocaptureOptions);}},[captureTouches,posthog,autocaptureOptions]);var hostRef=(0,_react.useRef)(null);var optionsRef=(0,_react.useRef)(autocaptureOptions);(0,_react.useEffect)(function(){optionsRef.current=autocaptureOptions;},[autocaptureOptions]);(0,_react.useEffect)(function(){var doc=globalThis===null||globalThis===void 0?void 0:globalThis.document;if(!(0,_utils.isWeb)()||!captureTouches||!(doc===null||doc===void 0?void 0:doc.addEventListener)){return;}var ownerNode=hostRef.current;if(!ownerNode){return;}var existing=webClickListeners.get(posthog);if(existing){existing.owners.set(ownerNode,optionsRef);}else{var owners=new Map([[ownerNode,optionsRef]]);var handler=function handler(e){var _a;var owner=(0,_autocapture.findOwningNode)(e,owners);if(!owner){return;}var options=(_a=owners.get(owner))===null||_a===void 0?void 0:_a.current;if(!options){return;}(0,_autocapture.autocaptureFromTouchEvent)({target:e.target,nativeEvent:e},posthog,options,'click');};doc.addEventListener('click',handler,true);webClickListeners.set(posthog,{owners:owners,remove:function remove(){return doc.removeEventListener('click',handler,true);}});}return function(){var entry=webClickListeners.get(posthog);if(!entry){return;}entry.owners["delete"](ownerNode);if(entry.owners.size===0){entry.remove();webClickListeners["delete"](posthog);}};},[captureTouches,posthog]);var captureProps=(0,_utils.isWeb)()?{}:{onTouchEndCapture:captureTouches?function(e){return onTouch('end',e);}:undefined};return(0,_jsxRuntime.jsx)(_reactNative.View,_objectSpread(_objectSpread(_objectSpread({ref:hostRef},(0,_defineProperty2["default"])({},phLabelProp,'PostHogProvider')),{},{style:style||{flex:1}},captureProps),{},{children:(0,_jsxRuntime.jsxs)(_PostHogContext.PostHogContext.Provider,{value:{client:posthog},children:[captureScreens&&(0,_jsxRuntime.jsx)(PostHogNavigationHook,{options:autocaptureOptions,client:posthog}),children]})}));};
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogProvider=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _posthogRn=require("./posthog-rn");var _autocapture=require("./autocapture");var _useNavigationTracker=require("./hooks/useNavigationTracker");var _PostHogContext=require("./PostHogContext");var _utils=require("./utils");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/home/runner/work/posthog-js/posthog-js/packages/react-native/dist/PostHogProvider.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}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 webClickListeners=new WeakMap();function PostHogNavigationHook(_ref){var options=_ref.options,client=_ref.client;(0,_useNavigationTracker.useNavigationTracker)(options===null||options===void 0?void 0:options.navigation,options===null||options===void 0?void 0:options.navigationRef,client);return null;}var PostHogProvider=exports.PostHogProvider=function PostHogProvider(_ref2){var children=_ref2.children,client=_ref2.client,options=_ref2.options,apiKey=_ref2.apiKey,autocapture=_ref2.autocapture,style=_ref2.style,_ref2$debug=_ref2.debug,debug=_ref2$debug===void 0?false:_ref2$debug;var _a;var captureAll=autocapture===true;var captureNone=autocapture===false;var posthog=(0,_react.useMemo)(function(){if(client&&apiKey){console.warn('You have provided both a client and an apiKey to PostHogProvider. The apiKey will be ignored in favour of the client.');}if(client){return client;}var parsedOptions=_objectSpread(_objectSpread({},options),{},{captureAppLifecycleEvents:(options===null||options===void 0?void 0:options.captureAppLifecycleEvents)!==undefined?options.captureAppLifecycleEvents:!captureNone});return new _posthogRn.PostHog(apiKey!==null&&apiKey!==void 0?apiKey:'',parsedOptions);},[client,apiKey]);var autocaptureOptions=(0,_react.useMemo)(function(){return autocapture&&typeof autocapture!=='boolean'?autocapture:{};},[autocapture]);var captureTouches=!captureNone&&posthog&&(captureAll||(autocaptureOptions===null||autocaptureOptions===void 0?void 0:autocaptureOptions.captureTouches));var captureScreens=!captureNone&&posthog&&(captureAll||((_a=autocaptureOptions===null||autocaptureOptions===void 0?void 0:autocaptureOptions.captureScreens)!==null&&_a!==void 0?_a:true));var phLabelProp=(autocaptureOptions===null||autocaptureOptions===void 0?void 0:autocaptureOptions.customLabelProp)||_autocapture.defaultPostHogLabelProp;(0,_react.useEffect)(function(){posthog.debug(debug);},[debug,posthog]);var onTouch=(0,_react.useCallback)(function(type,e){if(!captureTouches){return;}if(type==='end'){(0,_autocapture.autocaptureFromTouchEvent)(e,posthog,autocaptureOptions);}},[captureTouches,posthog,autocaptureOptions]);var hostRef=(0,_react.useRef)(null);var optionsRef=(0,_react.useRef)(autocaptureOptions);(0,_react.useEffect)(function(){optionsRef.current=autocaptureOptions;},[autocaptureOptions]);(0,_react.useEffect)(function(){var doc=globalThis===null||globalThis===void 0?void 0:globalThis.document;if(!(0,_utils.isWeb)()||!captureTouches||!(doc===null||doc===void 0?void 0:doc.addEventListener)){return;}var ownerNode=hostRef.current;if(!ownerNode){return;}var existing=webClickListeners.get(posthog);if(existing){existing.owners.set(ownerNode,optionsRef);}else{var owners=new Map([[ownerNode,optionsRef]]);var handler=function handler(e){var _a;var owner=(0,_autocapture.findOwningNode)(e,owners);if(!owner){return;}var options=(_a=owners.get(owner))===null||_a===void 0?void 0:_a.current;if(!options){return;}(0,_autocapture.autocaptureFromTouchEvent)({target:e.target,nativeEvent:e},posthog,options,'click');};doc.addEventListener('click',handler,true);webClickListeners.set(posthog,{owners:owners,remove:function remove(){return doc.removeEventListener('click',handler,true);}});}return function(){var entry=webClickListeners.get(posthog);if(!entry){return;}entry.owners["delete"](ownerNode);if(entry.owners.size===0){entry.remove();webClickListeners["delete"](posthog);}};},[captureTouches,posthog]);var captureProps=(0,_utils.isWeb)()?{}:{onTouchEndCapture:captureTouches?function(e){return onTouch('end',e);}:undefined};return(0,_jsxRuntime.jsx)(_reactNative.View,_objectSpread(_objectSpread(_objectSpread({ref:hostRef},(0,_defineProperty2["default"])({},phLabelProp,'PostHogProvider')),{},{style:style||{flex:1}},captureProps),{},{children:(0,_jsxRuntime.jsxs)(_PostHogContext.PostHogContext.Provider,{value:{client:posthog},children:[captureScreens&&(0,_jsxRuntime.jsx)(PostHogNavigationHook,{options:autocaptureOptions,client:posthog}),children]})}));};
2
+ //# sourceMappingURL=PostHogProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostHogProvider.js","sourceRoot":"","sources":["../src/PostHogProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostHogProvider.js","names":["_react","_interopRequireWildcard","require","_reactNative","_posthogRn","_autocapture","_useNavigationTracker","_PostHogContext","_utils","_jsxRuntime","_this","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","webClickListeners","PostHogNavigationHook","_ref","options","client","useNavigationTracker","navigation","navigationRef","PostHogProvider","exports","_ref2","children","apiKey","autocapture","style","_ref2$debug","debug","captureAll","captureNone","posthog","useMemo","console","warn","parsedOptions","captureAppLifecycleEvents","undefined","PostHog","autocaptureOptions","captureTouches","captureScreens","_a","phLabelProp","customLabelProp","defaultPostHogLabelProp","useEffect","onTouch","useCallback","type","autocaptureFromTouchEvent","hostRef","useRef","optionsRef","current","doc","globalThis","document","isWeb","addEventListener","ownerNode","existing","owners","Map","handler","owner","findOwningNode","target","nativeEvent","remove","removeEventListener","entry","size","captureProps","onTouchEndCapture","jsx","View","ref","flex","jsxs","PostHogContext","Provider","value"],"sources":["../src/PostHogProvider.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { GestureResponderEvent, StyleProp, View, ViewStyle } from 'react-native'\nimport { PostHog, PostHogOptions } from './posthog-rn'\nimport { autocaptureFromTouchEvent, findOwningNode } from './autocapture'\nimport { useNavigationTracker } from './hooks/useNavigationTracker'\nimport { PostHogContext } from './PostHogContext'\nimport { PostHogAutocaptureOptions } from './types'\nimport { isWeb } from './utils'\nimport { defaultPostHogLabelProp } from './autocapture'\n\n/**\n * Props for the PostHogProvider component.\n *\n * @public\n */\nexport interface PostHogProviderProps {\n /** The child components to render within the PostHog context */\n children: React.ReactNode\n /** PostHog configuration options */\n options?: PostHogOptions\n /** Your PostHog API key */\n apiKey?: string\n /** An existing PostHog client instance */\n client?: PostHog\n /**\n * Autocapture configuration - can be a boolean or detailed options.\n *\n * When not set, the default behavior is:\n * - `captureScreens`: true\n * - `captureTouches`: false\n * - `captureAppLifecycleEvents`: true\n *\n * Set to `true` to enable all autocapture features (including touches).\n * Set to `false` to disable all autocapture features.\n */\n autocapture?: boolean | PostHogAutocaptureOptions\n /**\n * Enable debug mode for additional logging\n *\n * @default false\n */\n debug?: boolean\n /** Custom styles for the provider wrapper View */\n style?: StyleProp<ViewStyle>\n}\n\n// One document click listener per client, shared across sibling providers, so one interaction\n// enqueues exactly one $autocapture event (sdk-specs autocapture). `owners` maps each mounted\n// provider's host node to its own options, so a click is scoped to the owning subtree AND\n// captured with that provider's config; its size doubles as the refcount.\ntype WebClickOwners = Map<unknown, React.MutableRefObject<PostHogAutocaptureOptions>>\nconst webClickListeners = new WeakMap<PostHog, { owners: WebClickOwners; remove: () => void }>()\n\nfunction PostHogNavigationHook({\n options,\n client,\n}: {\n options?: PostHogAutocaptureOptions\n client?: PostHog\n}): JSX.Element | null {\n useNavigationTracker(options?.navigation, options?.navigationRef, client)\n return null\n}\n\n/**\n * PostHogProvider is a React component that provides PostHog functionality to your React Native app. You can find all configuration options in the [React Native SDK docs](https://posthog.com/docs/libraries/react-native#configuration-options).\n *\n * Autocapturing navigation requires further configuration. See the [React Native SDK navigation docs](https://posthog.com/docs/libraries/react-native#capturing-screen-views)\n * for more information about autocapturing navigation.\n *\n * This is the recommended way to set up PostHog for React Native. This utilizes the Context API to pass the PostHog client around, enable autocapture.\n *\n * {@label Initialization}\n *\n * @example\n * ```jsx\n * // Add to App.(js|ts)\n * import { usePostHog, PostHogProvider } from 'posthog-react-native'\n *\n * export function MyApp() {\n * return (\n * <PostHogProvider apiKey=\"<ph_project_api_key>\" options={{\n * host: '<ph_client_api_host>',\n * }}>\n * <MyComponent />\n * </PostHogProvider>\n * )\n * }\n *\n * // And access the PostHog client via the usePostHog hook\n * import { usePostHog } from 'posthog-react-native'\n *\n * const MyComponent = () => {\n * const posthog = usePostHog()\n *\n * useEffect(() => {\n * posthog.capture(\"event_name\")\n * }, [posthog])\n * }\n *\n * ```\n *\n * @example\n * ```jsx\n * // Using with existing client\n * import { PostHog } from 'posthog-react-native'\n *\n * const posthog = new PostHog('<ph_project_api_key>', {\n * host: '<ph_client_api_host>'\n * })\n *\n * export function MyApp() {\n * return (\n * <PostHogProvider client={posthog}>\n * <MyComponent />\n * </PostHogProvider>\n * )\n * }\n * ```\n *\n * @public\n *\n * @param props - The PostHogProvider props\n */\nexport const PostHogProvider = ({\n children,\n client,\n options,\n apiKey,\n autocapture,\n style,\n debug = false,\n}: PostHogProviderProps): JSX.Element | null => {\n const captureAll = autocapture === true\n const captureNone = autocapture === false\n\n const posthog = useMemo(() => {\n if (client && apiKey) {\n console.warn(\n 'You have provided both a client and an apiKey to PostHogProvider. The apiKey will be ignored in favour of the client.'\n )\n }\n\n if (client) {\n return client\n }\n\n const parsedOptions = {\n ...options,\n captureAppLifecycleEvents:\n options?.captureAppLifecycleEvents !== undefined ? options.captureAppLifecycleEvents : !captureNone,\n }\n\n return new PostHog(apiKey ?? '', parsedOptions)\n }, [client, apiKey]) // oxlint-disable-line react/exhaustive-deps\n\n const autocaptureOptions = useMemo(\n () => (autocapture && typeof autocapture !== 'boolean' ? autocapture : {}),\n [autocapture]\n )\n\n const captureTouches = !captureNone && posthog && (captureAll || autocaptureOptions?.captureTouches)\n const captureScreens = !captureNone && posthog && (captureAll || (autocaptureOptions?.captureScreens ?? true)) // Default to true if not set\n const phLabelProp = autocaptureOptions?.customLabelProp || defaultPostHogLabelProp\n\n useEffect(() => {\n posthog.debug(debug)\n }, [debug, posthog])\n\n const onTouch = useCallback(\n (type: 'start' | 'move' | 'end', e: GestureResponderEvent) => {\n // TODO: Improve this to ensure we only capture presses and not just ends of a drag for example\n if (!captureTouches) {\n return\n }\n\n if (type === 'end') {\n autocaptureFromTouchEvent(e, posthog, autocaptureOptions)\n }\n },\n [captureTouches, posthog, autocaptureOptions]\n )\n\n // Browsers fire touchend only for touch input, so a mouse never reaches onTouchEndCapture.\n // Listen on the document in the CAPTURE phase: RNW forwards `onClick` but not `onClickCapture`,\n // and its Pressable stops propagation before any bubble-phase handler runs. Document-wide so it\n // still sees Modal; subtree scoping happens in autocapture.tsx. Read options through a ref so an\n // inline `autocapture` prop doesn't re-attach every render.\n const hostRef = useRef<unknown>(null)\n const optionsRef = useRef(autocaptureOptions)\n useEffect(() => {\n optionsRef.current = autocaptureOptions\n }, [autocaptureOptions])\n\n useEffect(() => {\n // The package targets ESNext without the DOM lib, so reach the document off the global.\n const doc = (globalThis as any)?.document\n if (!isWeb() || !captureTouches || !doc?.addEventListener) {\n return\n }\n\n const ownerNode = hostRef.current\n if (!ownerNode) {\n // Without a host node nothing can be scoped to this provider, and a null key would collide\n // with any sibling in the same state.\n return\n }\n\n const existing = webClickListeners.get(posthog)\n if (existing) {\n existing.owners.set(ownerNode, optionsRef)\n } else {\n const owners: WebClickOwners = new Map([[ownerNode, optionsRef]])\n const handler = (e: any): void => {\n const owner = findOwningNode(e, owners)\n if (!owner) {\n return\n }\n const options = owners.get(owner)?.current\n if (!options) {\n return\n }\n autocaptureFromTouchEvent({ target: e.target, nativeEvent: e }, posthog, options, 'click')\n }\n doc.addEventListener('click', handler, true)\n webClickListeners.set(posthog, {\n owners,\n remove: () => doc.removeEventListener('click', handler, true),\n })\n }\n\n return () => {\n const entry = webClickListeners.get(posthog)\n if (!entry) {\n return\n }\n entry.owners.delete(ownerNode)\n if (entry.owners.size === 0) {\n entry.remove()\n webClickListeners.delete(posthog)\n }\n }\n }, [captureTouches, posthog])\n\n const captureProps = isWeb()\n ? {}\n : { onTouchEndCapture: captureTouches ? (e: GestureResponderEvent) => onTouch('end', e) : undefined }\n\n return (\n <View\n ref={hostRef as any}\n {...{ [phLabelProp]: 'PostHogProvider' }} // Dynamically setting customLabelProp (default: ph-label)\n style={style || { flex: 1 }}\n {...captureProps}\n >\n <PostHogContext.Provider value={{ client: posthog }}>\n {captureScreens && <PostHogNavigationHook options={autocaptureOptions} client={posthog} />}\n {children}\n </PostHogContext.Provider>\n </View>\n )\n}\n"],"mappings":"2UAAA,IAAAA,MAAA,CAAAC,uBAAA,CAAAC,OAAA,WACA,IAAAC,YAAA,CAAAD,OAAA,iBACA,IAAAE,UAAA,CAAAF,OAAA,iBACA,IAAAG,YAAA,CAAAH,OAAA,kBACA,IAAAI,qBAAA,CAAAJ,OAAA,iCACA,IAAAK,eAAA,CAAAL,OAAA,qBAEA,IAAAM,MAAA,CAAAN,OAAA,YAA+B,IAAAO,WAAA,CAAAP,OAAA,0BAAAQ,KAAA,QAAAC,YAAA,kGAAAV,wBAAAW,CAAA,CAAAC,CAAA,wBAAAC,OAAA,KAAAC,CAAA,KAAAD,OAAA,GAAAE,CAAA,KAAAF,OAAA,UAAAb,uBAAA,UAAAA,wBAAAW,CAAA,CAAAC,CAAA,MAAAA,CAAA,EAAAD,CAAA,EAAAA,CAAA,CAAAK,UAAA,QAAAL,CAAA,KAAAM,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAAAC,SAAA,gBAAAT,CAAA,YAAAA,CAAA,YAAAU,OAAA,CAAAV,CAAA,sBAAAA,CAAA,QAAAQ,CAAA,IAAAF,CAAA,CAAAL,CAAA,CAAAG,CAAA,CAAAD,CAAA,KAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,SAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,CAAAM,CAAA,EAAAO,GAAA,CAAAb,CAAA,CAAAQ,CAAA,WAAAM,GAAA,IAAAd,CAAA,aAAAc,GAAA,KAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,CAAAc,GAAA,KAAAP,CAAA,EAAAD,CAAA,CAAAW,MAAA,CAAAC,cAAA,GAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,CAAAc,GAAA,KAAAP,CAAA,CAAAK,GAAA,EAAAL,CAAA,CAAAM,GAAA,EAAAP,CAAA,CAAAE,CAAA,CAAAM,GAAA,CAAAP,CAAA,EAAAC,CAAA,CAAAM,GAAA,EAAAd,CAAA,CAAAc,GAAA,UAAAN,CAAA,IAAAR,CAAA,CAAAC,CAAA,YAAAmB,QAAApB,CAAA,CAAAG,CAAA,MAAAF,CAAA,CAAAgB,MAAA,CAAAI,IAAA,CAAArB,CAAA,KAAAiB,MAAA,CAAAK,qBAAA,MAAAhB,CAAA,CAAAW,MAAA,CAAAK,qBAAA,CAAAtB,CAAA,CAAAG,CAAA,IAAAG,CAAA,CAAAA,CAAA,CAAAiB,MAAA,UAAApB,CAAA,SAAAc,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,CAAAG,CAAA,EAAAqB,UAAA,KAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,CAAAK,CAAA,UAAAL,CAAA,WAAA0B,cAAA3B,CAAA,UAAAG,CAAA,GAAAA,CAAA,CAAAyB,SAAA,CAAAC,MAAA,CAAA1B,CAAA,QAAAF,CAAA,OAAA2B,SAAA,CAAAzB,CAAA,EAAAyB,SAAA,CAAAzB,CAAA,IAAAA,CAAA,IAAAiB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,MAAA6B,OAAA,UAAA3B,CAAA,KAAA4B,gBAAA,aAAA/B,CAAA,CAAAG,CAAA,CAAAF,CAAA,CAAAE,CAAA,MAAAc,MAAA,CAAAe,yBAAA,CAAAf,MAAA,CAAAgB,gBAAA,CAAAjC,CAAA,CAAAiB,MAAA,CAAAe,yBAAA,CAAA/B,CAAA,GAAAmB,OAAA,CAAAH,MAAA,CAAAhB,CAAA,GAAA6B,OAAA,UAAA3B,CAAA,EAAAc,MAAA,CAAAC,cAAA,CAAAlB,CAAA,CAAAG,CAAA,CAAAc,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,CAAAE,CAAA,cAAAH,CAAA,EA4C/B,GAAM,CAAAkC,iBAAiB,CAAG,GAAI,CAAAhC,OAAO,EAA2D,CAEhG,QAAS,CAAAiC,qBAAqBA,CAAAC,IAAA,CAM7B,IALC,CAAAC,OAAO,CAAAD,IAAA,CAAPC,OAAO,CACPC,MAAM,CAAAF,IAAA,CAANE,MAAM,CAKN,GAAAC,0CAAoB,EAACF,OAAO,SAAPA,OAAO,iBAAPA,OAAO,CAAEG,UAAU,CAAEH,OAAO,SAAPA,OAAO,iBAAPA,OAAO,CAAEI,aAAa,CAAEH,MAAM,CAAC,CACzE,MAAO,KAAI,CACb,CA8DO,GAAM,CAAAI,eAAe,CAAAC,OAAA,CAAAD,eAAA,CAAG,QAAlB,CAAAA,eAAeA,CAAAE,KAAA,CAQmB,IAP7C,CAAAC,QAAQ,CAAAD,KAAA,CAARC,QAAQ,CACRP,MAAM,CAAAM,KAAA,CAANN,MAAM,CACND,OAAO,CAAAO,KAAA,CAAPP,OAAO,CACPS,MAAM,CAAAF,KAAA,CAANE,MAAM,CACNC,WAAW,CAAAH,KAAA,CAAXG,WAAW,CACXC,KAAK,CAAAJ,KAAA,CAALI,KAAK,CAAAC,WAAA,CAAAL,KAAA,CACLM,KAAK,CAALA,KAAK,CAAAD,WAAA,UAAG,KAAK,CAAAA,WAAA,C,OAEb,GAAM,CAAAE,UAAU,CAAGJ,WAAW,GAAK,IAAI,CACvC,GAAM,CAAAK,WAAW,CAAGL,WAAW,GAAK,KAAK,CAEzC,GAAM,CAAAM,OAAO,CAAG,GAAAC,cAAO,EAAC,UAAK,CAC3B,GAAIhB,MAAM,EAAIQ,MAAM,CAAE,CACpBS,OAAO,CAACC,IAAI,CACV,uHAAuH,CACxH,CACH,CAEA,GAAIlB,MAAM,CAAE,CACV,MAAO,CAAAA,MAAM,CACf,CAEA,GAAM,CAAAmB,aAAa,CAAA9B,aAAA,CAAAA,aAAA,IACdU,OAAO,MACVqB,yBAAyB,CACvB,CAAArB,OAAO,SAAPA,OAAO,iBAAPA,OAAO,CAAEqB,yBAAyB,IAAKC,SAAS,CAAGtB,OAAO,CAACqB,yBAAyB,CAAG,CAACN,WAAW,EACtG,CAED,MAAO,IAAI,CAAAQ,kBAAO,CAACd,MAAM,SAANA,MAAM,UAANA,MAAM,CAAI,EAAE,CAAEW,aAAa,CAAC,CACjD,CAAC,CAAE,CAACnB,MAAM,CAAEQ,MAAM,CAAC,CAAC,CAEpB,GAAM,CAAAe,kBAAkB,CAAG,GAAAP,cAAO,EAChC,iBAAO,CAAAP,WAAW,EAAI,MAAO,CAAAA,WAAW,GAAK,SAAS,CAAGA,WAAW,CAAG,EAAE,EAAC,CAC1E,CAACA,WAAW,CAAC,CACd,CAED,GAAM,CAAAe,cAAc,CAAG,CAACV,WAAW,EAAIC,OAAO,GAAKF,UAAU,GAAIU,kBAAkB,SAAlBA,kBAAkB,iBAAlBA,kBAAkB,CAAEC,cAAc,EAAC,CACpG,GAAM,CAAAC,cAAc,CAAG,CAACX,WAAW,EAAIC,OAAO,GAAKF,UAAU,GAAK,CAAAa,EAAA,CAAAH,kBAAkB,SAAlBA,kBAAkB,iBAAlBA,kBAAkB,CAAEE,cAAc,UAAAC,EAAA,UAAAA,EAAA,CAAI,IAAI,CAAC,CAAC,CAC9G,GAAM,CAAAC,WAAW,CAAG,CAAAJ,kBAAkB,SAAlBA,kBAAkB,iBAAlBA,kBAAkB,CAAEK,eAAe,GAAIC,oCAAuB,CAElF,GAAAC,gBAAS,EAAC,UAAK,CACbf,OAAO,CAACH,KAAK,CAACA,KAAK,CAAC,CACtB,CAAC,CAAE,CAACA,KAAK,CAAEG,OAAO,CAAC,CAAC,CAEpB,GAAM,CAAAgB,OAAO,CAAG,GAAAC,kBAAW,EACzB,SAACC,IAA8B,CAAEvE,CAAwB,CAAI,CAE3D,GAAI,CAAC8D,cAAc,CAAE,CACnB,OACF,CAEA,GAAIS,IAAI,GAAK,KAAK,CAAE,CAClB,GAAAC,sCAAyB,EAACxE,CAAC,CAAEqD,OAAO,CAAEQ,kBAAkB,CAAC,CAC3D,CACF,CAAC,CACD,CAACC,cAAc,CAAET,OAAO,CAAEQ,kBAAkB,CAAC,CAC9C,CAOD,GAAM,CAAAY,OAAO,CAAG,GAAAC,aAAM,EAAU,IAAI,CAAC,CACrC,GAAM,CAAAC,UAAU,CAAG,GAAAD,aAAM,EAACb,kBAAkB,CAAC,CAC7C,GAAAO,gBAAS,EAAC,UAAK,CACbO,UAAU,CAACC,OAAO,CAAGf,kBAAkB,CACzC,CAAC,CAAE,CAACA,kBAAkB,CAAC,CAAC,CAExB,GAAAO,gBAAS,EAAC,UAAK,CAEb,GAAM,CAAAS,GAAG,CAAIC,UAAkB,SAAlBA,UAAU,iBAAVA,UAAU,CAAUC,QAAQ,CACzC,GAAI,CAAC,GAAAC,YAAK,GAAE,EAAI,CAAClB,cAAc,EAAI,EAACe,GAAG,SAAHA,GAAG,iBAAHA,GAAG,CAAEI,gBAAgB,EAAE,CACzD,OACF,CAEA,GAAM,CAAAC,SAAS,CAAGT,OAAO,CAACG,OAAO,CACjC,GAAI,CAACM,SAAS,CAAE,CAGd,OACF,CAEA,GAAM,CAAAC,QAAQ,CAAGjD,iBAAiB,CAACtB,GAAG,CAACyC,OAAO,CAAC,CAC/C,GAAI8B,QAAQ,CAAE,CACZA,QAAQ,CAACC,MAAM,CAACvE,GAAG,CAACqE,SAAS,CAAEP,UAAU,CAAC,CAC5C,CAAC,IAAM,CACL,GAAM,CAAAS,MAAM,CAAmB,GAAI,CAAAC,GAAG,CAAC,CAAC,CAACH,SAAS,CAAEP,UAAU,CAAC,CAAC,CAAC,CACjE,GAAM,CAAAW,OAAO,CAAG,QAAV,CAAAA,OAAOA,CAAItF,CAAM,CAAU,C,OAC/B,GAAM,CAAAuF,KAAK,CAAG,GAAAC,2BAAc,EAACxF,CAAC,CAAEoF,MAAM,CAAC,CACvC,GAAI,CAACG,KAAK,CAAE,CACV,OACF,CACA,GAAM,CAAAlD,OAAO,CAAG,CAAA2B,EAAA,CAAAoB,MAAM,CAACxE,GAAG,CAAC2E,KAAK,CAAC,UAAAvB,EAAA,iBAAAA,EAAA,CAAEY,OAAO,CAC1C,GAAI,CAACvC,OAAO,CAAE,CACZ,OACF,CACA,GAAAmC,sCAAyB,EAAC,CAAEiB,MAAM,CAAEzF,CAAC,CAACyF,MAAM,CAAEC,WAAW,CAAE1F,CAAC,CAAE,CAAEqD,OAAO,CAAEhB,OAAO,CAAE,OAAO,CAAC,CAC5F,CAAC,CACDwC,GAAG,CAACI,gBAAgB,CAAC,OAAO,CAAEK,OAAO,CAAE,IAAI,CAAC,CAC5CpD,iBAAiB,CAACrB,GAAG,CAACwC,OAAO,CAAE,CAC7B+B,MAAM,CAANA,MAAM,CACNO,MAAM,CAAE,QAAR,CAAAA,MAAMA,CAAA,QAAQ,CAAAd,GAAG,CAACe,mBAAmB,CAAC,OAAO,CAAEN,OAAO,CAAE,IAAI,CAAC,E,CAC9D,CAAC,CACJ,CAEA,MAAO,WAAK,CACV,GAAM,CAAAO,KAAK,CAAG3D,iBAAiB,CAACtB,GAAG,CAACyC,OAAO,CAAC,CAC5C,GAAI,CAACwC,KAAK,CAAE,CACV,OACF,CACAA,KAAK,CAACT,MAAM,UAAO,CAACF,SAAS,CAAC,CAC9B,GAAIW,KAAK,CAACT,MAAM,CAACU,IAAI,GAAK,CAAC,CAAE,CAC3BD,KAAK,CAACF,MAAM,EAAE,CACdzD,iBAAiB,UAAO,CAACmB,OAAO,CAAC,CACnC,CACF,CAAC,CACH,CAAC,CAAE,CAACS,cAAc,CAAET,OAAO,CAAC,CAAC,CAE7B,GAAM,CAAA0C,YAAY,CAAG,GAAAf,YAAK,GAAE,CACxB,EAAE,CACF,CAAEgB,iBAAiB,CAAElC,cAAc,CAAG,SAAC9D,CAAwB,QAAK,CAAAqE,OAAO,CAAC,KAAK,CAAErE,CAAC,CAAC,GAAG2D,SAAS,CAAE,CAEvG,MACE,GAAA9D,WAAA,CAAAoG,GAAA,EAAC1G,YAAA,CAAA2G,IAAI,CAAAvE,aAAA,CAAAA,aAAA,CAAAA,aAAA,EACHwE,GAAG,CAAE1B,OAAe,KAAA1C,gBAAA,gBACbkC,WAAW,CAAG,iBAAiB,OACtCjB,KAAK,CAAEA,KAAK,EAAI,CAAEoD,IAAI,CAAE,CAAC,CAAG,EACxBL,YAAY,MAAAlD,QAAA,CAEhB,GAAAhD,WAAA,CAAAwG,IAAA,EAAC1G,eAAA,CAAA2G,cAAc,CAACC,QAAQ,EAACC,KAAK,CAAE,CAAElE,MAAM,CAAEe,OAAO,CAAG,CAAAR,QAAA,EACjDkB,cAAc,EAAI,GAAAlE,WAAA,CAAAoG,GAAA,EAAC9D,qBAAqB,EAACE,OAAO,CAAEwB,kBAAmB,CAACvB,MAAM,CAAEe,OAAQ,EAAG,CACzFR,QAAQ,EACc,CAC3B,EAAM,CAAC,CAEX,CAAC","ignoreList":[]}
@@ -1 +1,2 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.maxAncestorsTraversed=exports.findOwningNode=exports.defaultPostHogLabelProp=exports.autocaptureFromTouchEvent=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));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 _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 isAnimatedValue=function isAnimatedValue(value){return(value===null||value===void 0?void 0:value._isReanimatedSharedValue)===true||(0,_typeof2["default"])(value)==='object'&&value!==null&&'_value'in value;};var _flattenStyles=function flattenStyles(styles){var flattened={};if(isAnimatedValue(styles)){return{};}if(Array.isArray(styles)){var _iterator=_createForOfIteratorHelper(styles),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var style=_step.value;(0,_extends2["default"])(flattened,_flattenStyles(style));}}catch(err){_iterator.e(err);}finally{_iterator.f();}}else if(styles&&(0,_typeof2["default"])(styles)==='object'){for(var key in styles){if(!isAnimatedValue(styles[key])){flattened[key]=styles[key];}}}return flattened;};var stringifyStyle=function stringifyStyle(styles){var flattened=_flattenStyles(styles);var str=Object.keys(flattened).map(function(x){return"".concat(x,":").concat(flattened[x]);}).join(';');return str;};var sanitiseLabel=function sanitiseLabel(label){return label.replace(/[^a-z0-9]+/gi,'-');};var defaultPostHogLabelProp=exports.defaultPostHogLabelProp='ph-label';var captureAttributePrefix='data-ph-capture-attribute-';var frameworkInternalLabels=['LocaleProvider'];var reactFiberKeyPattern=/^__react(Fiber|InternalInstance)\$/;var maxFallbackAncestors=100;var maxOwnerAncestors=100;var warnedCaptureFailure=false;var getFallbackTargetInstance=function getFallbackTargetInstance(e){var node=e.target;for(var depth=0;node&&(0,_typeof2["default"])(node)==='object'&&depth<maxFallbackAncestors;depth++){var key=Object.getOwnPropertyNames(node).find(function(name){return reactFiberKeyPattern.test(name);});if(key){return node[key];}node=node.parentNode;}return undefined;};var findOwningNode=exports.findOwningNode=function findOwningNode(e,owners){var current=e._targetInst||getFallbackTargetInstance(e);for(var depth=0;current&&depth<maxOwnerAncestors;depth++){if(current.stateNode&&owners.has(current.stateNode)){return current.stateNode;}current=current["return"];}return undefined;};var maxAncestorsTraversed=exports.maxAncestorsTraversed=1000;var defaultMaxElementsCaptured=20;var autocaptureFromTouchEvent=exports.autocaptureFromTouchEvent=function autocaptureFromTouchEvent(e,posthog){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var eventType=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'touch';try{captureFromEvent(e,posthog,options,eventType);}catch(error){if(!warnedCaptureFailure){warnedCaptureFailure=true;console.warn('PostHog autocapture: capturing the interaction threw:',error);}}};var captureFromEvent=function captureFromEvent(e,posthog,options,eventType){var _a,_b,_c,_d;var _options$noCapturePro=options.noCaptureProp,noCaptureProp=_options$noCapturePro===void 0?'ph-no-capture':_options$noCapturePro,_options$customLabelP=options.customLabelProp,customLabelProp=_options$customLabelP===void 0?defaultPostHogLabelProp:_options$customLabelP,_options$maxElementsC=options.maxElementsCaptured,maxElementsCapturedOption=_options$maxElementsC===void 0?defaultMaxElementsCaptured:_options$maxElementsC,_options$ignoreLabels=options.ignoreLabels,ignoreLabels=_options$ignoreLabels===void 0?[]:_options$ignoreLabels,_options$propsToCaptu=options.propsToCapture,propsToCapture=_options$propsToCaptu===void 0?['style','testID','accessibilityLabel',customLabelProp,'children']:_options$propsToCaptu;var maxElementsCaptured=Number.isFinite(maxElementsCapturedOption)?maxElementsCapturedOption:defaultMaxElementsCaptured;var nativeInst=e._targetInst;var targetInst=nativeInst||getFallbackTargetInstance(e);if(!targetInst){return;}var elements=[];var autocaptureProperties={};var currentInst=targetInst;var ancestorsTraversed=0;var _loop=function _loop(){var props=currentInst.memoizedProps;if(ancestorsTraversed++>=maxAncestorsTraversed){return{v:void 0};}if(props===null||props===void 0?void 0:props[noCaptureProp]){return{v:void 0};}if(elements.length>=maxElementsCaptured){currentInst=currentInst["return"];return 0;}var el={tag_name:''};var elAutocaptureProperties={};if(props){Object.keys(props).forEach(function(key){var value=props[key];if(key.indexOf(captureAttributePrefix)===0){var propertyKey=key.slice(captureAttributePrefix.length);if(propertyKey&&['string','number','boolean'].includes((0,_typeof2["default"])(value))&&value!==''){elAutocaptureProperties[propertyKey]=value;}}if(!propsToCapture.includes(key)){return;}if(key==='style'){try{el.attr__style=stringifyStyle(value);}catch(error){}}else if(['string','number','boolean'].includes((0,_typeof2["default"])(value))){if(key==='children'){el.$el_text=typeof value==='string'?value:JSON.stringify(value);}else{el["attr__".concat(key)]=value;}}});}var hasCustomLabel=typeof(props===null||props===void 0?void 0:props[customLabelProp])!=='undefined';var label=hasCustomLabel?"".concat(props===null||props===void 0?void 0:props[customLabelProp]):((_a=currentInst.elementType)===null||_a===void 0?void 0:_a.displayName)||((_b=currentInst.elementType)===null||_b===void 0?void 0:_b.name);(0,_extends2["default"])(autocaptureProperties,elAutocaptureProperties);var isFrameworkWrapper=!nativeInst&&!hasCustomLabel&&elements.length===0&&frameworkInternalLabels.includes(label);if(label&&!isFrameworkWrapper&&!ignoreLabels.includes(label)){el.tag_name=sanitiseLabel(label);elements.push(el);}currentInst=currentInst["return"];},_ret;while(currentInst){_ret=_loop();if(_ret===0)continue;if(_ret)return _ret.v;}if(elements.length){var elAttrLabelKey="attr__".concat(customLabelProp);var lastLabel=undefined;for(var i=elements.length-1;i>=0;i--){var element=elements[i];if(element[elAttrLabelKey]){lastLabel=element[elAttrLabelKey];}if(lastLabel){element['tag_name']=lastLabel;}}posthog.autocapture(eventType,elements,_objectSpread(_objectSpread({},autocaptureProperties),{},{$touch_x:(_c=e.nativeEvent)===null||_c===void 0?void 0:_c.pageX,$touch_y:(_d=e.nativeEvent)===null||_d===void 0?void 0:_d.pageY}));}};
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.maxAncestorsTraversed=exports.findOwningNode=exports.defaultPostHogLabelProp=exports.autocaptureFromTouchEvent=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));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 _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 isAnimatedValue=function isAnimatedValue(value){return(value===null||value===void 0?void 0:value._isReanimatedSharedValue)===true||(0,_typeof2["default"])(value)==='object'&&value!==null&&'_value'in value;};var _flattenStyles=function flattenStyles(styles){var flattened={};if(isAnimatedValue(styles)){return{};}if(Array.isArray(styles)){var _iterator=_createForOfIteratorHelper(styles),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var style=_step.value;(0,_extends2["default"])(flattened,_flattenStyles(style));}}catch(err){_iterator.e(err);}finally{_iterator.f();}}else if(styles&&(0,_typeof2["default"])(styles)==='object'){for(var key in styles){if(!isAnimatedValue(styles[key])){flattened[key]=styles[key];}}}return flattened;};var stringifyStyle=function stringifyStyle(styles){var flattened=_flattenStyles(styles);var str=Object.keys(flattened).map(function(x){return"".concat(x,":").concat(flattened[x]);}).join(';');return str;};var sanitiseLabel=function sanitiseLabel(label){return label.replace(/[^a-z0-9]+/gi,'-');};var defaultPostHogLabelProp=exports.defaultPostHogLabelProp='ph-label';var captureAttributePrefix='data-ph-capture-attribute-';var frameworkInternalLabels=['LocaleProvider'];var reactFiberKeyPattern=/^__react(Fiber|InternalInstance)\$/;var maxFallbackAncestors=100;var maxOwnerAncestors=100;var warnedCaptureFailure=false;var getFallbackTargetInstance=function getFallbackTargetInstance(e){var node=e.target;for(var depth=0;node&&(0,_typeof2["default"])(node)==='object'&&depth<maxFallbackAncestors;depth++){var key=Object.getOwnPropertyNames(node).find(function(name){return reactFiberKeyPattern.test(name);});if(key){return node[key];}node=node.parentNode;}return undefined;};var findOwningNode=exports.findOwningNode=function findOwningNode(e,owners){var current=e._targetInst||getFallbackTargetInstance(e);for(var depth=0;current&&depth<maxOwnerAncestors;depth++){if(current.stateNode&&owners.has(current.stateNode)){return current.stateNode;}current=current["return"];}return undefined;};var maxAncestorsTraversed=exports.maxAncestorsTraversed=1000;var defaultMaxElementsCaptured=20;var autocaptureFromTouchEvent=exports.autocaptureFromTouchEvent=function autocaptureFromTouchEvent(e,posthog){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var eventType=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'touch';try{captureFromEvent(e,posthog,options,eventType);}catch(error){if(!warnedCaptureFailure){warnedCaptureFailure=true;console.warn('PostHog autocapture: capturing the interaction threw:',error);}}};var captureFromEvent=function captureFromEvent(e,posthog,options,eventType){var _a,_b,_c,_d;var _options$noCapturePro=options.noCaptureProp,noCaptureProp=_options$noCapturePro===void 0?'ph-no-capture':_options$noCapturePro,_options$customLabelP=options.customLabelProp,customLabelProp=_options$customLabelP===void 0?defaultPostHogLabelProp:_options$customLabelP,_options$maxElementsC=options.maxElementsCaptured,maxElementsCapturedOption=_options$maxElementsC===void 0?defaultMaxElementsCaptured:_options$maxElementsC,_options$ignoreLabels=options.ignoreLabels,ignoreLabels=_options$ignoreLabels===void 0?[]:_options$ignoreLabels,_options$propsToCaptu=options.propsToCapture,propsToCapture=_options$propsToCaptu===void 0?['style','testID','accessibilityLabel',customLabelProp,'children']:_options$propsToCaptu;var maxElementsCaptured=Number.isFinite(maxElementsCapturedOption)?maxElementsCapturedOption:defaultMaxElementsCaptured;var nativeInst=e._targetInst;var targetInst=nativeInst||getFallbackTargetInstance(e);if(!targetInst){return;}var elements=[];var autocaptureProperties={};var currentInst=targetInst;var ancestorsTraversed=0;var _loop=function _loop(){var props=currentInst.memoizedProps;if(ancestorsTraversed++>=maxAncestorsTraversed){return{v:void 0};}if(props===null||props===void 0?void 0:props[noCaptureProp]){return{v:void 0};}if(elements.length>=maxElementsCaptured){currentInst=currentInst["return"];return 0;}var el={tag_name:''};var elAutocaptureProperties={};if(props){Object.keys(props).forEach(function(key){var value=props[key];if(key.indexOf(captureAttributePrefix)===0){var propertyKey=key.slice(captureAttributePrefix.length);if(propertyKey&&['string','number','boolean'].includes((0,_typeof2["default"])(value))&&value!==''){elAutocaptureProperties[propertyKey]=value;}}if(!propsToCapture.includes(key)){return;}if(key==='style'){try{el.attr__style=stringifyStyle(value);}catch(error){}}else if(['string','number','boolean'].includes((0,_typeof2["default"])(value))){if(key==='children'){el.$el_text=typeof value==='string'?value:JSON.stringify(value);}else{el["attr__".concat(key)]=value;}}});}var hasCustomLabel=typeof(props===null||props===void 0?void 0:props[customLabelProp])!=='undefined';var label=hasCustomLabel?"".concat(props===null||props===void 0?void 0:props[customLabelProp]):((_a=currentInst.elementType)===null||_a===void 0?void 0:_a.displayName)||((_b=currentInst.elementType)===null||_b===void 0?void 0:_b.name);(0,_extends2["default"])(autocaptureProperties,elAutocaptureProperties);var isFrameworkWrapper=!nativeInst&&!hasCustomLabel&&elements.length===0&&frameworkInternalLabels.includes(label);if(label&&!isFrameworkWrapper&&!ignoreLabels.includes(label)){el.tag_name=sanitiseLabel(label);elements.push(el);}currentInst=currentInst["return"];},_ret;while(currentInst){_ret=_loop();if(_ret===0)continue;if(_ret)return _ret.v;}if(elements.length){var elAttrLabelKey="attr__".concat(customLabelProp);var lastLabel=undefined;for(var i=elements.length-1;i>=0;i--){var element=elements[i];if(element[elAttrLabelKey]){lastLabel=element[elAttrLabelKey];}if(lastLabel){element['tag_name']=lastLabel;}}posthog.autocapture(eventType,elements,_objectSpread(_objectSpread({},autocaptureProperties),{},{$touch_x:(_c=e.nativeEvent)===null||_c===void 0?void 0:_c.pageX,$touch_y:(_d=e.nativeEvent)===null||_d===void 0?void 0:_d.pageY}));}};
2
+ //# sourceMappingURL=autocapture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocapture.js","sourceRoot":"","sources":["../src/autocapture.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocapture.js","names":["isAnimatedValue","value","_isReanimatedSharedValue","_typeof2","flattenStyles","styles","flattened","Array","isArray","_iterator","_createForOfIteratorHelper","_step","s","n","done","style","_extends2","err","e","f","key","stringifyStyle","str","Object","keys","map","x","concat","join","sanitiseLabel","label","replace","defaultPostHogLabelProp","exports","captureAttributePrefix","frameworkInternalLabels","reactFiberKeyPattern","maxFallbackAncestors","maxOwnerAncestors","warnedCaptureFailure","getFallbackTargetInstance","node","target","depth","getOwnPropertyNames","find","name","test","parentNode","undefined","findOwningNode","owners","current","_targetInst","stateNode","has","maxAncestorsTraversed","defaultMaxElementsCaptured","autocaptureFromTouchEvent","posthog","options","arguments","length","eventType","captureFromEvent","error","console","warn","_options$noCapturePro","noCaptureProp","_options$customLabelP","customLabelProp","_options$maxElementsC","maxElementsCaptured","maxElementsCapturedOption","_options$ignoreLabels","ignoreLabels","_options$propsToCaptu","propsToCapture","Number","isFinite","nativeInst","targetInst","elements","autocaptureProperties","currentInst","ancestorsTraversed","_loop","props","memoizedProps","v","el","tag_name","elAutocaptureProperties","forEach","indexOf","propertyKey","slice","includes","attr__style","$el_text","JSON","stringify","hasCustomLabel","_a","elementType","displayName","_b","isFrameworkWrapper","push","_ret","elAttrLabelKey","lastLabel","i","element","autocapture","_objectSpread","$touch_x","_c","nativeEvent","pageX","$touch_y","_d","pageY"],"sources":["../src/autocapture.tsx"],"sourcesContent":["import { PostHog } from './posthog-rn'\nimport { PostHogAutocaptureElement, JsonType } from '@posthog/core'\nimport { PostHogAutocaptureOptions } from './types'\n\ninterface Element {\n elementType?: {\n displayName?: string\n name?: string\n }\n memoizedProps?: Record<string, unknown>\n return?: Element\n // Host fibers carry their DOM node here; used to scope web capture to a provider's subtree.\n stateNode?: unknown\n}\n\nconst isAnimatedValue = (value: any): boolean => {\n // Check if it's a Reanimated shared value or animated style\n // _isReanimatedSharedValue is the official internal marker for SharedValues\n // Also check for _value property which is present in SharedValues\n return value?._isReanimatedSharedValue === true || (typeof value === 'object' && value !== null && '_value' in value)\n}\n\nconst flattenStyles = (styles: any): any => {\n const flattened: any = {}\n\n // Skip if the entire style object is an animated value\n if (isAnimatedValue(styles)) {\n return {}\n }\n\n if (Array.isArray(styles)) {\n for (const style of styles) {\n Object.assign(flattened, flattenStyles(style))\n }\n } else if (styles && typeof styles === 'object') {\n // Filter out individual animated properties within a regular style object\n // This handles cases like { opacity: animatedValue, backgroundColor: 'red' }\n for (const key in styles) {\n if (!isAnimatedValue(styles[key])) {\n flattened[key] = styles[key]\n }\n }\n }\n\n return flattened\n}\n\nconst stringifyStyle = (styles: any): string => {\n const flattened = flattenStyles(styles)\n\n const str = Object.keys(flattened)\n .map((x) => `${x}:${flattened[x]}`)\n .join(';')\n\n return str\n}\n\nconst sanitiseLabel = (label: string): string => {\n return label.replace(/[^a-z0-9]+/gi, '-')\n}\n\nexport const defaultPostHogLabelProp = 'ph-label'\n\nconst captureAttributePrefix = 'data-ph-capture-attribute-'\n\n// react-native-web internals; skipped only where RNW puts them, so a same-named app component is kept.\n// Verified against RNW 0.20.0 and 0.21.2: createElement wraps in LocaleProvider only when\n// `domProps.dir` is set, so a nested element inside a text ancestor never gets one. Recheck on bump.\nconst frameworkInternalLabels = ['LocaleProvider']\n\nconst reactFiberKeyPattern = /^__react(Fiber|InternalInstance)\\$/\n\n// Cycle guard, not a depth policy: real DOM chains null-terminate, a malformed parentNode may not.\nconst maxFallbackAncestors = 100\n\n// Separate bound for the fiber walk: unrelated to the DOM guard above, so tuning one never\n// silently retunes the other.\nconst maxOwnerAncestors = 100\n\n// Fires per interaction, so warn once: a persistent failure here silently disables autocapture.\nlet warnedCaptureFailure = false\n\n// react-dom (RN Web) events have no _targetInst; the fiber sits on e.target under a randomised\n// __reactFiber$ key. The clicked node may be a non-React node inside a React subtree, so walk up.\nconst getFallbackTargetInstance = (e: any): Element | undefined => {\n let node = e.target\n\n for (let depth = 0; node && typeof node === 'object' && depth < maxFallbackAncestors; depth++) {\n const key = Object.getOwnPropertyNames(node).find((name) => reactFiberKeyPattern.test(name))\n if (key) {\n return node[key]\n }\n node = node.parentNode\n }\n\n return undefined\n}\n\n// Returns the owner node this event happened under, or undefined if none owns it. Walks the fiber\n// tree, not the DOM: RNW's Modal portals to document.body, so the DOM parent chain leaves the\n// subtree but fiber `.return` does not. Kept separate from the element walk in captureFromEvent,\n// which stops at maxElementsCaptured and would falsely reject a deep target.\nexport const findOwningNode = (e: any, owners: { has(node: unknown): boolean }): unknown => {\n let current: Element | undefined = e._targetInst || getFallbackTargetInstance(e)\n for (let depth = 0; current && depth < maxOwnerAncestors; depth++) {\n if (current.stateNode && owners.has(current.stateNode)) {\n return current.stateNode\n }\n current = current.return\n }\n\n return undefined\n}\n\n// Fail-closed bound on the walk; unrelated to maxElementsCaptured, which caps the emitted payload.\nexport const maxAncestorsTraversed = 1000\n\nconst defaultMaxElementsCaptured = 20\n\n// Autocapture must never break the host app: a throw would escape into RN's touch dispatch on\n// native, or the DOM click handler on web. Matches the browser SDK, which guards its equivalent\n// document-level handler (packages/browser/src/autocapture.ts).\nexport const autocaptureFromTouchEvent = (\n e: any,\n posthog: PostHog,\n options: PostHogAutocaptureOptions = {},\n eventType: 'touch' | 'click' = 'touch'\n): void => {\n try {\n captureFromEvent(e, posthog, options, eventType)\n } catch (error) {\n if (!warnedCaptureFailure) {\n warnedCaptureFailure = true\n console.warn('PostHog autocapture: capturing the interaction threw:', error)\n }\n }\n}\n\nconst captureFromEvent = (\n e: any,\n posthog: PostHog,\n options: PostHogAutocaptureOptions,\n eventType: 'touch' | 'click'\n): void => {\n const {\n noCaptureProp = 'ph-no-capture',\n customLabelProp = defaultPostHogLabelProp,\n maxElementsCaptured: maxElementsCapturedOption = defaultMaxElementsCaptured,\n ignoreLabels = [],\n propsToCapture = ['style', 'testID', 'accessibilityLabel', customLabelProp, 'children'],\n } = options\n\n // The destructure default only covers `undefined`; a NaN would make every comparison against it\n // false, silently uncapping the payload instead of capping it.\n const maxElementsCaptured = Number.isFinite(maxElementsCapturedOption)\n ? maxElementsCapturedOption\n : defaultMaxElementsCaptured\n\n const nativeInst = e._targetInst\n const targetInst: Element | undefined = nativeInst || getFallbackTargetInstance(e)\n if (!targetInst) {\n return\n }\n const elements: PostHogAutocaptureElement[] = []\n const autocaptureProperties: Record<string, JsonType> = {}\n\n let currentInst: Element | undefined = targetInst\n let ancestorsTraversed = 0\n\n while (currentInst) {\n const props = currentInst.memoizedProps\n\n if (ancestorsTraversed++ >= maxAncestorsTraversed) {\n return\n }\n\n if (props?.[noCaptureProp]) {\n // Immediately ignore events if a no capture is in the chain\n return\n }\n\n if (elements.length >= maxElementsCaptured) {\n // keep walking so a no capture ancestor above the cap is still seen\n currentInst = currentInst.return\n continue\n }\n\n const el: PostHogAutocaptureElement = {\n tag_name: '',\n }\n const elAutocaptureProperties: Record<string, JsonType> = {}\n\n if (props) {\n // Capture data-ph-capture-attribute props as event properties.\n // Element props are only captured from propsToCapture.\n Object.keys(props).forEach((key) => {\n const value = props[key]\n\n if (key.indexOf(captureAttributePrefix) === 0) {\n const propertyKey = key.slice(captureAttributePrefix.length)\n if (propertyKey && ['string', 'number', 'boolean'].includes(typeof value) && value !== '') {\n elAutocaptureProperties[propertyKey] = value as JsonType\n }\n }\n\n if (!propsToCapture.includes(key)) {\n return\n }\n\n if (key === 'style') {\n // Safely handle style prop, especially for animated styles\n try {\n el.attr__style = stringifyStyle(value)\n } catch (error) {\n // Skip style capturing if it fails (e.g., animated styles)\n }\n } else if (['string', 'number', 'boolean'].includes(typeof value)) {\n if (key === 'children') {\n el.$el_text = typeof value === 'string' ? value : JSON.stringify(value)\n } else {\n el[`attr__${key}`] = value as JsonType\n }\n }\n })\n }\n\n // Try and find a sensible label\n const hasCustomLabel = typeof props?.[customLabelProp] !== 'undefined'\n const label = hasCustomLabel\n ? `${props?.[customLabelProp]}`\n : currentInst.elementType?.displayName || currentInst.elementType?.name\n\n Object.assign(autocaptureProperties, elAutocaptureProperties)\n\n // RNW wraps the touched host node directly, so its internals only ever head the chain; a match\n // further up is the app's own component. A user-set label is never a framework internal.\n const isFrameworkWrapper =\n !nativeInst && !hasCustomLabel && elements.length === 0 && frameworkInternalLabels.includes(label as string)\n\n if (label && !isFrameworkWrapper && !ignoreLabels.includes(label)) {\n el.tag_name = sanitiseLabel(label)\n elements.push(el)\n }\n\n currentInst = currentInst.return\n }\n\n if (elements.length) {\n // The element that was tapped, may be a child (or grandchild of an element with a customLabelProp (default: ph-label))\n // In this case, the current labels applied obscure the customLabelProp (default: ph-label)\n // To correct this, loop over the elements in reverse, and promote the customLabelProp (default: ph-label)\n const elAttrLabelKey = `attr__${customLabelProp}`\n let lastLabel: string | undefined = undefined\n\n for (let i = elements.length - 1; i >= 0; i--) {\n const element = elements[i]\n if (element[elAttrLabelKey]) {\n // this element had a customLabelProp (default: ph-label) set, promote it to the lastLabel\n lastLabel = element[elAttrLabelKey] as string\n }\n\n // if lastLabel is set, update this elements tag_name\n if (lastLabel) {\n element['tag_name'] = lastLabel\n }\n }\n posthog.autocapture(eventType, elements, {\n ...autocaptureProperties,\n $touch_x: e.nativeEvent?.pageX,\n $touch_y: e.nativeEvent?.pageY,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getExceptionContext=void 0;var _core=require("@posthog/core");var _reactNative=require("react-native");var _OptionalExpoUpdates=require("../optional/OptionalExpoUpdates");var knownString=function knownString(value){return typeof value==='string'&&!(0,_core.isEmptyString)(value)&&value!=='unknown';};var getExceptionContext=exports.getExceptionContext=function getExceptionContext(){var properties={};var appState=(0,_core.trySafe)(function(){return _reactNative.AppState.currentState;});if(appState==='active'||appState==='background'||appState==='inactive'||appState==='extension'){properties.$app_state=appState;}if(_reactNative.Platform.OS!=='ios'&&_reactNative.Platform.OS!=='android'){return properties;}if(!(typeof __DEV__!=='undefined'&&__DEV__)&&(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.isEnabled;})===true){var updateId=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.updateId;});var runtimeVersion=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.runtimeVersion;});var channel=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.channel;});var isEmbeddedLaunch=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.isEmbeddedLaunch;});if(knownString(updateId))properties.$expo_update_id=updateId;if(knownString(runtimeVersion))properties.$expo_runtime_version=runtimeVersion;if(knownString(channel))properties.$expo_channel=channel;if(typeof isEmbeddedLaunch==='boolean')properties.$expo_is_embedded_launch=isEmbeddedLaunch;}return properties;};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getExceptionContext=void 0;var _core=require("@posthog/core");var _reactNative=require("react-native");var _OptionalExpoUpdates=require("../optional/OptionalExpoUpdates");var knownString=function knownString(value){return typeof value==='string'&&!(0,_core.isEmptyString)(value)&&value!=='unknown';};var getExceptionContext=exports.getExceptionContext=function getExceptionContext(){var properties={};var appState=(0,_core.trySafe)(function(){return _reactNative.AppState.currentState;});if(appState==='active'||appState==='background'||appState==='inactive'||appState==='extension'){properties.$app_state=appState;}if(_reactNative.Platform.OS!=='ios'&&_reactNative.Platform.OS!=='android'){return properties;}if(!(typeof __DEV__!=='undefined'&&__DEV__)&&(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.isEnabled;})===true){var updateId=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.updateId;});var runtimeVersion=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.runtimeVersion;});var channel=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.channel;});var isEmbeddedLaunch=(0,_core.trySafe)(function(){return _OptionalExpoUpdates.OptionalExpoUpdates===null||_OptionalExpoUpdates.OptionalExpoUpdates===void 0?void 0:_OptionalExpoUpdates.OptionalExpoUpdates.isEmbeddedLaunch;});if(knownString(updateId))properties.$expo_update_id=updateId;if(knownString(runtimeVersion))properties.$expo_runtime_version=runtimeVersion;if(knownString(channel))properties.$expo_channel=channel;if(typeof isEmbeddedLaunch==='boolean')properties.$expo_is_embedded_launch=isEmbeddedLaunch;}return properties;};
2
+ //# sourceMappingURL=exception-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exception-context.js","sourceRoot":"","sources":["../../src/error-tracking/exception-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAA+B,MAAM,eAAe,CAAA;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAErE,MAAM,WAAW,GAAG,CAAC,KAAc,EAAmB,EAAE,CACtD,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,CAAA;AAE3E,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA2B,EAAE;IAC9D,MAAM,UAAU,GAA2B,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACrD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC9G,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAA;IAClC,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3G,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAC,CAAA;QAC7D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,cAAc,CAAC,CAAA;QACzE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,CAAA;QAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,gBAAgB,CAAC,CAAA;QAC7E,IAAI,WAAW,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAA;QAChE,IAAI,WAAW,CAAC,cAAc,CAAC;YAAE,UAAU,CAAC,qBAAqB,GAAG,cAAc,CAAA;QAClF,IAAI,WAAW,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAA;QAC5D,IAAI,OAAO,gBAAgB,KAAK,SAAS;YAAE,UAAU,CAAC,wBAAwB,GAAG,gBAAgB,CAAA;IACnG,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"exception-context.js","names":["_core","require","_reactNative","_OptionalExpoUpdates","knownString","value","isEmptyString","getExceptionContext","exports","properties","appState","trySafe","AppState","currentState","$app_state","Platform","OS","__DEV__","OptionalExpoUpdates","isEnabled","updateId","runtimeVersion","channel","isEmbeddedLaunch","$expo_update_id","$expo_runtime_version","$expo_channel","$expo_is_embedded_launch"],"sources":["../../src/error-tracking/exception-context.ts"],"sourcesContent":["import { isEmptyString, trySafe, type PostHogEventProperties } from '@posthog/core'\nimport { AppState, Platform } from 'react-native'\nimport { OptionalExpoUpdates } from '../optional/OptionalExpoUpdates'\n\nconst knownString = (value: unknown): value is string =>\n typeof value === 'string' && !isEmptyString(value) && value !== 'unknown'\n\n/** Capture-time, exception-only context, separate from the static customAppProperties. */\nexport const getExceptionContext = (): PostHogEventProperties => {\n const properties: PostHogEventProperties = {}\n const appState = trySafe(() => AppState.currentState)\n if (appState === 'active' || appState === 'background' || appState === 'inactive' || appState === 'extension') {\n properties.$app_state = appState\n }\n\n if (Platform.OS !== 'ios' && Platform.OS !== 'android') {\n return properties\n }\n\n if (!(typeof __DEV__ !== 'undefined' && __DEV__) && trySafe(() => OptionalExpoUpdates?.isEnabled) === true) {\n const updateId = trySafe(() => OptionalExpoUpdates?.updateId)\n const runtimeVersion = trySafe(() => OptionalExpoUpdates?.runtimeVersion)\n const channel = trySafe(() => OptionalExpoUpdates?.channel)\n const isEmbeddedLaunch = trySafe(() => OptionalExpoUpdates?.isEmbeddedLaunch)\n if (knownString(updateId)) properties.$expo_update_id = updateId\n if (knownString(runtimeVersion)) properties.$expo_runtime_version = runtimeVersion\n if (knownString(channel)) properties.$expo_channel = channel\n if (typeof isEmbeddedLaunch === 'boolean') properties.$expo_is_embedded_launch = isEmbeddedLaunch\n }\n\n return properties\n}\n"],"mappings":"yGAAA,IAAAA,KAAA,CAAAC,OAAA,kBACA,IAAAC,YAAA,CAAAD,OAAA,iBACA,IAAAE,oBAAA,CAAAF,OAAA,oCAEA,GAAM,CAAAG,WAAW,CAAG,QAAd,CAAAA,WAAWA,CAAIC,KAAc,QACjC,OAAO,CAAAA,KAAK,GAAK,QAAQ,EAAI,CAAC,GAAAC,mBAAa,EAACD,KAAK,CAAC,EAAIA,KAAK,GAAK,SAAS,GAGpE,GAAM,CAAAE,mBAAmB,CAAAC,OAAA,CAAAD,mBAAA,CAAG,QAAtB,CAAAA,mBAAmBA,CAAA,CAAgC,CAC9D,GAAM,CAAAE,UAAU,CAA2B,EAAE,CAC7C,GAAM,CAAAC,QAAQ,CAAG,GAAAC,aAAO,EAAC,iBAAM,CAAAC,qBAAQ,CAACC,YAAY,GAAC,CACrD,GAAIH,QAAQ,GAAK,QAAQ,EAAIA,QAAQ,GAAK,YAAY,EAAIA,QAAQ,GAAK,UAAU,EAAIA,QAAQ,GAAK,WAAW,CAAE,CAC7GD,UAAU,CAACK,UAAU,CAAGJ,QAAQ,CAClC,CAEA,GAAIK,qBAAQ,CAACC,EAAE,GAAK,KAAK,EAAID,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACtD,MAAO,CAAAP,UAAU,CACnB,CAEA,GAAI,EAAE,MAAO,CAAAQ,OAAO,GAAK,WAAW,EAAIA,OAAO,CAAC,EAAI,GAAAN,aAAO,EAAC,iBAAM,CAAAO,wCAAmB,SAAnBA,wCAAmB,iBAAnBA,wCAAmB,CAAEC,SAAS,GAAC,GAAK,IAAI,CAAE,CAC1G,GAAM,CAAAC,QAAQ,CAAG,GAAAT,aAAO,EAAC,iBAAM,CAAAO,wCAAmB,SAAnBA,wCAAmB,iBAAnBA,wCAAmB,CAAEE,QAAQ,GAAC,CAC7D,GAAM,CAAAC,cAAc,CAAG,GAAAV,aAAO,EAAC,iBAAM,CAAAO,wCAAmB,SAAnBA,wCAAmB,iBAAnBA,wCAAmB,CAAEG,cAAc,GAAC,CACzE,GAAM,CAAAC,OAAO,CAAG,GAAAX,aAAO,EAAC,iBAAM,CAAAO,wCAAmB,SAAnBA,wCAAmB,iBAAnBA,wCAAmB,CAAEI,OAAO,GAAC,CAC3D,GAAM,CAAAC,gBAAgB,CAAG,GAAAZ,aAAO,EAAC,iBAAM,CAAAO,wCAAmB,SAAnBA,wCAAmB,iBAAnBA,wCAAmB,CAAEK,gBAAgB,GAAC,CAC7E,GAAInB,WAAW,CAACgB,QAAQ,CAAC,CAAEX,UAAU,CAACe,eAAe,CAAGJ,QAAQ,CAChE,GAAIhB,WAAW,CAACiB,cAAc,CAAC,CAAEZ,UAAU,CAACgB,qBAAqB,CAAGJ,cAAc,CAClF,GAAIjB,WAAW,CAACkB,OAAO,CAAC,CAAEb,UAAU,CAACiB,aAAa,CAAGJ,OAAO,CAC5D,GAAI,MAAO,CAAAC,gBAAgB,GAAK,SAAS,CAAEd,UAAU,CAACkB,wBAAwB,CAAGJ,gBAAgB,CACnG,CAEA,MAAO,CAAAd,UAAU,CACnB,CAAC","ignoreList":[]}
@@ -1 +1,2 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ErrorTracking=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _core=require("@posthog/core");var _utils=require("./utils");var _utils2=require("../utils");var _OptionalPlugin=require("../optional/OptionalPlugin");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;}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 LogLevelList=['debug','log','info','warn','error'];var ErrorTracking=exports.ErrorTracking=function(){function ErrorTracking(instance){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var logger=arguments.length>2?arguments[2]:undefined;var persistFatalException=arguments.length>3?arguments[3]:undefined;(0,_classCallCheck2["default"])(this,ErrorTracking);this.instance=instance;this.persistFatalException=persistFatalException;this._nativeForwardingEnabled=false;this._autocaptureEnabled=true;this.logger=logger.createLogger('[ErrorTracking]');this.options=this.resolveOptions(options);var exceptionSteps=options.exceptionSteps;this._exceptionStepsConfig=_core.ErrorTracking.resolveExceptionStepsConfig(exceptionSteps?{enabled:exceptionSteps.enabled,max_bytes:exceptionSteps.maxBytes}:undefined);this._exceptionStepsBuffer=new _core.ErrorTracking.ExceptionStepsBuffer(this._exceptionStepsConfig);this.autocapture(this.options.autocapture);}return(0,_createClass2["default"])(ErrorTracking,[{key:"getNativePluginExceptionStepsConfig",value:function getNativePluginExceptionStepsConfig(){return{enabled:this._exceptionStepsConfig.enabled,maxBytes:this._exceptionStepsConfig.max_bytes};}},{key:"addExceptionStep",value:function addExceptionStep(message,properties){if(!this._exceptionStepsConfig.enabled){return;}try{if(!(0,_core.isString)(message)||message.trim().length===0){this.logger.warn('Ignoring exception step because message must be a non-empty string');return;}var userProperties=(0,_core.isObject)(properties)?_objectSpread({},properties):{};var _CoreErrorTracking$st=_core.ErrorTracking.stripReservedExceptionStepFields(userProperties),sanitizedProperties=_CoreErrorTracking$st.sanitizedProperties,droppedKeys=_CoreErrorTracking$st.droppedKeys;if(droppedKeys.length>0){this.logger.warn('Ignoring reserved exception step fields',{droppedKeys:droppedKeys});}this._exceptionStepsBuffer.add(_objectSpread((0,_defineProperty2["default"])((0,_defineProperty2["default"])({},_core.ErrorTracking.EXCEPTION_STEP_INTERNAL_FIELDS.MESSAGE,message),_core.ErrorTracking.EXCEPTION_STEP_INTERNAL_FIELDS.TIMESTAMP,new Date().toISOString()),sanitizedProperties));this.forwardExceptionStepToNative(message,properties);}catch(error){this.logger.error('Failed to add exception step. Ignoring breadcrumb.',error);}}},{key:"onNativeErrorTrackingReady",value:function onNativeErrorTrackingReady(){this._nativeForwardingEnabled=true;var _iterator=_createForOfIteratorHelper(this.getAttachableExceptionSteps()),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var step=_step.value;this.forwardExceptionStepToNative(step.$message,step);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}},{key:"forwardExceptionStepToNative",value:function forwardExceptionStepToNative(message,properties){var _this=this;if(!this._nativeForwardingEnabled||!(_OptionalPlugin.OptionalReactNativePlugin===null||_OptionalPlugin.OptionalReactNativePlugin===void 0?void 0:_OptionalPlugin.OptionalReactNativePlugin.addExceptionStep)){return;}try{void Promise.resolve(_OptionalPlugin.OptionalReactNativePlugin.addExceptionStep(message,properties))["catch"](function(e){_this.logger.warn("Failed to forward exception step to native: ".concat(e));});}catch(e){this.logger.warn("Failed to forward exception step to native: ".concat(e));}}},{key:"attachExceptionSteps",value:function attachExceptionSteps(properties){if(!this._exceptionStepsConfig.enabled||!(0,_core.isNullish)(properties.$exception_steps)){return properties;}var steps=this.getAttachableExceptionSteps();if(steps.length===0){return properties;}return _objectSpread(_objectSpread({},properties),{},{$exception_steps:steps});}},{key:"getAttachableExceptionSteps",value:function getAttachableExceptionSteps(){if(!this._exceptionStepsConfig.enabled){return[];}try{return this._exceptionStepsBuffer.getAttachable();}catch(error){this.logger.error('Failed to read buffered exception steps.',error);return[];}}},{key:"clearExceptionSteps",value:function clearExceptionSteps(){this._exceptionStepsBuffer.clear();}},{key:"shutdown",value:function shutdown(){var _a;this._autocaptureEnabled=false;(_a=this._unsubscribeUncaughtExceptions)===null||_a===void 0?void 0:_a.call(this);this._unsubscribeUncaughtExceptions=undefined;this.clearExceptionSteps();}},{key:"onRemoteConfig",value:function onRemoteConfig(errorTracking){if(errorTracking==null){return;}this._autocaptureEnabled=(0,_utils2.getRemoteConfigBool)(errorTracking,'autocaptureExceptions',false);this.logger.info("Error tracking autocapture ".concat(this._autocaptureEnabled?'enabled':'disabled'," by remote config."));}},{key:"resolveOptions",value:function resolveOptions(options){var autocaptureOptions=this.resolveAutocaptureOptions(options.autocapture);return{autocapture:autocaptureOptions};}},{key:"resolveAutocaptureOptions",value:function resolveAutocaptureOptions(){var autocapture=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(typeof autocapture==='boolean'){return{uncaughtExceptions:autocapture,unhandledRejections:autocapture,console:[]};}return{uncaughtExceptions:!!autocapture.uncaughtExceptions,unhandledRejections:!!autocapture.unhandledRejections,console:this.resolveConsoleOptions(autocapture.console)};}},{key:"resolveConsoleOptions",value:function resolveConsoleOptions(){var console=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(typeof console==='boolean'){return console?['error']:[];}return Array.isArray(console)?console.filter(function(level){return LogLevelList.includes(level);}):[];}},{key:"autocaptureUncaughtErrors",value:function autocaptureUncaughtErrors(){var _this2=this;var onUncaughtException=function onUncaughtException(error,isFatal){var _a;if(!_this2._autocaptureEnabled){return;}if((0,_core.isPostHogFetchNetworkError)(error)){return;}var hint={mechanism:{type:'onuncaughtexception',handled:false}};var additionalProperties={};if(isFatal){additionalProperties['$exception_level']='fatal';}_this2.instance.captureException(error,additionalProperties,hint);if(isFatal){var persisted=(_a=_this2.persistFatalException)===null||_a===void 0?void 0:_a.call(_this2);void _this2.instance.flush()["catch"](function(){_this2.logger.critical('Failed to flush events');});return persisted;}};try{this._unsubscribeUncaughtExceptions=(0,_utils.trackUncaughtExceptions)(onUncaughtException);}catch(err){this.logger.warn('Failed to track uncaught exceptions: ',err);}}},{key:"autocaptureUnhandledRejections",value:function autocaptureUnhandledRejections(){var _this3=this;var onUnhandledRejection=function onUnhandledRejection(error){if(!_this3._autocaptureEnabled){return;}if((0,_core.isPostHogFetchNetworkError)(error)){return;}var hint={mechanism:{type:'onunhandledrejection',handled:false}};_this3.instance.captureException(error,{},hint);};try{(0,_utils.trackUnhandledRejections)(onUnhandledRejection);}catch(err){this.logger.warn('Failed to track unhandled rejections: ',err);}}},{key:"autocaptureConsole",value:function autocaptureConsole(levels){var _this4=this;var onConsole=function onConsole(level){return function(error,isFatal,syntheticException){if(!_this4._autocaptureEnabled){return;}var hint={mechanism:{type:'onconsole',handled:true},syntheticException:syntheticException};var additionalProperties={$exception_level:level};_this4.instance.captureException(error,additionalProperties,hint);};};try{var _iterator2=_createForOfIteratorHelper(levels),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var level=_step2.value;(0,_utils.trackConsole)(level,onConsole(level));}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}catch(err){this.logger.warn('Failed to track console errors: ',err);}}},{key:"autocapture",value:function autocapture(autocaptureOptions){if(autocaptureOptions.uncaughtExceptions===true){this.autocaptureUncaughtErrors();}if(autocaptureOptions.unhandledRejections===true){this.autocaptureUnhandledRejections();}if(autocaptureOptions.console.length>0){this.autocaptureConsole(autocaptureOptions.console);}}}]);}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ErrorTracking=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _core=require("@posthog/core");var _utils=require("./utils");var _utils2=require("../utils");var _OptionalPlugin=require("../optional/OptionalPlugin");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;}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 LogLevelList=['debug','log','info','warn','error'];var ErrorTracking=exports.ErrorTracking=function(){function ErrorTracking(instance){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var logger=arguments.length>2?arguments[2]:undefined;var persistFatalException=arguments.length>3?arguments[3]:undefined;(0,_classCallCheck2["default"])(this,ErrorTracking);this.instance=instance;this.persistFatalException=persistFatalException;this._nativeForwardingEnabled=false;this._autocaptureEnabled=true;this.logger=logger.createLogger('[ErrorTracking]');this.options=this.resolveOptions(options);var exceptionSteps=options.exceptionSteps;this._exceptionStepsConfig=_core.ErrorTracking.resolveExceptionStepsConfig(exceptionSteps?{enabled:exceptionSteps.enabled,max_bytes:exceptionSteps.maxBytes}:undefined);this._exceptionStepsBuffer=new _core.ErrorTracking.ExceptionStepsBuffer(this._exceptionStepsConfig);this.autocapture(this.options.autocapture);}return(0,_createClass2["default"])(ErrorTracking,[{key:"getNativePluginExceptionStepsConfig",value:function getNativePluginExceptionStepsConfig(){return{enabled:this._exceptionStepsConfig.enabled,maxBytes:this._exceptionStepsConfig.max_bytes};}},{key:"addExceptionStep",value:function addExceptionStep(message,properties){if(!this._exceptionStepsConfig.enabled){return;}try{if(!(0,_core.isString)(message)||message.trim().length===0){this.logger.warn('Ignoring exception step because message must be a non-empty string');return;}var userProperties=(0,_core.isObject)(properties)?_objectSpread({},properties):{};var _CoreErrorTracking$st=_core.ErrorTracking.stripReservedExceptionStepFields(userProperties),sanitizedProperties=_CoreErrorTracking$st.sanitizedProperties,droppedKeys=_CoreErrorTracking$st.droppedKeys;if(droppedKeys.length>0){this.logger.warn('Ignoring reserved exception step fields',{droppedKeys:droppedKeys});}this._exceptionStepsBuffer.add(_objectSpread((0,_defineProperty2["default"])((0,_defineProperty2["default"])({},_core.ErrorTracking.EXCEPTION_STEP_INTERNAL_FIELDS.MESSAGE,message),_core.ErrorTracking.EXCEPTION_STEP_INTERNAL_FIELDS.TIMESTAMP,new Date().toISOString()),sanitizedProperties));this.forwardExceptionStepToNative(message,properties);}catch(error){this.logger.error('Failed to add exception step. Ignoring breadcrumb.',error);}}},{key:"onNativeErrorTrackingReady",value:function onNativeErrorTrackingReady(){this._nativeForwardingEnabled=true;var _iterator=_createForOfIteratorHelper(this.getAttachableExceptionSteps()),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var step=_step.value;this.forwardExceptionStepToNative(step.$message,step);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}},{key:"forwardExceptionStepToNative",value:function forwardExceptionStepToNative(message,properties){var _this=this;if(!this._nativeForwardingEnabled||!(_OptionalPlugin.OptionalReactNativePlugin===null||_OptionalPlugin.OptionalReactNativePlugin===void 0?void 0:_OptionalPlugin.OptionalReactNativePlugin.addExceptionStep)){return;}try{void Promise.resolve(_OptionalPlugin.OptionalReactNativePlugin.addExceptionStep(message,properties))["catch"](function(e){_this.logger.warn("Failed to forward exception step to native: ".concat(e));});}catch(e){this.logger.warn("Failed to forward exception step to native: ".concat(e));}}},{key:"attachExceptionSteps",value:function attachExceptionSteps(properties){if(!this._exceptionStepsConfig.enabled||!(0,_core.isNullish)(properties.$exception_steps)){return properties;}var steps=this.getAttachableExceptionSteps();if(steps.length===0){return properties;}return _objectSpread(_objectSpread({},properties),{},{$exception_steps:steps});}},{key:"getAttachableExceptionSteps",value:function getAttachableExceptionSteps(){if(!this._exceptionStepsConfig.enabled){return[];}try{return this._exceptionStepsBuffer.getAttachable();}catch(error){this.logger.error('Failed to read buffered exception steps.',error);return[];}}},{key:"clearExceptionSteps",value:function clearExceptionSteps(){this._exceptionStepsBuffer.clear();}},{key:"shutdown",value:function shutdown(){var _a;this._autocaptureEnabled=false;(_a=this._unsubscribeUncaughtExceptions)===null||_a===void 0?void 0:_a.call(this);this._unsubscribeUncaughtExceptions=undefined;this.clearExceptionSteps();}},{key:"onRemoteConfig",value:function onRemoteConfig(errorTracking){if(errorTracking==null){return;}this._autocaptureEnabled=(0,_utils2.getRemoteConfigBool)(errorTracking,'autocaptureExceptions',false);this.logger.info("Error tracking autocapture ".concat(this._autocaptureEnabled?'enabled':'disabled'," by remote config."));}},{key:"resolveOptions",value:function resolveOptions(options){var autocaptureOptions=this.resolveAutocaptureOptions(options.autocapture);return{autocapture:autocaptureOptions};}},{key:"resolveAutocaptureOptions",value:function resolveAutocaptureOptions(){var autocapture=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(typeof autocapture==='boolean'){return{uncaughtExceptions:autocapture,unhandledRejections:autocapture,console:[]};}return{uncaughtExceptions:!!autocapture.uncaughtExceptions,unhandledRejections:!!autocapture.unhandledRejections,console:this.resolveConsoleOptions(autocapture.console)};}},{key:"resolveConsoleOptions",value:function resolveConsoleOptions(){var console=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(typeof console==='boolean'){return console?['error']:[];}return Array.isArray(console)?console.filter(function(level){return LogLevelList.includes(level);}):[];}},{key:"autocaptureUncaughtErrors",value:function autocaptureUncaughtErrors(){var _this2=this;var onUncaughtException=function onUncaughtException(error,isFatal){var _a;if(!_this2._autocaptureEnabled){return;}if((0,_core.isPostHogFetchNetworkError)(error)){return;}var hint={mechanism:{type:'onuncaughtexception',handled:false}};var additionalProperties={};if(isFatal){additionalProperties['$exception_level']='fatal';}_this2.instance.captureException(error,additionalProperties,hint);if(isFatal){var persisted=(_a=_this2.persistFatalException)===null||_a===void 0?void 0:_a.call(_this2);void _this2.instance.flush()["catch"](function(){_this2.logger.critical('Failed to flush events');});return persisted;}};try{this._unsubscribeUncaughtExceptions=(0,_utils.trackUncaughtExceptions)(onUncaughtException);}catch(err){this.logger.warn('Failed to track uncaught exceptions: ',err);}}},{key:"autocaptureUnhandledRejections",value:function autocaptureUnhandledRejections(){var _this3=this;var onUnhandledRejection=function onUnhandledRejection(error){if(!_this3._autocaptureEnabled){return;}if((0,_core.isPostHogFetchNetworkError)(error)){return;}var hint={mechanism:{type:'onunhandledrejection',handled:false}};_this3.instance.captureException(error,{},hint);};try{(0,_utils.trackUnhandledRejections)(onUnhandledRejection);}catch(err){this.logger.warn('Failed to track unhandled rejections: ',err);}}},{key:"autocaptureConsole",value:function autocaptureConsole(levels){var _this4=this;var onConsole=function onConsole(level){return function(error,isFatal,syntheticException){if(!_this4._autocaptureEnabled){return;}var hint={mechanism:{type:'onconsole',handled:true},syntheticException:syntheticException};var additionalProperties={$exception_level:level};_this4.instance.captureException(error,additionalProperties,hint);};};try{var _iterator2=_createForOfIteratorHelper(levels),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var level=_step2.value;(0,_utils.trackConsole)(level,onConsole(level));}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}catch(err){this.logger.warn('Failed to track console errors: ',err);}}},{key:"autocapture",value:function autocapture(autocaptureOptions){if(autocaptureOptions.uncaughtExceptions===true){this.autocaptureUncaughtErrors();}if(autocaptureOptions.unhandledRejections===true){this.autocaptureUnhandledRejections();}if(autocaptureOptions.console.length>0){this.autocaptureConsole(autocaptureOptions.console);}}}]);}();
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error-tracking/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_core","require","_utils","_utils2","_OptionalPlugin","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","LogLevelList","ErrorTracking","exports","instance","options","undefined","logger","persistFatalException","_classCallCheck2","_nativeForwardingEnabled","_autocaptureEnabled","createLogger","resolveOptions","exceptionSteps","_exceptionStepsConfig","CoreErrorTracking","resolveExceptionStepsConfig","enabled","max_bytes","maxBytes","_exceptionStepsBuffer","ExceptionStepsBuffer","autocapture","_createClass2","key","getNativePluginExceptionStepsConfig","addExceptionStep","message","properties","isString","trim","warn","userProperties","isObject","_CoreErrorTracking$st","stripReservedExceptionStepFields","sanitizedProperties","droppedKeys","add","EXCEPTION_STEP_INTERNAL_FIELDS","MESSAGE","TIMESTAMP","Date","toISOString","forwardExceptionStepToNative","error","onNativeErrorTrackingReady","_iterator","getAttachableExceptionSteps","_step","step","$message","err","_this","OptionalReactNativePlugin","Promise","resolve","concat","attachExceptionSteps","isNullish","$exception_steps","steps","getAttachable","clearExceptionSteps","clear","shutdown","_a","_unsubscribeUncaughtExceptions","onRemoteConfig","errorTracking","getRemoteConfigBool","info","autocaptureOptions","resolveAutocaptureOptions","uncaughtExceptions","unhandledRejections","console","resolveConsoleOptions","level","includes","autocaptureUncaughtErrors","_this2","onUncaughtException","isFatal","isPostHogFetchNetworkError","hint","mechanism","type","handled","additionalProperties","captureException","persisted","flush","critical","trackUncaughtExceptions","autocaptureUnhandledRejections","_this3","onUnhandledRejection","trackUnhandledRejections","autocaptureConsole","levels","_this4","onConsole","syntheticException","$exception_level","_iterator2","_step2","trackConsole"],"sources":["../../src/error-tracking/index.ts"],"sourcesContent":["import type { PostHog } from '../posthog-rn'\nimport {\n JsonType,\n Logger,\n ErrorTracking as CoreErrorTracking,\n isPostHogFetchNetworkError,\n isNullish,\n isObject,\n isString,\n PostHogEventProperties,\n} from '@posthog/core'\nimport { Properties } from '@posthog/types'\nimport { trackConsole, trackUncaughtExceptions, trackUnhandledRejections } from './utils'\nimport { getRemoteConfigBool } from '../utils'\nimport { OptionalReactNativePlugin } from '../optional/OptionalPlugin'\n\ntype LogLevel = 'debug' | 'log' | 'info' | 'warn' | 'error'\n\nconst LogLevelList: LogLevel[] = ['debug', 'log', 'info', 'warn', 'error']\n\n// user provided configuration\ninterface AutocaptureOptions {\n uncaughtExceptions?: boolean\n unhandledRejections?: boolean\n console?: boolean | LogLevel[]\n /**\n * Enables native iOS/Android/macOS crash autocapture through the optional native plugin.\n * Disabled by default. Requires `@posthog/react-native-plugin` installed (2.2.0 or newer for macOS).\n */\n nativeCrashes?: boolean\n}\n\n/**\n * Controls the breadcrumb-style exception steps recorded via `addExceptionStep` and attached\n * to captured exceptions as `$exception_steps`.\n */\nexport interface ExceptionStepsOptions {\n /**\n * Whether exception steps are recorded and attached.\n * @default true\n */\n enabled?: boolean\n /**\n * Total UTF-8 byte budget (~32KB) for the in-memory buffer. Oldest steps are evicted first when exceeded.\n * @default 32768\n */\n maxBytes?: number\n}\n\nexport interface ErrorTrackingOptions {\n autocapture?: AutocaptureOptions | boolean\n exceptionSteps?: ExceptionStepsOptions\n}\n\n// resolved configuration\ninterface ResolvedAutocaptureOptions {\n uncaughtExceptions: boolean\n unhandledRejections: boolean\n console: LogLevel[]\n}\n\ninterface ResolvedErrorTrackingOptions {\n autocapture: ResolvedAutocaptureOptions\n}\n\nexport class ErrorTracking {\n private logger: Logger\n private options: ResolvedErrorTrackingOptions\n private _exceptionStepsConfig: CoreErrorTracking.ResolvedExceptionStepsConfig\n private _exceptionStepsBuffer: CoreErrorTracking.ExceptionStepsBuffer\n private _nativeForwardingEnabled: boolean = false\n private _unsubscribeUncaughtExceptions?: () => void\n\n /**\n * Controls whether autocaptured exceptions are actually sent.\n * When remote config disables error tracking, this is set to false\n * so that installed handlers become no-ops.\n * Defaults to true (don't block locally enabled capture before remote config loads).\n */\n private _autocaptureEnabled: boolean = true\n\n constructor(\n private instance: PostHog,\n options: ErrorTrackingOptions = {},\n logger: Logger,\n private readonly persistFatalException?: () => Promise<void>\n ) {\n this.logger = logger.createLogger('[ErrorTracking]')\n this.options = this.resolveOptions(options)\n const exceptionSteps = options.exceptionSteps\n this._exceptionStepsConfig = CoreErrorTracking.resolveExceptionStepsConfig(\n exceptionSteps ? { enabled: exceptionSteps.enabled, max_bytes: exceptionSteps.maxBytes } : undefined\n )\n this._exceptionStepsBuffer = new CoreErrorTracking.ExceptionStepsBuffer(this._exceptionStepsConfig)\n this.autocapture(this.options.autocapture)\n }\n\n /**\n * Exception-steps config in the native plugin's shape, so the embedded native SDK keeps one\n * logical buffer with the same byte budget and enabled state.\n */\n getNativePluginExceptionStepsConfig(): ExceptionStepsOptions {\n return { enabled: this._exceptionStepsConfig.enabled, maxBytes: this._exceptionStepsConfig.max_bytes }\n }\n\n /**\n * Records a breadcrumb-style exception step in the instance buffer and mirrors it to the embedded\n * native SDK. The `$timestamp` is captured at call time. Invalid messages are ignored with a\n * warning and never throw. The step only reaches native when it was actually buffered.\n */\n addExceptionStep(message: string, properties?: Properties): void {\n if (!this._exceptionStepsConfig.enabled) {\n return\n }\n\n try {\n if (!isString(message) || message.trim().length === 0) {\n this.logger.warn('Ignoring exception step because message must be a non-empty string')\n return\n }\n\n const userProperties = isObject(properties) ? { ...properties } : {}\n const { sanitizedProperties, droppedKeys } = CoreErrorTracking.stripReservedExceptionStepFields(userProperties)\n\n if (droppedKeys.length > 0) {\n this.logger.warn('Ignoring reserved exception step fields', { droppedKeys })\n }\n\n this._exceptionStepsBuffer.add({\n [CoreErrorTracking.EXCEPTION_STEP_INTERNAL_FIELDS.MESSAGE]: message,\n [CoreErrorTracking.EXCEPTION_STEP_INTERNAL_FIELDS.TIMESTAMP]: new Date().toISOString(),\n ...sanitizedProperties,\n })\n this.forwardExceptionStepToNative(message, properties)\n } catch (error) {\n this.logger.error('Failed to add exception step. Ignoring breadcrumb.', error)\n }\n }\n\n /**\n * Native error tracking initializes asynchronously, so steps recorded before then are buffered\n * only in JS. The host calls this once native is ready to enable forwarding and replay the buffer,\n * so a native crash shortly after startup carries the steps recorded before native was ready.\n */\n onNativeErrorTrackingReady(): void {\n this._nativeForwardingEnabled = true\n for (const step of this.getAttachableExceptionSteps()) {\n this.forwardExceptionStepToNative(step.$message, step as Properties)\n }\n }\n\n private forwardExceptionStepToNative(message: string, properties?: Properties): void {\n if (!this._nativeForwardingEnabled || !OptionalReactNativePlugin?.addExceptionStep) {\n return\n }\n try {\n // Fire-and-forget: the native layer validates and buffers independently and must never block.\n void Promise.resolve(OptionalReactNativePlugin.addExceptionStep(message, properties)).catch((e) => {\n this.logger.warn(`Failed to forward exception step to native: ${e}`)\n })\n } catch (e) {\n this.logger.warn(`Failed to forward exception step to native: ${e}`)\n }\n }\n\n /**\n * Returns `properties` with a snapshot of the buffered steps attached as `$exception_steps`,\n * unless the feature is disabled, the caller already provided that key, or the buffer is empty.\n * The buffer is left intact so subsequent exceptions read the same steps.\n */\n attachExceptionSteps(properties: PostHogEventProperties): PostHogEventProperties {\n if (!this._exceptionStepsConfig.enabled || !isNullish(properties.$exception_steps)) {\n return properties\n }\n const steps = this.getAttachableExceptionSteps()\n if (steps.length === 0) {\n return properties\n }\n // Steps are already normalized to their JSON-safe wire form by the buffer.\n return { ...properties, $exception_steps: steps as unknown as JsonType }\n }\n\n /**\n * Snapshot of the buffered steps (oldest first), or an empty array when disabled or empty.\n */\n getAttachableExceptionSteps(): CoreErrorTracking.ExceptionStep[] {\n if (!this._exceptionStepsConfig.enabled) {\n return []\n }\n try {\n return this._exceptionStepsBuffer.getAttachable()\n } catch (error) {\n this.logger.error('Failed to read buffered exception steps.', error)\n return []\n }\n }\n\n /**\n * Clears the buffer. Called on SDK close, not on capture or identity changes.\n */\n clearExceptionSteps(): void {\n this._exceptionStepsBuffer.clear()\n }\n\n shutdown(): void {\n this._autocaptureEnabled = false\n this._unsubscribeUncaughtExceptions?.()\n this._unsubscribeUncaughtExceptions = undefined\n this.clearExceptionSteps()\n }\n\n /**\n * Called when remote config is loaded.\n * If errorTracking.autocaptureExceptions is explicitly false, autocapture is disabled.\n * If it's true or undefined (not yet loaded / not present), autocapture follows local config.\n */\n onRemoteConfig(errorTracking: boolean | { [key: string]: JsonType } | undefined): void {\n if (errorTracking == null) {\n // Remote config doesn't include errorTracking — don't change anything\n return\n }\n\n // Default to false: if remote config is present but the key is missing, disable autocapture\n this._autocaptureEnabled = getRemoteConfigBool(errorTracking, 'autocaptureExceptions', false)\n\n this.logger.info(\n `Error tracking autocapture ${this._autocaptureEnabled ? 'enabled' : 'disabled'} by remote config.`\n )\n }\n\n private resolveOptions(options: ErrorTrackingOptions): ResolvedErrorTrackingOptions {\n const autocaptureOptions = this.resolveAutocaptureOptions(options.autocapture)\n return {\n autocapture: autocaptureOptions,\n }\n }\n\n private resolveAutocaptureOptions(autocapture: AutocaptureOptions | boolean = false): ResolvedAutocaptureOptions {\n if (typeof autocapture === 'boolean') {\n return {\n uncaughtExceptions: autocapture,\n unhandledRejections: autocapture,\n console: [],\n }\n }\n return {\n uncaughtExceptions: !!autocapture.uncaughtExceptions,\n unhandledRejections: !!autocapture.unhandledRejections,\n console: this.resolveConsoleOptions(autocapture.console),\n }\n }\n\n private resolveConsoleOptions(console: boolean | LogLevel[] = false): LogLevel[] {\n if (typeof console === 'boolean') {\n return console ? ['error'] : []\n }\n return Array.isArray(console) ? console.filter((level) => LogLevelList.includes(level)) : []\n }\n\n private autocaptureUncaughtErrors() {\n const onUncaughtException = (error: unknown, isFatal: boolean) => {\n // Gate on remote config — if remotely disabled, don't capture\n if (!this._autocaptureEnabled) {\n return\n }\n\n // Offline/timeout failures are expected, not application errors.\n if (isPostHogFetchNetworkError(error)) {\n return\n }\n\n const hint: CoreErrorTracking.EventHint = {\n mechanism: {\n type: 'onuncaughtexception',\n handled: false,\n },\n }\n const additionalProperties: any = {}\n\n if (isFatal) {\n additionalProperties['$exception_level'] = 'fatal' as CoreErrorTracking.SeverityLevel\n }\n\n this.instance.captureException(error, additionalProperties, hint)\n\n if (isFatal) {\n const persisted = this.persistFatalException?.()\n void this.instance.flush().catch(() => {\n this.logger.critical('Failed to flush events')\n })\n return persisted\n }\n }\n try {\n this._unsubscribeUncaughtExceptions = trackUncaughtExceptions(onUncaughtException)\n } catch (err) {\n this.logger.warn('Failed to track uncaught exceptions: ', err)\n }\n }\n\n private autocaptureUnhandledRejections() {\n const onUnhandledRejection = (error: unknown) => {\n // Gate on remote config — if remotely disabled, don't capture\n if (!this._autocaptureEnabled) {\n return\n }\n\n // Offline/timeout failures are expected, not application errors.\n if (isPostHogFetchNetworkError(error)) {\n return\n }\n\n const hint: CoreErrorTracking.EventHint = {\n mechanism: {\n type: 'onunhandledrejection',\n handled: false,\n },\n }\n this.instance.captureException(error, {}, hint)\n }\n\n try {\n trackUnhandledRejections(onUnhandledRejection)\n } catch (err) {\n this.logger.warn('Failed to track unhandled rejections: ', err)\n }\n }\n\n private autocaptureConsole(levels: LogLevel[]) {\n const onConsole = (level: LogLevel) => (error: unknown, isFatal: boolean, syntheticException?: Error) => {\n // Gate on remote config — if remotely disabled, don't capture\n if (!this._autocaptureEnabled) {\n return\n }\n\n const hint: CoreErrorTracking.EventHint = {\n mechanism: {\n type: 'onconsole',\n handled: true,\n },\n syntheticException,\n }\n const additionalProperties = {\n $exception_level: level as CoreErrorTracking.SeverityLevel,\n }\n this.instance.captureException(error, additionalProperties, hint)\n }\n\n try {\n for (const level of levels) {\n trackConsole(level, onConsole(level))\n }\n } catch (err) {\n this.logger.warn('Failed to track console errors: ', err)\n }\n }\n\n private autocapture(autocaptureOptions: ResolvedAutocaptureOptions) {\n if (autocaptureOptions.uncaughtExceptions === true) {\n this.autocaptureUncaughtErrors()\n }\n if (autocaptureOptions.unhandledRejections === true) {\n this.autocaptureUnhandledRejections()\n }\n if (autocaptureOptions.console.length > 0) {\n this.autocaptureConsole(autocaptureOptions.console)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.trackConsole=trackConsole;exports.trackUncaughtExceptions=trackUncaughtExceptions;exports.trackUnhandledRejections=trackUnhandledRejections;var _core=require("@posthog/core");var _utils=require("../utils");var FATAL_PERSISTENCE_TIMEOUT_MS=2000;function trackUnhandledRejections(tracker){var _a,_b,_c;if((0,_utils.isHermes)()&&((_a=_utils.GLOBAL_OBJ===null||_utils.GLOBAL_OBJ===void 0?void 0:_utils.GLOBAL_OBJ.HermesInternal)===null||_a===void 0?void 0:_a.enablePromiseRejectionTracker)&&((_c=(_b=_utils.GLOBAL_OBJ===null||_utils.GLOBAL_OBJ===void 0?void 0:_utils.GLOBAL_OBJ.HermesInternal)===null||_b===void 0?void 0:_b.hasPromise)===null||_c===void 0?void 0:_c.call(_b))){_utils.GLOBAL_OBJ.HermesInternal.enablePromiseRejectionTracker({allRejections:true,onUnhandled:function onUnhandled(_,error){return tracker(error,false);},onHandled:function onHandled(){}});}else if((0,_utils.isWeb)()){addWebUnhandledRejectionListener(tracker);}else{throw new Error('Promise rejection tracking is only supported on Web and Hermes runtime');}}var uncaughtExceptionSubscriptions=new WeakMap();function trackUncaughtExceptions(tracker){var errorUtils=_utils.GLOBAL_OBJ===null||_utils.GLOBAL_OBJ===void 0?void 0:_utils.GLOBAL_OBJ.ErrorUtils;if(!(errorUtils===null||errorUtils===void 0?void 0:errorUtils.setGlobalHandler)||!errorUtils.getGlobalHandler){throw new Error('ErrorUtils globalHandlers are not defined');}var subscription=uncaughtExceptionSubscriptions.get(errorUtils);if(!subscription){var previousHandler=errorUtils.getGlobalHandler();var _trackers=new Set();var handler=function handler(error,isFatal){var pending=[];try{for(var _i=0,_Array$from=Array.from(_trackers);_i<_Array$from.length;_i++){var callback=_Array$from[_i];try{var result=callback(error,isFatal!==null&&isFatal!==void 0?isFatal:false);if((0,_core.isPromise)(result)){pending.push(Promise.resolve(result)["catch"](function(){}));}}catch(_a){}}}finally{if(isFatal&&pending.length>0){var forwarded=false;var forward=function forward(){if(!forwarded){forwarded=true;previousHandler===null||previousHandler===void 0?void 0:previousHandler(error,isFatal);}};var deadline=(0,_core.safeSetTimeout)(forward,FATAL_PERSISTENCE_TIMEOUT_MS);void Promise.all(pending).then(function(){if(!forwarded){clearTimeout(deadline);(0,_core.safeSetTimeout)(forward,0);}});}else{previousHandler===null||previousHandler===void 0?void 0:previousHandler(error,isFatal);}}};subscription={trackers:_trackers,restore:function restore(){var _a,_b;if(((_a=errorUtils.getGlobalHandler)===null||_a===void 0?void 0:_a.call(errorUtils))===handler){(_b=errorUtils.setGlobalHandler)===null||_b===void 0?void 0:_b.call(errorUtils,previousHandler);}uncaughtExceptionSubscriptions["delete"](errorUtils);}};errorUtils.setGlobalHandler(handler);uncaughtExceptionSubscriptions.set(errorUtils,subscription);}var _subscription=subscription,trackers=_subscription.trackers,restore=_subscription.restore;trackers.add(tracker);return function(){if(trackers["delete"](tracker)&&trackers.size===0){restore();}};}function trackConsole(level,tracker){var con=console;if(!con){throw new Error('console not available, cannot wrap console.error');}var originalMethod=con[level];con[level]=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}var message=args.join(' ');var error=args.find(function(arg){return arg instanceof Error;});var syntheticException=new Error('Synthetic PostHog Error');tracker(error!==null&&error!==void 0?error:message,false,syntheticException);return originalMethod===null||originalMethod===void 0?void 0:originalMethod.apply(void 0,args);};}function addWebUnhandledRejectionListener(tracker){var _oldUnhandledRejectionHandler=_utils.GLOBAL_OBJ.onunhandledrejection;_utils.GLOBAL_OBJ.onunhandledrejection=function(event){tracker(event,false);if(_oldUnhandledRejectionHandler){_oldUnhandledRejectionHandler.apply(_utils.GLOBAL_OBJ,[event]);}};}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.trackConsole=trackConsole;exports.trackUncaughtExceptions=trackUncaughtExceptions;exports.trackUnhandledRejections=trackUnhandledRejections;var _core=require("@posthog/core");var _utils=require("../utils");var FATAL_PERSISTENCE_TIMEOUT_MS=2000;function trackUnhandledRejections(tracker){var _a,_b,_c;if((0,_utils.isHermes)()&&((_a=_utils.GLOBAL_OBJ===null||_utils.GLOBAL_OBJ===void 0?void 0:_utils.GLOBAL_OBJ.HermesInternal)===null||_a===void 0?void 0:_a.enablePromiseRejectionTracker)&&((_c=(_b=_utils.GLOBAL_OBJ===null||_utils.GLOBAL_OBJ===void 0?void 0:_utils.GLOBAL_OBJ.HermesInternal)===null||_b===void 0?void 0:_b.hasPromise)===null||_c===void 0?void 0:_c.call(_b))){_utils.GLOBAL_OBJ.HermesInternal.enablePromiseRejectionTracker({allRejections:true,onUnhandled:function onUnhandled(_,error){return tracker(error,false);},onHandled:function onHandled(){}});}else if((0,_utils.isWeb)()){addWebUnhandledRejectionListener(tracker);}else{throw new Error('Promise rejection tracking is only supported on Web and Hermes runtime');}}var uncaughtExceptionSubscriptions=new WeakMap();function trackUncaughtExceptions(tracker){var errorUtils=_utils.GLOBAL_OBJ===null||_utils.GLOBAL_OBJ===void 0?void 0:_utils.GLOBAL_OBJ.ErrorUtils;if(!(errorUtils===null||errorUtils===void 0?void 0:errorUtils.setGlobalHandler)||!errorUtils.getGlobalHandler){throw new Error('ErrorUtils globalHandlers are not defined');}var subscription=uncaughtExceptionSubscriptions.get(errorUtils);if(!subscription){var previousHandler=errorUtils.getGlobalHandler();var _trackers=new Set();var handler=function handler(error,isFatal){var pending=[];try{for(var _i=0,_Array$from=Array.from(_trackers);_i<_Array$from.length;_i++){var callback=_Array$from[_i];try{var result=callback(error,isFatal!==null&&isFatal!==void 0?isFatal:false);if((0,_core.isPromise)(result)){pending.push(Promise.resolve(result)["catch"](function(){}));}}catch(_a){}}}finally{if(isFatal&&pending.length>0){var forwarded=false;var forward=function forward(){if(!forwarded){forwarded=true;previousHandler===null||previousHandler===void 0?void 0:previousHandler(error,isFatal);}};var deadline=(0,_core.safeSetTimeout)(forward,FATAL_PERSISTENCE_TIMEOUT_MS);void Promise.all(pending).then(function(){if(!forwarded){clearTimeout(deadline);(0,_core.safeSetTimeout)(forward,0);}});}else{previousHandler===null||previousHandler===void 0?void 0:previousHandler(error,isFatal);}}};subscription={trackers:_trackers,restore:function restore(){var _a,_b;if(((_a=errorUtils.getGlobalHandler)===null||_a===void 0?void 0:_a.call(errorUtils))===handler){(_b=errorUtils.setGlobalHandler)===null||_b===void 0?void 0:_b.call(errorUtils,previousHandler);}uncaughtExceptionSubscriptions["delete"](errorUtils);}};errorUtils.setGlobalHandler(handler);uncaughtExceptionSubscriptions.set(errorUtils,subscription);}var _subscription=subscription,trackers=_subscription.trackers,restore=_subscription.restore;trackers.add(tracker);return function(){if(trackers["delete"](tracker)&&trackers.size===0){restore();}};}function trackConsole(level,tracker){var con=console;if(!con){throw new Error('console not available, cannot wrap console.error');}var originalMethod=con[level];con[level]=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}var message=args.join(' ');var error=args.find(function(arg){return arg instanceof Error;});var syntheticException=new Error('Synthetic PostHog Error');tracker(error!==null&&error!==void 0?error:message,false,syntheticException);return originalMethod===null||originalMethod===void 0?void 0:originalMethod.apply(void 0,args);};}function addWebUnhandledRejectionListener(tracker){var _oldUnhandledRejectionHandler=_utils.GLOBAL_OBJ.onunhandledrejection;_utils.GLOBAL_OBJ.onunhandledrejection=function(event){tracker(event,false);if(_oldUnhandledRejectionHandler){_oldUnhandledRejectionHandler.apply(_utils.GLOBAL_OBJ,[event]);}};}
2
+ //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/error-tracking/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["_core","require","_utils","FATAL_PERSISTENCE_TIMEOUT_MS","trackUnhandledRejections","tracker","isHermes","_a","GLOBAL_OBJ","HermesInternal","enablePromiseRejectionTracker","_c","_b","hasPromise","call","allRejections","onUnhandled","_","error","onHandled","isWeb","addWebUnhandledRejectionListener","Error","uncaughtExceptionSubscriptions","WeakMap","trackUncaughtExceptions","errorUtils","ErrorUtils","setGlobalHandler","getGlobalHandler","subscription","get","previousHandler","trackers","Set","handler","isFatal","pending","_i","_Array$from","Array","from","length","callback","result","isPromise","push","Promise","resolve","forwarded","forward","deadline","safeSetTimeout","all","then","clearTimeout","restore","set","_subscription","add","size","trackConsole","level","con","console","originalMethod","_len","arguments","args","_key","message","join","find","arg","syntheticException","apply","_oldUnhandledRejectionHandler","onunhandledrejection","event"],"sources":["../../src/error-tracking/utils.ts"],"sourcesContent":["import { isPromise, safeSetTimeout } from '@posthog/core'\nimport { GLOBAL_OBJ, isHermes, isWeb } from '../utils'\n\ntype ExceptionHook = (error: unknown, isFatal: boolean, syntheticException?: Error) => void\ntype UncaughtExceptionHook = (error: unknown, isFatal: boolean) => void | Promise<void>\n\nconst FATAL_PERSISTENCE_TIMEOUT_MS = 2000\n\nexport function trackUnhandledRejections(tracker: ExceptionHook): void {\n if (\n isHermes() &&\n GLOBAL_OBJ?.HermesInternal?.enablePromiseRejectionTracker &&\n GLOBAL_OBJ?.HermesInternal?.hasPromise?.()\n ) {\n GLOBAL_OBJ.HermesInternal.enablePromiseRejectionTracker({\n allRejections: true,\n onUnhandled: (_, error: unknown) => tracker(error as Error, false),\n onHandled: () => {},\n })\n } else if (isWeb()) {\n addWebUnhandledRejectionListener(tracker)\n } else {\n throw new Error('Promise rejection tracking is only supported on Web and Hermes runtime')\n }\n}\n\nconst uncaughtExceptionSubscriptions = new WeakMap<\n NonNullable<typeof GLOBAL_OBJ.ErrorUtils>,\n { trackers: Set<UncaughtExceptionHook>; restore: () => void }\n>()\n\nexport function trackUncaughtExceptions(tracker: UncaughtExceptionHook): () => void {\n const errorUtils = GLOBAL_OBJ?.ErrorUtils\n if (!errorUtils?.setGlobalHandler || !errorUtils.getGlobalHandler) {\n throw new Error('ErrorUtils globalHandlers are not defined')\n }\n\n let subscription = uncaughtExceptionSubscriptions.get(errorUtils)\n if (!subscription) {\n const previousHandler = errorUtils.getGlobalHandler()\n const trackers = new Set<UncaughtExceptionHook>()\n const handler = (error: Error, isFatal: boolean): void => {\n const pending: Promise<void>[] = []\n try {\n for (const callback of Array.from(trackers)) {\n try {\n const result = callback(error, isFatal ?? false)\n if (isPromise(result)) {\n pending.push(Promise.resolve(result).catch(() => {}))\n }\n } catch {\n // One reporter must not prevent other reporters or React Native from handling the error.\n }\n }\n } finally {\n if (isFatal && pending.length > 0) {\n let forwarded = false\n const forward = () => {\n if (!forwarded) {\n forwarded = true\n previousHandler?.(error, isFatal)\n }\n }\n const deadline = safeSetTimeout(forward, FATAL_PERSISTENCE_TIMEOUT_MS)\n void Promise.all(pending).then(() => {\n if (!forwarded) {\n clearTimeout(deadline)\n // Keep errors thrown by the previous handler outside Promise rejection handling.\n safeSetTimeout(forward, 0)\n }\n })\n } else {\n previousHandler?.(error, isFatal)\n }\n }\n }\n subscription = {\n trackers,\n restore: () => {\n // Leave another SDK's chain intact, but retire this empty subscription in case it is later detached.\n if (errorUtils.getGlobalHandler?.() === handler) {\n errorUtils.setGlobalHandler?.(previousHandler)\n }\n uncaughtExceptionSubscriptions.delete(errorUtils)\n },\n }\n errorUtils.setGlobalHandler(handler)\n uncaughtExceptionSubscriptions.set(errorUtils, subscription)\n }\n\n const { trackers, restore } = subscription\n trackers.add(tracker)\n return () => {\n if (trackers.delete(tracker) && trackers.size === 0) {\n restore()\n }\n }\n}\n\nexport function trackConsole(level: string, tracker: ExceptionHook): void {\n const con = console as any\n if (!con) {\n throw new Error('console not available, cannot wrap console.error')\n }\n\n const originalMethod = con[level]\n con[level] = function (...args: any[]): void {\n const message = args.join(' ')\n const error = args.find((arg) => arg instanceof Error)\n const syntheticException = new Error('Synthetic PostHog Error')\n tracker(error ?? message, false, syntheticException)\n return originalMethod?.(...args)\n }\n}\n\nfunction addWebUnhandledRejectionListener(tracker: ExceptionHook): void {\n const _oldUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection\n GLOBAL_OBJ.onunhandledrejection = (event) => {\n tracker(event, false)\n if (_oldUnhandledRejectionHandler) {\n _oldUnhandledRejectionHandler.apply(GLOBAL_OBJ, [event])\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}