necto
Version:
Necto compliments Redux by providing a composable, declarative api to create flows through redux (Action -> Reducer or Action -> Saga). The intent of Necto is to reduce boilerplate, simplify and standardize action creators, and group action logic so that
4 lines • 23.5 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("necto",[],e):"object"==typeof exports?exports.necto=e():t.necto=e()}(window,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/dist/",n(n.s=9)}([function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){var r=n(0);t.exports=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),o.forEach(function(e){r(t,e,n[e])})}return t}},function(t,e,n){
/*! Case - v1.6.1 - 2019-01-11
* Copyright (c) 2019 Nathan Bubna; Licensed MIT, GPL */
(function(){"use strict";var e=function(t,e){return e=e||"",t.replace(/(^|-)/g,"$1\\u"+e).replace(/,/g,"\\u"+e)},n=e("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),r="a-z"+e("DF-F6,F8-FF","00"),o="A-Z"+e("C0-D6,D8-DE","00"),a=function(t,e,a,i){return t=t||n,e=e||r,a=a||o,i=i||"A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",{capitalize:new RegExp("(^|["+t+"])(["+e+"])","g"),pascal:new RegExp("(^|["+t+"])+(["+e+a+"])","g"),fill:new RegExp("["+t+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+e+"])","g"),improper:new RegExp("\\b("+i+")\\b","g"),relax:new RegExp("([^"+a+"])(["+a+"]*)(["+a+"])(?=[^"+a+"]|$)","g"),upper:new RegExp("^[^"+e+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+t+"]")}},i=a(),c={re:i,unicodes:e,regexps:a,types:[],up:String.prototype.toUpperCase,low:String.prototype.toLowerCase,cap:function(t){return c.up.call(t.charAt(0))+t.slice(1)},decap:function(t){return c.low.call(t.charAt(0))+t.slice(1)},deapostrophe:function(t){return t.replace(i.apostrophe,"")},fill:function(t,e,n){return null!=e&&(t=t.replace(i.fill,function(t,n){return n?e+n:""})),n&&(t=c.deapostrophe(t)),t},prep:function(t,e,n,r){if(t=null==t?"":t+"",!r&&i.upper.test(t)&&(t=c.low.call(t)),!e&&!i.hole.test(t)){var o=c.fill(t," ");i.hole.test(o)&&(t=o)}return n||i.room.test(t)||(t=t.replace(i.relax,c.relax)),t},relax:function(t,e,n,r){return e+" "+(n?n+" ":"")+r}},u={_:c,of:function(t){for(var e=0,n=c.types.length;e<n;e++)if(u[c.types[e]].apply(u,arguments)===t)return c.types[e]},flip:function(t){return t.replace(/\w/g,function(t){return(t==c.up.call(t)?c.low:c.up).call(t)})},random:function(t){return t.replace(/\w/g,function(t){return(Math.round(Math.random())?c.up:c.low).call(t)})},type:function(t,e){u[t]=e,c.types.push(t)}},f={lower:function(t,e,n){return c.fill(c.low.call(c.prep(t,e)),e,n)},snake:function(t){return u.lower(t,"_",!0)},constant:function(t){return u.upper(t,"_",!0)},camel:function(t){return c.decap(u.pascal(t))},kebab:function(t){return u.lower(t,"-",!0)},upper:function(t,e,n){return c.fill(c.up.call(c.prep(t,e,!1,!0)),e,n)},capital:function(t,e,n){return c.fill(c.prep(t).replace(i.capitalize,function(t,e,n){return e+c.up.call(n)}),e,n)},header:function(t){return u.capital(t,"-",!0)},pascal:function(t){return c.fill(c.prep(t,!1,!0).replace(i.pascal,function(t,e,n){return c.up.call(n)}),"",!0)},title:function(t){return u.capital(t).replace(i.improper,function(t,e,n,r){return n>0&&n<r.lastIndexOf(" ")?c.low.call(t):t})},sentence:function(t,e,n){return t=u.lower(t).replace(i.sentence,function(t,e,n){return e+c.up.call(n)}),e&&e.forEach(function(e){t=t.replace(new RegExp("\\b"+u.lower(e)+"\\b","g"),c.cap)}),n&&n.forEach(function(e){t=t.replace(new RegExp("(\\b"+u.lower(e)+"\\. +)(\\w)"),function(t,e,n){return e+c.low.call(n)})}),t}};for(var l in f.squish=f.pascal,f)u.type(l,f[l]);var s="function"==typeof s?s:function(){};s(t.exports?t.exports=u:this.Case=u)}).call(this)},function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,n,r){var o=e&&e.prototype instanceof d?e:d,a=Object.create(o.prototype),i=new k(r||[]);return a._invoke=function(t,e,n){var r=l;return function(o,a){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===o)throw a;return j()}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var c=O(i,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var u=f(t,e,n);if("normal"===u.type){if(r=n.done?h:s,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=h,n.method="throw",n.arg=u.arg)}}}(t,n,i),a}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var l="suspendedStart",s="suspendedYield",p="executing",h="completed",y={};function d(){}function v(){}function g(){}var m={};m[a]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(L([])));b&&b!==n&&r.call(b,a)&&(m=b);var x=g.prototype=d.prototype=Object.create(m);function S(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function E(t){var e;this._invoke=function(n,o){function a(){return new Promise(function(e,a){!function e(n,o,a,i){var c=f(t[n],t,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then(function(t){e("next",t,a,i)},function(t){e("throw",t,a,i)}):Promise.resolve(l).then(function(t){u.value=t,a(u)},function(t){return e("throw",t,a,i)})}i(c.arg)}(n,o,e,a)})}return e=e?e.then(a,a):a()}}function O(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method))return y;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var o=f(r,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function _(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function L(t){if(t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}return{next:j}}function j(){return{value:e,done:!0}}return v.prototype=x.constructor=g,g.constructor=v,g[c]=v.displayName="GeneratorFunction",t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,g):(t.__proto__=g,c in t||(t[c]="GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},S(E.prototype),E.prototype[i]=function(){return this},t.AsyncIterator=E,t.async=function(e,n,r,o){var a=new E(u(e,n,r,o));return t.isGeneratorFunction(n)?a:a.next().then(function(t){return t.done?t.value:a.next()})},S(x),x[c]="Generator",x[a]=function(){return this},x.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=L,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(_),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return c.type="throw",c.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),f=r.call(i,"finallyLoc");if(u&&f){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;_(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:L(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){t.exports=n(3)},function(t,e,n){var r=n(8);t.exports=function(t,e){if(null==t)return{};var n,o,a=r(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)n=i[o],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e){function n(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}t.exports=function(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}},function(t,e){t.exports=function(t,e){if(null==t)return{};var n,r,o={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}},function(t,e,n){"use strict";n.r(e);var r=n(1),o=n.n(r),a=n(0),i=n.n(a),c=n(5),u=n.n(c),f=n(6),l=n.n(f),s=n(7),p=n.n(s),h=(n(3),function(t){return"@@redux-saga/"+t}),y=h("IO"),d=h("MULTICAST"),v=h("SELF_CANCELLATION");var g=function(t){return null!=t},m=function(t){return"function"==typeof t},w=function(t){return"string"==typeof t},b=Array.isArray,x=function t(e){return e&&(w(e)||O(e)||m(e)||b(e)&&e.every(t))},S=function(t){return t&&m(t.take)&&m(t.close)},E=function(t){return m(t)&&t.hasOwnProperty("toString")},O=function(t){return Boolean(t)&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype},A=function(t){return S(t)&&t[d]};"function"==typeof Symbol&&Symbol.asyncIterator&&Symbol.asyncIterator;var _=function(t){throw t},k=function(t){return{value:t,done:!0}};var L="TAKE",j="ALL",R="CALL",P="FORK",q="CANCEL",F=function(t,e){var n;return(n={})[y]=!0,n.combinator=!1,n.type=t,n.payload=e,n};function N(t,e){return void 0===t&&(t="*"),x(t)?F(L,{pattern:t}):A(t)&&g(e)&&x(e)?F(L,{channel:t,pattern:e}):S(t)?F(L,{channel:t}):void 0}var I=function(){var t=N.apply(void 0,arguments);return t.payload.maybe=!0,t};function T(t,e){var n,r=null;return m(t)?n=t:(b(t)?(r=t[0],n=t[1]):(r=t.context,n=t.fn),r&&w(n)&&m(r[n])&&(n=r[n])),{context:r,fn:n,args:e}}function C(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return F(R,T(t,n))}function G(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return F(P,T(t,n))}var M=function(t){return{done:!0,value:t}},U={};function B(t){return S(t)?"channel":E(t)?String(t):m(t)?t.name:String(t)}function D(t,e,n){var r,o,a,i=e;function c(e,n){if(i===U)return M(e);if(n&&!o)throw i=U,n;r&&r(e);var c=n?t[o](n):t[i]();return i=c.nextState,a=c.effect,r=c.stateUpdater,o=c.errorState,i===U?M(e):a}return function(t,e,n){void 0===e&&(e=_),void 0===n&&(n="iterator");var r={meta:{name:n},next:t,throw:e,return:k,isSagaIterator:!0};return"undefined"!=typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}(c,function(t){return c(null,t)},n)}function K(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,i={done:!1,value:N(t)},c=function(t){return a=t};return D({q1:function(){return{nextState:"q2",effect:i,stateUpdater:c}},q2:function(){return{nextState:"q1",effect:(t=a,{done:!1,value:G.apply(void 0,[e].concat(r,[t]))})};var t}},"q1","takeEvery("+B(t)+", "+e.name+")")}function W(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,i,c={done:!1,value:N(t)},u=function(t){return{done:!1,value:G.apply(void 0,[e].concat(r,[t]))}},f=function(t){return{done:!1,value:(e=t,void 0===e&&(e=v),F(q,e))};var e},l=function(t){return a=t},s=function(t){return i=t};return D({q1:function(){return{nextState:"q2",effect:c,stateUpdater:s}},q2:function(){return a?{nextState:"q3",effect:f(a)}:{nextState:"q1",effect:u(i),stateUpdater:l}},q3:function(){return{nextState:"q1",effect:u(i),stateUpdater:l}}},"q1","takeLatest("+B(t)+", "+e.name+")")}function $(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,i={done:!1,value:N(t)},c=function(t){return a=t};return D({q1:function(){return{nextState:"q2",effect:i,stateUpdater:c}},q2:function(){return{nextState:"q1",effect:(t=a,{done:!1,value:C.apply(void 0,[e].concat(r,[t]))})};var t}},"q1","takeLeading("+B(t)+", "+e.name+")")}function z(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return G.apply(void 0,[K,t,e].concat(r))}function J(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return G.apply(void 0,[W,t,e].concat(r))}function V(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return G.apply(void 0,[$,t,e].concat(r))}var Y=n(2),Z=n.n(Y),H=function(t){return t&&"[object Function]"==={}.toString.call(t)||"[object GeneratorFunction]"==={}.toString.call(t)},Q=function(t){return t&&"[object GeneratorFunction]"==={}.toString.call(t)},X=function(t,e,n){e=function(t){if("string"!=typeof t)return t;var e=[];return t.split(".").forEach(function(t,n){t.split(/\[([^}]+)\]/g).forEach(function(t){t.length>0&&e.push(t)})}),e}(e);for(var r=t,o=0;o<e.length;o++){if(!r[e[o]])return n;r=r[e[o]]}return r},tt=function(t){return!function(t){return[Object,Array].includes((t||{}).constructor)}(t)||!function(t){for(var e=Object.keys(t),n=e.length,r=new Array(n);n--;)r[n]=[e[n],t[e[n]]];return r}(t||{}).length},et=function(t,e){throw new Error('Missing parameter "'.concat(t,'" in ').concat(e,"."))},nt=et,rt=function(t,e,n){var r=X(t,e);0===r||!1===r||r||function(t,e,n){var r=t.payload,o=t.meta,a=t.type,i="".concat(a||n,' expected to contain the parameter "').concat(e,'" but received the following action instead.\n ---\n @payload\n ').concat(JSON.stringify(r),"\n ---\n @meta\n ").concat(JSON.stringify(o),"\n ---\n ");throw new Error(i)}(t,e,n)},ot=function(t){var e=t.requiredParams,n=t.actionResult,r=t.actionName;Array.isArray(e)&&e.length&&e.forEach(function(t){try{rt(n,t,r)}catch(t){console.error(t)}})},at=function(t){var e=t.actionName,n=void 0===e?nt("actionName","ensureRequiredParams"):e,r=t.actionResult,o=void 0===r?nt("actionResult","ensureRequiredParams"):r,a=t.requiredParams,i=void 0===a?null:a,c=t.shouldSilenceErrors,u=void 0!==c&&c;if(H(u)&&u())return o;if(H(i)&&(i=i(o)),tt(i))return o;if(Array.isArray(i))ot({requiredParams:i,actionResult:o,actionName:n});else{var f=i,l=f.payload,s=f.meta;if(l&&H(l.map)){var p=l.map(function(t){return"payload.".concat(t)});ot({requiredParams:p,actionResult:o,actionName:n})}if(s&&H(s.map)){var h=s.map(function(t){return"meta.".concat(t)});ot({requiredParams:h,actionResult:o,actionName:n})}}return o},it=n(4),ct=n.n(it),ut={yield:"takeEvery",getWatch:void 0},ft=["takeEvery","takeLatest","takeLeading"],lt=function(t){return function(e){return e._actionType===t}},st=function(t){switch(t){case"takeEvery":return z;case"takeLatest":return J;case"takeLeading":return V;case"takeMaybe":return I;default:return z}};var pt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nt("constant","createSaga"),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nt("fn","createSaga"),n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ut;if("string"!=typeof t)throw new Error("The argument (".concat(t,") passed into createSaga is not a valid parameter. Constant must be a String."));if(!Q(e))throw new Error("The argument (".concat(e,") passed into createSaga is not a valid parameter. Fn must be valid generator function."));var r,o=Object.assign({},ut,n);if(o.getWatch&&H(o.getWatch))r=o.getWatch(t,e,o);else{var a=o.yield;ft.includes(a)||(a=ut.yield);var i=st(a);r=ct.a.mark(function n(){return ct.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,i(lt(t),e);case 2:case"end":return n.stop()}},n)})}return{fn:e,watch:r,constant:t}},ht=function(t,e){var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("undefined"!==(r=t)&&("string"==typeof r||r instanceof String))return function(t,e,n){var r=Z.a.camel(t),o=Z.a.constant(t);return n&&n.async&&(o="[SAGA]/".concat(o)),{actionName:r,actionType:"".concat(e,"/").concat(o),constantKey:o}}(t,e,o);if((n=t)&&n.hasOwnProperty&&n.hasOwnProperty("name")&&n.hasOwnProperty("type"))return function(t,e,n){var r=t.name,o=t.type;t.merge;return t.merge&&(o="".concat(e,"/").concat(o)),{actionName:r,actionType:o,constantKey:o}}(t,e);throw new Error("Invalid param used in ".concat(e,".createFlow - Expected String or {name, type} but received ").concat(t," instead."))},yt={requiredParams:[],interactionRequired:!0},dt=function(t){var e=Z.a.constant(t);return function(t){var n,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:yt,u=Object.assign({},yt,c),f=ht(t,e,u),l=f.actionName,s=f.constantKey,p=f.actionType,h=a&&H(a);h&&(Q(a)?r=pt(p,a,c):n=a);var y=function(){var e,n,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(e=u.interactionRequired,n="interaction",r=p,void(e&&et(n,r))),c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(u.interactionRequired&&"string"!=typeof i)throw new Error("Actions must contain an interaction description string as the first parameter.\n Expected a String, received ".concat(i," instead."));var l="[".concat(p,"]");if("string"==typeof i)l+=" ".concat(i);else{var s=Array.prototype.slice.call(arguments);c=s[0]||{},f=s[1]||{},i=null}var y={};return y=c instanceof Error?{payload:{message:c.message,stack:c.stack},error:!0}:{payload:c},at({actionName:t,requiredParams:u.requiredParams,actionResult:o()({},y,{meta:f,type:l,_actionType:p,_interaction:i,_requiredParams:u.requiredParams,_async:!(!h||!Q(a))})})};return{actionName:l,actionType:p,saga:r,action:y,reducer:n,_internal:{Constant:i()({},s,p),Action:i()({},l,y),Reducer:n&&i()({},p,n),Saga:r&&i()({},p,r)}}}},vt=function(t,e,n){return function(r){var o=e;try{o=(0,t[n[r]])(e,n)}catch(t){var a=new Error("An error occurred while calling the reducer for ".concat(n[r],". ").concat(t.stack));a.stack=t.stack,console.error(a)}return o}},gt=function(t,e){return function(n){return t&&e&&e[n]&&t.hasOwnProperty(e[n])&&H(t[e[n]])}};var mt=function(){return{initialState:{}}},wt=function(){function t(e,n){var r=this;l()(this,t),this.name=e,this.nameConstant=this.formatNameConstant(e),this.options=Object.assign(mt(),n),this.InitialState=this._getInitialState(this.options.initialState),this.Constants={},this.Actions={},this.Reducers={},this.Sagas={};var o=this._getInitialFlows(dt(this.name));Array.isArray(o)&&o.forEach(function(t){var e=t._internal;r._attachFlow(e)})}return p()(t,[{key:"createFlow",value:function(){for(var t=dt(this.name),e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var o=t.apply(this,n),a=o._internal,i=u()(o,["_internal"]);return this._attachFlow(a),i}},{key:"addSaga",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=pt.apply(this,e);return this._attachFlow({Saga:i()({},r.constant,r.watch)}),r}},{key:"addReducer",value:function(t,e){if("string"!=typeof t)throw new Error("addReducer expected constant to be a string, instead got ".concat(t));if(!H(e))throw new Error("addReducer expected a function, instead got ".concat(e));this._attachFlow({Reducer:i()({},t,e)})}},{key:"getSagas",value:function(){var t,e=this,n=[];return Object.keys(this.Sagas).forEach(function(t){var r=e.Sagas[t].watch;n.push(G(r))}),(t=F(j,n)).combinator=!0,t}},{key:"getReducers",value:function(){return i()({},this.name,(t=this.InitialState,e=this.Reducers,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,r=arguments.length>1?arguments[1]:void 0,o=gt(e,r),a=vt(e,n,r);return o("_actionType")?a("_actionType"):o("type")?a("type"):n}));var t,e}},{key:"formatNameConstant",value:function(t){return Z.a.constant(t)}},{key:"_getInitialState",value:function(t){var e=this.getInitialState()||{};return o()({},e,t)}},{key:"getInitialState",value:function(){return{}}},{key:"_getInitialFlows",value:function(t){var e=this.getInitialFlows(t,this);return Array.isArray(e)?e:[]}},{key:"getInitialFlows",value:function(t){return[]}},{key:"_attachFlow",value:function(t){t.Constant&&(this.Constants=o()({},this.Constants,t.Constant)),t.Action&&(this.Actions=o()({},this.Actions,t.Action)),t.Reducer&&(this.Reducers=o()({},this.Reducers,t.Reducer)),t.Saga&&(this.Sagas=o()({},this.Sagas,t.Saga))}}]),t}();n.d(e,"createFlow",function(){return dt}),n.d(e,"ensureRequiredParams",function(){return at});e.default=wt}])});