File size: 626 Bytes
b5ea024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"use strict";

var delay = require("../../delay");

module.exports = function (t, a) {
	if (typeof Promise !== "function") return null;
	return {
		Tick: function (d) {
			var isInvoked = false;
			t().then(function (result) {
				isInvoked = true;
				delay(function () {
					a(result, undefined);
					d();
				})();
			}, delay(d));
			a(isInvoked, false);
		},
		Timeout: function (d) {
			var isInvoked = false;
			t(100).then(
				delay(function (result) {
					isInvoked = true;
					a(result, undefined);
					d();
				}),
				delay(d)
			);
			setTimeout(function () {
				a(isInvoked, false);
			}, 50);
		}
	};
};