summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-08-31 23:07:20 +0200
committerJules Laplace <julescarbon@gmail.com>2020-08-31 23:07:20 +0200
commit22721a013bdd10d5eb395ba18453585f5f3f1f7f (patch)
tree5a920e31d6026ed5dc55265e5fd057febccc50e3 /StoneIsland/platforms/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h
parentd22d51a1ae49680015326857360eb699f31efced (diff)
rebuild the ios platform and the plugins
Diffstat (limited to 'StoneIsland/platforms/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h')
-rw-r--r--StoneIsland/platforms/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/StoneIsland/platforms/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h b/StoneIsland/platforms/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h
new file mode 100644
index 00000000..b1380dc7
--- /dev/null
+++ b/StoneIsland/platforms/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h
@@ -0,0 +1,93 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at:
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+#import "FBLPromiseError.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Promises synchronization construct in Objective-C.
+ */
+@interface FBLPromise<__covariant Value> : NSObject
+
+/**
+ Default dispatch queue used for `FBLPromise`, which is `main` if a queue is not specified.
+ */
+@property(class) dispatch_queue_t defaultDispatchQueue NS_REFINED_FOR_SWIFT;
+
+/**
+ Creates a pending promise.
+ */
++ (instancetype)pendingPromise NS_REFINED_FOR_SWIFT;
+
+/**
+ Creates a resolved promise.
+
+ @param resolution An object to resolve the promise with: either a value or an error.
+ @return A new resolved promise.
+ */
++ (instancetype)resolvedWith:(nullable id)resolution NS_REFINED_FOR_SWIFT;
+
+/**
+ Synchronously fulfills the promise with a value.
+
+ @param value An arbitrary value to fulfill the promise with, including `nil`.
+ */
+- (void)fulfill:(nullable Value)value NS_REFINED_FOR_SWIFT;
+
+/**
+ Synchronously rejects the promise with an error.
+
+ @param error An error to reject the promise with.
+ */
+- (void)reject:(NSError *)error NS_REFINED_FOR_SWIFT;
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+@end
+
+@interface FBLPromise<Value>()
+
+/**
+ Adds an object to the set of pending objects to keep strongly while the promise is pending.
+ Used by the Swift wrappers to keep them alive until the underlying ObjC promise is resolved.
+
+ @param object An object to add.
+ */
+- (void)addPendingObject:(id)object NS_REFINED_FOR_SWIFT;
+
+@end
+
+#ifdef FBL_PROMISES_DOT_SYNTAX_IS_DEPRECATED
+#define FBL_PROMISES_DOT_SYNTAX __attribute__((deprecated))
+#else
+#define FBL_PROMISES_DOT_SYNTAX
+#endif
+
+@interface FBLPromise<Value>(DotSyntaxAdditions)
+
+/**
+ Convenience dot-syntax wrappers for FBLPromise.
+ Usage: FBLPromise.pending()
+ FBLPromise.resolved(value)
+
+ */
++ (instancetype (^)(void))pending FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
++ (instancetype (^)(id __nullable))resolved FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END