text: "use strict";
  /*
   * Wire
   * Copyright (C) 2018 Wire Swiss GmbH
   *
   * This program is free software: you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
   * the Free Software Foundation, either version 3 of the License, or
   * (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   * GNU General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License
   * along with this program. If not, see http://www.gnu.org/licenses/.
   *
   */
  Object.defineProperty(exports, "__esModule", { value: true });
  exports.getNewPasswordPattern = exports.DEFAULT_PASSWORD_MAX_LENGTH = exports.DEFAULT_PASSWORD_MIN_LENGTH = exports.isValidHandle = exports.isValidEmail = exports.isUUIDv4 = exports.PATTERN = void 0;
  exports.PATTERN = {
      EMAIL: '(([^<>()[\\]\\\\.,;:\\s@"]+(\\.[^<>()[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))',
      UUID_V4: '[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}',
  };
  function isUUIDv4(candidate) {
      const uuidv4Regex = new RegExp(`^${exports.PATTERN.UUID_V4}$`, 'i');
      return uuidv4Regex.test(candidate);
  }
  exports.isUUIDv4 = isUUIDv4;
  function isValidEmail(email) {
      const regExp = new RegExp(`^${exports.PATTERN.EMAIL}$`, 'i');
      return regExp.test(email);
  }
  exports.isValidEmail = isValidEmail;
  function isValidHandle(handle) {
      return /^[a-z_0-9.-]{2,256}$/.test(handle);
  }
  exports.isValidHandle = isValidHandle;
  exports.DEFAULT_PASSWORD_MIN_LENGTH = 8;
  exports.DEFAULT_PASSWORD_MAX_LENGTH = 120;
  function getNewPasswordPattern(minLength = exports.DEFAULT_PASSWORD_MIN_LENGTH, maxLength = exports.DEFAULT_PASSWORD_MAX_LENGTH) {
      return `(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^0-9a-zA-Z]).{${minLength},${maxLength}}$`;
  }
  exports.getNewPasswordPattern = getNewPasswordPattern;
  //# sourceMappingURL=ValidationUtil.js.map