@@ -17,11 +17,7 @@ final public class DiskStorage<T> {
1717
1818 // MARK: - Initialization
1919
20- public required init ( config: DiskConfig , fileManager: FileManager = FileManager . default, transformer: Transformer < T > ) throws {
21- self . config = config
22- self . fileManager = fileManager
23- self . transformer = transformer
24-
20+ public convenience init ( config: DiskConfig , fileManager: FileManager = FileManager . default, transformer: Transformer < T > ) throws {
2521 let url : URL
2622 if let directory = config. directory {
2723 url = directory
@@ -35,7 +31,9 @@ final public class DiskStorage<T> {
3531 }
3632
3733 // path
38- self . path = url. appendingPathComponent ( config. name, isDirectory: true ) . path
34+ let path = url. appendingPathComponent ( config. name, isDirectory: true ) . path
35+
36+ self . init ( config: config, fileManager: fileManager, path: path, transformer: transformer)
3937
4038 try createDirectory ( )
4139
@@ -48,6 +46,13 @@ final public class DiskStorage<T> {
4846 }
4947 #endif
5048 }
49+
50+ public required init ( config: DiskConfig , fileManager: FileManager = FileManager . default, path: String , transformer: Transformer < T > ) {
51+ self . config = config
52+ self . fileManager = fileManager
53+ self . path = path
54+ self . transformer = transformer
55+ }
5156}
5257
5358extension DiskStorage : StorageAware {
@@ -239,10 +244,10 @@ extension DiskStorage {
239244
240245public extension DiskStorage {
241246 func transform< U> ( transformer: Transformer < U > ) -> DiskStorage < U > {
242- // swiftlint:disable force_try
243- let storage = try ! DiskStorage < U > (
247+ let storage = DiskStorage < U > (
244248 config: config,
245249 fileManager: fileManager,
250+ path: path,
246251 transformer: transformer
247252 )
248253
0 commit comments