import { entityKind } from '~/entity.ts'; export class DrizzleError extends Error { static readonly [entityKind]: string = 'DrizzleError'; constructor({ message, cause }: { message?: string; cause?: unknown }) { super(message); this.name = 'DrizzleError'; this.cause = cause; } } export class DrizzleQueryError extends Error { constructor( public query: string, public params: any[], public override cause?: Error, ) { super(`Failed query: ${query}\nparams: ${params}`); Error.captureStackTrace(this, DrizzleQueryError); // ES2022+: preserves original error on `.cause` if (cause) (this as any).cause = cause; } } export class TransactionRollbackError extends DrizzleError { static override readonly [entityKind]: string = 'TransactionRollbackError'; constructor() { super({ message: 'Rollback' }); } }