Files
Desktop/ts/jobs/JobError.std.ts
Fedor Indutny 44076ece79 Rename files
2025-10-16 23:45:44 -07:00

23 lines
589 B
TypeScript

// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { reallyJsonStringify } from '../util/reallyJsonStringify.std.js';
/**
* An error that wraps job errors.
*
* Should not be instantiated directly, except by `JobQueue`.
*/
export class JobError extends Error {
constructor(public readonly lastErrorThrownByJob: unknown) {
super(`Job failed. Last error: ${formatError(lastErrorThrownByJob)}`);
}
}
function formatError(err: unknown): string {
if (err instanceof Error) {
return err.message;
}
return reallyJsonStringify(err);
}