<?php

/**
 * @file
 * Contains hook implementations for Parade image optimize module.
 */

use Drupal\imagemagick\Plugin\ImageToolkit\ImagemagickToolkit;

/**
 * Implements hook_imagemagick_arguments_alter().
 *
 * Removes quality argument if it's NULL.
 * It's necessary to avoid errors when quality is empty in the config.
 */
function parade_image_optimize_imagemagick_arguments_alter(ImagemagickToolkit $toolkit, $command) {
  if ($command === 'convert' || $command === 'gm') {
    $index = $toolkit->findArgument('-quality');

    if ($index !== FALSE) {
      $quality = $toolkit->getArguments()[$index];

      // Space at the and because NULL casts to an empty string.
      if ($quality === '-quality ') {
        $toolkit->removeArgument($index);
      }
    }
  }
}
