Files
divkit/client/ios/DivKit/Extensions/DeserializationResultExtensions.swift
T
2023-10-30 17:06:56 +03:00

22 lines
601 B
Swift

import BaseTinyPublic
import Serialization
extension DeserializationError {
func asCardError(cardId: DivCardID) -> DeserializationError {
.nestedObjectError(field: cardId.rawValue, error: self)
}
}
extension DeserializationResult {
public func asCardResult(cardId: DivCardID) -> Self {
switch self {
case let .partialSuccess(value, warnings):
return .partialSuccess(value, warnings: warnings.map { $0.asCardError(cardId: cardId) })
case let .failure(errors):
return .failure(errors.map { $0.asCardError(cardId: cardId) })
default:
return self
}
}
}