add throwIfAborted and rejectIfAborted utilities to simplify AbortSignal handling

This commit is contained in:
Hazelnoot 2025-11-11 20:15:11 -05:00
parent 8d848703b5
commit 5f37eef244

View file

@ -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<void> {
if (signal.aborted) {
return Promise.reject(new AbortedError(signal));
} else {
return Promise.resolve();
}
}