export function isRequired(string, error = true) {
  // returns 'empty' or true
  if (string.length <= 0) {
    return error ? 'empty' : false;
  }
  return true;
}

export function validateString(string, required = false, error = true) {
  // return 'empty', 'not-string' or true
  if (required && !isRequired(string, false)) {
    return error ? isRequired(string) : false;
  }
  if (typeof string !== 'string') {
    return error ? 'not_string' : false;
  }
  return true;
}

export function validateEmail(email, required = false, error = true) {
  // returns 'empty', 'not-string', 'not-email' or true
  if (required && !isRequired(email, false)) {
    return error ? isRequired(email) : false;
  }
  if (!validateString(email, false, false)) {
    return error ? validateString(email, false, true) : false;
  }
  if (!/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(email)) {
    return error ? 'not_email' : false;
  }
  return true;
}
