{"_id":"detect-touch-events","_rev":"11-579eaf58dfcc25d0ed62b02eb1813b65","name":"detect-touch-events","description":"Detect if the browser supports the touch events api","dist-tags":{"latest":"2.0.2"},"versions":{"0.1.0":{"name":"detect-touch-events","version":"0.1.0","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src --presets babel-preset-es2015 -d lib","prepublish":"npm run build"},"files":["lib","src"],"repository":{"type":"git","url":"git+https://github.com/rafrex/detect-touch-events.git"},"keywords":["touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"code@rafrex.com"},"license":"MIT","bugs":{"url":"https://github.com/rafrex/detect-touch-events/issues"},"homepage":"https://github.com/rafrex/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.10.1","babel-preset-es2015":"^6.9.0","eslint":"^3.0.1","eslint-config-airbnb-base":"^4.0.0","eslint-plugin-import":"^1.10.2"},"gitHead":"25abcfbe42b51b2f2890c520486141be45568c13","_id":"detect-touch-events@0.1.0","_shasum":"a6546a3a6aa6cd04c75fdea51dd6642e80bce14c","_from":".","_npmVersion":"3.9.3","_nodeVersion":"6.2.0","_npmUser":{"name":"rafrex","email":"code@rafrex.com"},"dist":{"shasum":"a6546a3a6aa6cd04c75fdea51dd6642e80bce14c","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-0.1.0.tgz","integrity":"sha512-h2OEWxd5XyKxPMeWngF5GbnmzmAvZidoOTSEZ+aNhGTsQR+d7ybE1XsOkbyyKRGA4Ry9ZTSm2WZSfF0Wem8Y3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDUorptnP0pXUMUf95zhFG6QkDpn73rz9ysuTqKOMoFQIhAI5dok7E60L9FmrzvGudyDv0VsEzdAQQkKx2Yk156BxU"}]},"maintainers":[{"name":"rafrex","email":"code@rafrex.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/detect-touch-events-0.1.0.tgz_1467784769392_0.5275034860242158"},"directories":{}},"0.2.0":{"name":"detect-touch-events","version":"0.2.0","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src --presets babel-preset-es2015 -d lib","prepublish":"npm run build"},"files":["lib","src"],"repository":{"type":"git","url":"git+https://github.com/rafrex/detect-touch-events.git"},"keywords":["touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"code@rafrex.com"},"license":"MIT","bugs":{"url":"https://github.com/rafrex/detect-touch-events/issues"},"homepage":"https://github.com/rafrex/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.10.1","babel-preset-es2015":"^6.9.0","eslint":"^3.0.1","eslint-config-airbnb-base":"^4.0.0","eslint-plugin-import":"^1.10.2"},"gitHead":"8819e5c18ff3f196b95837d9a3d2530275b1b50c","_id":"detect-touch-events@0.2.0","_shasum":"5a50406b0f57638a88a9b6d1797ac4648268135f","_from":".","_npmVersion":"3.9.3","_nodeVersion":"6.2.0","_npmUser":{"name":"rafrex","email":"code@rafrex.com"},"dist":{"shasum":"5a50406b0f57638a88a9b6d1797ac4648268135f","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-0.2.0.tgz","integrity":"sha512-CtELeLtPQH2g1sXlpfiKeuQ5Eu17tpu1f9ssUpd5IB3EjBPSxCaA1rVqwgAmt3HZuD6vFqCsEbIC6ZiL7c0sAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+MYTtunZP84l9Bm9JmIO7ME8t2a6aReAn8OXy4hTfFgIgA35ASiCzZc3Qqhbxx0xOX6ojzH52LqFUihUunWMc6PU="}]},"maintainers":[{"name":"rafrex","email":"code@rafrex.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/detect-touch-events-0.2.0.tgz_1467863638937_0.3646549612749368"},"directories":{}},"0.2.1":{"name":"detect-touch-events","version":"0.2.1","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src --presets babel-preset-es2015 -d lib","prepublish":"npm run build"},"files":["lib","src"],"repository":{"type":"git","url":"git+https://github.com/rafrex/detect-touch-events.git"},"keywords":["touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"code@rafrex.com"},"license":"MIT","bugs":{"url":"https://github.com/rafrex/detect-touch-events/issues"},"homepage":"https://github.com/rafrex/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.10.1","babel-preset-es2015":"^6.9.0","eslint":"^3.0.1","eslint-config-airbnb-base":"^4.0.0","eslint-plugin-import":"^1.10.2"},"gitHead":"77fb32a19ba1942cd530a1212eb49fb4a6187070","_id":"detect-touch-events@0.2.1","_shasum":"0305aa4fd4569bf8e0e474d93976a3560c47fc5d","_from":".","_npmVersion":"3.9.3","_nodeVersion":"6.2.0","_npmUser":{"name":"rafrex","email":"code@rafrex.com"},"dist":{"shasum":"0305aa4fd4569bf8e0e474d93976a3560c47fc5d","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-0.2.1.tgz","integrity":"sha512-lEbUP0nTgFo+YkqqCnoZuiHYWX4F8dyw0Vokrwpu8CBgdy6hpXf4oy2u94+ekUVRflAuBbSnStRC0viUKICGXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEossm7g15DX+eBQeRVP5fgje1cvdbNjArFGAeB+rXF4AiEA3VyeHuTBnMaZOF81IHu3j5Ff3335NElf7fyqn9x/YdU="}]},"maintainers":[{"name":"rafrex","email":"code@rafrex.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/detect-touch-events-0.2.1.tgz_1467951715935_0.25345256784930825"},"directories":{}},"1.0.0":{"name":"detect-touch-events","version":"1.0.0","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src --presets babel-preset-es2015 -d lib","prepublish":"npm run build"},"files":["lib","src"],"repository":{"type":"git","url":"git+https://github.com/rafrex/detect-touch-events.git"},"keywords":["detect","touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"code@rafrex.com"},"license":"MIT","bugs":{"url":"https://github.com/rafrex/detect-touch-events/issues"},"homepage":"https://github.com/rafrex/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.10.1","babel-preset-es2015":"^6.9.0","eslint":"^3.0.1","eslint-config-airbnb-base":"^4.0.0","eslint-plugin-import":"^1.10.2"},"gitHead":"527ae2f692ad6189c91606438fa1a219f3bfda19","_id":"detect-touch-events@1.0.0","_shasum":"17fc9baa8476da4cfa9ba7a49cd441c79ecb6b96","_from":".","_npmVersion":"3.9.3","_nodeVersion":"6.2.0","_npmUser":{"name":"rafrex","email":"code@rafrex.com"},"dist":{"shasum":"17fc9baa8476da4cfa9ba7a49cd441c79ecb6b96","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-1.0.0.tgz","integrity":"sha512-ZGJBiCZiFwn3jG4MUFQV4jUxg53de4i76Jl1kDXi31+PFlNImkZeVPb9r6edluzIIFJV0+GHRKg166K667M5eg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBmQZ3IJGZ/v15OgEIn5EGIA7qAGkuaKzX8+nnwYCV2dAiBChBkgTHrHKkWm1qcdsFqug8iN0kpHBwezNiQXyiWkRw=="}]},"maintainers":[{"name":"rafrex","email":"code@rafrex.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/detect-touch-events-1.0.0.tgz_1469142573096_0.4605605616234243"},"directories":{}},"1.0.1":{"name":"detect-touch-events","version":"1.0.1","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src --presets babel-preset-es2015 -d lib","prepublish":"npm run build"},"files":["lib","src"],"repository":{"type":"git","url":"git+https://github.com/rafrex/detect-touch-events.git"},"keywords":["detect","touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"code@rafrex.com"},"license":"MIT","bugs":{"url":"https://github.com/rafrex/detect-touch-events/issues"},"homepage":"https://github.com/rafrex/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.10.1","babel-preset-es2015":"^6.9.0","eslint":"^3.0.1","eslint-config-airbnb-base":"^4.0.0","eslint-plugin-import":"^1.10.2"},"gitHead":"2299975fb09331f81cb57a7ef10a12651a0683f9","_id":"detect-touch-events@1.0.1","_shasum":"115584aab7409c0b92df103ab0fbf5285cd50d71","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.5","_npmUser":{"name":"rafrex","email":"code@rafrex.com"},"dist":{"shasum":"115584aab7409c0b92df103ab0fbf5285cd50d71","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-1.0.1.tgz","integrity":"sha512-ZYSP1bEs68q4fICiaTepdEjwBR4Ybg7rCQfMySP5IrO3V+7smmaqVjcvQdo+wENCQT/rdEWnB+E+ugIq4s1TdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrT/Z36XR237ZJ58kDXBLROwhZhmBWJrkwjwA/wZIgpgIgQFFxd0MqLOmq4JWVpo4IzXDjLhtBUm5b33Y3C/j9Xv8="}]},"maintainers":[{"name":"rafrex","email":"code@rafrex.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/detect-touch-events-1.0.1.tgz_1487964274462_0.9415505940560251"},"directories":{}},"2.0.0":{"name":"detect-touch-events","version":"2.0.0","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src -d lib --presets=env","prepublish":"npm run build"},"files":["lib","src"],"repository":{"type":"git","url":"git+https://github.com/rafrex/detect-touch-events.git"},"keywords":["detect","touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"code@rafrex.com"},"license":"MIT","bugs":{"url":"https://github.com/rafrex/detect-touch-events/issues"},"homepage":"https://github.com/rafrex/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.24.1","babel-eslint":"^7.2.3","babel-preset-env":"^1.4.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^11.1.3","eslint-plugin-import":"^2.2.0"},"gitHead":"217cb5f6a973933092ed8fc16cb3f6fe9f5b0d3e","_id":"detect-touch-events@2.0.0","_shasum":"d3d09e0b6e9ff00270c044c577087be83617e793","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.9.5","_npmUser":{"name":"rafrex","email":"code@rafrex.com"},"dist":{"shasum":"d3d09e0b6e9ff00270c044c577087be83617e793","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-2.0.0.tgz","integrity":"sha512-Qqmh5jQJZvS5sGCGJ7/QeyCAnDuQ8xRCVqyrPHcTBV0dqDl/FCp6rhHWeRXRlpuMmQpETXbpyBEiiAjeYUtkrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkq9g+CO4LH1COtb0rrIg8VGDF+MvwYtKcpmE1mz2ccwIhAJmx0fKAwMxtqoY2sZa/t4twJ5V3yu3VnHyDR1E6ExAE"}]},"maintainers":[{"name":"rafrex","email":"code@rafrex.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/detect-touch-events-2.0.0.tgz_1493859361148_0.1694734189659357"},"directories":{}},"2.0.1":{"name":"detect-touch-events","version":"2.0.1","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src -d lib --presets=env","prepublish":"npm run build"},"files":["lib","src"],"repository":{"type":"git","url":"git+https://github.com/rafrex/detect-touch-events.git"},"keywords":["detect","touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"code@rafrex.com"},"license":"MIT","bugs":{"url":"https://github.com/rafrex/detect-touch-events/issues"},"homepage":"https://github.com/rafrex/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.24.1","babel-eslint":"^7.2.3","babel-preset-env":"^1.4.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^11.1.3","eslint-plugin-import":"^2.2.0"},"gitHead":"17e6498b36be897e64ac41eaef57c985788785c2","_id":"detect-touch-events@2.0.1","_shasum":"365833cf0c5c40c4090a08096b8a688db00fa337","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"rafrex","email":"code@rafrex.com"},"dist":{"shasum":"365833cf0c5c40c4090a08096b8a688db00fa337","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-2.0.1.tgz","integrity":"sha512-LO32BaKSCFiJFXvRmP8tPmNpk+N3afm2WcgIJwZloex0LGh64xTg953gWsNpPL6YWK7FnGeJ5soPi3MTdme/Mg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfvYZ/jPfas8OdaP3JmqPkRijCcUE8Vb9JFjaJsyLQyAiEAqfE1XJW45wnO4mAMkA9p+J1L+ts6n8T/76+9SzilPNY="}]},"maintainers":[{"name":"rafrex","email":"code@rafrex.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/detect-touch-events-2.0.1.tgz_1506364588856_0.9483062077779323"},"directories":{}},"2.0.2":{"name":"detect-touch-events","version":"2.0.2","description":"Detect if the browser supports the touch events api","main":"lib/index.js","scripts":{"build":"rm -rf lib && babel src -d lib --presets=env","prepublish":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/rafgraph/detect-touch-events.git"},"keywords":["detect","touch","touch events","touch device"],"author":{"name":"Rafael Pedicini","email":"rafael@rafgraph.dev"},"license":"MIT","bugs":{"url":"https://github.com/rafgraph/detect-touch-events/issues"},"homepage":"https://github.com/rafgraph/detect-touch-events#readme","devDependencies":{"babel-cli":"^6.24.1","babel-eslint":"^7.2.3","babel-preset-env":"^1.4.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^11.1.3","eslint-plugin-import":"^2.2.0"},"gitHead":"6fe5aac4dd7b4f4abe6df5ecec57dbfc75bd9f20","_id":"detect-touch-events@2.0.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-g8GWBkJLiIDRJfRXEdrd1wMXpNyGId2DkbfuwFahSb4OCvn717hyRJtAcEDISfp3zkwEhZ4Y4woHPA6DeyB3Fw==","shasum":"541cc49b05ca544726a3bf2802c5b23e53aeeebb","tarball":"https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-2.0.2.tgz","fileCount":5,"unpackedSize":5887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWnHhCRA9TVsSAnZWagAA1ioQAIE+ZSo6dy4IeFoocSM8\nbMz79G0nXEZbR4kW/ryGPo8bA6Qt8Z9FC2W/LSVk8ctj7DbdbaMqb6mWa0Ut\nLwuN/QixirmqX47Xjcnvw0VW0SIBSZh1+ao90Yw0TCPr/TJUcqxFBNFCyRTC\nd1nVFe5JuT5GircVfiaP/Q4eY57V5muNsPoCUHq5Lp81oyL7G1k711+b03bR\nB5NLjxCyOyKkOzgwFdojxcqBvi4BXxCEhdDwbZhgg8+gAFRF11AXadY8vgFB\nNRFgt6jF2AC77Y3hsZM3leV/W9F71sjIqOYuya0/GeqmiP3VAv16hPI1rdNY\nuKKCIFUzn+a9CQWm3QUcC/7e1tZdJr3JuHdqnocsr1pWZWkgwlPPHBFAEQs4\nwMdIFT0sweTO09zbelP4iXNFg9a9fqMZcdZkCCcKb6A6EuFDIIZCtoYt3BqN\n3nFtcHDVwW+IsPwDDpcrJA5m5buON2KglSILXrd6F1UqRlKv6tR3oA/bqn/b\nM3rScvUD7tyt5m/a6ITZJ+u69vW8gBiLACdy8n43R7az3CPY12ZzN+I5LKxz\n6Qj2ttRM+zvcqHJ6vR8nfIPgESTFCWW1l20V0B2DXJ7mazMZhv5JXxpYf8Ik\ndwIW2wrAxlgYen1B6sR2lHsaCjdNPKh49KBjhKzkrSGOEEMKHS6gH4OEtpYB\nhO09\r\n=idaq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHkHJTibTnLp2Noufu+p39RWDyZGBIGLgApDzb/vAlheAiEAsdG1Cbij6j0CIPJExLoA+TW3Et4zntrpJ6WQ/cWSCn0="}]},"maintainers":[{"name":"rafgraph","email":"rafael@rafgraph.dev"}],"_npmUser":{"name":"rafgraph","email":"rafael@rafgraph.dev"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/detect-touch-events_2.0.2_1599762912126_0.21384564719810606"},"_hasShrinkwrap":false}},"readme":"# Detect Touch Events\n\nDetect if the browser supports the Touch Events API.\n\n[Live detection test][liveDetectionTest]\n\nExports a reference to a singleton object (a micro state machine with an update function) with its state set to if the device supports the Touch Events API, as well as an `update()` function which re-runs the tests and updates the object's state.\n\nNote that `detect-touch-events` is one of the micro state machines used by [`detect-it`][detectItRepo] to determine if a device is `mouseOnly`, `touchOnly`, or `hybrid`.\n\n*For more information on the touch events api, please see [MDN's Touch Events][mdnTouchEvents], or the [W3C Touch Events specification][w3cSpecLatest].*\n\n\n### `detectTouchEvents` micro state machine\n```javascript\nconst detectTouchEvents = {\n  hasSupport: true / false,\n  browserSupportsApi: true / false,\n\n  // re-run all the detection tests and update state\n  update() {...},\n}\n```\n\n### Installing `detect-touch-events`\n```terminal\n$ npm install --save detect-touch-events\n```\n\n### Using `detect-touch-events`\n```javascript\nimport detectTouchEvents from 'detect-touch-events';\n```\n```javascript\n// touch events api is present on a device with a touch screen - *most useful*\ndetectTouchEvents.hasSupport === true;\n\n// browser supports the touch events api, but the device may or may not have a touch screen\ndetectTouchEvents.browserSupportsApi === true;\n\n// updating the state - most apps won't need to use this at all\ndetectTouchEvents.update();\n```\n\n```javascript\n/*\n * note that in the case of a browser that doesn't support touch events,\n * including when using a legacy computer and browser, the default state will be:\n */\nconst detectTouchEvents = {\n  hasSupport: false,\n  browserSupportsApi: false,\n}\n```\n\nNote that `hasSupport` is still just an api presence test and some browsers (notably Firefox) may give a false positive (saying it has support on a device without a touch screen), so it is recommended to use [`detect-it`][detectItRepo] which factors in other tests as well to determine device capabilities.\n\nNote that the `update()` function is run once at the time of import to set the object's initial state, and generally doesn't need to be run again. If it doesn't have access to the `window`, then the state will be `undefined` (`detect-touch-events` will not throw an error), and you will need to call the `update()` function manually at a later time to update its state.\n\n\n### Part of the [`detect-it`][detectItRepo] family\n- [`detect-it`][detectItRepo]\n  - [`detect-hover`][detectHoverRepo]\n  - [`detect-pointer`][detectPointerRepo]\n  - **`detect-touch-events`**\n  - [`detect-passive-events`][detectPassiveEventsRepo]\n\n\n<!-- links -->\n[liveDetectionTest]: https://detect-it.rafgraph.dev/#detect-touch-events\n[w3cSpecLatest]: https://w3c.github.io/touch-events/\n[mdnTouchEvents]: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events\n[detectItRepo]: https://github.com/rafgraph/detect-it\n[detectHoverRepo]: https://github.com/rafgraph/detect-hover\n[detectPointerRepo]: https://github.com/rafgraph/detect-pointer\n[detectPassiveEventsRepo]: https://github.com/rafgraph/detect-passive-events\n","maintainers":[{"name":"rafgraph","email":"rafael@rafgraph.dev"}],"time":{"modified":"2022-06-15T01:59:15.019Z","created":"2016-07-06T05:59:31.630Z","0.1.0":"2016-07-06T05:59:31.630Z","0.2.0":"2016-07-07T03:54:01.383Z","0.2.1":"2016-07-08T04:21:58.609Z","1.0.0":"2016-07-21T23:09:35.970Z","1.0.1":"2017-02-24T19:24:34.677Z","2.0.0":"2017-05-04T00:56:03.681Z","2.0.1":"2017-09-25T18:36:28.988Z","2.0.2":"2020-09-10T18:35:12.257Z"},"homepage":"https://github.com/rafgraph/detect-touch-events#readme","keywords":["detect","touch","touch events","touch device"],"repository":{"type":"git","url":"git+https://github.com/rafgraph/detect-touch-events.git"},"author":{"name":"Rafael Pedicini","email":"rafael@rafgraph.dev"},"bugs":{"url":"https://github.com/rafgraph/detect-touch-events/issues"},"license":"MIT","readmeFilename":"README.md"}