// // SizeAdapter.swift // Browse // // Created by Javier Cicchelli on 15/12/2022. // Copyright © 2022 Röck+Cöde. All rights reserved. // import Foundation struct SizeAdapter { // MARK: Properties private let measurementFormatter: MeasurementFormatter = .informationSizeFormatter // MARK: Functions func callAsFunction(value: Int?) -> String { guard let value else { return .Constants.noValue } let sizeInBytes = Measurement( value: Double(value), unit: UnitInformationStorage.bytes ) return measurementFormatter.string( from: sizeInBytes.converted(to: .megabytes) ) } } // MARK: - DateFormatter+Formats private extension MeasurementFormatter { static let informationSizeFormatter = { let formatter = MeasurementFormatter() formatter.unitStyle = .medium formatter.numberFormatter.maximumFractionDigits = 2 formatter.locale = .current return formatter }() } // MARK: - String+Constants private extension String { enum Constants { static let noValue = "-" } }