rn-pendo-sdk
Version:
Pendo Mobile React Native SDK
1 lines • 1.44 kB
JavaScript
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.RequestOrigin=exports.Debouncer=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _common=require("./common");var RequestOrigin=exports.RequestOrigin=function(RequestOrigin){RequestOrigin[RequestOrigin["Native"]=0]="Native";RequestOrigin[RequestOrigin["Internal"]=1]="Internal";return RequestOrigin;}({});var Debouncer=exports.Debouncer=function(){function Debouncer(){(0,_classCallCheck2.default)(this,Debouncer);this.debouncerTimer=null;}return(0,_createClass2.default)(Debouncer,[{key:"debounce",value:function debounce(func,delay,origin){var debounceInstance=this;return function(){var later=function later(){debounceInstance.debouncerTimer=null;func();};if(debounceInstance.debouncerTimer!==null){clearTimeout(debounceInstance.debouncerTimer);if(origin===RequestOrigin.Native){_common.Utils.reportScanFailure(Debouncer.DebouncerErrorMessage,false);}}debounceInstance.debouncerTimer=setTimeout(later,delay);};}},{key:"clearTimer",value:function clearTimer(){if(this.debouncerTimer){clearTimeout(this.debouncerTimer);this.debouncerTimer=null;}}}]);}();Debouncer.DebouncerErrorMessage='Request to scan screen was canceled due to the JS debouncer';