Simplify types

This commit is contained in:
Anthony Shoumikhin committed 2018-04-17 10:23:06 -05:00
1 parent 2850307f5d
commit 98dabffde1
10 files changed
+48 -34

No files matched your search

+1 -1
View File
@@ -32,10 +32,10 @@ Objective-C and Swift to facilitate writing asynchronous code.
* [Always](g3doc/index.md#always)
* [Any](g3doc/index.md#any)
* [Recover](g3doc/index.md#recover)
* [Resolve](g3doc/index.md#resolve)
* [Timeout](g3doc/index.md#timeout)
* [Validate](g3doc/index.md#validate)
* [When](g3doc/index.md#when)
* [Wrap](g3doc/index.md#wrap)
* [Advanced topics](g3doc/index.md#advanced-topics)
* [Default dispatch queue](g3doc/index.md#default-dispatch-queue)
* [Ownership and retain
+6 -6
View File
@@ -20,11 +20,11 @@
@implementation FBLPromise (AlwaysAdditions)
- (FBLPromise *)always:(void (^)(void))work {
- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work {
return [self onQueue:FBLPromise.defaultDispatchQueue always:work];
}
- (FBLPromise *)onQueue:(dispatch_queue_t)queue always:(void (^)(void))work {
- (FBLPromise *)onQueue:(dispatch_queue_t)queue always:(FBLPromiseAlwaysWorkBlock)work {
NSParameterAssert(queue);
NSParameterAssert(work);
@@ -43,14 +43,14 @@
@implementation FBLPromise (DotSyntax_AlwaysAdditions)
- (FBLPromise* (^)(void (^)(void)))always {
return ^(void (^work)(void)) {
- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always {
return ^(FBLPromiseAlwaysWorkBlock work) {
return [self always:work];
};
}
- (FBLPromise* (^)(dispatch_queue_t, void (^)(void)))alwaysOn {
return ^(dispatch_queue_t queue, void (^work)(void)) {
- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn {
return ^(dispatch_queue_t queue, FBLPromiseAlwaysWorkBlock work) {
return [self onQueue:queue always:work];
};
}
+6 -6
View File
@@ -20,11 +20,11 @@
@implementation FBLPromise (RecoverAdditions)
- (FBLPromise *)recover:(nullable id (^)(NSError *))recovery {
- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery {
return [self onQueue:FBLPromise.defaultDispatchQueue recover:recovery];
}
- (FBLPromise *)onQueue:(dispatch_queue_t)queue recover:(nullable id (^)(NSError *))recovery {
- (FBLPromise *)onQueue:(dispatch_queue_t)queue recover:(FBLPromiseRecoverWorkBlock)recovery {
NSParameterAssert(queue);
NSParameterAssert(recovery);
@@ -39,14 +39,14 @@
@implementation FBLPromise (DotSyntax_RecoverAdditions)
- (FBLPromise * (^)(id __nullable (^)(NSError *)))recover {
return ^(FBLPromise * (^recovery)(NSError *)) {
- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover {
return ^(FBLPromiseRecoverWorkBlock recovery) {
return [self recover:recovery];
};
}
- (FBLPromise * (^)(dispatch_queue_t, id __nullable (^)(NSError *)))recoverOn {
return ^(dispatch_queue_t queue, id __nullable (^recovery)(NSError *)) {
- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn {
return ^(dispatch_queue_t queue, FBLPromiseRecoverWorkBlock recovery) {
return [self onQueue:queue recover:recovery];
};
}
+6 -6
View File
@@ -20,11 +20,11 @@
@implementation FBLPromise (ValidateAdditions)
- (FBLPromise *)validate:(BOOL (^)(id __nullable))predicate {
- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate {
return [self onQueue:FBLPromise.defaultDispatchQueue validate:predicate];
}
- (FBLPromise *)onQueue:(dispatch_queue_t)queue validate:(BOOL (^)(id __nullable))predicate {
- (FBLPromise *)onQueue:(dispatch_queue_t)queue validate:(FBLPromiseValidateWorkBlock)predicate {
NSParameterAssert(queue);
NSParameterAssert(predicate);
@@ -40,14 +40,14 @@
@implementation FBLPromise (DotSyntax_ValidateAdditions)
- (FBLPromise* (^)(BOOL (^)(id __nullable)))validate {
return ^(BOOL (^predicate)(id __nullable)) {
- (FBLPromise* (^)(FBLPromiseValidateWorkBlock))validate {
return ^(FBLPromiseValidateWorkBlock predicate) {
return [self validate:predicate];
};
}
- (FBLPromise* (^)(dispatch_queue_t, BOOL (^)(id __nullable)))validateOn {
return ^(dispatch_queue_t queue, BOOL (^predicate)(id __nullable)) {
- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn {
return ^(dispatch_queue_t queue, FBLPromiseValidateWorkBlock predicate) {
return [self onQueue:queue validate:predicate];
};
}
@@ -20,18 +20,21 @@ NS_ASSUME_NONNULL_BEGIN
@interface FBLPromise<Value>(AlwaysAdditions)
typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
/**
@param work A block that always executes, no matter if the receiver is rejected or fulfilled.
@return A new pending promise to be resolved with same resolution as the receiver.
*/
- (FBLPromise *)always:(void (^)(void))work NS_SWIFT_UNAVAILABLE("");
- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE("");
/**
@param queue A queue to dispatch on.
@param work A block that always executes, no matter if the receiver is rejected or fulfilled.
@return A new pending promise to be resolved with same resolution as the receiver.
*/
- (FBLPromise *)onQueue:(dispatch_queue_t)queue always:(void (^)(void))work NS_REFINED_FOR_SWIFT;
- (FBLPromise *)onQueue:(dispatch_queue_t)queue always:(FBLPromiseAlwaysWorkBlock)work
NS_REFINED_FOR_SWIFT;
@end
@@ -41,10 +44,12 @@ NS_ASSUME_NONNULL_BEGIN
*/
@interface FBLPromise<Value>(DotSyntax_AlwaysAdditions)
- (FBLPromise* (^)(void (^)(void)))always FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
- (FBLPromise* (^)(dispatch_queue_t, void (^)(void)))alwaysOn FBL_PROMISES_DOT_SYNTAX
- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX
NS_SWIFT_UNAVAILABLE("");
- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX
NS_SWIFT_UNAVAILABLE("");
@end
NS_ASSUME_NONNULL_END
@@ -1,3 +1,8 @@
/**
Copyright 2018 Google Inc. All rights reserved.
@@ -20,6 +25,8 @@ NS_ASSUME_NONNULL_BEGIN
@interface FBLPromise<Value>(RecoverAdditions)
typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
/**
Provides a new promise to recover in case the receiver gets rejected.
@@ -27,7 +34,7 @@ NS_ASSUME_NONNULL_BEGIN
@return A new pending promise to use instead of the rejected one that gets resolved with resolution
returned from `recovery` block.
*/
- (FBLPromise *)recover:(nullable id (^)(NSError *))recovery NS_SWIFT_UNAVAILABLE("");
- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE("");
/**
Provides a new promise to recover in case the receiver gets rejected.
@@ -38,7 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
returned from `recovery` block.
*/
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
recover:(nullable id (^)(NSError *))recovery NS_REFINED_FOR_SWIFT;
recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT;
@end
@@ -48,9 +55,9 @@ NS_ASSUME_NONNULL_BEGIN
*/
@interface FBLPromise<Value>(DotSyntax_RecoverAdditions)
- (FBLPromise * (^)(id __nullable (^)(NSError *)))recover FBL_PROMISES_DOT_SYNTAX
- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX
NS_SWIFT_UNAVAILABLE("");
- (FBLPromise * (^)(dispatch_queue_t, id __nullable (^)(NSError *)))recoverOn
- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
@end
@@ -20,6 +20,8 @@ NS_ASSUME_NONNULL_BEGIN
@interface FBLPromise<Value>(ValidateAdditions)
typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
/**
Validates a fulfilled value or rejects the value if it can not be validated.
@@ -27,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN
@return A new pending promise that gets either resolved with same resolution as the receiver or
rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
*/
- (FBLPromise *)validate:(BOOL (^)(Value __nullable))predicate NS_SWIFT_UNAVAILABLE("");
- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE("");
/**
Validates a fulfilled value or rejects the value if it can not be validated.
@@ -38,7 +40,7 @@ NS_ASSUME_NONNULL_BEGIN
rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
*/
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
validate:(BOOL (^)(Value __nullable))predicate NS_REFINED_FOR_SWIFT;
validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT;
@end
@@ -48,9 +50,9 @@ NS_ASSUME_NONNULL_BEGIN
*/
@interface FBLPromise<Value>(DotSyntax_ValidateAdditions)
- (FBLPromise* (^)(BOOL (^)(Value __nullable)))validate FBL_PROMISES_DOT_SYNTAX
- (FBLPromise* (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX
NS_SWIFT_UNAVAILABLE("");
- (FBLPromise* (^)(dispatch_queue_t, BOOL (^)(Value __nullable)))validateOn FBL_PROMISES_DOT_SYNTAX
- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn FBL_PROMISES_DOT_SYNTAX
NS_SWIFT_UNAVAILABLE("");
@end
@@ -23,7 +23,7 @@ NS_ASSUME_NONNULL_BEGIN
*/
typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE("");
typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE("");
typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable error) NS_SWIFT_UNAVAILABLE("");
typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable)
NS_SWIFT_UNAVAILABLE("");
typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable)
+1 -1
View File
@@ -40,7 +40,7 @@ public func all<Value>(
public func all<Value, Container: Sequence>(
on queue: DispatchQueue = .promises,
_ promises: Container
) -> Promise<[Value]> where Container.Iterator.Element == Promise<Value> {
) -> Promise<[Value]> where Container.Element == Promise<Value> {
let promises = promises.map { $0.objCPromise }
let promise = Promise<[Value]>(
Promise<[Value]>.ObjCPromise<AnyObject>.__onQueue(queue, all: promises)
+1 -1
View File
@@ -46,7 +46,7 @@ public func when<Value>(
public func when<Value, Container: Sequence>(
on queue: DispatchQueue = .promises,
_ promises: Container
) -> Promise<[When<Value>]> where Container.Iterator.Element == Promise<Value> {
) -> Promise<[When<Value>]> where Container.Element == Promise<Value> {
let promises = promises.map { $0.objCPromise }
let promise = Promise<[When<Value>]>(
Promise<[When<Value>]>.ObjCPromise<AnyObject>.__onQueue(