as-callback.js 584 Bytes
Newer Older
YazhouChen's avatar
YazhouChen committed
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
"use strict";

module.exports = function (t, a) {
	if (typeof Promise !== "function") return null;
	return {
		Success: function (d) {
			t.call(
				new Promise(function (resolve) {
					resolve("foo");
				}),
				function (error, value) {
					a(error, null);
					a(value, "foo");
					d();
				}
			);
		},
		Failure: function (d) {
			var error = new Error("Rejection");
			t.call(
				new Promise(function (resolve, reject) {
					reject(error);
				}),
				function (passedError, value) {
					a(passedError, error);
					a(value, undefined);
					d();
				}
			);
		}
	};
};