{"_id":"@dnakamashi/abortable-promise","name":"@dnakamashi/abortable-promise","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.6":{"name":"@dnakamashi/abortable-promise","version":"0.0.6","description":"Promises that can be aborted using AbortController","repository":{"url":"git+https://github.com/danielnakamashi/abortable-promise.git"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","require":"./dist/cjs/index.js","import":"./dist/esm/index.js","default":"./dist/esm/index.js"}},"keywords":["promise","AbortController"],"author":{"name":"Daniel Nakamashi","email":"dnakamashi@gmail.com"},"license":"MIT","devDependencies":{"@commitlint/cli":"^19.5.0","@commitlint/config-conventional":"^19.5.0","@eslint/js":"^9.11.0","@types/eslint__js":"^8.42.3","@types/node":"^22.5.5","eslint":"^9.11.0","eslint-config-prettier":"^9.1.0","globals":"^15.9.0","husky":"^9.1.6","lint-staged":"^15.2.10","npm-run-all":"^4.1.5","prettier":"3.3.3","rimraf":"^6.0.1","ts-node":"^10.9.2","typescript":"5.5.4","typescript-eslint":"^8.6.0"},"engines":{"node":">=22","pnpm":">=9"},"scripts":{"test":"node --test --require ts-node/register tests/*.test.ts","test:watch":"node --test --require ts-node/register --watch tests/**/*.test.ts","compile":"npm run build:clean && tsc -b ./configs/tsconfig.cjs.json ./configs/tsconfig.esm.json ./configs/tsconfig.types.json","build:clean":"rimraf ./dist","build":"npm-run-all build:clean compile && node ./scripts/prepare-package-json"},"_id":"@dnakamashi/abortable-promise@0.0.6","bugs":{"url":"https://github.com/danielnakamashi/abortable-promise/issues"},"homepage":"https://github.com/danielnakamashi/abortable-promise#readme","_integrity":"sha512-DPoi8XH37JfBHxNu2b8cFaCdtT5zHB6mP/BTgypJr7why73J4LUv+0UUbbjLjVPzJtbK71t/ytipnplMx8UTXg==","_resolved":"/tmp/83f9de1f2a6278c8eb4891391572fb27/dnakamashi-abortable-promise-0.0.6.tgz","_from":"file:dnakamashi-abortable-promise-0.0.6.tgz","_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"integrity":"sha512-DPoi8XH37JfBHxNu2b8cFaCdtT5zHB6mP/BTgypJr7why73J4LUv+0UUbbjLjVPzJtbK71t/ytipnplMx8UTXg==","shasum":"35447a0ac1ac5a3dbfa4a3bb58089f8ccce4594b","tarball":"https://registry.npmjs.org/@dnakamashi/abortable-promise/-/abortable-promise-0.0.6.tgz","fileCount":14,"unpackedSize":8055,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dnakamashi%2fabortable-promise@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUSTO7j1VH2xEGXYBKRMz5Jk88PCLG/TcwjjjvOFWUFAiEA/HuXvELkjBuYOuGb1ni+rdZaSPCG3Gw51Kyf92MmpQ0="}]},"_npmUser":{"name":"dnakamashi","email":"dnakamashi@gmail.com"},"directories":{},"maintainers":[{"name":"dnakamashi","email":"dnakamashi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abortable-promise_0.0.6_1726952705441_0.1805233539710689"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-21T21:05:05.326Z","0.0.6":"2024-09-21T21:05:05.626Z","modified":"2024-09-21T21:05:06.185Z"},"maintainers":[{"name":"dnakamashi","email":"dnakamashi@gmail.com"}],"description":"Promises that can be aborted using AbortController","homepage":"https://github.com/danielnakamashi/abortable-promise#readme","keywords":["promise","AbortController"],"repository":{"url":"git+https://github.com/danielnakamashi/abortable-promise.git"},"author":{"name":"Daniel Nakamashi","email":"dnakamashi@gmail.com"},"bugs":{"url":"https://github.com/danielnakamashi/abortable-promise/issues"},"license":"MIT","readme":"# abortable-promise\n\nPromises that can be aborted using AbortController\n\n```typescript\nconst abortController = new AbortController()\nconst promise = new AbortablePromise(\n  (resolve, reject) => {\n    setTimeout(() => {\n      resolve('success')\n    }, 200)\n    setTimeout(() => {\n      reject('error')\n    }, 300)\n  },\n  { signal: abortController.signal },\n)\n\nsetTimeout(() => {\n  abortController.abort('aborted by the user')\n}, 100)\n\npromise\n  .then((result) => {\n    console.log(result)\n  })\n  .catch((error) => {\n    console.log(error)\n  })\n```\n\nIt should log `aborted by the user`\n","readmeFilename":"README.md"}