{"version":3,"sources":["node_modules\\react-dom\\lib\\ResponderTouchHistoryStore.js"],"names":["_prodInvariant","require","EventPluginUtils","invariant","warning","isEndish","isMoveish","isStartish","MAX_TOUCH_BANK","touchBank","touchHistory","numberActiveTouches","indexOfSingleActiveTouch","mostRecentTimeStamp","timestampForTouch","touch","timeStamp","timestamp","createTouchRecord","touchActive","startPageX","pageX","startPageY","pageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","touchRecord","getTouchIdentifier","_ref","identifier","process","env","NODE_ENV","recordTouchStart","recordTouchMove","console","error","printTouch","printTouchBank","recordTouchEnd","JSON","stringify","printed","slice","length","ResponderTouchHistoryStore","recordTouchTrack","topLevelType","nativeEvent","changedTouches","forEach","touches","i","touchTrackToCheck","activeRecord","module","exports"],"mappings":"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","file":"ResponderTouchHistoryStore.js","sourceRoot":"D:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventPluginUtils = require('./EventPluginUtils');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar isEndish = EventPluginUtils.isEndish,\n    isMoveish = EventPluginUtils.isMoveish,\n    isStartish = EventPluginUtils.isStartish;\n\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar MAX_TOUCH_BANK = 20;\nvar touchBank = [];\nvar touchHistory = {\n  touchBank: touchBank,\n  numberActiveTouches: 0,\n  // If there is only one active touch, we remember its location. This prevents\n  // us having to loop through all of the touches all the time in the most\n  // common case.\n  indexOfSingleActiveTouch: -1,\n  mostRecentTimeStamp: 0\n};\n\nfunction timestampForTouch(touch) {\n  // The legacy internal implementation provides \"timeStamp\", which has been\n  // renamed to \"timestamp\". Let both work for now while we iron it out\n  // TODO (evv): rename timeStamp to timestamp in internal code\n  return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n  return {\n    touchActive: true,\n    startPageX: touch.pageX,\n    startPageY: touch.pageY,\n    startTimeStamp: timestampForTouch(touch),\n    currentPageX: touch.pageX,\n    currentPageY: touch.pageY,\n    currentTimeStamp: timestampForTouch(touch),\n    previousPageX: touch.pageX,\n    previousPageY: touch.pageY,\n    previousTimeStamp: timestampForTouch(touch)\n  };\n}\n\nfunction resetTouchRecord(touchRecord, touch) {\n  touchRecord.touchActive = true;\n  touchRecord.startPageX = touch.pageX;\n  touchRecord.startPageY = touch.pageY;\n  touchRecord.startTimeStamp = timestampForTouch(touch);\n  touchRecord.currentPageX = touch.pageX;\n  touchRecord.currentPageY = touch.pageY;\n  touchRecord.currentTimeStamp = timestampForTouch(touch);\n  touchRecord.previousPageX = touch.pageX;\n  touchRecord.previousPageY = touch.pageY;\n  touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\n\nfunction getTouchIdentifier(_ref) {\n  var identifier = _ref.identifier;\n\n  !(identifier != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Touch object is missing identifier.') : _prodInvariant('138') : void 0;\n  process.env.NODE_ENV !== 'production' ? warning(identifier <= MAX_TOUCH_BANK, 'Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK) : void 0;\n  return identifier;\n}\n\nfunction recordTouchStart(touch) {\n  var identifier = getTouchIdentifier(touch);\n  var touchRecord = touchBank[identifier];\n  if (touchRecord) {\n    resetTouchRecord(touchRecord, touch);\n  } else {\n    touchBank[identifier] = createTouchRecord(touch);\n  }\n  touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\n\nfunction recordTouchMove(touch) {\n  var touchRecord = touchBank[getTouchIdentifier(touch)];\n  if (touchRecord) {\n    touchRecord.touchActive = true;\n    touchRecord.previousPageX = touchRecord.currentPageX;\n    touchRecord.previousPageY = touchRecord.currentPageY;\n    touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n    touchRecord.currentPageX = touch.pageX;\n    touchRecord.currentPageY = touch.pageY;\n    touchRecord.currentTimeStamp = timestampForTouch(touch);\n    touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n  } else {\n    console.error('Cannot record touch move without a touch start.\\n' + 'Touch Move: %s\\n', 'Touch Bank: %s', printTouch(touch), printTouchBank());\n  }\n}\n\nfunction recordTouchEnd(touch) {\n  var touchRecord = touchBank[getTouchIdentifier(touch)];\n  if (touchRecord) {\n    touchRecord.touchActive = false;\n    touchRecord.previousPageX = touchRecord.currentPageX;\n    touchRecord.previousPageY = touchRecord.currentPageY;\n    touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n    touchRecord.currentPageX = touch.pageX;\n    touchRecord.currentPageY = touch.pageY;\n    touchRecord.currentTimeStamp = timestampForTouch(touch);\n    touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n  } else {\n    console.error('Cannot record touch end without a touch start.\\n' + 'Touch End: %s\\n', 'Touch Bank: %s', printTouch(touch), printTouchBank());\n  }\n}\n\nfunction printTouch(touch) {\n  return JSON.stringify({\n    identifier: touch.identifier,\n    pageX: touch.pageX,\n    pageY: touch.pageY,\n    timestamp: timestampForTouch(touch)\n  });\n}\n\nfunction printTouchBank() {\n  var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n  if (touchBank.length > MAX_TOUCH_BANK) {\n    printed += ' (original size: ' + touchBank.length + ')';\n  }\n  return printed;\n}\n\nvar ResponderTouchHistoryStore = {\n  recordTouchTrack: function (topLevelType, nativeEvent) {\n    if (isMoveish(topLevelType)) {\n      nativeEvent.changedTouches.forEach(recordTouchMove);\n    } else if (isStartish(topLevelType)) {\n      nativeEvent.changedTouches.forEach(recordTouchStart);\n      touchHistory.numberActiveTouches = nativeEvent.touches.length;\n      if (touchHistory.numberActiveTouches === 1) {\n        touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n      }\n    } else if (isEndish(topLevelType)) {\n      nativeEvent.changedTouches.forEach(recordTouchEnd);\n      touchHistory.numberActiveTouches = nativeEvent.touches.length;\n      if (touchHistory.numberActiveTouches === 1) {\n        for (var i = 0; i < touchBank.length; i++) {\n          var touchTrackToCheck = touchBank[i];\n          if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n            touchHistory.indexOfSingleActiveTouch = i;\n            break;\n          }\n        }\n        if (process.env.NODE_ENV !== 'production') {\n          var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n          process.env.NODE_ENV !== 'production' ? warning(activeRecord != null && activeRecord.touchActive, 'Cannot find single active touch.') : void 0;\n        }\n      }\n    }\n  },\n\n\n  touchHistory: touchHistory\n};\n\nmodule.exports = ResponderTouchHistoryStore;"]}