You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
70 KiB

{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty2 from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nvar _excluded = [\"enabled\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport findNodeHandle from \"react-native-web/dist/exports/findNodeHandle\";\nimport { State } from \"../../State\";\nimport { PointerType, TouchEventType, EventTypes } from \"../interfaces\";\nimport GestureHandlerOrchestrator from \"../tools/GestureHandlerOrchestrator\";\nimport InteractionManager from \"../tools/InteractionManager\";\nimport PointerEventManager from \"../tools/PointerEventManager\";\nimport PointerTracker from \"../tools/PointerTracker\";\nimport TouchEventManager from \"../tools/TouchEventManager\";\nimport { isPointerInBounds } from \"../utils\";\nvar GestureHandler = function () {\n function GestureHandler() {\n var _this = this;\n _classCallCheck(this, GestureHandler);\n _defineProperty(this, \"lastSentState\", null);\n _defineProperty(this, \"currentState\", State.UNDETERMINED);\n _defineProperty(this, \"shouldCancellWhenOutside\", false);\n _defineProperty(this, \"hasCustomActivationCriteria\", void 0);\n _defineProperty(this, \"enabled\", false);\n _defineProperty(this, \"ref\", void 0);\n _defineProperty(this, \"propsRef\", void 0);\n _defineProperty(this, \"handlerTag\", void 0);\n _defineProperty(this, \"config\", {\n enabled: false\n });\n _defineProperty(this, \"view\", void 0);\n _defineProperty(this, \"eventManagers\", []);\n _defineProperty(this, \"tracker\", new PointerTracker());\n _defineProperty(this, \"activationIndex\", 0);\n _defineProperty(this, \"awaiting\", false);\n _defineProperty(this, \"active\", false);\n _defineProperty(this, \"shouldResetProgress\", false);\n _defineProperty(this, \"pointerType\", PointerType.NONE);\n _defineProperty(this, \"sendEvent\", function (newState, oldState) {\n var _this$propsRef$curren = _this.propsRef.current,\n onGestureHandlerEvent = _this$propsRef$curren.onGestureHandlerEvent,\n onGestureHandlerStateChange = _this$propsRef$curren.onGestureHandlerStateChange;\n var resultEvent = _this.transformEventData(newState, oldState);\n if (_this.lastSentState !== newState) {\n _this.lastSentState = newState;\n invokeNullableMethod(onGestureHandlerStateChange, resultEvent);\n }\n if (_this.currentState === State.ACTIVE) {\n resultEvent.nativeEvent.oldState = undefined;\n invokeNullableMethod(onGestureHandlerEvent, resultEvent);\n }\n });\n this.hasCustomActivationCriteria = false;\n }\n _createClass(GestureHandler, [{\n key: \"init\",\n value: function init(ref, propsRef) {\n this.propsRef = propsRef;\n this.ref = ref;\n this.currentState = State.UNDETERMINED;\n this.setView();\n this.addEventManager(new PointerEventManager(this.view));\n this.addEventManager(new TouchEventManager(this.view));\n }\n }, {\n key: \"setView\",\n value: function setView() {\n if (!this.ref) {\n throw new Error(\"Cannot find HTML Element for handler \" + this.handlerTag);\n }\n this.view = findNodeHandle(this.ref);\n this.view.style['touchAction'] = 'none';\n this.view.style['WebkitTouchCallout'] = 'none';\n if (!this.config.userSelect) {\n this.view.style['webkitUserSelect'] = 'none';\n this.view.style['userSelect'] = 'none';\n } else {\n this.view.style['webkitUserSelect'] = this.config.userSelect;\n this.view.style['userSelect'] = this.config.userSelect;\n }\n }\n }, {\n key: \"addEventManager\",\n value: function addEventManager(manager) {\n manager.setOnPointerDown(this.onPointerDown.bind(this));\n manager.setOnPointerAdd(this.onPointerAdd.bind(this));\n manager.setOnPointerUp(this.onPointerUp.bind(this));\n manager.setOnPointerRemove(this.onPointerRemove.bind(this));\n manager.setOnPointerMove(this.onPointerMove.bind(this));\n manager.setOnPointerEnter(this.onPointerEnter.bind(this));\n manager.setOnPointerOut(this.onPointerOut.bind(this));\n manager.setOnPointerCancel(this.onPointerCancel.bind(this));\n manager.setOnPointerOutOfBounds(this.onPointerOutOfBounds.bind(this));\n manager.setListeners();\n this.eventManagers.push(manager);\n }\n }, {\n key: \"onCancel\",\n value: function onCancel() {}\n }, {\n key: \"onReset\",\n value: function onReset() {}\n }, {\n key: \"resetProgress\",\n value: function resetProgress() {}\n }, {\n key: \"reset\",\n value: function reset() {\n this.tracker.resetTracker();\n this.onReset();\n this.resetProgress();\n this.eventManagers.forEach(function (manager) {\n return manager.resetManager();\n });\n this.currentState = State.UNDETERMINED;\n }\n }, {\n key: \"moveToState\",\n value: function moveToState(newState, sendIfDisabled) {\n if (this.currentState === newState) {\n return;\n }\n var oldState = this.currentState;\n this.currentState = newState;\n if (this.tracker.getTrackedPointersCount() > 0 && this.config.needsPointerData && this.isFinished()) {\n this.cancelTouches();\n }\n GestureHandlerOrchestrator.getInstance().onHandlerStateChange(this, newState, oldState, sendIfDisabled);\n this.onStateChange(newState, oldState);\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(_newState, _oldState) {}\n }, {\n key: \"begin\",\n value: function begin() {\n if (!this.checkHitSlop()) {\n return;\n }\n if (this.currentState === State.UNDETERMINED) {\n this.moveToState(State.BEGAN);\n }\n }\n }, {\n key: \"fail\",\n value: function fail(sendIfDisabled) {\n if (this.currentState === State.ACTIVE || this.currentState === State.BEGAN) {\n this.moveToState(State.FAILED, sendIfDisabled);\n this.view.style.cursor = 'auto';\n }\n this.resetProgress();\n }\n }, {\n key: \"cancel\",\n value: function cancel(sendIfDisabled) {\n if (this.currentState === State.ACTIVE || this.currentState === State.UNDETERMINED || this.currentState === State.BEGAN) {\n this.onCancel();\n this.moveToState(State.CANCELLED, sendIfDisabled);\n this.view.style.cursor = 'auto';\n }\n }\n }, {\n key: \"activate\",\n value: function activate() {\n var _force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (this.currentState === State.UNDETERMINED || this.currentState === State.BEGAN) {\n this.moveToState(State.ACTIVE);\n this.view.style.cursor = 'grab';\n }\n }\n }, {\n key: \"end\",\n value: function end() {\n if (this.currentState === State.BEGAN || this.currentState === State.ACTIVE) {\n this.moveToState(State.END);\n this.view.style.cursor = 'auto';\n }\n this.resetProgress();\n }\n }, {\n key: \"isAwaiting\",\n value: function isAwaiting() {\n return this.awaiting;\n }\n }, {\n key: \"setAwaiting\",\n value: function setAwaiting(value) {\n this.awaiting = value;\n }\n }, {\n key: \"isActive\",\n value: function isActive() {\n return this.active;\n }\n }, {\n key: \"setActive\",\n value: function setActive(value) {\n this.active = value;\n }\n }, {\n key: \"getShouldResetProgress\",\n value: function getShouldResetProgress() {\n return this.shouldResetProgress;\n }\n }, {\n key: \"setShouldResetProgress\",\n value: function setShouldResetProgress(value) {\n this.shouldResetProgress = value;\n }\n }, {\n key: \"getActivationIndex\",\n value: function getActivationIndex() {\n return this.activationIndex;\n }\n }, {\n key: \"setActivationIndex\",\n value: function setActivationIndex(value) {\n this.activationIndex = value;\n }\n }, {\n key: \"shouldWaitForHandlerFailure\",\n value: function shouldWaitForHandlerFailure(handler) {\n if (handler === this) {\n return false;\n }\n return InteractionManager.getInstance().shouldWaitForHandlerFailure(this, handler);\n }\n }, {\n key: \"shouldRequireToWaitForFailure\",\n value: function shouldRequireToWaitForFailure(handler) {\n if (handler === this) {\n return false;\n }\n return InteractionManager.getInstance().shouldRequireHandlerToWaitForFailure(this, handler);\n }\n }, {\n key: \"shouldRecognizeSimultaneously\",\n value: function shouldRecognizeSimultaneously(handler) {\n if (handler === this) {\n return true;\n }\n return InteractionManager.getInstance().shouldRecognizeSimultaneously(this, handler);\n }\n }, {\n key: \"shouldBeCancelledByOther\",\n value: function shouldBeCancelledByOther(handler) {\n if (handler === this) {\n return false;\n }\n return InteractionManager.getInstance().shouldHandlerBeCancelledBy(this, handler);\n }\n }, {\n key: \"onPointerDown\",\n value: function onPointerDown(event) {\n GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);\n this.pointerType = event.pointerType;\n if (this.pointerType === PointerType.TOUCH) {\n GestureHandlerOrchestrator.getInstance().cancelMouseAndPenGestures(this);\n }\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerAdd\",\n value: function onPointerAdd(event) {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerUp\",\n value: function onPointerUp(event) {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerRemove\",\n value: function onPointerRemove(event) {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerMove\",\n value: function onPointerMove(event) {\n this.tryToSendMoveEvent(false);\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerOut\",\n value: function onPointerOut(event) {\n if (this.shouldCancellWhenOutside) {\n switch (this.currentState) {\n case State.ACTIVE:\n this.cancel();\n break;\n case State.BEGAN:\n this.fail();\n break;\n }\n return;\n }\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerEnter\",\n value: function onPointerEnter(event) {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerCancel\",\n value: function onPointerCancel(event) {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"onPointerOutOfBounds\",\n value: function onPointerOutOfBounds(event) {\n this.tryToSendMoveEvent(true);\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n }, {\n key: \"tryToSendMoveEvent\",\n value: function tryToSendMoveEvent(out) {\n if (this.enabled && this.active && (!out || out && !this.shouldCancellWhenOutside)) {\n this.sendEvent(this.currentState, this.currentState);\n }\n }\n }, {\n key: \"sendTouchEvent\",\n value: function sendTouchEvent(event) {\n if (!this.enabled) {\n return;\n }\n var onGestureHandlerEvent = this.propsRef.current.onGestureHandlerEvent;\n var touchEvent = this.transformTouchEvent(event);\n if (touchEvent) {\n invokeNullableMethod(onGestureHandlerEvent, touchEvent);\n }\n }\n }, {\n key: \"transformEventData\",\n value: function transformEventData(newState, oldState) {\n return {\n nativeEvent: _objectSpread(_objectSpread({\n numberOfPointers: this.tracker.getTrackedPointersCount(),\n state: newState,\n pointerInside: isPointerInBounds(this.view, {\n x: this.tracker.getLastAvgX(),\n y: this.tracker.getLastAvgY()\n })\n }, this.transformNativeEvent()), {}, {\n handlerTag: this.handlerTag,\n target: this.ref,\n oldState: newState !== oldState ? oldState : undefined\n }),\n timeStamp: Date.now()\n };\n }\n }, {\n key: \"transformTouchEvent\",\n value: function transformTouchEvent(event) {\n var _this2 = this;\n var _event$touchEventType;\n var rect = this.view.getBoundingClientRect();\n var all = [];\n var changed = [];\n var trackerData = this.tracker.getData();\n if (trackerData.size === 0 || !trackerData.has(event.pointerId)) {\n return;\n }\n trackerData.forEach(function (element, key) {\n var id = _this2.tracker.getMappedTouchEventId(key);\n all.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY\n });\n });\n if (event.eventType !== EventTypes.CANCEL) {\n changed.push({\n id: this.tracker.getMappedTouchEventId(event.pointerId),\n x: event.x - rect.left,\n y: event.y - rect.top,\n absoluteX: event.x,\n absoluteY: event.y\n });\n } else {\n trackerData.forEach(function (element, key) {\n var id = _this2.tracker.getMappedTouchEventId(key);\n changed.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY\n });\n });\n }\n var eventType = TouchEventType.UNDETERMINED;\n switch (event.eventType) {\n case EventTypes.DOWN:\n case EventTypes.ADDITIONAL_POINTER_DOWN:\n eventType = TouchEventType.DOWN;\n break;\n case EventTypes.UP:\n case EventTypes.ADDITIONAL_POINTER_UP:\n eventType = TouchEventType.UP;\n break;\n case EventTypes.MOVE:\n eventType = TouchEventType.MOVE;\n break;\n case EventTypes.CANCEL:\n eventType = TouchEventType.CANCELLED;\n break;\n }\n var numberOfTouches = all.length;\n if (event.eventType === EventTypes.UP || event.eventType === EventTypes.ADDITIONAL_POINTER_UP) {\n --numberOfTouches;\n }\n return {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.currentState,\n eventType: (_event$touchEventType = event.touchEventType) !== null && _event$touchEventType !== void 0 ? _event$touchEventType : eventType,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: numberOfTouches\n },\n timeStamp: Date.now()\n };\n }\n }, {\n key: \"cancelTouches\",\n value: function cancelTouches() {\n var _this3 = this;\n var rect = this.view.getBoundingClientRect();\n var all = [];\n var changed = [];\n var trackerData = this.tracker.getData();\n if (trackerData.size === 0) {\n return;\n }\n trackerData.forEach(function (element, key) {\n var id = _this3.tracker.getMappedTouchEventId(key);\n all.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY\n });\n changed.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY\n });\n });\n var cancelEvent = {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.currentState,\n eventType: TouchEventType.CANCELLED,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: all.length\n },\n timeStamp: Date.now()\n };\n var onGestureHandlerEvent = this.propsRef.current.onGestureHandlerEvent;\n invokeNullableMethod(onGestureHandlerEvent, cancelEvent);\n }\n }, {\n key: \"transformNativeEvent\",\n value: function transformNativeEvent() {\n return {};\n }\n }, {\n key: \"updateGestureConfig\",\n value: function updateGestureConfig(_ref) {\n var _ref$enabled = _ref.enabled,\n enabled = _ref$enabled === void 0 ? true : _ref$enabled,\n props = _objectWithoutProperties(_ref, _excluded);\n this.config = _objectSpread({\n enabled: enabled\n }, props);\n this.enabled = enabled;\n if (this.config.shouldCancelWhenOutside !== undefined) {\n this.setShouldCancelWhenOutside(this.config.shouldCancelWhenOutside);\n }\n this.validateHitSlops();\n if (this.enabled) {\n return;\n }\n switch (this.currentState) {\n case State.ACTIVE:\n this.fail(true);\n break;\n case State.UNDETERMINED:\n GestureHandlerOrchestrator.getInstance().removeHandlerFromOrchestrator(this);\n break;\n default:\n this.cancel(true);\n break;\n }\n }\n }, {\n key: \"checkCustomActivationCriteria\",\n value: function checkCustomActivationCriteria(criterias) {\n for (var key in this.config) {\n if (criterias.indexOf(key) >= 0) {\n this.hasCustomActivationCriteria = true;\n }\n }\n }\n }, {\n key: \"validateHitSlops\",\n value: function validateHitSlops() {\n if (!this.config.hitSlop) {\n return;\n }\n if (this.config.hitSlop.left !== undefined && this.config.hitSlop.right !== undefined && this.config.hitSlop.width !== undefined) {\n throw new Error('HitSlop Error: Cannot define left, right and width at the same time');\n }\n if (this.config.hitSlop.width !== undefined && this.config.hitSlop.left === undefined && this.config.hitSlop.right === undefined) {\n throw new Error('HitSlop Error: When width is defined, either left or right has to be defined');\n }\n if (this.config.hitSlop.height !== undefined && this.config.hitSlop.top !== undefined && this.config.hitSlop.bottom !== undefined) {\n throw new Error('HitSlop Error: Cannot define top, bottom and height at the same time');\n }\n if (this.config.hitSlop.height !== undefined && this.config.hitSlop.top === undefined && this.config.hitSlop.bottom === undefined) {\n throw new Error('HitSlop Error: When height is defined, either top or bottom has to be defined');\n }\n }\n }, {\n key: \"checkHitSlop\",\n value: function checkHitSlop() {\n if (!this.config.hitSlop) {\n return true;\n }\n var width = this.view.getBoundingClientRect().width;\n var height = this.view.getBoundingClientRect().height;\n var left = 0;\n var top = 0;\n var right = width;\n var bottom = height;\n if (this.config.hitSlop.horizontal !== undefined) {\n left -= this.config.hitSlop.horizontal;\n right += this.config.hitSlop.horizontal;\n }\n if (this.config.hitSlop.vertical !== undefined) {\n top -= this.config.hitSlop.vertical;\n bottom += this.config.hitSlop.vertical;\n }\n if (this.config.hitSlop.left !== undefined) {\n left = -this.config.hitSlop.left;\n }\n if (this.config.hitSlop.right !== undefined) {\n right = width + this.config.hitSlop.right;\n }\n if (this.config.hitSlop.top !== undefined) {\n top = -this.config.hitSlop.top;\n }\n if (this.config.hitSlop.bottom !== undefined) {\n bottom = width + this.config.hitSlop.bottom;\n }\n if (this.config.hitSlop.width !== undefined) {\n if (this.config.hitSlop.left !== undefined) {\n right = left + this.config.hitSlop.width;\n } else if (this.config.hitSlop.right !== undefined) {\n left = right - this.config.hitSlop.width;\n }\n }\n if (this.config.hitSlop.height !== undefined) {\n if (this.config.hitSlop.top !== undefined) {\n bottom = top + this.config.hitSlop.height;\n } else if (this.config.hitSlop.bottom !== undefined) {\n top = bottom - this.config.hitSlop.height;\n }\n }\n var rect = this.view.getBoundingClientRect();\n var offsetX = this.tracker.getLastX() - rect.left;\n var offsetY = this.tracker.getLastY() - rect.top;\n if (offsetX >= left && offsetX <= right && offsetY >= top && offsetY <= bottom) {\n return true;\n }\n return false;\n }\n }, {\n key: \"isPointerInBounds\",\n value: function isPointerInBounds(_ref2) {\n var x = _ref2.x,\n y = _ref2.y;\n var rect = this.view.getBoundingClientRect();\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n }\n }, {\n key: \"resetConfig\",\n value: function resetConfig() {}\n }, {\n key: \"getTag\",\n value: function getTag() {\n return this.handlerTag;\n }\n }, {\n key: \"setTag\",\n value: function setTag(tag) {\n this.handlerTag = tag;\n }\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n return this.config;\n }\n }, {\n key: \"getShouldEnableGestureOnSetup\",\n value: function getShouldEnableGestureOnSetup() {\n throw new Error('Must override GestureHandler.shouldEnableGestureOnSetup');\n }\n }, {\n key: \"getView\",\n value: function getView() {\n return this.view;\n }\n }, {\n key: \"getEventManagers\",\n value: function getEventManagers() {\n return this.eventManagers;\n }\n }, {\n key: \"getTracker\",\n value: function getTracker() {\n return this.tracker;\n }\n }, {\n key: \"getTrackedPointersID\",\n value: function getTrackedPointersID() {\n return this.tracker.getTrackedPointersID();\n }\n }, {\n key: \"getState\",\n value: function getState() {\n return this.currentState;\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled() {\n return this.enabled;\n }\n }, {\n key: \"isFinished\",\n value: function isFinished() {\n return this.currentState === State.END || this.currentState === State.FAILED || this.currentState === State.CANCELLED;\n }\n }, {\n key: \"setShouldCancelWhenOutside\",\n value: function setShouldCancelWhenOutside(shouldCancel) {\n this.shouldCancellWhenOutside = shouldCancel;\n }\n }, {\n key: \"getShouldCancelWhenOutside\",\n value: function getShouldCancelWhenOutside() {\n return this.shouldCancellWhenOutside;\n }\n }, {\n key: \"getPointerType\",\n value: function getPointerType() {\n return this.pointerType;\n }\n }]);\n return GestureHandler;\n}();\nexport { GestureHandler as default };\nfunction invokeNullableMethod(method, event) {\n if (!method) {\n return;\n }\n if (typeof method === 'function') {\n method(event);\n return;\n }\n if ('__getHandler' in method && typeof method.__getHandler === 'function') {\n var handler = method.__getHandler();\n invokeNullableMethod(handler, event);\n return;\n }\n if (!('__nodeConfig' in method)) {\n return;\n }\n var argMapping = method.__nodeConfig.argMapping;\n if (!Array.isArray(argMapping)) {\n return;\n }\n for (var _ref3 of argMapping.entries()) {\n var _ref4 = _slicedToArray(_ref3, 2);\n var index = _ref4[0];\n var _ref4$ = _slicedToArray(_ref4[1], 2);\n var key = _ref4$[0];\n var value = _ref4$[1];\n if (!(key in event.nativeEvent)) {\n continue;\n }\n var nativeValue = event.nativeEvent[key];\n if (value !== null && value !== void 0 && value.setValue) {\n value.setValue(nativeValue);\n } else {\n method.__nodeConfig.argMapping[index] = [key, nativeValue];\n }\n }\n return;\n}","map":{"version":3,"mappings":"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","names":["State","PointerType","TouchEventType","EventTypes","GestureHandlerOrchestrator","InteractionManager","PointerEventManager","PointerTracker","TouchEventManager","isPointerInBounds","GestureHandler","constructor","_defineProperty","UNDETERMINED","enabled","NONE","newState","oldState","propsRef","current","onGestureHandlerEvent","onGestureHandlerStateChange","resultEvent","transformEventData","lastSentState","invokeNullableMethod","currentState","ACTIVE","nativeEvent","undefined","hasCustomActivationCriteria","init","ref","setView","addEventManager","view","Error","handlerTag","findNodeHandle","style","config","userSelect","manager","setOnPointerDown","onPointerDown","bind","setOnPointerAdd","onPointerAdd","setOnPointerUp","onPointerUp","setOnPointerRemove","onPointerRemove","setOnPointerMove","onPointerMove","setOnPointerEnter","onPointerEnter","setOnPointerOut","onPointerOut","setOnPointerCancel","onPointerCancel","setOnPointerOutOfBounds","onPointerOutOfBounds","setListeners","eventManagers","push","onCancel","onReset","resetProgress","reset","tracker","resetTracker","forEach","resetManager","moveToState","sendIfDisabled","getTrackedPointersCount","needsPointerData","isFinished","cancelTouches","getInstance","onHandlerStateChange","onStateChange","_newState","_oldState","begin","checkHitSlop","BEGAN","fail","FAILED","cursor","cancel","CANCELLED","activate","_force","end","END","isAwaiting","awaiting","setAwaiting","value","isActive","active","setActive","getShouldResetProgress","shouldResetProgress","setShouldResetProgress","getActivationIndex","activationIndex","setActivationIndex","shouldWaitForHandlerFailure","handler","shouldRequireToWaitForFailure","shouldRequireHandlerToWaitForFailure","shouldRecognizeSimultaneously","shouldBeCancelledByOther","shouldHandlerBeCancelledBy","event","recordHandlerIfNotPresent","pointerType","TOUCH","cancelMouseAndPenGestures","sendTouchEvent","tryToSendMoveEvent","shouldCancellWhenOutside","out","sendEvent","touchEvent","transformTouchEvent","numberOfPointers","state","pointerInside","x","getLastAvgX","y","getLastAvgY","transformNativeEvent","target","timeStamp","Date","now","rect","getBoundingClientRect","all","changed","trackerData","getData","size","has","pointerId","element","key","id","getMappedTouchEventId","lastX","left","lastY","top","absoluteX","absoluteY","eventType","CANCEL","DOWN","ADDITIONAL_POINTER_DOWN","UP","ADDITIONAL_POINTER_UP","MOVE","numberOfTouches","length","touchEventType","changedTouches","allTouches","cancelEvent","updateGestureConfig","props","shouldCancelWhenOutside","setShouldCancelWhenOutside","validateHitSlops","removeHandlerFromOrchestrator","checkCustomActivationCriteria","criterias","indexOf","hitSlop","right","width","height","bottom","horizontal","vertical","offsetX","getLastX","offsetY","getLastY","resetConfig","getTag","setTag","tag","getConfig","getShouldEnableGestureOnSetup","getView","getEventManagers","getTracker","getTrackedPointersID","getState","isEnabled","shouldCancel","getShouldCancelWhenOutside","getPointerType","method","__getHandler","argMapping","__nodeConfig","Array","isArray","entries","index","nativeValue","setValue"],"sources":["/Users/mathildejean/Documents/BUT/LaSuperMeteo/LaSuperMeteo/iut-expo-starter/node_modules/react-native-gesture-handler/lib/module/web/handlers/GestureHandler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport { findNodeHandle } from 'react-native';\nimport { State } from '../../State';\nimport {\n Config,\n AdaptedEvent,\n PropsRef,\n ResultEvent,\n PointerData,\n ResultTouchEvent,\n PointerType,\n TouchEventType,\n EventTypes,\n} from '../interfaces';\nimport EventManager from '../tools/EventManager';\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\nimport InteractionManager from '../tools/InteractionManager';\nimport PointerEventManager from '../tools/PointerEventManager';\nimport PointerTracker, { TrackerElement } from '../tools/PointerTracker';\nimport TouchEventManager from '../tools/TouchEventManager';\nimport { isPointerInBounds } from '../utils';\n\nexport default abstract class GestureHandler {\n private lastSentState: State | null = null;\n protected currentState: State = State.UNDETERMINED;\n\n protected shouldCancellWhenOutside = false;\n protected hasCustomActivationCriteria: boolean;\n protected enabled = false;\n\n private ref!: number;\n private propsRef!: React.RefObject<unknown>;\n private handlerTag!: number;\n protected config: Config = { enabled: false };\n protected view!: HTMLElement;\n\n protected eventManagers: EventManager[] = [];\n protected tracker: PointerTracker = new PointerTracker();\n\n // Orchestrator properties\n protected activationIndex = 0;\n protected awaiting = false;\n protected active = false;\n protected shouldResetProgress = false;\n protected pointerType: PointerType = PointerType.NONE;\n\n public constructor() {\n this.hasCustomActivationCriteria = false;\n }\n\n //\n // Initializing handler\n //\n\n protected init(ref: number, propsRef: React.RefObject<unknown>) {\n this.propsRef = propsRef;\n this.ref = ref;\n\n this.currentState = State.UNDETERMINED;\n\n this.setView();\n this.addEventManager(new PointerEventManager(this.view));\n this.addEventManager(new TouchEventManager(this.view));\n }\n\n private setView() {\n if (!this.ref) {\n throw new Error(\n `Cannot find HTML Element for handler ${this.handlerTag}`\n );\n }\n\n this.view = findNodeHandle(this.ref) as unknown as HTMLElement;\n this.view.style['touchAction'] = 'none';\n //@ts-ignore This one disables default events on Safari\n this.view.style['WebkitTouchCallout'] = 'none';\n\n if (!this.config.userSelect) {\n this.view.style['webkitUserSelect'] = 'none';\n this.view.style['userSelect'] = 'none';\n } else {\n this.view.style['webkitUserSelect'] = this.config.userSelect;\n this.view.style['userSelect'] = this.config.userSelect;\n }\n }\n\n private addEventManager(manager: EventManager): void {\n manager.setOnPointerDown(this.onPointerDown.bind(this));\n manager.setOnPointerAdd(this.onPointerAdd.bind(this));\n manager.setOnPointerUp(this.onPointerUp.bind(this));\n manager.setOnPointerRemove(this.onPointerRemove.bind(this));\n manager.setOnPointerMove(this.onPointerMove.bind(this));\n manager.setOnPointerEnter(this.onPointerEnter.bind(this));\n manager.setOnPointerOut(this.onPointerOut.bind(this));\n manager.setOnPointerCancel(this.onPointerCancel.bind(this));\n manager.setOnPointerOutOfBounds(this.onPointerOutOfBounds.bind(this));\n manager.setListeners();\n\n this.eventManagers.push(manager);\n }\n\n //\n // Resetting handler\n //\n\n protected onCancel(): void {}\n protected onReset(): void {}\n protected resetProgress(): void {}\n\n public reset(): void {\n this.tracker.resetTracker();\n this.onReset();\n this.resetProgress();\n this.eventManagers.forEach((manager: EventManager) =>\n manager.resetManager()\n );\n this.currentState = State.UNDETERMINED;\n }\n\n //\n // State logic\n //\n\n public moveToState(newState: State, sendIfDisabled?: boolean) {\n if (this.currentState === newState) {\n return;\n }\n\n const oldState = this.currentState;\n this.currentState = newState;\n\n if (\n this.tracker.getTrackedPointersCount() > 0 &&\n this.config.needsPointerData &&\n this.isFinished()\n ) {\n this.cancelTouches();\n }\n\n GestureHandlerOrchestrator.getInstance().onHandlerStateChange(\n this,\n newState,\n oldState,\n sendIfDisabled\n );\n\n this.onStateChange(newState, oldState);\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {}\n\n public begin(): void {\n if (!this.checkHitSlop()) {\n return;\n }\n\n if (this.currentState === State.UNDETERMINED) {\n this.moveToState(State.BEGAN);\n }\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send fail event\n */\n public fail(sendIfDisabled?: boolean): void {\n if (\n this.currentState === State.ACTIVE ||\n this.currentState === State.BEGAN\n ) {\n this.moveToState(State.FAILED, sendIfDisabled);\n this.view.style.cursor = 'auto';\n }\n\n this.resetProgress();\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send cancel event\n */\n public cancel(sendIfDisabled?: boolean): void {\n if (\n this.currentState === State.ACTIVE ||\n this.currentState === State.UNDETERMINED ||\n this.currentState === State.BEGAN\n ) {\n this.onCancel();\n this.moveToState(State.CANCELLED, sendIfDisabled);\n this.view.style.cursor = 'auto';\n }\n }\n\n public activate(_force = false) {\n if (\n this.currentState === State.UNDETERMINED ||\n this.currentState === State.BEGAN\n ) {\n this.moveToState(State.ACTIVE);\n this.view.style.cursor = 'grab';\n }\n }\n\n public end() {\n if (\n this.currentState === State.BEGAN ||\n this.currentState === State.ACTIVE\n ) {\n this.moveToState(State.END);\n this.view.style.cursor = 'auto';\n }\n\n this.resetProgress();\n }\n\n //\n // Methods for orchestrator\n //\n\n public isAwaiting(): boolean {\n return this.awaiting;\n }\n public setAwaiting(value: boolean): void {\n this.awaiting = value;\n }\n\n public isActive(): boolean {\n return this.active;\n }\n public setActive(value: boolean): void {\n this.active = value;\n }\n\n public getShouldResetProgress(): boolean {\n return this.shouldResetProgress;\n }\n public setShouldResetProgress(value: boolean): void {\n this.shouldResetProgress = value;\n }\n\n public getActivationIndex(): number {\n return this.activationIndex;\n }\n public setActivationIndex(value: number): void {\n this.activationIndex = value;\n }\n\n public shouldWaitForHandlerFailure(handler: GestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.getInstance().shouldWaitForHandlerFailure(\n this,\n handler\n );\n }\n\n public shouldRequireToWaitForFailure(handler: GestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.getInstance().shouldRequireHandlerToWaitForFailure(\n this,\n handler\n );\n }\n\n public shouldRecognizeSimultaneously(handler: GestureHandler): boolean {\n if (handler === this) {\n return true;\n }\n\n return InteractionManager.getInstance().shouldRecognizeSimultaneously(\n this,\n handler\n );\n }\n\n public shouldBeCancelledByOther(handler: GestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.getInstance().shouldHandlerBeCancelledBy(\n this,\n handler\n );\n }\n\n //\n // Event actions\n //\n\n protected onPointerDown(event: AdaptedEvent): void {\n GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);\n this.pointerType = event.pointerType;\n\n if (this.pointerType === PointerType.TOUCH) {\n GestureHandlerOrchestrator.getInstance().cancelMouseAndPenGestures(this);\n }\n\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n // Adding another pointer to existing ones\n protected onPointerAdd(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n protected onPointerUp(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n // Removing pointer, when there is more than one pointers\n protected onPointerRemove(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n protected onPointerMove(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(false);\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n protected onPointerOut(event: AdaptedEvent): void {\n if (this.shouldCancellWhenOutside) {\n switch (this.currentState) {\n case State.ACTIVE:\n this.cancel();\n break;\n case State.BEGAN:\n this.fail();\n break;\n }\n return;\n }\n\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n protected onPointerEnter(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n protected onPointerCancel(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(true);\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n private tryToSendMoveEvent(out: boolean): void {\n if (\n this.enabled &&\n this.active &&\n (!out || (out && !this.shouldCancellWhenOutside))\n ) {\n this.sendEvent(this.currentState, this.currentState);\n }\n }\n\n public sendTouchEvent(event: AdaptedEvent): void {\n if (!this.enabled) {\n return;\n }\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n const touchEvent: ResultTouchEvent | undefined =\n this.transformTouchEvent(event);\n\n if (touchEvent) {\n invokeNullableMethod(onGestureHandlerEvent, touchEvent);\n }\n }\n\n //\n // Events Sending\n //\n\n public sendEvent = (newState: State, oldState: State): void => {\n const { onGestureHandlerEvent, onGestureHandlerStateChange }: PropsRef =\n this.propsRef.current as PropsRef;\n\n const resultEvent: ResultEvent = this.transformEventData(\n newState,\n oldState\n );\n\n // In the new API oldState field has to be undefined, unless we send event state changed\n // Here the order is flipped to avoid workarounds such as making backup of the state and setting it to undefined first, then changing it back\n // Flipping order with setting oldState to undefined solves issue, when events were being sent twice instead of once\n // However, this may cause trouble in the future (but for now we don't know that)\n\n if (this.lastSentState !== newState) {\n this.lastSentState = newState;\n invokeNullableMethod(onGestureHandlerStateChange, resultEvent);\n }\n if (this.currentState === State.ACTIVE) {\n resultEvent.nativeEvent.oldState = undefined;\n invokeNullableMethod(onGestureHandlerEvent, resultEvent);\n }\n };\n\n private transformEventData(newState: State, oldState: State): ResultEvent {\n return {\n nativeEvent: {\n numberOfPointers: this.tracker.getTrackedPointersCount(),\n state: newState,\n pointerInside: isPointerInBounds(this.view, {\n x: this.tracker.getLastAvgX(),\n y: this.tracker.getLastAvgY(),\n }),\n ...this.transformNativeEvent(),\n handlerTag: this.handlerTag,\n target: this.ref,\n oldState: newState !== oldState ? oldState : undefined,\n },\n timeStamp: Date.now(),\n };\n }\n\n private transformTouchEvent(\n event: AdaptedEvent\n ): ResultTouchEvent | undefined {\n const rect = this.view.getBoundingClientRect();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.getData();\n\n // This if handles edge case where all pointers have been cancelled\n // When pointercancel is triggered, reset method is called. This means that tracker will be reset after first pointer being cancelled\n // The problem is, that handler will receive another pointercancel event from the rest of the pointers\n // To avoid crashing, we don't send event if tracker tracks no pointers, i.e. has been reset\n if (trackerData.size === 0 || !trackerData.has(event.pointerId)) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY,\n });\n });\n\n // Each pointer sends its own event, so we want changed touches to contain only the pointer that has changed.\n // However, if the event is cancel, we want to cancel all pointers to avoid crashes\n if (event.eventType !== EventTypes.CANCEL) {\n changed.push({\n id: this.tracker.getMappedTouchEventId(event.pointerId),\n x: event.x - rect.left,\n y: event.y - rect.top,\n absoluteX: event.x,\n absoluteY: event.y,\n });\n } else {\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n changed.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY,\n });\n });\n }\n\n let eventType: TouchEventType = TouchEventType.UNDETERMINED;\n\n switch (event.eventType) {\n case EventTypes.DOWN:\n case EventTypes.ADDITIONAL_POINTER_DOWN:\n eventType = TouchEventType.DOWN;\n break;\n case EventTypes.UP:\n case EventTypes.ADDITIONAL_POINTER_UP:\n eventType = TouchEventType.UP;\n break;\n case EventTypes.MOVE:\n eventType = TouchEventType.MOVE;\n break;\n case EventTypes.CANCEL:\n eventType = TouchEventType.CANCELLED;\n break;\n }\n\n // Here, when we receive up event, we want to decrease number of touches\n // That's because we want handler to send information that there's one pointer less\n // However, we still want this pointer to be present in allTouches array, so that its data can be accessed\n let numberOfTouches: number = all.length;\n\n if (\n event.eventType === EventTypes.UP ||\n event.eventType === EventTypes.ADDITIONAL_POINTER_UP\n ) {\n --numberOfTouches;\n }\n\n return {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.currentState,\n eventType: event.touchEventType ?? eventType,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: numberOfTouches,\n },\n timeStamp: Date.now(),\n };\n }\n\n private cancelTouches(): void {\n const rect = this.view.getBoundingClientRect();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.getData();\n\n if (trackerData.size === 0) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY,\n });\n\n changed.push({\n id: id,\n x: element.lastX - rect.left,\n y: element.lastY - rect.top,\n absoluteX: element.lastX,\n absoluteY: element.lastY,\n });\n });\n\n const cancelEvent: ResultTouchEvent = {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.currentState,\n eventType: TouchEventType.CANCELLED,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: all.length,\n },\n timeStamp: Date.now(),\n };\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n invokeNullableMethod(onGestureHandlerEvent, cancelEvent);\n }\n\n protected transformNativeEvent() {\n return {};\n }\n\n //\n // Handling config\n //\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.config = { enabled: enabled, ...props };\n this.enabled = enabled;\n\n if (this.config.shouldCancelWhenOutside !== undefined) {\n this.setShouldCancelWhenOutside(this.config.shouldCancelWhenOutside);\n }\n\n this.validateHitSlops();\n\n if (this.enabled) {\n return;\n }\n\n switch (this.currentState) {\n case State.ACTIVE:\n this.fail(true);\n break;\n case State.UNDETERMINED:\n GestureHandlerOrchestrator.getInstance().removeHandlerFromOrchestrator(\n this\n );\n break;\n default:\n this.cancel(true);\n break;\n }\n }\n\n protected checkCustomActivationCriteria(criterias: string[]): void {\n for (const key in this.config) {\n if (criterias.indexOf(key) >= 0) {\n this.hasCustomActivationCriteria = true;\n }\n }\n }\n\n private validateHitSlops(): void {\n if (!this.config.hitSlop) {\n return;\n }\n\n if (\n this.config.hitSlop.left !== undefined &&\n this.config.hitSlop.right !== undefined &&\n this.config.hitSlop.width !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define left, right and width at the same time'\n );\n }\n\n if (\n this.config.hitSlop.width !== undefined &&\n this.config.hitSlop.left === undefined &&\n this.config.hitSlop.right === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When width is defined, either left or right has to be defined'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top !== undefined &&\n this.config.hitSlop.bottom !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define top, bottom and height at the same time'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top === undefined &&\n this.config.hitSlop.bottom === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When height is defined, either top or bottom has to be defined'\n );\n }\n }\n\n private checkHitSlop(): boolean {\n if (!this.config.hitSlop) {\n return true;\n }\n\n const width = this.view.getBoundingClientRect().width;\n const height = this.view.getBoundingClientRect().height;\n\n let left = 0;\n let top = 0;\n let right: number = width;\n let bottom: number = height;\n\n if (this.config.hitSlop.horizontal !== undefined) {\n left -= this.config.hitSlop.horizontal;\n right += this.config.hitSlop.horizontal;\n }\n\n if (this.config.hitSlop.vertical !== undefined) {\n top -= this.config.hitSlop.vertical;\n bottom += this.config.hitSlop.vertical;\n }\n\n if (this.config.hitSlop.left !== undefined) {\n left = -this.config.hitSlop.left;\n }\n\n if (this.config.hitSlop.right !== undefined) {\n right = width + this.config.hitSlop.right;\n }\n\n if (this.config.hitSlop.top !== undefined) {\n top = -this.config.hitSlop.top;\n }\n\n if (this.config.hitSlop.bottom !== undefined) {\n bottom = width + this.config.hitSlop.bottom;\n }\n if (this.config.hitSlop.width !== undefined) {\n if (this.config.hitSlop.left !== undefined) {\n right = left + this.config.hitSlop.width;\n } else if (this.config.hitSlop.right !== undefined) {\n left = right - this.config.hitSlop.width;\n }\n }\n\n if (this.config.hitSlop.height !== undefined) {\n if (this.config.hitSlop.top !== undefined) {\n bottom = top + this.config.hitSlop.height;\n } else if (this.config.hitSlop.bottom !== undefined) {\n top = bottom - this.config.hitSlop.height;\n }\n }\n\n const rect: DOMRect = this.view.getBoundingClientRect();\n const offsetX: number = this.tracker.getLastX() - rect.left;\n const offsetY: number = this.tracker.getLastY() - rect.top;\n\n if (\n offsetX >= left &&\n offsetX <= right &&\n offsetY >= top &&\n offsetY <= bottom\n ) {\n return true;\n }\n return false;\n }\n\n public isPointerInBounds({ x, y }: { x: number; y: number }): boolean {\n const rect: DOMRect = this.view.getBoundingClientRect();\n\n return (\n x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom\n );\n }\n\n protected resetConfig(): void {}\n\n //\n // Getters and setters\n //\n\n public getTag(): number {\n return this.handlerTag;\n }\n public setTag(tag: number): void {\n this.handlerTag = tag;\n }\n\n protected getConfig() {\n return this.config;\n }\n\n public getShouldEnableGestureOnSetup(): boolean {\n throw new Error('Must override GestureHandler.shouldEnableGestureOnSetup');\n }\n\n public getView(): HTMLElement {\n return this.view;\n }\n\n public getEventManagers(): EventManager[] {\n return this.eventManagers;\n }\n\n public getTracker(): PointerTracker {\n return this.tracker;\n }\n\n public getTrackedPointersID(): number[] {\n return this.tracker.getTrackedPointersID();\n }\n\n public getState(): State {\n return this.currentState;\n }\n\n public isEnabled(): boolean {\n return this.enabled;\n }\n\n private isFinished(): boolean {\n return (\n this.currentState === State.END ||\n this.currentState === State.FAILED ||\n this.currentState === State.CANCELLED\n );\n }\n\n protected setShouldCancelWhenOutside(shouldCancel: boolean) {\n this.shouldCancellWhenOutside = shouldCancel;\n }\n protected getShouldCancelWhenOutside(): boolean {\n return this.shouldCancellWhenOutside;\n }\n\n public getPointerType(): PointerType {\n return this.pointerType;\n }\n}\n\nfunction invokeNullableMethod(\n method:\n | ((event: ResultEvent | ResultTouchEvent) => void)\n | { __getHandler: () => (event: ResultEvent | ResultTouchEvent) => void }\n | { __nodeConfig: { argMapping: unknown[] } },\n event: ResultEvent | ResultTouchEvent\n): void {\n if (!method) {\n return;\n }\n\n if (typeof method === 'function') {\n method(event);\n return;\n }\n\n if ('__getHandler' in method && typeof method.__getHandler === 'function') {\n const handler = method.__getHandler();\n invokeNullableMethod(handler, event);\n return;\n }\n\n if (!('__nodeConfig' in method)) {\n return;\n }\n\n const { argMapping } = method.__nodeConfig;\n if (!Array.isArray(argMapping)) {\n return;\n }\n\n for (const [index, [key, value]] of argMapping.entries()) {\n if (!(key in event.nativeEvent)) {\n continue;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const nativeValue = event.nativeEvent[key];\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (value?.setValue) {\n //Reanimated API\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n value.setValue(nativeValue);\n } else {\n //RN Animated API\n method.__nodeConfig.argMapping[index] = [key, nativeValue];\n }\n }\n\n return;\n}\n"]},"metadata":{},"sourceType":"module","externalDependencies":[]}