// Libs
// -----------------------------------------------------------------------------
import { RuleObject } from 'antd/lib/form';

/**
 * Проверить значение формы с IPv4 адресом.
 *
 * Регулярка взята отсюда: https://www.oreilly.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html
 * @param rule
 * @param value
 */
export const validateIp4Address = (
  rule: RuleObject,
  value: string,
): Promise<void> => {
  return value.match(
    /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
  )
    ? Promise.resolve()
    : Promise.reject();
};
