function DesignTokenPluginManager::flattenDefinitions

Get Design Token plugins from a tree of processed DTCG objects.

Parameters

?\Drupal\Core\Theme\DesignToken\DtcgInterface $dtcgTree: A DTCG object.

Return value

array The list of design token plugins.

File

core/lib/Drupal/Core/Theme/DesignToken/DesignTokenPluginManager.php, line 167

Class

DesignTokenPluginManager
Defines a design tokens plugin manager.

Namespace

Drupal\Core\Theme\DesignToken

Code

protected function flattenDefinitions(?DtcgInterface $dtcgTree) : array {
  $tokens = [];
  if ($dtcgTree instanceof DesignToken) {
    $tokens[$dtcgTree->id()] = $dtcgTree;
  }
  elseif ($dtcgTree instanceof Group) {
    foreach ($dtcgTree->getChildren() as $child) {
      $tokens += $this->flattenDefinitions($child);
    }
  }
  return $tokens;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.