UNPKG

intern

Version:

Intern. A next-generation code testing stack for JavaScript.

62 lines 2.23 kB
(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Deferred = (function () { function Deferred() { var _this = this; this.promise = new Promise(function (resolve, reject) { _this._resolver = resolve; _this._rejector = reject; }); this.promise.then(function () { return _this._finalize; }, function () { return _this._finalize; }); } Deferred.prototype.callback = function (callback) { var dfd = this; return this.rejectOnError(function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var returnValue = callback.apply(this, args); dfd.resolve(); return returnValue; }); }; Deferred.prototype.rejectOnError = function (callback) { var dfd = this; return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } try { return callback.apply(this, args); } catch (error) { dfd.reject(error); } }; }; Deferred.prototype.resolve = function (value) { this._resolver(value); }; Deferred.prototype.reject = function (error) { this._rejector(error); }; Deferred.prototype._finalize = function () { this._resolver = function () { }; this._rejector = function () { }; }; return Deferred; }()); exports.default = Deferred; }); //# sourceMappingURL=Deferred.js.map