{"_id":"node-abort-controller","_rev":"2933473","name":"node-abort-controller","description":"AbortController for Node based on EventEmitter","dist-tags":{"latest":"3.1.1"},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"time":{"modified":"2023-03-27T02:34:43.000Z","created":"2019-03-31T23:34:16.703Z","3.1.1":"2023-01-26T15:10:43.536Z","3.1.0":"2023-01-25T17:41:09.271Z","3.0.1":"2021-10-06T00:14:30.089Z","3.0.0":"2021-08-04T18:48:19.408Z","2.0.0":"2021-04-24T22:49:15.659Z","1.2.1":"2021-04-07T17:17:58.479Z","1.2.0":"2021-03-18T03:48:07.276Z","1.1.0":"2020-06-25T19:56:34.623Z","1.0.4":"2019-05-30T13:54:58.052Z","1.0.3":"2019-04-04T16:21:16.946Z","1.0.2":"2019-04-04T15:37:50.199Z","1.0.1":"2019-03-31T23:37:37.612Z","1.0.0":"2019-03-31T23:34:16.703Z"},"users":{},"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"versions":{"3.1.1":{"name":"node-abort-controller","version":"3.1.1","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^27.2.4","node-fetch":"^2.6.5","whatwg-fetch":"^3.6.2"},"jest":{"testEnvironment":"jsdom"},"gitHead":"10e0cea66a069d9319f948d055621e1d37aea5db","_id":"node-abort-controller@3.1.1","_nodeVersion":"14.21.1","_npmVersion":"6.14.17","dist":{"shasum":"a94377e964a9a37ac3976d848cb5c765833b8548","size":5406,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-3.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-3.1.1.tgz"},"_npmUser":{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},"directories":{},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_3.1.1_1674745843324_0.1528626211069215"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-26T15:10:43.536Z","publish_time":1674745843536,"_cnpm_publish_time":1674745843536},"3.1.0":{"name":"node-abort-controller","version":"3.1.0","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^27.2.4","node-fetch":"^2.6.5","whatwg-fetch":"^3.6.2"},"jest":{"testEnvironment":"jsdom"},"engines":{"node":"<14.7.0"},"gitHead":"c125282ae274a9521cc26bf0c073d3afe98174ac","_id":"node-abort-controller@3.1.0","_nodeVersion":"14.21.1","_npmVersion":"6.14.17","dist":{"shasum":"debb2c21e86ca8045927ca767c8611b67210c44e","size":5419,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-3.1.0.tgz"},"_npmUser":{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},"directories":{},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_3.1.0_1674668469096_0.8508309614165115"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-25T17:41:09.271Z","publish_time":1674668469271,"_cnpm_publish_time":1674668469271},"3.0.1":{"name":"node-abort-controller","version":"3.0.1","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^27.2.4","node-fetch":"^2.6.5","whatwg-fetch":"^3.6.2"},"jest":{"testEnvironment":"jsdom"},"types":"./index.d.ts","gitHead":"32763ce5916e01a03980cea1e8eec665864b6087","_id":"node-abort-controller@3.0.1","_nodeVersion":"16.9.0","_npmVersion":"7.23.0","dist":{"shasum":"f91fa50b1dee3f909afabb7e261b1e1d6b0cb74e","size":4915,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-3.0.1.tgz"},"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_3.0.1_1633479269965_0.7038068256252705"},"_hasShrinkwrap":false,"publish_time":1633479270089,"_cnpm_publish_time":1633479270089,"_cnpmcore_publish_time":"2021-12-16T15:42:24.088Z"},"3.0.0":{"name":"node-abort-controller","version":"3.0.0","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^27.0.6","node-fetch":"^2.6.1","whatwg-fetch":"^3.6.2"},"jest":{"testEnvironment":"jsdom"},"gitHead":"f1470eb310e78b278ab0916bd1ae2d585147fcf0","_id":"node-abort-controller@3.0.0","_nodeVersion":"15.3.0","_npmVersion":"6.14.12","dist":{"shasum":"e7b1f2b72f4c5a74b5594cc23fa8fe3b62010ab5","size":4665,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-3.0.0.tgz"},"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_3.0.0_1628102899218_0.7435321096893248"},"_hasShrinkwrap":false,"publish_time":1628102899408,"_cnpm_publish_time":1628102899408,"_cnpmcore_publish_time":"2021-12-16T15:42:24.299Z"},"2.0.0":{"name":"node-abort-controller","version":"2.0.0","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^26.1.0","node-fetch":"2.6.0","whatwg-fetch":"3.0.0"},"gitHead":"dc675272e834e52caaf95e008349566efa50b5de","_id":"node-abort-controller@2.0.0","_nodeVersion":"15.3.0","_npmVersion":"6.14.12","dist":{"shasum":"800e0d250d3b977175e48df4f74c2d3960076a79","size":4450,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-2.0.0.tgz"},"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_2.0.0_1619304555473_0.4744291363780935"},"_hasShrinkwrap":false,"publish_time":1619304555659,"_cnpm_publish_time":1619304555659,"_cnpmcore_publish_time":"2021-12-16T15:42:24.569Z"},"1.2.1":{"name":"node-abort-controller","version":"1.2.1","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^26.1.0","node-fetch":"2.6.0","whatwg-fetch":"3.0.0"},"gitHead":"a3b235576768421e96dee99833a5c2f0cc4f2691","_id":"node-abort-controller@1.2.1","_nodeVersion":"15.3.0","_npmVersion":"6.14.12","dist":{"shasum":"1eddb57eb8fea734198b11b28857596dc6165708","size":4382,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.2.1.tgz"},"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.2.1_1617815878304_0.0765186100512496"},"_hasShrinkwrap":false,"publish_time":1617815878479,"_cnpm_publish_time":1617815878479,"_cnpmcore_publish_time":"2021-12-16T15:42:24.765Z"},"1.2.0":{"name":"node-abort-controller","version":"1.2.0","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^26.1.0","node-fetch":"2.6.0","whatwg-fetch":"3.0.0"},"gitHead":"ed691845e715d1a83c052b3a791c6703fed0410a","_id":"node-abort-controller@1.2.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"shasum":"97b7f4b20f32403e1448c9e65df9d5c91ade832b","size":4382,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.2.0.tgz"},"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.2.0_1616039287122_0.06215807885012059"},"_hasShrinkwrap":false,"publish_time":1616039287276,"_cnpm_publish_time":1616039287276,"_cnpmcore_publish_time":"2021-12-16T15:42:25.234Z"},"1.1.0":{"name":"node-abort-controller","version":"1.1.0","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"^26.1.0","node-fetch":"2.6.0","whatwg-fetch":"3.0.0"},"gitHead":"6029be3aabe2175a343e4689b79e1c49b66748db","_id":"node-abort-controller@1.1.0","_nodeVersion":"13.9.0","_npmVersion":"6.14.4","dist":{"shasum":"8a734a631b022af29963be7245c1483cbb9e070d","size":4057,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.1.0.tgz"},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.1.0_1593114994474_0.023525946416213195"},"_hasShrinkwrap":false,"publish_time":1593114994623,"_cnpm_publish_time":1593114994623,"_cnpmcore_publish_time":"2021-12-16T15:42:25.471Z"},"1.0.4":{"name":"node-abort-controller","version":"1.0.4","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"24.5.0","node-fetch":"2.3.0","whatwg-fetch":"3.0.0"},"gitHead":"92850e5bd78201dada2195d4878fb577d98eae88","_id":"node-abort-controller@1.0.4","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"shasum":"4095e41d58b2fae169d2f9892904d603e11c7a39","size":3519,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.0.4.tgz"},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.0.4_1559224497941_0.9694777630894553"},"_hasShrinkwrap":false,"publish_time":1559224498052,"_cnpm_publish_time":1559224498052,"_cnpmcore_publish_time":"2021-12-16T15:42:25.692Z"},"1.0.3":{"name":"node-abort-controller","version":"1.0.3","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"24.5.0","node-fetch":"2.3.0","whatwg-fetch":"3.0.0"},"gitHead":"29920fdebe103f69ac833344967e8291851d69c2","_id":"node-abort-controller@1.0.3","_nodeVersion":"11.3.0","_npmVersion":"6.9.0","dist":{"shasum":"ee0cd203943c0413d334c4241bc510b87a4ad446","size":3428,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.0.3.tgz"},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.0.3_1554394876689_0.9305979405744547"},"_hasShrinkwrap":false,"publish_time":1554394876946,"_cnpm_publish_time":1554394876946,"_cnpmcore_publish_time":"2021-12-16T15:42:25.874Z"},"1.0.2":{"name":"node-abort-controller","version":"1.0.2","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"24.5.0","node-fetch":"2.3.0","whatwg-fetch":"3.0.0"},"gitHead":"7700fbf352c4224ab63f2affd291d5f0b3eaf970","_id":"node-abort-controller@1.0.2","_nodeVersion":"11.3.0","_npmVersion":"6.9.0","dist":{"shasum":"6518ae62758562aaa0fb2df569a7091f9c3cfb2a","size":3429,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.0.2.tgz"},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.0.2_1554392270058_0.16786494171494803"},"_hasShrinkwrap":false,"publish_time":1554392270199,"_cnpm_publish_time":1554392270199,"_cnpmcore_publish_time":"2021-12-16T15:42:26.103Z"},"1.0.1":{"name":"node-abort-controller","version":"1.0.1","description":"AbortController for Node based on EventEmitter","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":["AbortController","AbortSignal","fetch","polyfill"],"author":{"name":"Steve Faulkner","email":"southpolesteve@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"24.5.0","node-fetch":"2.3.0","whatwg-fetch":"3.0.0"},"gitHead":"2423baaf9b4271d5356902fdb2af8d844d585b84","_id":"node-abort-controller@1.0.1","_npmVersion":"6.5.0","_nodeVersion":"11.3.0","_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"dist":{"shasum":"2d77d0941ae6a4235994db05540ae40444995de2","size":3368,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.0.1.tgz"},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.0.1_1554075457515_0.3236719313851857"},"_hasShrinkwrap":false,"publish_time":1554075457612,"_cnpm_publish_time":1554075457612,"_cnpmcore_publish_time":"2021-12-16T15:42:26.287Z"},"1.0.0":{"name":"node-abort-controller","version":"1.0.0","description":"AbortController for Node","main":"index.js","browser":"browser.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/southpolesteve/node-abort-controller.git"},"keywords":[],"author":"","license":"MIT","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","devDependencies":{"jest":"24.5.0","node-fetch":"2.3.0","whatwg-fetch":"3.0.0"},"gitHead":"9f51f3c2c9678fadc27b523b45a62f18efc2216f","_id":"node-abort-controller@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.3.0","_npmUser":{"name":"southpolesteve","email":"southpolesteve@gmail.com"},"dist":{"shasum":"d81c4798dc122c703e9e39ab14ae58c5005f5772","size":3333,"noattachment":false,"key":"/node-abort-controller/-/node-abort-controller-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/node-abort-controller/download/node-abort-controller-1.0.0.tgz"},"maintainers":[{"name":"ethan_arrowood","email":"ethan.arrowood@gmail.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-abort-controller_1.0.0_1554075256490_0.9687357302665445"},"_hasShrinkwrap":false,"publish_time":1554075256703,"_cnpm_publish_time":1554075256703,"_cnpmcore_publish_time":"2021-12-16T15:42:26.709Z"}},"readme":"# node-abort-controller\n\nAbortController Polyfill for Node.JS based on EventEmitter for Node v14.6.x and below.\n\nAre you using Node 14.7.0 or above? You don't need this! [Node has `AbortController` and `AbortSignal` as builtin globals](https://nodejs.org/dist/latest/docs/api/globals.html#globals_class_abortcontroller). In Node versions >=14.7.0 and <15.4.0 you can access the experimental implementation using `--experimental-abortcontroller`.\n\n## Example Usage\n\n### Timing out `fetch`\n\n```javascript\nimport fetch from \"node-fetch\";\nimport { AbortController } from \"node-abort-controller\";\n\nconst controller = new AbortController();\nconst signal = controller.signal;\n\nawait fetch(\"https:/www.google.com\", { signal });\n\n// Abort fetch after 500ms. Effectively a timeout\nsetTimeout(() => controller.abort(), 500);\n```\n\n### Re-usable `fetch` function with a built in timeout\n\n```javascript\nimport { AbortController } from \"node-abort-controller\";\nimport fetch from \"node-fetch\";\n\nconst fetchWithTimeout = async (url = \"\") => {\n  const controller = new AbortController();\n  const { signal } = controller;\n\n  const timeout = setTimeout(() => {\n    controller.abort();\n  }, 5000);\n\n  const request = await fetch(url, { signal });\n\n  clearTimeout(timeout);\n\n  const result = await req.json();\n\n  return result;\n};\n```\n\n## Why would I need this?\n\nYou might not need to! Generally speaking, there are three environments your JavaScript code can run in:\n\n- Node\n- Modern Browsers (Not Internet Explorer)\n- Legacy Browsers (Mostly Internet Explorer)\n\nFor modern JS APIs, each environment would ideally get a polyfill:\n\n- only if it needs one\n- specific to the platform.\n\nIn practice, this is hard. Tooling such as webpack and browserify are great at making sure stuff works out of the box in all environments. But it is quite easy to fail on both points above. In all likelyhood, you end up shipping less than ideal polyfills on platforms that don't even need them. So what is a developer to do? In the case of `fetch` and `AbortController` I've done the work for you. This is a guide to that work.\n\nIf you are building a ...\n\n#### NodeJS library only supports Node 16 or above\n\nYou don't need this library! [`AbortController` is now built into nodeJS ](https://nodejs.org/api/globals.html#globals_class_abortcontroller). Use that instead.\n\n#### Web Application running only in modern browsers\n\nYou don't need a library! Close this tab. Uninstall this package.\n\n#### Web Application running in modern browsers AND NodeJS (such as a server side rendered JS app)\n\nUse _this package_ and [node-fetch](https://www.npmjs.com/package/node-fetch). It is minimally what you need.\n\n#### Web Application supporting legacy browsers AND NOT NodeJS\n\nUse [abort-controller](https://www.npmjs.com/package/abort-controller) and [whatwg-fetch](https://www.npmjs.com/package/whatwg-fetch). These are more complete polyfills that will work in all browser environments.\n\n#### Web Application supporting legacy browsers AND NodeJS\n\nUse [abort-controller](https://www.npmjs.com/package/abort-controller) and [cross-fetch](https://www.npmjs.com/package/cross-fetch). Same as above, except cross-fetch will polyfill correctly in both the browser and node.js\n\n#### NodeJS Library being consumed by other applications and using `fetch` internally\n\nUse _this package_ and [node-fetch](https://www.npmjs.com/package/node-fetch). It is the smallest and least opinionated combination for your end users. Application developers targeting Internet Exploer will need to polyfill `AbortController` and `fetch` on their own. But your library won't be forcing unecessary polyfills on developers who only target modern browsers.\n\n## Goals\n\nWith the above guide in mind, this library has a very specific set of goals:\n\n1. Provide a minimal polyfill in node.js\n2. Do not provide a polyfill in any browser environment\n\nThis is the ideal for _library authors_ who use `fetch` and `AbortController` internally and target _both_ browser and node developers.\n\n## Prior Art\n\nThank you @mysticatea for https://github.com/mysticatea/abort-controller. It is a fantastic `AbortController` polyfill and ideal for many use cases.\n","_attachments":{},"homepage":"https://github.com/southpolesteve/node-abort-controller#readme","bugs":{"url":"https://github.com/southpolesteve/node-abort-controller/issues"},"license":"MIT"}