Emcee
26 строк · 677.0 Байт
1import Foundation
2
3public final class LoggableDouble: CustomStringConvertible {
4private let value: Double
5private let suffix: String
6
7public init(_ value: Double, suffix: String) {
8self.value = value
9self.suffix = suffix
10}
11
12public var description: String {
13let string = String(format: "%.3f", value)
14return [string, suffix].filter { !$0.isEmpty }.joined(separator: " ")
15}
16}
17
18extension TimeInterval {
19public func loggableInSeconds() -> LoggableDouble {
20loggable(suffix: "sec")
21}
22
23public func loggable(suffix: String) -> LoggableDouble {
24LoggableDouble(self, suffix: suffix)
25}
26}
27