CommandLineToolkit
22 строки · 487.0 Байт
1/*
2* Copyright (c) Avito Tech LLC
3*/
4
5import Foundation
6
7public final class LoggableOptional<T>: CustomStringConvertible {
8private let value: T?
9private let nilReplacement: String
10
11public init(_ value: T?, nilReplacement: String = "nil") {
12self.value = value
13self.nilReplacement = nilReplacement
14}
15
16public var description: String {
17if let value = value {
18return "\(value)"
19}
20return nilReplacement
21}
22}
23