From 549631fe99cfaf361f00ccb8c5c7b0de85b89301 Mon Sep 17 00:00:00 2001 From: DualFroz Date: Sun, 23 Aug 2026 16:20:00 +0200 Subject: [PATCH] feat(core): add scheme error type --- Sources/KiteCore/Errors.swift | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Sources/KiteCore/Errors.swift diff --git a/Sources/KiteCore/Errors.swift b/Sources/KiteCore/Errors.swift new file mode 100644 index 0000000..1e173d0 --- /dev/null +++ b/Sources/KiteCore/Errors.swift @@ -0,0 +1,19 @@ +public struct SchemeError: Error, CustomStringConvertible { + public let message: String + public let irritants: [Value] + + public init(_ message: String, irritants: [Value] = []) { + self.message = message + self.irritants = irritants + } + + public var description: String { + if irritants.isEmpty { return message } + let parts = irritants.map { writeString($0) }.joined(separator: " ") + return "\(message) \(parts)" + } +} + +func schemeError(_ message: String, _ irritants: [Value] = []) -> SchemeError { + SchemeError(message, irritants: irritants) +}