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.
42 lines
912 B
42 lines
912 B
//
|
|
// Promise+Helpers.swift
|
|
// then
|
|
//
|
|
// Created by Sacha Durand Saint Omer on 20/02/2017.
|
|
// Copyright © 2017 s4cha. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public extension Promise {
|
|
public class func reject(_ error: Error = PromiseError.default) -> Promise<T> {
|
|
return Promise { _, reject in reject(error) }
|
|
}
|
|
}
|
|
|
|
public extension Promise {
|
|
public class func resolve(_ value: T) -> Promise<T> {
|
|
return Promise { resolve, _ in resolve(value) }
|
|
}
|
|
}
|
|
|
|
extension Promise where T == Void {
|
|
public class func resolve() -> Promise<Void> {
|
|
return Promise { resolve, _ in resolve() }
|
|
}
|
|
}
|
|
|
|
public extension Promise {
|
|
|
|
public var value: T? {
|
|
return synchronize { state, _ in
|
|
return state.value
|
|
}
|
|
}
|
|
|
|
public var error: Error? {
|
|
return synchronize { state, _ in
|
|
return state.error
|
|
}
|
|
}
|
|
}
|