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