44//
55// Created by Devin Roth on 2025-04-03.
66//
7+
78import Foundation
89
9- public enum SwiftAudioFileConverterError : Error {
10+ public enum SwiftAudioFileConverterError : LocalizedError {
1011 case invalidAudioFileSettings( AudioFileSettings )
1112 case unsupportedAudioFileExtension( URL )
1213 case audioFileExtensionSettingsMismatch( URL , AudioFileSettings )
@@ -18,3 +19,36 @@ public enum SwiftAudioFileConverterError: Error {
1819 case coreAudioError( CoreAudioError )
1920 case flacConversionUnknownError
2021}
22+
23+ extension SwiftAudioFileConverterError : Equatable { }
24+
25+ extension SwiftAudioFileConverterError : Hashable { }
26+
27+ extension SwiftAudioFileConverterError : Sendable { }
28+
29+ extension SwiftAudioFileConverterError {
30+ public var errorDescription : String ? {
31+ switch self {
32+ case let . invalidAudioFileSettings( audioFileSettings) :
33+ " Invalid audio file settings. \( audioFileSettings) "
34+ case let . unsupportedAudioFileExtension( url) :
35+ " Unsupported audio file extension ( \( url. path) ) "
36+ case let . audioFileExtensionSettingsMismatch( url, audioFileSettings) :
37+ " Audio file extension settings mismatch. ( \( url. path) ) \( audioFileSettings) "
38+ case let . fileDoesNotExist( url) :
39+ " File does not exist. ( \( url. path) ) "
40+ case let . fileIsNotReadable( url) :
41+ " File is not readable. ( \( url. path) ) "
42+ case let . unableToOpenFile( url) :
43+ " Unable to open file. ( \( url. path) ) "
44+ case let . fileIsNotWritable( url) :
45+ " File is not writable. ( \( url. path) ) "
46+ case let . unsupportedConversion( fileFormat) :
47+ " Unsupported conversion: \( fileFormat) "
48+ case let . coreAudioError( coreAudioError) :
49+ " Core Audio error: \( coreAudioError) "
50+ case . flacConversionUnknownError:
51+ " Unknown FLAC conversion error. "
52+ }
53+ }
54+ }
0 commit comments