export function validateFilePattern()

in src/services/form-validation/utils/mime.ts [13:35]


export function validateFilePattern(file: FormFieldValidationInput, filePattern: string) {
  if (!filePattern) {
    return true;
  }
  const pattern = globStringToRegex(filePattern);

  let valid = true;
  if (pattern.regexp && pattern.regexp.length) {
    const regexp = new RegExp(pattern.regexp, 'i');
    valid =
      (!_.isNil(file.contentType) && regexp.test(file.contentType)) ||
      (!_.isNil(file.fileName) && regexp.test(file.fileName));
  }
  valid = pattern.excludes.reduce((result, excludePattern) => {
    const exclude = new RegExp(excludePattern, 'i');
    return (
      result &&
      (_.isNil(file.contentType) || !exclude.test(file.contentType)) &&
      (_.isNil(file.fileName) || !exclude.test(file.fileName))
    );
  }, valid);
  return valid;
}