Signal-iOS/SignalServiceKit/Util/Optional+SSK.swift
2025-07-25 14:26:30 -07:00

17 lines
342 B
Swift

//
// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
extension Optional {
public func mapAsync<T>(_ fn: (Wrapped) async throws -> T) async rethrows -> T? {
switch self {
case .none:
return nil
case .some(let v):
return try await fn(v)
}
}
}