
{% block use_class %}
use Drupal\Core\Form\FormStateInterface;
{% endblock %}

{% block file_methods %}
{% if form_id is not empty %}
/**
 * Implements hook_form_FORM_ID_alter() on behalf of {{ module }}.module.
{% if metadata.class is defined %}
 * @see \{{ metadata.class }} method {{ metadata.method }} at {{ metadata.file }}
{% endif %}
 */
function {{ module }}_form_{{ form_id }}_alter(&$form, FormStateInterface $form_state) {
    drupal_set_message('{{ module }}_form_{{ form_id }}_alter() executed.');
{% else %}
/**
 * Implements hook_form_alter() on behalf of {{ module }}.module.
 */
function {{ module }}_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    // Change form id here
    if ($form_id == 'form_test_alter_form') {
        drupal_set_message('form_test_form_alter() executed.');
{% endif %}

{%- if metadata.unset -%}
{% for field in metadata.unset %}
        $form['{{ field }}']['#access'] = FALSE;
{% endfor %}
{% endif %}

{% if inputs %}
{% for input in inputs %}
        $form['{{ input.name }}'] = [
            '#type' => '{{ input.type }}',
            '#title' => t('{{ input.label|e }}'),
    {%- if input.description is defined -%}
            '#description' => t('{{ input.description|e }}'),
    {% endif %}
    {%- if input.options is defined and input.options|length -%}
            '#options' => {{ input.options }},
    {% endif %}
    {%- if input.maxlength|length -%}
            '#maxlength' => {{ input.maxlength }},
    {% endif %}
    {%- if input.size|length -%}
            '#size' => {{ input.size }},
    {% endif %}
    {%- if input.default_value is defined and input.default_value|length -%}
            '#default_value' => '{{ input.default_value }}',
    {% endif %}
    {%- if input.weight is defined and input.weight|length -%}
            '#weight' => '{{ input.weight }}',
    {% endif %}
        ];

{% endfor %}
{% endif %}
{% if form_id is empty %}
    }
{% endif %}
}
{% endblock %}
