/** * DailyNotificationError.swift * Daily Notification Plugin for Capacitor * * Defines error types and handling for the notification plugin */ import Foundation /// Represents possible errors that can occur within the DailyNotification plugin /// /// These errors provide specific failure cases and associated messages for better /// error handling and debugging in the notification scheduling process. public enum DailyNotificationError: Error { /// Thrown when required parameters are missing or invalid case invalidParameters(String) /// Thrown when notification permissions have not been granted case permissionDenied /// Thrown when notification scheduling fails case schedulingFailed(String) /// Thrown when time format is invalid (should be HH:mm) case invalidTimeFormat /// Thrown when provided timezone identifier is invalid case invalidTimezone /// Thrown when priority value is not one of: high, default, low case invalidPriority /// Human-readable error messages for each error case public var message: String { switch self { case .invalidParameters(let detail): return "Invalid parameters: \(detail)" case .permissionDenied: return "Notification permissions not granted" case .schedulingFailed(let reason): return "Failed to schedule notification: \(reason)" case .invalidTimeFormat: return "Invalid time format. Expected HH:mm" case .invalidTimezone: return "Invalid timezone identifier" case .invalidPriority: return "Invalid priority value. Expected 'high', 'default', or 'low'" } } }