export class MemoryNodeError extends Error {
  public readonly code: string;

  public constructor(code: string, message: string) {
    super(message);
    this.name = "MemoryNodeError";
    this.code = code;
  }
}

export class ValidationError extends MemoryNodeError {
  public constructor(message: string) {
    super("INVALID_PARAM", message);
    this.name = "ValidationError";
  }
}

export class NotFoundError extends MemoryNodeError {
  public constructor(message: string) {
    super("NOT_FOUND", message);
    this.name = "NotFoundError";
  }
}
