Version 1
[yaffs-website] / vendor / consolidation / output-formatters / src / Exception / IncompatibleDataException.php
diff --git a/vendor/consolidation/output-formatters/src/Exception/IncompatibleDataException.php b/vendor/consolidation/output-formatters/src/Exception/IncompatibleDataException.php
new file mode 100644 (file)
index 0000000..ca13a65
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+namespace Consolidation\OutputFormatters\Exception;
+
+use Consolidation\OutputFormatters\Formatters\FormatterInterface;
+
+/**
+ * Represents an incompatibility between the output data and selected formatter.
+ */
+class IncompatibleDataException extends AbstractDataFormatException
+{
+    public function __construct(FormatterInterface $formatter, $data, $allowedTypes)
+    {
+        $formatterDescription = get_class($formatter);
+        $dataDescription = static::describeDataType($data);
+        $allowedTypesDescription = static::describeAllowedTypes($allowedTypes);
+        $message = "Data provided to $formatterDescription must be $allowedTypesDescription. Instead, $dataDescription was provided.";
+        parent::__construct($message, 1);
+    }
+}