UNPKG

redux-smart-creators

Version:
16 lines (13 loc) 4.16 kB
var r=function(r){if("string"!=typeof r)throw new Error("Action Type must be a string");if(0===r.trim().length)throw new Error("Action Type cannot be an empty string")},n=function(r){return function(n){if(void 0===n){var t=function(n){return{type:r,payload:n}};return t.type=r,t}!function(r){if("function"!=typeof r)throw new Error("You must provide payload function")}(n);var o=function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return{type:r,payload:n.apply(void 0,t)}};return o.type=r,o}},t=function(r){return r.load=n(r.type),r},o=function(n){r(n);var t=function(){return{type:n}};return t.type=n,t},e=function(r){var n=o(r);return t(n)};function u(r){return null===r?function(r){return e(r)}:function(n){return e("@@"+r+"/"+n)}}var i=["INIT","LOADING","SUCCESS","FAILURE"],a=function(){return(a=Object.assign||function(r){for(var n,t=1,o=arguments.length;t<o;t++)for(var e in n=arguments[t])Object.prototype.hasOwnProperty.call(n,e)&&(r[e]=n[e]);return r}).apply(this,arguments)},f=function(n,t){r(n),function(r){if(!Array.isArray(r))throw new Error("You must provide list of steps or keep steps default");if(0===r.length)throw new Error("You must provide non empty list of steps");r.forEach((function(r){if("string"!=typeof r)throw new Error("All of steps must be a string");if(0===r.trim().length)throw new Error("Steps cannot be an empty string")}))}(t);return t.reduce((function(r,t){var e,u=n+"["+t+"]";return a(a({},r),((e={})[t]=o(u),e))}),{})},c=function(r){var n,o=(n=r,function(r){var o=Object.keys(r),e=Object.keys(n);return o.reduce((function(n,o){var u;if(!e.includes(o))throw new Error("Original steps should include step with payload");if("function"!=typeof r[o])throw new Error("Payload creator must be a function");var i=r[o],f=n[o],c=t(f);return a(a({},n),((u={})[o]=c.load(i),u))}),n)});return a(a({},r),{load:o})}; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function p(r,n){if(void 0===n){var t=f(r,i);return c(t)}var o=f(r,n);return c(o)}function y(r,n){return function(t,o){return p(null===r?t:"@@"+r+"/"+t,void 0===o?n:o)}}var v=function(r,n){if("string"==typeof r){var t=u(r);if(void 0===n){var o={};return o.getCreator=t,o.getAsyncCreator=y(r,i),o}var e={};return e.getCreator=u(r),e.getAsyncCreator=y(r,n),e}var a={};return a.getCreator=u(null),a.getAsyncCreator=y(null,r),a},s=function(){return function(r){return r}},l=function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var t=function(r){return r.type};return r.map(t)};function d(r){var n={},t={create:function(){return function(t,o){return void 0===t?r:void 0===n[o.type]?t:(0,n[o.type])(t,o.payload)}},on:function(r,o){var e=function(r){var t=r.type;n[t]="function"==typeof o?o:function(){return o}};return Array.isArray(r)?(r.forEach(e),t):(e(r),t)},reset:function(){for(var o=[],e=0;e<arguments.length;e++)o[e]=arguments[e];var u=l.apply(void 0,o);return u.forEach((function(t){n[t]=function(){return r}})),t},switchToPayload:function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var e=l.apply(void 0,r);return e.forEach((function(r){n[r]=function(r,n){return n}})),t},getFromPayload:function(r,o){var e=function(r){var t=r.type;n[t]=function(r,n){return o(n)}};return Array.isArray(r)?(r.forEach(e),t):(e(r),t)},injectLogic:function(r){return r(t)}};return t}export{p as getAsyncCreator,e as getCreator,v as getCreatorsPack,s as payload,d as setupReducer};