You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

50 lines
1.7 KiB

/**
* 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'"
}
}
}