Add PromiseKit dependency

- Added PromiseKit dependency
This commit is contained in:
2018-11-15 22:08:00 -04:00
parent 2689d86c18
commit be7b6b5881
541 changed files with 46282 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
#import <MapKit/MKDirections.h>
#import <PromiseKit/AnyPromise.h>
/**
To import the `MKDirections` category:
use_frameworks!
pod "PromiseKit/MapKit"
And then in your sources:
@import PromiseKit;
*/
@interface MKDirections (PromiseKit)
/**
Begins calculating the requested route information asynchronously.
@return A promise that fulfills with a `MKDirectionsResponse`.
*/
- (AnyPromise *)calculateDirections NS_REFINED_FOR_SWIFT;
/**
Begins calculating the requested travel-time information asynchronously.
@return A promise that fulfills with a `MKETAResponse`.
*/
- (AnyPromise *)calculateETA NS_REFINED_FOR_SWIFT;
@end

View File

@@ -0,0 +1,22 @@
#import "MKDirections+AnyPromise.h"
@implementation MKDirections (PromiseKit)
- (AnyPromise *)calculateDirections {
return [AnyPromise promiseWithResolverBlock:^(PMKResolver resolve) {
[self calculateDirectionsWithCompletionHandler:^(id rsp, id err){
resolve(err ?: rsp);
}];
}];
}
- (AnyPromise *)calculateETA {
return [AnyPromise promiseWithResolverBlock:^(PMKResolver resolve) {
[self calculateETAWithCompletionHandler:^(id rsp, id err){
resolve(err ?: rsp);
}];
}];
}
@end

View File

@@ -0,0 +1,38 @@
import MapKit
#if !PMKCocoaPods
import PromiseKit
#endif
/**
To import the `MKDirections` category:
use_frameworks!
pod "PromiseKit/MapKit"
And then in your sources:
import PromiseKit
*/
extension MKDirections {
#if swift(>=4.2)
/// Begins calculating the requested route information asynchronously.
public func calculate() -> Promise<Response> {
return Promise { calculate(completionHandler: $0.resolve) }
}
/// Begins calculating the requested travel-time information asynchronously.
public func calculateETA() -> Promise<ETAResponse> {
return Promise { calculateETA(completionHandler: $0.resolve) }
}
#else
/// Begins calculating the requested route information asynchronously.
public func calculate() -> Promise<MKDirectionsResponse> {
return Promise { calculate(completionHandler: $0.resolve) }
}
/// Begins calculating the requested travel-time information asynchronously.
public func calculateETA() -> Promise<MKETAResponse> {
return Promise { calculateETA(completionHandler: $0.resolve) }
}
#endif
}

View File

@@ -0,0 +1,23 @@
#import <MapKit/MKMapSnapshotter.h>
#import <PromiseKit/AnyPromise.h>
/**
To import the `MKMapSnapshotter` category:
use_frameworks!
pod "PromiseKit/MapKit"
And then in your sources:
@import PromiseKit;
*/
@interface MKMapSnapshotter (PromiseKit)
/**
Starts generating the snapshot using the options set in this object.
@return A promise that fulfills with the generated `MKMapSnapshot` object.
*/
- (AnyPromise *)start NS_REFINED_FOR_SWIFT;
@end

View File

@@ -0,0 +1,14 @@
#import "MKMapSnapshotter+AnyPromise.h"
@implementation MKMapSnapshotter (PromiseKit)
- (AnyPromise *)start {
return [AnyPromise promiseWithResolverBlock:^(PMKResolver resolve) {
[self startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
resolve(error ?: snapshot);
}];
}];
}
@end

View File

@@ -0,0 +1,28 @@
import MapKit
#if !PMKCocoaPods
import PromiseKit
#endif
/**
To import the `MKMapSnapshotter` category:
use_frameworks!
pod "PromiseKit/MapKit"
And then in your sources:
import PromiseKit
*/
extension MKMapSnapshotter {
#if swift(>=4.2)
/// Starts generating the snapshot using the options set in this object.
public func start() -> Promise<Snapshot> {
return Promise { start(completionHandler: $0.resolve) }
}
#else
/// Starts generating the snapshot using the options set in this object.
public func start() -> Promise<MKMapSnapshot> {
return Promise { start(completionHandler: $0.resolve) }
}
#endif
}

View File

@@ -0,0 +1,2 @@
#import "MKDirections+AnyPromise.h"
#import "MKMapSnapshotter+AnyPromise.h"