execute(modelValue, params = this.param) {
    let isInvalidType;
    let isInvalidFileExt;

    const ctor = /** @type {typeof IsAcceptedFile} */ (this.constructor);
    const { allowedFileTypes, allowedFileExtensions, maxFileSize } = params;
    if (allowedFileTypes?.length) {
      isInvalidType = modelValue.some(file => !ctor.isFileTypeAllowed(file.type, allowedFileTypes));
      return isInvalidType;
    }
    if (allowedFileExtensions?.length) {
      isInvalidFileExt = modelValue.some(
        file => !ctor.isExtensionAllowed(ctor.getExtension(file.name), allowedFileExtensions),
      );
      return isInvalidFileExt;
    }
    const invalidFileSize = modelValue.findIndex(
      file => !ctor.checkFileSize(file.size, maxFileSize),
    );
    return invalidFileSize > -1;
  }
@param {Array<File>} modelValue array of file objects
@param {{ allowedFileTypes: string[]; allowedFileExtensions: string[]; maxFileSize: number; }} params
@returns {Boolean}