You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

39 lines
795 B

//
// Await+Operators.swift
// then
//
// Created by Sacha DSO on 30/05/2018.
// Copyright © 2018 s4cha. All rights reserved.
//
import Foundation
prefix operator ..
public prefix func .. <T>(promise: Promise<T>) throws -> T {
return try await(promise)
}
public prefix func .. <T>(promise: Promise<T>?) throws -> T {
guard let promise = promise else { throw PromiseError.unwrappingFailed }
return try await(promise)
}
prefix operator ..?
public prefix func ..? <T>(promise: Promise<T>) -> T? {
do {
return try await(promise)
} catch {
return nil
}
}
public prefix func ..? <T>(promise: Promise<T>?) -> T? {
guard let promise = promise else { return nil }
do {
return try await(promise)
} catch {
return nil
}
}