From 3c77d4ee1818fd44567f7f22cee81b9755b0ad7b Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 06 Jul 2019 15:17:55 +0000
Subject: [PATCH] Remove JS arrow function to increase compatibility

---
 common.js |   45 ++++++++++++++++++++++++---------------------
 1 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/common.js b/common.js
index 964cf68..ef8ee79 100644
--- a/common.js
+++ b/common.js
@@ -22,29 +22,32 @@
  ********/
 
 function Deferred(promise, request) {
-	return {
-		promise: promise,
-		request: request,
-		abort: function() {
-			request.abort.bind(request);
-			return Deferred(promise, request);
-		},
-		done: function(func) {
-			return Deferred(promise.then(func), request);
-		},
-		fail: function(func) {
-			return Deferred(promise.catch(func), request);
-		},
-		always: function(func) {
-			return Deferred(promise.finally(func), request);
-		},
-	};
+	this.promise = promise;
+	this.request = request;
 }
-
+Deferred.prototype = {
+	promise: null,
+	request: null,
+	abort: function() {
+		this.request.abort.bind(this.request);
+		return new Deferred(this.promise, this.request);
+	},
+	done: function(func) {
+		return new Deferred(this.promise.then(func), this.request);
+	},
+	fail: function(func) {
+		return new Deferred(this.promise.catch(func), this.request);
+	},
+	always: function(func) {
+		return new Deferred(this.promise.finally(func), this.request);
+	},
+};
 Deferred.all = function(iterable) {
-	return Deferred(
+	return new Deferred(
 		Promise.all(
-			iterable.map(x => x.promise)
+			iterable.map(function(x) {
+				return x.promise;
+			})
 		)
 	);
 };
@@ -73,7 +76,7 @@
 			request.open('GET', url, true);
 			request.send();
 		});
-		return Deferred(promise, request);
+		return new Deferred(promise, request);
 	},
 };
 

--
Gitblit v1.9.1