UNPKG

@mariocadenas/async-dispatcher

Version:

Higher Order Component to easily manage asynchronous redux actions.

2 lines (1 loc) 7.98 kB
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],r):r((e=e||self)["async-dispatcher"]={},e.React)}(this,function(e,r){"use strict";var t="default"in r?r.default:r;function n(e,r,t,n,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void t(e)}c.done?r(u):Promise.resolve(u).then(n,o)}function o(e){return function(){var r=this,t=arguments;return new Promise(function(o,a){var i=e.apply(r,t);function c(e){n(i,o,a,c,u,"next",e)}function u(e){n(i,o,a,c,u,"throw",e)}c(void 0)})}}function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(){return(i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function u(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=[],n=!0,o=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(n=(i=c.next()).done)&&(t.push(i.value),!r||t.length!==r);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw a}}return t}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function s(e,r){return e(r={exports:{}},r.exports),r.exports}var f,p=s(function(e,r){!function(){Object.defineProperty(r,"__esModule",{value:!0});var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,o=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,c=e?Symbol.for("react.provider"):60109,u=e?Symbol.for("react.context"):60110,s=e?Symbol.for("react.async_mode"):60111,f=e?Symbol.for("react.concurrent_mode"):60111,p=e?Symbol.for("react.forward_ref"):60112,l=e?Symbol.for("react.suspense"):60113,y=e?Symbol.for("react.suspense_list"):60120,d=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,v=e?Symbol.for("react.fundamental"):60117,b=e?Symbol.for("react.responder"):60118;var h=function(e){for(var r=arguments.length,t=Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];var o=0,a="Warning: "+e.replace(/%s/g,function(){return t[o++]});"undefined"!=typeof console&&console.warn(a);try{throw new Error(a)}catch(e){}},g=function(e,r){if(void 0===r)throw new Error("`lowPriorityWarning(condition, format, ...args)` requires a warning message argument");if(!e){for(var t=arguments.length,n=Array(t>2?t-2:0),o=2;o<t;o++)n[o-2]=arguments[o];h.apply(void 0,[r].concat(n))}};function w(e){if("object"==typeof e&&null!==e){var r=e.$$typeof;switch(r){case t:var y=e.type;switch(y){case s:case f:case o:case i:case a:case l:return y;default:var v=y&&y.$$typeof;switch(v){case u:case p:case c:return v;default:return r}}case m:case d:case n:return r}}}var P=s,O=f,S=u,j=c,x=t,$=p,M=o,C=m,E=d,A=n,R=i,F=a,_=l,T=!1;function D(e){return w(e)===f}r.typeOf=w,r.AsyncMode=P,r.ConcurrentMode=O,r.ContextConsumer=S,r.ContextProvider=j,r.Element=x,r.ForwardRef=$,r.Fragment=M,r.Lazy=C,r.Memo=E,r.Portal=A,r.Profiler=R,r.StrictMode=F,r.Suspense=_,r.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===f||e===i||e===a||e===l||e===y||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===d||e.$$typeof===c||e.$$typeof===u||e.$$typeof===p||e.$$typeof===v||e.$$typeof===b)},r.isAsyncMode=function(e){return T||(T=!0,g(!1,"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),D(e)||w(e)===s},r.isConcurrentMode=D,r.isContextConsumer=function(e){return w(e)===u},r.isContextProvider=function(e){return w(e)===c},r.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},r.isForwardRef=function(e){return w(e)===p},r.isFragment=function(e){return w(e)===o},r.isLazy=function(e){return w(e)===m},r.isMemo=function(e){return w(e)===d},r.isPortal=function(e){return w(e)===n},r.isProfiler=function(e){return w(e)===i},r.isStrictMode=function(e){return w(e)===a},r.isSuspense=function(e){return w(e)===l}}()});(f=p)&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")&&f.default;p.typeOf,p.AsyncMode,p.ConcurrentMode,p.ContextConsumer,p.ContextProvider,p.Element,p.ForwardRef,p.Fragment,p.Lazy,p.Memo,p.Portal,p.Profiler,p.StrictMode,p.Suspense,p.isValidElementType,p.isAsyncMode,p.isConcurrentMode,p.isContextConsumer,p.isContextProvider,p.isElement,p.isForwardRef,p.isFragment,p.isLazy,p.isMemo,p.isPortal,p.isProfiler,p.isStrictMode,p.isSuspense;var l=s(function(e){e.exports=p}),y={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},d={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},m={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},v={};function b(e){return l.isMemo(e)?m:v[e.$$typeof]||y}v[l.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var h=Object.defineProperty,g=Object.getOwnPropertyNames,w=Object.getOwnPropertySymbols,P=Object.getOwnPropertyDescriptor,O=Object.getPrototypeOf,S=Object.prototype;var j=function e(r,t,n){if("string"!=typeof t){if(S){var o=O(t);o&&o!==S&&e(r,o,n)}var a=g(t);w&&(a=a.concat(w(t)));for(var i=b(r),c=b(t),u=0;u<a.length;++u){var s=a[u];if(!(d[s]||n&&n[s]||c&&c[s]||i&&i[s])){var f=P(t,s);try{h(r,s,f)}catch(e){}}}return r}return r},x={storage:new Set,contains:function(e){return this.storage.has(e)},cacheActions:function(e){var r=this;return e.forEach(function(e){return r.storage.add(e)}),this.storage},removeAction:function(e){return this.storage.delete(e)}};function $(e){var n=e.actions;return function(a){var c=function(c){var s=u(r.useState(!0),2),f=s[0],p=s[1],l=u(r.useState(null),2),y=l[0],d=l[1],m=n.filter(function(e){return!x.contains(e)});if(x.cacheActions(n),r.useEffect(function(){function e(){return(e=o(regeneratorRuntime.mark(function e(){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=m.map(function(){var e=o(regeneratorRuntime.mark(function e(r){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",$.dispatch(r()));case 1:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}()),e.next=4,Promise.all(r);case 4:p(!1),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),d(e.t0);case 10:case"end":return e.stop()}},e,null,[[0,7]])}))).apply(this,arguments)}!function(){e.apply(this,arguments)}()},[p,d]),f&&!y)return e.loading();if(y)return e.error(y);var v=M(n,$.dispatch);return t.createElement(a,i({loading:f,error:y},v,c))};return c.displayName="asyncConnected(".concat(a.displayName||a.name,")"),j(c,a),c}}var M=function(e,r){return e.reduce(function(e,t){return function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(t,!0).forEach(function(r){a(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(t).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}({},e,a({},t.name,function(){return r(t())}))},{})},C=function(){throw new Error("You should pass a valid store object.")};e.configureDispatcher=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.dispatch,t=void 0===r?C():r;return Object.defineProperty($,"dispatch",{value:t,writable:!1,configurable:!1})},e.default=$,Object.defineProperty(e,"__esModule",{value:!0})});