Version 1
[yaffs-website] / web / core / lib / Drupal / Core / Config / Schema / Sequence.php
diff --git a/web/core/lib/Drupal/Core/Config/Schema/Sequence.php b/web/core/lib/Drupal/Core/Config/Schema/Sequence.php
new file mode 100644 (file)
index 0000000..ce8dc1b
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+namespace Drupal\Core\Config\Schema;
+
+/**
+ * Defines a configuration element of type Sequence.
+ *
+ * This object may contain any number and type of nested elements that share
+ * a common definition in the 'sequence' property of the configuration schema.
+ *
+ * Read https://www.drupal.org/node/1905070 for more details about configuration
+ * schema, types and type resolution.
+ */
+class Sequence extends ArrayElement {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getElementDefinition($key) {
+    $value = isset($this->value[$key]) ? $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);
+  }
+
+}