98aedbde58c007bc79f124856ba8e0177f2fb57a
[yaffs-website] / vendor / consolidation / output-formatters / src / StructuredData / RowsOfFieldsWithMetadata.php
1 <?php
2 namespace Consolidation\OutputFormatters\StructuredData;
3
4 use Consolidation\OutputFormatters\Options\FormatterOptions;
5
6 /**
7  * A RowsOfFields data structure that also contains metadata.
8  * @see MetadataHolderTrait
9  */
10 class RowsOfFieldsWithMetadata extends RowsOfFields implements MetadataInterface, MetadataHolderInterface
11 {
12     use MetadataHolderTrait;
13
14     public function __constructor($data)
15     {
16         parent::__construct($data);
17     }
18
19     /**
20      * Restructure this data for output by converting it into a table
21      * transformation object. First, though, remove any metadata items.
22      *
23      * @param FormatterOptions $options Options that affect output formatting.
24      * @return Consolidation\OutputFormatters\Transformations\TableTransformation
25      */
26     public function restructure(FormatterOptions $options)
27     {
28         $originalData = $this->getArrayCopy();
29         $data = $this->extractData($originalData);
30         $tableTranformer = $this->createTableTransformation($data, $options);
31         $tableTranformer->setOriginalData($this);
32         return $tableTranformer;
33     }
34
35     public function getMetadata()
36     {
37         return $this->extractMetadata($this->getArrayCopy());
38     }
39 }