COVIDSafe code from version 1.1

This commit is contained in:
covidsafe-support 2020-05-08 17:49:14 +10:00
commit 3640e52eb2
330 changed files with 261540 additions and 0 deletions

View file

@ -0,0 +1,35 @@
// Copyright © 2020 Australian Government All rights reserved.
import Foundation
public typealias VoidOutcome = Outcome<Void>
public enum Outcome<T> {
case success(T)
case error(Error)
case cancelled
public init(resultOrNil: T?, errorOrNil: Error?) {
if let error = errorOrNil {
self = .error(error)
return
}
if let result = resultOrNil {
self = .success(result)
return
}
self = .error(ProgrammerError.encounteredNilResultAndNilErrorOutcome)
}
public init<A>(somethingOrNothing: A?, resultIfSomething: T, errorIfNothing: Error) {
if somethingOrNothing != nil {
self = .success(resultIfSomething)
} else {
self = .error(errorIfNothing)
}
}
}
enum ProgrammerError: Error {
case encounteredNilResultAndNilErrorOutcome
}