Files
sourcekit-lsp/Sources/SwiftExtensions/ResultExtensions.swift
Alex Hoppen 9618df80a0 Add documentation about each module's purpose and move some files between modules
The purpose of the different modules wasn’t clearly defined, which lead to inconsistent responsibilities between the different modules. Define each module’s purpose and move a few files between modules to satisfy these definitions.

There are a few more larger changes that will need to be made for a fully consistent module structure. These are FIXMEs in the new Modules.md document and I’ll address them in follow-up PRs.
2024-06-25 07:47:45 -07:00

35 lines
921 B
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2018 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
extension Swift.Result {
/// Project out the .success value, or nil.
public var success: Success? {
switch self {
case .success(let value):
return value
default:
return nil
}
}
/// Project out the .failure value, or nil.
public var failure: Failure? {
switch self {
case .failure(let error):
return error
default:
return nil
}
}
}