package com.airlock.iam.common.api.domain.model.otp;

public enum OtpEqualityStrategy {
   IGNORING_WHITE_SPACE {
      @Override
      public boolean equals(Otp left, UnverifiedOtp right) {
         return left.rawValue().equals(right.normalized());
      }
   },
   IGNORING_WHITE_SPACE_AND_CASE {
      @Override
      public boolean equals(Otp left, UnverifiedOtp right) {
         return left.rawValue().equalsIgnoreCase(right.normalized());
      }
   };

   public abstract boolean equals(Otp var1, UnverifiedOtp var2);

   public static OtpEqualityStrategy equalityStrategy(boolean ignoreCase) {
      return ignoreCase ? IGNORING_WHITE_SPACE_AND_CASE : IGNORING_WHITE_SPACE;
   }
}
