@prezly/react-promise-modal
Version:
The proper (and easy) way of doing modals in React. With Promises.
44 lines (42 loc) • 1.14 kB
JavaScript
;
var _lib = require("./lib");
var noop = _lib.noop;
/**
* This kinda follows the Jquery.Deferred type idea.
* @see https://api.jquery.com/jQuery.Deferred/
*
* Deferred is mostly a promise, but you can resolve or reject it from outside.
* This 'Deferred' here is a much more limited version of the JQuery Deferred.
*/
function createDeferred() {
var isSettled = false;
var resolvePromise = noop;
var rejectPromise = noop;
var promise = new Promise(function (resolve, reject) {
resolvePromise = resolve;
rejectPromise = reject;
});
return {
promise: promise,
resolve: function resolve(value) {
isSettled = true;
resolvePromise(value);
},
reject: function reject(reason) {
isSettled = true;
rejectPromise(reason);
},
isSettled: function (_isSettled) {
function isSettled() {
return _isSettled.apply(this, arguments);
}
isSettled.toString = function () {
return _isSettled.toString();
};
return isSettled;
}(function () {
return isSettled;
})
};
}
exports.createDeferred = createDeferred;