You are here

protected function Sequence::getElementDefinition in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence::getElementDefinition()
  2. 9 core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence::getElementDefinition()

Gets data definition object for contained element.

Parameters

int|string $key: Property name or index of the element.

Return value

\Drupal\Core\TypedData\DataDefinitionInterface

Overrides ArrayElement::getElementDefinition

File

core/lib/Drupal/Core/Config/Schema/Sequence.php, line 25

Class

Sequence
Defines a configuration element of type Sequence.

Namespace

Drupal\Core\Config\Schema

Code

protected function getElementDefinition($key) {
  $value = $this->value[$key] ?? NULL;

  // @todo: Remove BC layer for sequence with hyphen in front. https://www.drupal.org/node/2444979
  $definition = [];
  if (isset($this->definition['sequence'][0])) {
    $definition = $this->definition['sequence'][0];
  }
  elseif ($this->definition['sequence']) {
    $definition = $this->definition['sequence'];
  }
  return $this
    ->buildDataDefinition($definition, $value, $key);
}