Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / consolidation / output-formatters / src / StructuredData / RowsOfFieldsWithMetadata.php
diff --git a/vendor/consolidation/output-formatters/src/StructuredData/RowsOfFieldsWithMetadata.php b/vendor/consolidation/output-formatters/src/StructuredData/RowsOfFieldsWithMetadata.php
new file mode 100644 (file)
index 0000000..98aedbd
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace Consolidation\OutputFormatters\StructuredData;
+
+use Consolidation\OutputFormatters\Options\FormatterOptions;
+
+/**
+ * A RowsOfFields data structure that also contains metadata.
+ * @see MetadataHolderTrait
+ */
+class RowsOfFieldsWithMetadata extends RowsOfFields implements MetadataInterface, MetadataHolderInterface
+{
+    use MetadataHolderTrait;
+
+    public function __constructor($data)
+    {
+        parent::__construct($data);
+    }
+
+    /**
+     * Restructure this data for output by converting it into a table
+     * transformation object. First, though, remove any metadata items.
+     *
+     * @param FormatterOptions $options Options that affect output formatting.
+     * @return Consolidation\OutputFormatters\Transformations\TableTransformation
+     */
+    public function restructure(FormatterOptions $options)
+    {
+        $originalData = $this->getArrayCopy();
+        $data = $this->extractData($originalData);
+        $tableTranformer = $this->createTableTransformation($data, $options);
+        $tableTranformer->setOriginalData($this);
+        return $tableTranformer;
+    }
+
+    public function getMetadata()
+    {
+        return $this->extractMetadata($this->getArrayCopy());
+    }
+}