Skip to content

Commit e2d33d4

Browse files
committed
Further Swift 1.2 fixes
These fixes were required in-between beta 3 and 6.3 GM.
1 parent 6ac68ab commit e2d33d4

File tree

6 files changed

+19
-24
lines changed

6 files changed

+19
-24
lines changed

Swift Sources/NSJSONFromData.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func NSJSONFromDataT<T>(data: NSData) -> Promise<T> {
2424
} else if let cast = json as? T {
2525
return Promise(value: cast)
2626
} else {
27-
var info = NSMutableDictionary()
27+
var info: [NSObject: AnyObject] = [:]
2828
info[NSLocalizedDescriptionKey] = "The server returned JSON in an unexpected arrangement"
2929
if let jo:AnyObject = json { info[PMKJSONErrorJSONObjectKey] = jo }
3030
let error = NSError(domain:PMKErrorDomain, code:PMKJSONError, userInfo:info)

Swift Sources/NSURLConnection+Promise.swift

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ private func fetch<T>(var request: NSURLRequest, body: ((T) -> Void, (NSError) -
3131
//TODO in the event of a non 2xx rsp, try to parse JSON out of the response anyway
3232

3333
func rejecter(error: NSError) {
34-
let info = NSMutableDictionary(dictionary: error.userInfo ?? [:])
34+
var info: [NSObject: AnyObject] = error.userInfo ?? [:]
3535
info[NSURLErrorFailingURLErrorKey] = request.URL
3636
info[NSURLErrorFailingURLStringErrorKey] = request.URL!.absoluteString
3737
if data != nil {
@@ -52,21 +52,15 @@ private func fetch<T>(var request: NSURLRequest, body: ((T) -> Void, (NSError) -
5252
if err != nil {
5353
rejecter(err)
5454
} else {
55-
if let response = (rsp as? NSHTTPURLResponse) {
56-
if response.statusCode < 200 || response.statusCode >= 300 {
57-
rejecter(NSError(domain: NSURLErrorDomain,
58-
code: NSURLErrorBadServerResponse,
59-
userInfo: [
60-
NSLocalizedDescriptionKey: "The server returned a bad HTTP response code",
61-
NSURLErrorFailingURLStringErrorKey: request.URL.absoluteString!,
62-
NSURLErrorFailingURLErrorKey: request.URL
63-
]))
64-
65-
return
66-
}
55+
if let response = (rsp as? NSHTTPURLResponse) where response.statusCode < 200 || response.statusCode >= 300 {
56+
rejecter(NSError(domain: NSURLErrorDomain,
57+
code: NSURLErrorBadServerResponse,
58+
userInfo: [
59+
NSLocalizedDescriptionKey: "The server returned a bad HTTP response code",
60+
]))
61+
} else {
62+
body(fulfiller, rejecter, data, rsp)
6763
}
68-
69-
body(fulfiller, rejecter, data, rsp)
7064
}
7165
}
7266
}

Swift Sources/Promise.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,14 +336,14 @@ public class Promise<T> {
336336

337337
switch state {
338338
case .Fulfilled(let value):
339-
fulfill(body(value()))
339+
fulfill(body(value as! T))
340340
case .Rejected(let error):
341341
reject(error)
342342
case .Pending(let handlers):
343343
handlers.append({
344344
switch self.state {
345345
case .Fulfilled(let value):
346-
fulfill(body(value()))
346+
fulfill(body(value as! T))
347347
case .Rejected(let error):
348348
reject(error)
349349
case .Pending:

Swift Sources/SKRequest+Promise.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ private class SKRequestProxy: NSObject, SKRequestDelegate {
77
fulfill(request)
88
PMKRelease(self)
99
}
10+
1011
func request(request: SKRequest!, didFailWithError error: NSError!) {
1112
reject(error)
1213
PMKRelease(self)
@@ -26,11 +27,11 @@ extension SKRequest {
2627
private class SKProductsRequestProxy: NSObject, SKProductsRequestDelegate {
2728
let (promise, fulfill, reject) = Promise<SKProductsResponse>.defer()
2829

29-
func productsRequest(request: SKProductsRequest!, didReceiveResponse response: SKProductsResponse!) {
30+
@objc func productsRequest(request: SKProductsRequest!, didReceiveResponse response: SKProductsResponse!) {
3031
fulfill(response)
3132
PMKRelease(self)
3233
}
33-
34+
3435
func request(request: SKRequest!, didFailWithError error: NSError!) {
3536
reject(error)
3637
PMKRelease(self)

Swift Sources/UIViewController+Promise.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ private var key = "PMKSomeString"
4545

4646
extension UIViewController {
4747
public func fulfill(value: Any) {
48-
let resolver = objc_getAssociatedObject(self, &key) as Resolver
48+
let resolver = objc_getAssociatedObject(self, &key) as! Resolver
4949
resolver.fulfill(value)
5050
}
5151

5252
public func reject(error:NSError) {
53-
let resolver = objc_getAssociatedObject(self, &key) as Resolver
53+
let resolver = objc_getAssociatedObject(self, &key) as! Resolver
5454
resolver.reject(error)
5555
}
5656

@@ -59,7 +59,7 @@ extension UIViewController {
5959

6060
let (promise, f, r) = Promise<T>.defer()
6161
let fwrap = { (any: Any) in
62-
f(any as T)
62+
f(any as! T)
6363
}
6464

6565
objc_setAssociatedObject(vc, &key, Resolver(fulfill: fwrap, reject: r), UInt(OBJC_ASSOCIATION_RETAIN_NONATOMIC))

Swift Sources/race.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public func race<T>(promises: Promise<T>...) -> Promise<(T, Int)> {
88
promise.thenUnleashZalgo { value->() in
99
fulfill(value, index)
1010
}
11-
promise.catch(reject)
11+
promise.catch(body: reject)
1212
}
1313
}
1414
}

0 commit comments

Comments
 (0)