UNPKG

tupleson

Version:

A hackable JSON serializer/deserializer

45 lines 1.28 kB
import { TsonError } from "../errors.js"; import { isPlainObject } from "../internals/isPlainObject.js"; function getErrorMessageFromUnknown(unknown) { if (typeof unknown === "string") { return unknown; } if (unknown instanceof Error) { return unknown.message; } if (isPlainObject(unknown) && typeof unknown["message"] === "string") { return unknown["message"]; } return null; } class TsonPromiseRejectionError extends TsonError { constructor(cause) { const message = getErrorMessageFromUnknown(cause) ?? "Promise rejected"; super(message, { cause }); this.name = "TsonPromiseRejectionError"; } static from(cause) { return cause instanceof Error ? cause : new TsonPromiseRejectionError(cause); } } class TsonStreamInterruptedError extends TsonError { constructor(cause) { super( "Stream interrupted: " + (getErrorMessageFromUnknown(cause) ?? "unknown reason"), { cause } ); this.name = "TsonStreamInterruptedError"; } } class TsonAbortError extends TsonError { constructor(cause) { super("The user aborted a request.", { cause }); this.name = "TsonAbortError"; } } export { TsonAbortError, TsonPromiseRejectionError, TsonStreamInterruptedError }; //# sourceMappingURL=asyncErrors.mjs.map