| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import Foundation
- public extension Disk {
- /// Save Data to disk
- ///
- /// - Parameters:
- /// - value: Data to store to disk
- /// - directory: user directory to store the file in
- /// - path: file location to store the data (i.e. "Folder/file.mp4")
- /// - Throws: Error if there were any issues writing the given data to disk
- static func save(_ value: Data, to directory: Directory, as path: String) throws {
- do {
- let url = try createURL(for: path, in: directory)
- try createSubfoldersBeforeCreatingFile(at: url)
- try value.write(to: url, options: .atomic)
- } catch {
- throw error
- }
- }
- /// Retrieve data from disk
- ///
- /// - Parameters:
- /// - path: path where data file is stored
- /// - directory: user directory to retrieve the file from
- /// - type: here for Swifty generics magic, use Data.self
- /// - Returns: Data retrieved from disk
- /// - Throws: Error if there were any issues retrieving the specified file's data
- static func retrieve(_ path: String, from directory: Directory, as _: Data.Type) throws -> Data {
- do {
- let url = try getExistingFileURL(for: path, in: directory)
- let data = try Data(contentsOf: url)
- return data
- } catch {
- throw error
- }
- }
- }
|