{"_id":"@chainsafe/abort-controller","_rev":"7-9a0d141fdea3cec067c2b6c9bfe71931","name":"@chainsafe/abort-controller","dist-tags":{"latest":"3.0.1"},"versions":{"3.0.1":{"name":"@chainsafe/abort-controller","version":"3.0.1","keywords":["w3c","whatwg","event","events","abort","cancel","abortcontroller","abortsignal","controller","signal","shim"],"author":{"url":"https://github.com/mysticatea","name":"Toru Nagashima"},"license":"MIT","_id":"@chainsafe/abort-controller@3.0.1","maintainers":[{"name":"mpetrunic","email":"marin@nodefactory.io"},{"name":"wemeetagain","email":"caymannava@gmail.com"}],"homepage":"https://github.com/chainsafe/abort-controller#readme","bugs":{"url":"https://github.com/chainsafe/abort-controller/issues"},"dist":{"shasum":"9f99ff6c641fa08e76ca346ecea54496ccb0662e","tarball":"https://registry.npmjs.org/@chainsafe/abort-controller/-/abort-controller-3.0.1.tgz","fileCount":14,"integrity":"sha512-oyq0qgFJDIIgLpyPwTv4j/sHX/MITatFzY3/b42VSldyZfnUC1lYBx5RwFvzBv1Sq4APOj2VCZO23pDRwy5kew==","signatures":[{"sig":"MEUCIQCjAIo3ZeHgLm2HJx0gdRsAq6EwGGUtvUS5INph1bwBFAIgXnZIr9zIahkM8LaDmlCcUWMFikRBM+Bjme67f0VZUwM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76997,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0N4wCRA9TVsSAnZWagAAYvkP/1IKK44vYc/zPcW/K66j\nJZoRv72RfQRSXFfc0lwu/RcuJ91RegSAL9+x78x40mfskT/szkS8ovM5uzE5\nrEm+qKttj5X8SFsJJU4BcTZJOTIqlL9BMgjAlEc+aMGXPwqf//YDaW/jkwT0\nNr1f5oVEQbAhaA240vLsRRya5vSI/9+FvEW89Xur5pkMJyc3Dnz8ephQU/PB\nAJUmU/KhEp8haew0fJSBT5PMcT7viJHGEpIjj+iol5GwQnnsiad4O+qMndqs\nNeCA1opw+VyBm70vipsdAQm4IaTO2Xh2agcpvOAckL+GwynKKAHkT3flr6Tz\nnoq6yBqxUZ9gJMjv0QP7UmDNyC6aRSWCfIun/yAJFM5Nj5Uu3j2e7Q0TXCT8\ncjf9PaQ3geFK67L5XL55AMpZVDqjrwcYTQLnRzTGJAX5O2K085IVaJmbAXRO\nq3RAWKFW0p2xZaLvusEBYanfYJN3UJ4WSsIxVYPDrhXHJjnM49jU5vmEagCg\nizcl9Awrx+9wksWmGD8utIqGsduLd1piF9odg18FJfRnQyNr0s+0c1rUH/3Z\nQBxmEBXZ8fbXhAdeL9Ut4h29lLqRTjGpDAKR0jcMSQI4JZaUMSOqmM5tJbEm\nrcTpcJ+Iiuawc6Ry866o3jYgQ5CRqX92esKxZWwrGV0+RCHIBhwDECv8dHRr\nAG/P\r\n=Ffe2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/abort-controller","types":"dist/abort-controller.d.ts","browser":"./browser.js","engines":{"node":">=6.5"},"gitHead":"7c76b9b07b47f9c7c4df4458b14ef3281674d3aa","scripts":{"lint":"eslint . --ext .ts","test":"run-s -s lint test:*","build":"run-s -s build:*","clean":"rimraf .nyc_output coverage","watch":"run-p -s watch:*","codecov":"codecov","version":"npm run -s build && git add dist/*","coverage":"opener coverage/lcov-report/index.html","build:dts":"dts-bundle-generator -o dist/abort-controller.d.ts src/abort-controller.ts && ts-node scripts/fix-dts","preversion":"npm test","test:karma":"karma start --single-run","test:mocha":"nyc mocha test/*.ts","postversion":"git push && git push --tags","watch:karma":"karma start --watch","watch:mocha":"mocha test/*.ts --require ts-node/register --watch-extensions ts --watch --growl","build:rollup":"rollup -c"},"_npmUser":{"name":"wemeetagain","email":"caymannava@gmail.com"},"repository":{"url":"git+https://github.com/chainsafe/abort-controller.git","type":"git"},"_npmVersion":"6.14.11","description":"An implementation of WHATWG AbortController interface.","directories":{},"_nodeVersion":"14.16.0","dependencies":{"event-target-shim":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^13.1.0","karma":"^3.1.4","mocha":"^5.2.0","assert":"^1.4.1","eslint":"^5.12.1","opener":"^1.5.1","rimraf":"^2.6.3","rollup":"^1.1.2","codecov":"^3.1.0","ts-node":"^8.0.1","typescript":"^3.2.4","@babel/core":"^7.2.2","@types/node":"^10.12.18","karma-mocha":"^1.3.0","npm-run-all":"^4.1.5","type-tester":"^1.0.0","@types/mocha":"^5.2.5","rollup-watch":"^4.3.1","karma-coverage":"^1.1.2","@babel/register":"^7.0.0","@mysticatea/spy":"^0.1.2","@babel/preset-env":"^7.3.0","karma-ie-launcher":"^1.0.0","rollup-plugin-babel":"^4.3.2","dts-bundle-generator":"^2.0.0","karma-growl-reporter":"^1.0.0","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript":"^1.0.0","@mysticatea/eslint-plugin":"^8.0.1","karma-rollup-preprocessor":"^7.0.0-rc.2","rollup-plugin-babel-minify":"^7.0.0","rollup-plugin-node-resolve":"^4.0.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/abort-controller_3.0.1_1624301103865_0.14816810249335743","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-06-21T18:45:03.523Z","modified":"2026-04-21T09:50:42.501Z","3.0.1":"2021-06-21T18:45:04.106Z"},"bugs":{"url":"https://github.com/chainsafe/abort-controller/issues"},"author":{"url":"https://github.com/mysticatea","name":"Toru Nagashima"},"license":"MIT","homepage":"https://github.com/chainsafe/abort-controller#readme","keywords":["w3c","whatwg","event","events","abort","cancel","abortcontroller","abortsignal","controller","signal","shim"],"repository":{"url":"git+https://github.com/chainsafe/abort-controller.git","type":"git"},"description":"An implementation of WHATWG AbortController interface.","maintainers":[{"email":"caymannava@gmail.com","name":"wemeetagain"},{"email":"me@matthewkeil.com","name":"matthewkeil"}],"readme":"# @chainsafe/abort-controller\n\n[![npm version](https://img.shields.io/npm/v/@chainsafe/abort-controller.svg)](https://www.npmjs.com/package/@chainsafe/abort-controller)\n[![Downloads/month](https://img.shields.io/npm/dm/@chainsafe/abort-controller.svg)](http://www.npmtrends.com/@chainsafe/abort-controller)\n![Build Status](https://github.com/chainsafe/abort-controller/actions/workflows/test.yml/badge.svg)\n[![Coverage Status](https://codecov.io/gh/chainsafe/abort-controller/branch/master/graph/badge.svg)](https://codecov.io/gh/chainsafe/abort-controller)\n[![Dependency Status](https://david-dm.org/chainsafe/abort-controller.svg)](https://david-dm.org/chainsafe/abort-controller)\n\nAn implementation of [WHATWG AbortController interface](https://dom.spec.whatwg.org/#interface-abortcontroller).\n\n```js\nimport AbortController from \"@chainsafe/abort-controller\"\n\nconst controller = new AbortController()\nconst signal = controller.signal\n\nsignal.addEventListener(\"abort\", () => {\n    console.log(\"aborted!\")\n})\n\ncontroller.abort()\n```\n\n> https://jsfiddle.net/1r2994qp/1/\n\n## 💿 Installation\n\nUse [npm](https://www.npmjs.com/) to install then use a bundler.\n\n```\nnpm install @chainsafe/abort-controller\n```\n\nOr download from [`dist` directory](./dist).\n\n- [dist/abort-controller.mjs](dist/abort-controller.mjs) ... ES modules version.\n- [dist/abort-controller.js](dist/abort-controller.js) ... Common JS version.\n- [dist/abort-controller.umd.js](dist/abort-controller.umd.js) ... UMD (Universal Module Definition) version. This is transpiled by [Babel](https://babeljs.io/) for IE 11.\n\n## 📖 Usage\n\n### Basic\n\n```js\nimport AbortController from \"@chainsafe/abort-controller\"\n// or\nconst AbortController = require(\"@chainsafe/abort-controller\")\n\n// or UMD version defines a global variable:\nconst AbortController = window.AbortControllerShim\n```\n\nIf your bundler recognizes `browser` field of `package.json`, the imported `AbortController` is the native one and it doesn't contain shim (even if the native implementation was nothing).\nIf you wanted to polyfill `AbortController` for IE, use `abort-controller/polyfill`.\n\n### Polyfilling\n\nImporting `@chainsafe/abort-controller/polyfill` assigns the `AbortController` shim to the `AbortController` global variable if the native implementation was nothing.\n\n```js\nimport \"@chainsafe/abort-controller/polyfill\"\n// or\nrequire(\"@chainsafe/abort-controller/polyfill\")\n```\n\n### API\n\n#### AbortController\n\n> https://dom.spec.whatwg.org/#interface-abortcontroller\n\n##### controller.signal\n\nThe [AbortSignal](https://dom.spec.whatwg.org/#interface-AbortSignal) object which is associated to this controller.\n\n##### controller.abort()\n\nNotify `abort` event to listeners that the `signal` has.\n\n## 📰 Changelog\n\n- See [GitHub releases](https://github.com/chainsafe/abort-controller/releases).\n\n## 🍻 Contributing\n\nContributing is welcome ❤️\n\nPlease use GitHub issues/PRs.\n\n### Development tools\n\n- `npm install` installs dependencies for development.\n- `npm test` runs tests and measures code coverage.\n- `npm run clean` removes temporary files of tests.\n- `npm run coverage` opens code coverage of the previous test with your default browser.\n- `npm run lint` runs ESLint.\n- `npm run build` generates `dist` codes.\n- `npm run watch` runs tests on each file change.\n","readmeFilename":"README.md"}