Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / consolidation / output-formatters / src / StructuredData / FieldProcessor.php
diff --git a/vendor/consolidation/output-formatters/src/StructuredData/FieldProcessor.php b/vendor/consolidation/output-formatters/src/StructuredData/FieldProcessor.php
new file mode 100644 (file)
index 0000000..e0cfd13
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+namespace Consolidation\OutputFormatters\StructuredData;
+
+use Consolidation\OutputFormatters\Options\FormatterOptions;
+use Consolidation\OutputFormatters\StructuredData\RestructureInterface;
+use Consolidation\OutputFormatters\Transformations\UnstructuredDataListTransformation;
+
+/**
+ * FieldProcessor will do various alterations on field sets.
+ */
+class FieldProcessor
+{
+    public static function processFieldAliases($fields)
+    {
+        if (!is_array($fields)) {
+            $fields = array_filter(explode(',', $fields));
+        }
+        $transformed_fields = [];
+        foreach ($fields as $field) {
+            list($machine_name,$label) = explode(' as ', $field) + [$field, preg_replace('#.*\.#', '', $field)];
+            $transformed_fields[$machine_name] = $label;
+        }
+        return $transformed_fields;
+    }
+
+    /**
+     * Determine whether the data structure has unstructured field access,
+     * e.g. `a.b.c` or `foo as bar`.
+     * @param type $fields
+     * @return type
+     */
+    public static function hasUnstructuredFieldAccess($fields)
+    {
+        if (is_array($fields)) {
+            $fields = implode(',', $fields);
+        }
+        return (strpos($fields, ' as ') !== false) || (strpos($fields, '.') !== false);
+    }
+}