diff --git a/packages/backend/src/misc/throw-if-aborted.ts b/packages/backend/src/misc/throw-if-aborted.ts new file mode 100644 index 0000000000..f4d971bf1b --- /dev/null +++ b/packages/backend/src/misc/throw-if-aborted.ts @@ -0,0 +1,20 @@ +/* + * SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { AbortedError } from '@/misc/errors/AbortedError.js'; + +export function throwIfAborted(signal: AbortSignal): void { + if (signal.aborted) { + throw new AbortedError(signal); + } +} + +export function rejectIfAborted(signal: AbortSignal): Promise { + if (signal.aborted) { + return Promise.reject(new AbortedError(signal)); + } else { + return Promise.resolve(); + } +}