{"_id":"@gmod/abortable-promise-cache","_rev":"8-9812531d429e471c3ca921b14eaf1af1","name":"@gmod/abortable-promise-cache","dist-tags":{"latest":"3.0.4"},"versions":{"2.0.1":{"name":"@gmod/abortable-promise-cache","version":"2.0.1","author":{"url":"https://github.com/rbuels","name":"Robert Buels","email":"rbuels@gmail.com"},"license":"MIT","_id":"@gmod/abortable-promise-cache@2.0.1","maintainers":[{"name":"teresam856","email":"tere486martinez@gmail.com"},{"name":"nathandunn","email":"ndunn@me.com"},{"name":"rbuels","email":"rbuels@gmail.com"},{"name":"enuggetry","email":"eynugget@meyao.net"},{"name":"cmdcolin","email":"colin.diesh@gmail.com"},{"name":"garrettjstevens","email":"stevens.garrett.j@gmail.com"}],"dist":{"shasum":"d01cbcb2d9ad23cf0f421824b7e759a441815ebc","tarball":"https://registry.npmjs.org/@gmod/abortable-promise-cache/-/abortable-promise-cache-2.0.1.tgz","fileCount":36,"integrity":"sha512-6PQTJv+uxAb8XE/oL2Uh4EmFJpn65YOTSqGn8HLNXrWRlW1Clp1Oze6biHeRCMonLwEx4oH4bPeyjdcMnNP8pw==","signatures":[{"sig":"MEQCIDnbxQcal9NPbt44KPf77p1m3VDpuoKMX2FJ9DgJWUiLAiAy6t8IEdQyGnkB754IX+X9OI/O7EdAmQUgD4n/Z6zanA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51811},"main":"dist/index.js","module":"esm/index.js","scripts":{"docs":"documentation readme --shallow src/AbortablePromiseCache.js --section=API","lint":"eslint --report-unused-disable-directives --max-warnings 0 src test","test":"jest","build":"npm run build:esm && npm run build:es5","clean":"rimraf dist esm","prebuild":"npm run clean","build:es5":"tsc --target es2015 --module commonjs --outDir dist","build:esm":"tsc --target es2018 --outDir esm","postversion":"git push --follow-tags","prepublishOnly":"npm run lint && npm test && npm run build"},"_npmUser":{"name":"cmdcolin","email":"colin.diesh@gmail.com"},"repository":{"url":"https://github.com/GMOD/abortable-promise-cache.git","type":"git"},"description":"add AbortController support to a cache of async requests","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Robert Buels\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","eslint":"^9.7.0","rimraf":"^6.0.1","ts-jest":"^29.0.3","prettier":"^3.3.3","quick-lru":"^4.0.0","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/jest":"^29.2.4","@types/node":"^20.14.11","documentation":"^14.0.1","@eslint/eslintrc":"^3.1.0","eslint-plugin-unicorn":"^54.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@typescript-eslint/parser":"^7.17.0","@typescript-eslint/eslint-plugin":"^7.17.0"},"_npmOperationalInternal":{"tmp":"tmp/abortable-promise-cache_2.0.1_1721693330994_0.5166372473225889","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@gmod/abortable-promise-cache","version":"3.0.0","author":{"url":"https://github.com/rbuels","name":"Robert Buels","email":"rbuels@gmail.com"},"license":"MIT","_id":"@gmod/abortable-promise-cache@3.0.0","maintainers":[{"name":"nathandunn","email":"ndunn@me.com"},{"name":"rbuels","email":"rbuels@gmail.com"},{"name":"enuggetry","email":"eynugget@meyao.net"},{"name":"cmdcolin","email":"colin.diesh@gmail.com"},{"name":"garrettjstevens","email":"stevens.garrett.j@gmail.com"},{"name":"teresam856","email":"tere486martinez@gmail.com"}],"dist":{"shasum":"144eeb5ab6b2d1995464fe580c110300f0258d5b","tarball":"https://registry.npmjs.org/@gmod/abortable-promise-cache/-/abortable-promise-cache-3.0.0.tgz","fileCount":36,"integrity":"sha512-UsG3kggVZ4mMQxsMx+vNegssDdDdF5IQ/cH+pJjWyu78ZeUnhyHqdrPICHsjho0KDEsuLb1eURGGdkK7AlOlUA==","signatures":[{"sig":"MEQCIAZn2tjK8UUlz88mO1Xl93h8vPq41W8WNd7PlRKTjpdMAiAZnCQM1jkewUMOO7DAmbNJ/ptJWn+elxUnh7xqHuhbtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52135},"type":"module","types":"./dist/index.d.ts","exports":{"import":{"import":"./esm/index.js"},"require":{"require":"./dist/index.js"}},"scripts":{"docs":"documentation readme --shallow src/AbortablePromiseCache.js --section=API","lint":"eslint --report-unused-disable-directives --max-warnings 0","test":"vitest","build":"npm run build:esm && npm run build:es5","clean":"rimraf dist esm","format":"prettier --write .","prebuild":"npm run clean","build:es5":"tsc --target es2015 --module commonjs --outDir dist","build:esm":"tsc --target es2018 --outDir esm","postversion":"git push --follow-tags","prepublishOnly":"npm run lint && npm test && npm run build"},"_npmUser":{"name":"cmdcolin","email":"colin.diesh@gmail.com"},"repository":{"url":"https://github.com/GMOD/abortable-promise-cache.git","type":"git"},"description":"add AbortController support to a cache of async requests","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Robert Buels\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.0","rimraf":"^6.0.1","vitest":"^3.0.4","prettier":"^3.3.3","quick-lru":"^4.0.0","typescript":"^5.5.4","@types/node":"^22.15.3","documentation":"^14.0.1","typescript-eslint":"^8.4.0","eslint-plugin-unicorn":"^59.0.0"},"_npmOperationalInternal":{"tmp":"tmp/abortable-promise-cache_3.0.0_1746022703185_0.6549629936122161","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@gmod/abortable-promise-cache","version":"3.0.1","author":{"url":"https://github.com/rbuels","name":"Robert Buels","email":"rbuels@gmail.com"},"license":"MIT","_id":"@gmod/abortable-promise-cache@3.0.1","maintainers":[{"name":"nathandunn","email":"ndunn@me.com"},{"name":"rbuels","email":"rbuels@gmail.com"},{"name":"enuggetry","email":"eynugget@meyao.net"},{"name":"cmdcolin","email":"colin.diesh@gmail.com"},{"name":"garrettjstevens","email":"stevens.garrett.j@gmail.com"},{"name":"teresam856","email":"tere486martinez@gmail.com"}],"dist":{"shasum":"68da57ba2458f73cbce185d7a92b61b55ad1babf","tarball":"https://registry.npmjs.org/@gmod/abortable-promise-cache/-/abortable-promise-cache-3.0.1.tgz","fileCount":36,"integrity":"sha512-TLFzrC+ZLLY7V+ZP+Uda8gG9E0n5tL+ph98EuZ2RQ4XPNVb0WTaNJvlWKlzHW9rXa4SsAHMjYP6oisLbx6kfDA==","signatures":[{"sig":"MEUCIA8i+39stT8tmD1tNEBaeQmR2CH0rkL/R5xbv/Ta7dkZAiEA9Yq7Joph6SN6dDK8+WjezRHH1o73wK9Y6H8aCe/PQjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52003},"type":"module","types":"./dist/index.d.ts","exports":{"import":{"import":"./esm/index.js"},"require":{"require":"./dist/index.js"}},"scripts":{"docs":"documentation readme --shallow src/AbortablePromiseCache.js --section=API","lint":"eslint --report-unused-disable-directives --max-warnings 0","test":"vitest","build":"npm run build:esm && npm run build:es5","clean":"rimraf dist esm","format":"prettier --write .","prebuild":"npm run clean","build:es5":"tsc --target es2020 --module commonjs --outDir dist","build:esm":"tsc --target es2020 --outDir esm","postversion":"git push --follow-tags","prepublishOnly":"npm run lint && npm test run && npm run build"},"_npmUser":{"name":"cmdcolin","email":"colin.diesh@gmail.com"},"repository":{"url":"https://github.com/GMOD/abortable-promise-cache.git","type":"git"},"description":"add AbortController support to a cache of async requests","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Robert Buels\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.0","rimraf":"^6.0.1","vitest":"^3.0.4","prettier":"^3.3.3","quick-lru":"^4.0.0","typescript":"^5.5.4","@types/node":"^22.15.3","documentation":"^14.0.1","typescript-eslint":"^8.4.0","eslint-plugin-unicorn":"^59.0.0"},"_npmOperationalInternal":{"tmp":"tmp/abortable-promise-cache_3.0.1_1746022775281_0.7629246127592992","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@gmod/abortable-promise-cache","version":"3.0.2","author":{"url":"https://github.com/rbuels","name":"Robert Buels","email":"rbuels@gmail.com"},"license":"MIT","_id":"@gmod/abortable-promise-cache@3.0.2","maintainers":[{"name":"nathandunn","email":"ndunn@me.com"},{"name":"rbuels","email":"rbuels@gmail.com"},{"name":"enuggetry","email":"eynugget@meyao.net"},{"name":"cmdcolin","email":"colin.diesh@gmail.com"},{"name":"garrettjstevens","email":"stevens.garrett.j@gmail.com"},{"name":"teresam856","email":"tere486martinez@gmail.com"}],"dist":{"shasum":"2d94a9831fd22225c77c7386b7770d28173a194c","tarball":"https://registry.npmjs.org/@gmod/abortable-promise-cache/-/abortable-promise-cache-3.0.2.tgz","fileCount":36,"integrity":"sha512-5oBgnAnJhgfNNravQ9hxnsVEdhZvgRQaNP2LxpTqm4nlobhdB/uz/rs7j/SKQSviINmfUsdxaEjiG9hOFzw5Bw==","signatures":[{"sig":"MEUCIQC2Dqbn57lwCO13XoosCn85MSLE67askD0rPlFZ0d6x7gIgdqQNSVb48vW9RJ2ULOzpHB1EWUxGjB59+kIzz28bpZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52164},"type":"module","types":"./dist/index.d.ts","exports":{"import":{"import":"./esm/index.js"},"require":{"require":"./dist/index.js"}},"scripts":{"docs":"documentation readme --shallow src/AbortablePromiseCache.js --section=API","lint":"eslint --report-unused-disable-directives --max-warnings 0","test":"vitest","build":"npm run build:esm && npm run build:es5","clean":"rimraf dist esm","format":"prettier --write .","prebuild":"npm run clean","build:es5":"tsc --target es2020 --module commonjs --outDir dist","build:esm":"tsc --target es2020 --outDir esm","postversion":"git push --follow-tags","prepublishOnly":"npm run lint && npm test run && npm run build"},"_npmUser":{"name":"cmdcolin","email":"colin.diesh@gmail.com"},"repository":{"url":"https://github.com/GMOD/abortable-promise-cache.git","type":"git"},"description":"add AbortController support to a cache of async requests","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Robert Buels\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.0","rimraf":"^6.0.1","vitest":"^3.0.4","prettier":"^3.3.3","quick-lru":"^4.0.0","typescript":"^5.5.4","@types/node":"^22.15.3","documentation":"^14.0.1","typescript-eslint":"^8.4.0","eslint-plugin-unicorn":"^59.0.0"},"_npmOperationalInternal":{"tmp":"tmp/abortable-promise-cache_3.0.2_1746024117755_0.2910569209087195","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@gmod/abortable-promise-cache","version":"3.0.3","author":{"url":"https://github.com/rbuels","name":"Robert Buels","email":"rbuels@gmail.com"},"license":"MIT","_id":"@gmod/abortable-promise-cache@3.0.3","maintainers":[{"name":"nathandunn","email":"ndunn@me.com"},{"name":"rbuels","email":"rbuels@gmail.com"},{"name":"enuggetry","email":"eynugget@meyao.net"},{"name":"cmdcolin","email":"colin.diesh@gmail.com"},{"name":"garrettjstevens","email":"stevens.garrett.j@gmail.com"},{"name":"teresam856","email":"tere486martinez@gmail.com"}],"dist":{"shasum":"9f4eb69ef21abb950e91f061e4b58fffbc4bbe29","tarball":"https://registry.npmjs.org/@gmod/abortable-promise-cache/-/abortable-promise-cache-3.0.3.tgz","fileCount":36,"integrity":"sha512-HnE6hh8Smxj0iHBbgpMRhagTYxqfhTfACBp5C0HAmm8XxNloS/2tHStPNo0ywYD3IOLse5dOV7m+LQxw2HZynw==","signatures":[{"sig":"MEQCICR7QwHPXyLDtcGoKojdpk7DCEvCnYyZmYP7e7DgfCQVAiBgWulwnLwPQpnFz1jXQTaSDMEhFRPhK8e4QgEFVGHRCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52191},"type":"module","types":"./dist/index.d.ts","exports":{"import":{"import":"./esm/index.js"},"require":{"require":"./dist/index.js"}},"scripts":{"docs":"documentation readme --shallow src/AbortablePromiseCache.js --section=API","lint":"eslint --report-unused-disable-directives --max-warnings 0","test":"vitest","build":"npm run build:esm && npm run build:es5","clean":"rimraf dist esm","format":"prettier --write .","prebuild":"npm run clean","build:es5":"tsc --target es2020 --module commonjs --outDir dist","build:esm":"tsc --target es2020 --outDir esm","postversion":"git push --follow-tags","prepublishOnly":"npm run lint && npm test run && npm run build"},"_npmUser":{"name":"cmdcolin","email":"colin.diesh@gmail.com"},"repository":{"url":"https://github.com/GMOD/abortable-promise-cache.git","type":"git"},"description":"add AbortController support to a cache of async requests","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Robert Buels\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.0","rimraf":"^6.0.1","vitest":"^3.0.4","prettier":"^3.3.3","quick-lru":"^4.0.0","typescript":"^5.5.4","@types/node":"^22.15.3","documentation":"^14.0.1","typescript-eslint":"^8.4.0","eslint-plugin-unicorn":"^59.0.0"},"_npmOperationalInternal":{"tmp":"tmp/abortable-promise-cache_3.0.3_1746024337133_0.5247006805136527","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@gmod/abortable-promise-cache","version":"3.0.4","author":{"url":"https://github.com/rbuels","name":"Robert Buels","email":"rbuels@gmail.com"},"license":"MIT","_id":"@gmod/abortable-promise-cache@3.0.4","maintainers":[{"name":"nathandunn","email":"ndunn@me.com"},{"name":"rbuels","email":"rbuels@gmail.com"},{"name":"enuggetry","email":"eynugget@meyao.net"},{"name":"cmdcolin","email":"colin.diesh@gmail.com"},{"name":"garrettjstevens","email":"stevens.garrett.j@gmail.com"},{"name":"teresam856","email":"tere486martinez@gmail.com"}],"dist":{"shasum":"5ecb44e40cf128e9f44f7c25e1406facdcaede9b","tarball":"https://registry.npmjs.org/@gmod/abortable-promise-cache/-/abortable-promise-cache-3.0.4.tgz","fileCount":37,"integrity":"sha512-kxRJj5fyRKFuZDp/YvnHeadYCV2EEUKyH2T4a2Iz9O7T/thOWWHUDiiD/Mg6WZP/RNNDIcfSHl/xVHHy/+j8qg==","signatures":[{"sig":"MEQCIELOhJ1+fuGqQmAJKkza9j54YtMijGv/obF1VZvs8wlaAiBVR5tvrKH/iwQw9wvvtvrL5OB+bjKYs27tgIwAnTc3cA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52288},"type":"module","types":"./dist/index.d.ts","exports":{"import":{"import":"./esm/index.js"},"require":{"require":"./dist/index.js"}},"scripts":{"docs":"documentation readme --shallow src/AbortablePromiseCache.js --section=API","lint":"eslint --report-unused-disable-directives --max-warnings 0","test":"vitest","build":"npm run build:esm && npm run build:es5","clean":"rimraf dist esm","format":"prettier --write .","prebuild":"npm run clean","build:es5":"tsc --target es2020 --module commonjs --outDir dist","build:esm":"tsc --target es2020 --outDir esm","postversion":"git push --follow-tags","postbuild:es5":"echo '{\"type\": \"commonjs\"}' > dist/package.json","prepublishOnly":"npm run lint && npm test run && npm run build"},"_npmUser":{"name":"cmdcolin","email":"colin.diesh@gmail.com"},"repository":{"url":"https://github.com/GMOD/abortable-promise-cache.git","type":"git"},"description":"add AbortController support to a cache of async requests","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Robert Buels\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.0","rimraf":"^6.0.1","vitest":"^3.0.4","prettier":"^3.3.3","quick-lru":"^4.0.0","typescript":"^5.5.4","@types/node":"^22.15.3","documentation":"^14.0.1","typescript-eslint":"^8.4.0","eslint-plugin-unicorn":"^59.0.0"},"_npmOperationalInternal":{"tmp":"tmp/abortable-promise-cache_3.0.4_1747177262106_0.11864841275496452","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-07-23T00:08:50.917Z","modified":"2026-08-03T19:46:20.616Z","2.0.1":"2024-07-23T00:08:51.136Z","3.0.0":"2025-04-30T14:18:23.348Z","3.0.1":"2025-04-30T14:19:35.506Z","3.0.2":"2025-04-30T14:41:57.908Z","3.0.3":"2025-04-30T14:45:37.334Z","3.0.4":"2025-05-13T23:01:02.390Z"},"author":{"url":"https://github.com/rbuels","name":"Robert Buels","email":"rbuels@gmail.com"},"license":"MIT","repository":{"url":"https://github.com/GMOD/abortable-promise-cache.git","type":"git"},"description":"add AbortController support to a cache of async requests","maintainers":[{"email":"rbuels@gmail.com","name":"rbuels"},{"email":"colin.diesh@gmail.com","name":"cmdcolin"},{"email":"stevens.garrett.j@gmail.com","name":"garrettjstevens"}],"readme":"# @gmod/abortable-promise-cache\n\n[![NPM version](https://img.shields.io/npm/v/@gmod/abortable-promise-cache.svg?style=flat-square)](https://npmjs.org/package/abortable-promise-cache)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/GMOD/abortable-promise-cache/push.yml?branch=master)](https://github.com/GMOD/abortable-promise-cache/actions)\n\nAdds AbortController/AbortSignal semantics to a cache of promises. Each `get`\nfrom the cache can optionally take an `AbortSignal` object that lets that\nrequest be aborted.\n\nCached fill requests will be aborted and evicted from the cache if all the\nincoming requests for it are aborted before the promise settles.\n\nIf the fill request has already settled before all the requests for it have been\naborted, it will stay in the cache.\n\n## Install\n\n    $ npm install --save @gmod/abortable-promise-cache\n\n## Usage\n\n```js\nimport AbortablePromiseCache from '@gmod/abortable-promise-cache'\nimport QuickLRU from 'quick-lru'\n\nconst cache = new AbortablePromiseCache({\n  // QuickLRU is a good backing cache to use, but you can use any\n  // cache as long as it supports `get`, `set`, `delete`, and `keys`.\n  cache: new QuickLRU({ maxSize: 1000 }),\n\n  // the `fill` callback will be called for a cache miss\n  async fill(requestData, abortSignal) {\n    // do some long-running thing\n    return longRunningThing(requestData, abortSignal)\n  },\n})\n\n// Make a cached request. The returned promise will abort with the given abort signal if\n// there is not already a cached copy that has been resolved.\n// Fill requests will be signaled to abort if all the requests for them\n// so far have been aborted.\nconst aborter = new AbortController()\nconst result = await cache.get('some key', { ...anyStuff }, aborter.signal)\n\n// deleting and clearing will abort any outstanding requests\ncache.delete('some key')\ncache.clear()\n```\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n### Table of Contents\n\n## Academic Use\n\nThis package was written with funding from the [NHGRI](http://genome.gov) as\npart of the [JBrowse](http://jbrowse.org) project. If you use it in an academic\nproject that you publish, please cite the most recent JBrowse paper, which will\nbe linked from [jbrowse.org](http://jbrowse.org).\n\n## License\n\nMIT © [Robert Buels](https://github.com/rbuels)\n","readmeFilename":"README.md"}