{"_id":"abort-signal-polyfill","_rev":"4-2f24dc368b580bd3fb3d1c15be845c9b","name":"abort-signal-polyfill","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"abort-signal-polyfill","version":"0.0.1","keywords":["abort","signal","polyfill","AbortController","AbortSignal","timeout","any"],"author":{"name":"Kirill Dyuldin"},"license":"MIT","_id":"abort-signal-polyfill@0.0.1","maintainers":[{"name":"dyuldinks","email":"dyuldinks@gmail.com"}],"homepage":"https://github.com/dyuldinks/abort-signal-polyfill#readme","bugs":{"url":"https://github.com/dyuldinks/abort-signal-polyfill/issues"},"dist":{"shasum":"3b63ed975865230692b2bc91db7dea114d7d8fca","tarball":"https://registry.npmjs.org/abort-signal-polyfill/-/abort-signal-polyfill-0.0.1.tgz","fileCount":28,"integrity":"sha512-4p0AMl/tJWIACbyn0X62L+2VT3MU94LCEYtCFG8ZglbNE4+4q2DeAuMPiM2EhOzHI3+ghegBOEczPCbD7aDfkA==","signatures":[{"sig":"MEYCIQDTM6BnjTgNNARECFQVtf1YkCDckX1sO9mlHFsgrCSZzwIhAOsIIbaKutCbjCYLr0arapa1OCRwf2On/8L1z9+WB403","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36567},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3ea6ec3adc3ec074f7808d4255d0912d8dc8c789","scripts":{"lint":"eslint src --ext .ts","test":"jest --verbose","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:types","clean":"rimraf dist","build:cjs":"tsc -p tsconfig.json","build:esm":"tsc -p tsconfig.esm.json && mv dist/esm/index.js dist/index.mjs","build:types":"tsc -p tsconfig.types.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dyuldinks","email":"dyuldinks@gmail.com"},"repository":{"url":"git+https://github.com/dyuldinks/abort-signal-polyfill.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight polyfill for AbortSignal.any(), AbortSignal.timeout(), and AbortSignal.abort() methods","directories":{},"sideEffects":false,"_nodeVersion":"18.20.7","typesVersions":{"*":{"*":["dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","rimraf":"^4.4.1","ts-jest":"^29.1.0","typescript":"^5.0.4","@types/jest":"^29.5.14","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"peerDependencies":{"@types/node":">=18.18.0"},"peerDependenciesMeta":{"@types/node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/abort-signal-polyfill_0.0.1_1743105790945_0.7654898054791661","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"abort-signal-polyfill","version":"0.0.2","keywords":["abort","signal","polyfill","AbortController","AbortSignal","timeout","any"],"author":{"name":"Kirill Dyuldin"},"license":"MIT","_id":"abort-signal-polyfill@0.0.2","maintainers":[{"name":"dyuldinks","email":"dyuldinks@gmail.com"}],"homepage":"https://github.com/dyuldinks/abort-signal-polyfill#readme","bugs":{"url":"https://github.com/dyuldinks/abort-signal-polyfill/issues"},"dist":{"shasum":"78307b6d4c6ed729cdcfc9fbd878e931424e0170","tarball":"https://registry.npmjs.org/abort-signal-polyfill/-/abort-signal-polyfill-0.0.2.tgz","fileCount":27,"integrity":"sha512-2qRVnee+ahPVyERM179ZoJhVqetieSGLiD7+ZEhLajOTypKDatEneqisvAiDnmiShXrcx2z0YxtYR75kVZcOHA==","signatures":[{"sig":"MEQCIDLEk6tCsbtDuQtFOGVypb0pGw9MW7u58Pje6m/0A0kRAiB/zuB1d/qr8aQT8Nwx2QM276lXQWtwyub5LQNsf5RNBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36953},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4beba1412b2cf596f3808d51fa1cdcfb2e26cfcf","scripts":{"lint":"eslint src --ext .ts","test":"jest --verbose","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:types","clean":"rimraf dist","prepare":"husky install","build:cjs":"tsc -p tsconfig.json","build:esm":"tsc -p tsconfig.esm.json && mv dist/esm/index.js dist/index.mjs","build:types":"tsc -p tsconfig.types.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dyuldinks","email":"dyuldinks@gmail.com"},"repository":{"url":"git+https://github.com/dyuldinks/abort-signal-polyfill.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight polyfill for AbortSignal.any, AbortSignal.timeout, and AbortSignal.abort methods","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,md,html,css,yaml,yml,json}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.19.0","typesVersions":{"*":{"*":["dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","husky":"^8.0.0","eslint":"^8.37.0","rimraf":"^4.4.1","ts-jest":"^29.1.0","prettier":"^3.5.3","typescript":"^5.0.4","@types/jest":"^29.5.14","lint-staged":"^15.5.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"peerDependencies":{"@types/node":">=18.18.0"},"peerDependenciesMeta":{"@types/node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/abort-signal-polyfill_0.0.2_1743108806599_0.8602892306379142","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"abort-signal-polyfill","version":"0.0.3","keywords":["abort","signal","polyfill","AbortController","AbortSignal","timeout","any"],"author":{"name":"Kirill Dyuldin"},"license":"MIT","_id":"abort-signal-polyfill@0.0.3","maintainers":[{"name":"dyuldinks","email":"dyuldinks@gmail.com"}],"homepage":"https://github.com/dyuldinks/abort-signal-polyfill#readme","bugs":{"url":"https://github.com/dyuldinks/abort-signal-polyfill/issues"},"dist":{"shasum":"fbdf0a4e9026f38afaa716dbb693ff34643a7963","tarball":"https://registry.npmjs.org/abort-signal-polyfill/-/abort-signal-polyfill-0.0.3.tgz","fileCount":27,"integrity":"sha512-gnev+hgz96o5bXYsdkoVvceXakjYS4dKMCZQ3x8ifi3T1OeNTCG2szuR7eDtXIjUM1oCrvGa00O+Sejf7Y6ziw==","signatures":[{"sig":"MEYCIQCoZ7LOt6cSM6dH8jad1zCg3SiEOKwCy05kzjfRvs1CEQIhAOHUWCIXfiINqSSS/HVjf98JtHvTOuDHmL9sflu7XJyv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36883},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"325417462879ce031c7ec1fbeefcd98c74ff3b3f","scripts":{"lint":"eslint src --ext .ts","test":"jest --verbose","build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:types","clean":"rimraf dist","prepare":"husky install","build:cjs":"tsc -p tsconfig.json","build:esm":"tsc -p tsconfig.esm.json && mv dist/esm/index.js dist/index.mjs","build:types":"tsc -p tsconfig.types.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dyuldinks","email":"dyuldinks@gmail.com"},"repository":{"url":"git+https://github.com/dyuldinks/abort-signal-polyfill.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight polyfill for AbortSignal.any, AbortSignal.timeout, and AbortSignal.abort methods","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,md,html,css,yaml,yml,json}":"prettier --write"},"sideEffects":false,"_nodeVersion":"20.19.0","typesVersions":{"*":{"*":["dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","husky":"^8.0.0","eslint":"^8.37.0","rimraf":"^4.4.1","ts-jest":"^29.1.0","prettier":"^3.5.3","typescript":"^5.0.4","@types/jest":"^29.5.14","lint-staged":"^15.5.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"peerDependencies":{"@types/node":">=18.18.0"},"peerDependenciesMeta":{"@types/node":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/abort-signal-polyfill_0.0.3_1743182966350_0.4293052801513857","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"abort-signal-polyfill","version":"1.0.0","description":"A lightweight polyfill for AbortSignal.any, AbortSignal.timeout, and AbortSignal.abort methods","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","typesVersions":{"*":{"*":["dist/index.d.ts"]}},"exports":{".":{"require":"./dist/index.js","import":"./dist/index.mjs","types":"./dist/index.d.ts"}},"sideEffects":false,"scripts":{"build":"npm run clean && npm run build:cjs && npm run build:esm && npm run build:types","build:cjs":"tsc -p tsconfig.json","build:esm":"tsc -p tsconfig.esm.json && mv dist/esm/index.js dist/index.mjs","build:types":"tsc -p tsconfig.types.json","clean":"rimraf dist","test":"jest --verbose","lint":"eslint src --ext .ts","prepublishOnly":"npm run build","prepare":"husky install","format":"prettier --write \"**/*.{js,jsx,ts,tsx,md,html,css,yaml,yml,json}\""},"keywords":["abort","signal","polyfill","AbortController","AbortSignal","timeout","any"],"author":{"name":"Kirill Dyuldin"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/dyuldinks/abort-signal-polyfill.git"},"bugs":{"url":"https://github.com/dyuldinks/abort-signal-polyfill/issues"},"homepage":"https://github.com/dyuldinks/abort-signal-polyfill#readme","devDependencies":{"@types/jest":"^29.5.14","@typescript-eslint/eslint-plugin":"^5.57.0","@typescript-eslint/parser":"^5.57.0","eslint":"^8.37.0","husky":"^8.0.0","jest":"^29.5.0","lint-staged":"^15.5.0","prettier":"^3.5.3","rimraf":"^4.4.1","ts-jest":"^29.1.0","typescript":"^5.0.4"},"peerDependencies":{"@types/node":">=18.18.0"},"peerDependenciesMeta":{"@types/node":{"optional":true}},"engines":{"node":">=18.18.0"},"lint-staged":{"*.{js,jsx,ts,tsx,md,html,css,yaml,yml,json}":"prettier --write"},"_id":"abort-signal-polyfill@1.0.0","gitHead":"eadafae5ddd36381945ee8add5b2108214277c69","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-89GbKgHHfY4TKluDySuVdB1Qm2zZ6E9UrlRur5TxTHXzeLsXdbdiEXvDADhvBJnA9a6vCVZH/+Q0sJj2gbV5vA==","shasum":"f2bae0fc274aceed6cf6aa9b7f929c1dbd8f3eca","tarball":"https://registry.npmjs.org/abort-signal-polyfill/-/abort-signal-polyfill-1.0.0.tgz","fileCount":27,"unpackedSize":36976,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCwkocqpUCUiAHEB7NNcjwoz9tP2tyBGqp9kLcwwPoslAIgU0v+Depo7+pIr21VuTsZa5V/deEQX7GfSkeIbwGXQFs="}]},"_npmUser":{"name":"dyuldinks","email":"dyuldinks@gmail.com"},"directories":{},"maintainers":[{"name":"dyuldinks","email":"dyuldinks@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/abort-signal-polyfill_1.0.0_1743240048863_0.5951893495617488"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-27T20:03:10.944Z","modified":"2025-03-29T09:20:49.249Z","0.0.1":"2025-03-27T20:03:11.130Z","0.0.2":"2025-03-27T20:53:26.779Z","0.0.3":"2025-03-28T17:29:26.552Z","1.0.0":"2025-03-29T09:20:49.068Z"},"bugs":{"url":"https://github.com/dyuldinks/abort-signal-polyfill/issues"},"author":{"name":"Kirill Dyuldin"},"license":"MIT","homepage":"https://github.com/dyuldinks/abort-signal-polyfill#readme","keywords":["abort","signal","polyfill","AbortController","AbortSignal","timeout","any"],"repository":{"type":"git","url":"git+https://github.com/dyuldinks/abort-signal-polyfill.git"},"description":"A lightweight polyfill for AbortSignal.any, AbortSignal.timeout, and AbortSignal.abort methods","maintainers":[{"name":"dyuldinks","email":"dyuldinks@gmail.com"}],"readme":"# abort-signal-polyfill\n\nA lightweight polyfill for `AbortSignal.any`, `AbortSignal.timeout`, and `AbortSignal.abort` methods.\n\n## Features\n\n- [`AbortSignal.any(signals: AbortSignal[])`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any): Creates an AbortSignal that will be aborted when any of the given signals is aborted\n- [`AbortSignal.timeout(timeoutMs: number)`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/timeout): Creates an AbortSignal that will be aborted after the specified timeout\n- [`AbortSignal.abort(reason?: any)`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/abort): Creates an AbortSignal that is already aborted with an optional reason\n\n## Installation\n\n```bash\nnpm install abort-signal-polyfill\n```\n\n## Usage\n\n```typescript\nimport {\n  installAbortSignalPolyfill,\n  uninstallAbortSignalPolyfill,\n} from 'abort-signal-polyfill';\n\n// Install the polyfill\ninstallAbortSignalPolyfill();\n\nconst timeoutSignal = AbortSignal.timeout(5000); // 5 second timeout\nconst controller = new AbortController();\n\n// Combine signals - will abort if either timeout occurs or controller aborts\nconst signal = AbortSignal.any([timeoutSignal, controller.signal]);\n\ntry {\n  const response = await fetch(url, { signal });\n  const data = await response.json();\n  // Handle successful response\n} catch (err) {\n  if (err.name === 'TimeoutError') {\n    // Handle timeout case\n    console.error('The request timed out');\n  } else {\n    // Handle other errors\n    console.error('Request failed:', err);\n  }\n}\n\n// Uninstall polyfills if needed\nuninstallAbortSignalPolyfill();\n```\n\n## TypeScript Support\n\n```typescript\nimport type { AbortSignalPolyfill } from 'abort-signal-polyfill';\n\n// For older TypeScript versions that may not have proper types for AbortSignal\n(AbortSignal as AbortSignalPolyfill).timeout(2000);\n```\n\n## Browser Support\n\nThis polyfill works in all modern browsers that support `AbortController` and `AbortSignal`. For older browsers, you'll need to include a polyfill for `AbortController` first.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}