import { string } from 'yup'

export const passwordRule = string()
  .required()
  .min(8, 'رمزعبور باید حداقل ۸ کاراکتر باشد')
  .matches(/\d/, 'رمزعبور باید شامل حداقل یک عدد باشد')
  .matches(/[a-z]/, 'رمزعبور باید شامل حداقل یک حرف کوچک باشد')
  .matches(/[A-Z]/, 'رمزعبور باید شامل حداقل یک حرف بزرگ باشد')

export const optionalPasswordRule = string()
  .nullable()
  .notRequired()
  .test('strong-password', 'رمزعبور باید معتبر باشد', (value) => {
    if (!value) return true
    return passwordRule.isValidSync(value)
  })
