{"_id":"native-abort-controller","_rev":"4573798","name":"native-abort-controller","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","dist-tags":{"latest":"1.0.4"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"time":{"modified":"2026-04-10T15:35:57.000Z","created":"2020-08-28T09:55:49.350Z","1.0.4":"2021-09-20T12:46:42.861Z","1.0.3":"2021-02-03T12:54:09.451Z","1.0.2":"2021-02-03T12:50:05.790Z","1.0.1":"2021-02-03T12:30:45.473Z","1.0.0":"2021-02-03T12:14:06.918Z","0.0.3":"2020-08-28T10:31:12.042Z","0.0.2":"2020-08-28T10:24:52.298Z","0.0.1":"2020-08-28T09:55:49.350Z"},"users":{},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"versions":{"1.0.4":{"name":"native-abort-controller","version":"1.0.4","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"src/index.js","types":"dist/src/index.d.ts","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint && aegir ts -p check","prepare":"aegir build --no-bundle","release":"aegir release --docs false","release-minor":"aegir release --type minor --docs false","release-major":"aegir release --type major --docs false"},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^35.0.3","util":"^0.12.4"},"contributors":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"gitHead":"448ca0b08e7872869547cf082a873c6dcc724522","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","_id":"native-abort-controller@1.0.4","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"shasum":"39920155cc0c18209ff93af5bc90be856143f251","size":1422,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-1.0.4.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_1.0.4_1632142002699_0.15543198978907236"},"_hasShrinkwrap":false,"publish_time":1632142002861,"_cnpm_publish_time":1632142002861,"_cnpmcore_publish_time":"2021-12-16T10:27:23.874Z"},"1.0.3":{"name":"native-abort-controller","version":"1.0.3","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"src/index.js","types":"dist/src/index.d.ts","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint && aegir ts -p check","prepare":"aegir build --no-bundle","release":"aegir release --docs false","release-minor":"aegir release --type minor --docs false","release-major":"aegir release --type major --docs false"},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^30.3.0"},"contributors":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"gitHead":"557c3ac988e91ed9d786a911576688671e605ee0","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","_id":"native-abort-controller@1.0.3","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"35974a2e189c0d91399c8767a989a5bf058c1435","size":1902,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-1.0.3.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_1.0.3_1612356849223_0.7222126043193611"},"_hasShrinkwrap":false,"publish_time":1612356849451,"_cnpm_publish_time":1612356849451,"_cnpmcore_publish_time":"2021-12-16T10:27:24.175Z"},"1.0.2":{"name":"native-abort-controller","version":"1.0.2","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"src/index.js","types":"dist/src/index.d.ts","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint && aegir ts -p check","prepare":"aegir build --no-bundle","release":"aegir release --docs false","release-minor":"aegir release --type minor --docs false","release-major":"aegir release --type major --docs false"},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^30.3.0"},"contributors":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"gitHead":"0face7c511bf5c878a2e054965a3fb8929366720","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","_id":"native-abort-controller@1.0.2","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"eca1b00df9ae558201e7f3be5b914f632caec895","size":2665,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-1.0.2.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_1.0.2_1612356605555_0.14231140313338986"},"_hasShrinkwrap":false,"publish_time":1612356605790,"_cnpm_publish_time":1612356605790,"_cnpmcore_publish_time":"2021-12-16T10:27:24.417Z"},"1.0.1":{"name":"native-abort-controller","version":"1.0.1","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"src/index.js","types":"dist/index.d.ts","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint","prepare":"aegir build --no-bundle","release":"aegir release --docs false","release-minor":"aegir release --type minor --docs false","release-major":"aegir release --type major --docs false"},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^30.3.0"},"contributors":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"gitHead":"8c02043f22ee6af79d0f2cade96a2065892509f3","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","_id":"native-abort-controller@1.0.1","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"de6ad13054e372ced17a2a3078f7b3068ee95654","size":2486,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-1.0.1.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_1.0.1_1612355445309_0.21988367852792567"},"_hasShrinkwrap":false,"publish_time":1612355445473,"_cnpm_publish_time":1612355445473,"_cnpmcore_publish_time":"2021-12-16T10:27:24.626Z"},"1.0.0":{"name":"native-abort-controller","version":"1.0.0","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"src/index.js","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint","release":"aegir release --docs false","release-minor":"aegir release --type minor --docs false","release-major":"aegir release --type major --docs false"},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"dependencies":{"globalthis":"^1.0.1"},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^30.3.0"},"contributors":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"gitHead":"5ec37fef7703e4897610e0ea8df81a381d7f498b","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","_id":"native-abort-controller@1.0.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"a57514aa31ec971f740a100fd04b673dd84e8e66","size":2286,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-1.0.0.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_1.0.0_1612354446555_0.39030751192281743"},"_hasShrinkwrap":false,"publish_time":1612354446918,"_cnpm_publish_time":1612354446918,"_cnpmcore_publish_time":"2021-12-16T10:27:24.914Z"},"0.0.3":{"name":"native-abort-controller","version":"0.0.3","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"src/index.js","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint","release":"aegir release --docs false","release-minor":"aegir release --type minor --docs false","release-major":"aegir release --type major --docs false"},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"dependencies":{"globalthis":"^1.0.1"},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^26.0.0"},"contributors":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"gitHead":"ff9aa187b839b16b0dea47caec2dabe6e2b918a6","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","_id":"native-abort-controller@0.0.3","_nodeVersion":"12.16.1","_npmVersion":"6.14.1","dist":{"shasum":"4c528a6c9c7d3eafefdc2c196ac9deb1a5edf2f8","size":1710,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-0.0.3.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_0.0.3_1598610671937_0.5336343567741682"},"_hasShrinkwrap":false,"publish_time":1598610672042,"_cnpm_publish_time":1598610672042,"_cnpmcore_publish_time":"2021-12-16T10:27:25.356Z"},"0.0.2":{"name":"native-abort-controller","version":"0.0.2","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"src/index.js","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint","release":"aegir release --docs false","release-minor":"aegir release --type minor --docs false","release-major":"aegir release --type major --docs false"},"author":{"name":"Alex Potsides","email":"alex@achingbrain.net"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/achingbrain/native-abort-controller.git"},"dependencies":{},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^26.0.0","globalthis":"^1.0.1"},"contributors":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"gitHead":"4d8c0c50ca72bf29a755650527c302f0d257de43","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","_id":"native-abort-controller@0.0.2","_nodeVersion":"12.16.1","_npmVersion":"6.14.1","dist":{"shasum":"80c554e4154551efad79b8736d1490c8834f8acf","size":1701,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-0.0.2.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_0.0.2_1598610292170_0.01612347159296723"},"_hasShrinkwrap":false,"publish_time":1598610292298,"_cnpm_publish_time":1598610292298,"_cnpmcore_publish_time":"2021-12-16T10:27:25.563Z"},"0.0.1":{"name":"native-abort-controller","version":"0.0.1","description":"Returns native AbortController/AbortSignal if available or the abort-controller module if not","main":"index.js","scripts":{"test":"aegir test -t node -t browser -t webworker -t electron-main -t electron-renderer","lint":"aegir lint","release":"aegir release","release-minor":"aegir release --type minor","release-major":"aegir release --type major"},"author":"","license":"ISC","dependencies":{},"peerDependencies":{"abort-controller":"*"},"devDependencies":{"abort-controller":"^3.0.0","aegir":"^26.0.0","globalthis":"^1.0.1"},"gitHead":"9922757d4c4c87b19f455450cfa8d5e5031b06d2","_id":"native-abort-controller@0.0.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.1","dist":{"shasum":"30a2c0a3a5057c990338fd4f55091bef328b3351","size":1582,"noattachment":false,"key":"/native-abort-controller/-/native-abort-controller-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/native-abort-controller/download/native-abort-controller-0.0.1.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-abort-controller_0.0.1_1598608549210_0.9984013331606463"},"_hasShrinkwrap":false,"publish_time":1598608549350,"_cnpm_publish_time":1598608549350,"_cnpmcore_publish_time":"2021-12-16T10:27:25.755Z"}},"readme":"# native-abort-controller\n\n> Returns native AbortController/AbortSignal if available or the abort-controller module if not\n\nAn (almost) drop-in replacement for the `abort-controller` module that returns the native AbortController if available or the polyfill if not.\n\n### Why?\n\nSome environments such as the Electron Renderer process straddle the node/browser divide with features from both APIs available.  In these cases the webpack approach of always using the `browser` field in your `package.json` to override requires is too heavy-handed as sometimes you want to use the node version of an API.\n\nInstead we can check for the availability of a given API and return it, rather than the node-polyfill for that API.\n\nThis module may become unecessary if [mysticatea/abort-controller#24](https://github.com/mysticatea/abort-controller/issues/24) is resolved.\n\n## Install\n\nYou must install a version of `abort-controller` [alongside this module](https://docs.npmjs.com/files/package.json#peerdependencies) to be used if a native implementation is not available.\n\n```console\n$ npm install --save native-abort-controller abort-controller\n```\n\n## Usage\n\n```javascript\nimport { AbortController } from 'native-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","_attachments":{},"homepage":"https://github.com/achingbrain/native-abort-controller#readme","bugs":{"url":"https://github.com/achingbrain/native-abort-controller/issues"},"license":"MIT"}