Files
divkit/client/ios/Core/BaseTiny/Modifier.swift
T
babaevmm f250ad7b40 open rw locks pr
add rw locks usage
2022-09-26 16:41:40 +03:00

21 lines
435 B
Swift

// Copyright 2021 Yandex LLC. All rights reserved.
@inlinable
public func modified<T>(_ value: T, _ modificator: (inout T) throws -> Void) rethrows -> T {
var result = value
try modificator(&result)
return result
}
@inlinable
public func modifyError<T: Error, U: Error, R>(
_ modificator: (T) -> U,
_ block: () throws -> R
) throws -> R {
do {
return try block()
} catch let e as T {
throw modificator(e)
}
}