From 94e89466e6ed14a61665e97704a5a04c4a8e14fd Mon Sep 17 00:00:00 2001
From: K Shiva Kiran <shiva_kr@riseup.net>
Date: Mon, 18 Mar 2024 21:38:22 +0530
Subject: [PATCH] Impl display for error

---
 src/errors.rs | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/errors.rs b/src/errors.rs
index a62059d..99a9dd7 100644
--- a/src/errors.rs
+++ b/src/errors.rs
@@ -1,6 +1,23 @@
+use std::fmt;
+
 #[derive(Debug)]
 pub enum FBError {
 	DecodeError,
 	InvalidKey,
 	InvalidParams,
 }
+
+impl fmt::Display for FBError {
+
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        let message = match self {
+            FBError::DecodeError => "Invalid input",
+            FBError::InvalidKey => "Invalid Key used",
+            FBError::InvalidParams => "Keybase len(k) or Cipher len(n) out of bounds. Valid bounds: (2 <= k <= n)",
+        };
+
+        f.write_fmt(format_args!("{message}"))
+    }
+}
+
+impl std::error::Error for FBError {}