From 136b08a35a3578f6f7ff288bc34cd30eebe0141e Mon Sep 17 00:00:00 2001 From: Richie Bendall Date: Fri, 24 Nov 2023 03:32:48 +1300 Subject: [PATCH] Require Node.js 18 (#67) --- .github/workflows/main.yml | 1 - index.js | 34 ++-------------------------------- package.json | 2 +- 3 files changed, 3 insertions(+), 34 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1ed55d5..c4cdca2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,6 @@ jobs: node-version: - 20 - 18 - - 16 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 diff --git a/index.js b/index.js index 68975f5..30290b9 100644 --- a/index.js +++ b/index.js @@ -1,33 +1,3 @@ -/** -An error to be thrown when the request is aborted by AbortController. -DOMException is thrown instead of this Error when DOMException is available. -*/ -export class AbortError extends Error { - constructor(message) { - super(); - this.name = 'AbortError'; - this.message = message; - } -} - -/** -TODO: Remove AbortError and just throw DOMException when targeting Node 18. -*/ -const getDOMException = errorMessage => globalThis.DOMException === undefined - ? new AbortError(errorMessage) - : new DOMException(errorMessage); - -/** -TODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18. -*/ -const getAbortedReason = signal => { - const reason = signal.reason === undefined - ? getDOMException('This operation was aborted.') - : signal.reason; - - return reason instanceof Error ? reason : getDOMException(reason); -}; - export default async function pMap( iterable, mapper, @@ -68,11 +38,11 @@ export default async function pMap( if (signal) { if (signal.aborted) { - reject(getAbortedReason(signal)); + reject(signal.reason); } signal.addEventListener('abort', () => { - reject(getAbortedReason(signal)); + reject(signal.reason); }); } diff --git a/package.json b/package.json index 4566c2b..c2f2aaa 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "type": "module", "exports": "./index.js", "engines": { - "node": ">=16" + "node": ">=18" }, "scripts": { "test": "xo && ava && tsd"