UNPKG

@prezly/react-promise-modal

Version:

The proper (and easy) way of doing modals in React. With Promises.

44 lines (42 loc) 1.14 kB
"use strict"; 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;