import type { IDomainError, CommonDomainErrorKind } from '@core/shared/errors';

/**
 * Domain Error: SocialDomainError
 *
 * Implements the shared IDomainError contract for social domain failures.
 */
export class SocialDomainError extends Error implements IDomainError<CommonDomainErrorKind> {
  readonly name = 'SocialDomainError';
  readonly type = 'domain' as const;
  readonly context = 'social';
  readonly kind: CommonDomainErrorKind;
 
  constructor(message: string, kind: CommonDomainErrorKind = 'validation') {
    super(message);
    this.kind = kind;
    Object.setPrototypeOf(this, new.target.prototype);
  }
}