errors.ts raw
1 /**
2 * Domain errors for value object validation
3 */
4
5 export class DomainError extends Error {
6 constructor(message: string) {
7 super(message)
8 this.name = this.constructor.name
9 }
10 }
11
12 export class InvalidPubkeyError extends DomainError {
13 constructor(value: string) {
14 super(`Invalid pubkey: "${value.slice(0, 20)}${value.length > 20 ? '...' : ''}"`)
15 }
16 }
17
18 export class InvalidRelayUrlError extends DomainError {
19 constructor(value: string) {
20 super(`Invalid relay URL: "${value}"`)
21 }
22 }
23
24 export class InvalidEventIdError extends DomainError {
25 constructor(value: string) {
26 super(`Invalid event ID: "${value.slice(0, 20)}${value.length > 20 ? '...' : ''}"`)
27 }
28 }
29
30 export class InvalidTimestampError extends DomainError {
31 constructor(value: number) {
32 super(`Invalid timestamp: ${value}`)
33 }
34 }
35