everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
26 lines (24 loc) • 803 B
JavaScript
import { Data } from "effect";
//#region src/db/errors.ts
var DatabaseError = class extends Data.TaggedError("DatabaseError") {
get message() {
const parts = [`DatabaseError [stage=${this.stage}]`];
if (this.migrationTag) parts.push(`migration=${this.migrationTag}`);
if (this.statementIndex !== void 0) parts.push(`statement=${this.statementIndex}`);
parts.push(unwrapDatabaseError(this.cause));
return parts.join(": ");
}
};
function unwrapDatabaseError(error) {
if (!(error instanceof Error)) return String(error);
const parts = [error.message];
let cause = error.cause;
while (cause instanceof Error) {
parts.push(cause.message);
cause = cause.cause;
}
return parts.join(": ");
}
//#endregion
export { DatabaseError, unwrapDatabaseError };
//# sourceMappingURL=errors.mjs.map