aboutsummaryrefslogtreecommitdiff
path: root/node_modules/when/cancelable.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
committerFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
commitabd94a7f5a50f43c797a11b53549ae48fff667c3 (patch)
treeab8ed457f65cdd72e13e0571d2975729428f1551 /node_modules/when/cancelable.js
parenta0247c6a3fd6a09a41a7e35a3441324c4dcb58be (diff)
downloadwallet-core-abd94a7f5a50f43c797a11b53549ae48fff667c3.tar.xz
add node_modules to address #4364
Diffstat (limited to 'node_modules/when/cancelable.js')
-rw-r--r--node_modules/when/cancelable.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/node_modules/when/cancelable.js b/node_modules/when/cancelable.js
new file mode 100644
index 000000000..7a4d08f66
--- /dev/null
+++ b/node_modules/when/cancelable.js
@@ -0,0 +1,54 @@
+/** @license MIT License (c) copyright B Cavalier & J Hann */
+
+/**
+ * cancelable.js
+ * @deprecated
+ *
+ * Decorator that makes a deferred "cancelable". It adds a cancel() method that
+ * will call a special cancel handler function and then reject the deferred. The
+ * cancel handler can be used to do resource cleanup, or anything else that should
+ * be done before any other rejection handlers are executed.
+ *
+ * Usage:
+ *
+ * var cancelableDeferred = cancelable(when.defer(), myCancelHandler);
+ *
+ * @author brian@hovercraftstudios.com
+ */
+
+(function(define) {
+define(function() {
+
+ /**
+ * Makes deferred cancelable, adding a cancel() method.
+ * @deprecated
+ *
+ * @param deferred {Deferred} the {@link Deferred} to make cancelable
+ * @param canceler {Function} cancel handler function to execute when this deferred
+ * is canceled. This is guaranteed to run before all other rejection handlers.
+ * The canceler will NOT be executed if the deferred is rejected in the standard
+ * way, i.e. deferred.reject(). It ONLY executes if the deferred is canceled,
+ * i.e. deferred.cancel()
+ *
+ * @returns deferred, with an added cancel() method.
+ */
+ return function(deferred, canceler) {
+ // Add a cancel method to the deferred to reject the delegate
+ // with the special canceled indicator.
+ deferred.cancel = function() {
+ try {
+ deferred.reject(canceler(deferred));
+ } catch(e) {
+ deferred.reject(e);
+ }
+
+ return deferred.promise;
+ };
+
+ return deferred;
+ };
+
+});
+})(typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(); });
+
+